; Listing generated by Microsoft (R) Optimizing Compiler Version 18.00.20617.1 

	TITLE	C:\Beefy\BeefySysLib\third_party\libffi\src\closures.c
	.686P
	.XMM
	include listing.inc
	.model	flat

INCLUDELIB LIBCMTD
INCLUDELIB OLDNAMES

_DATA	SEGMENT
$SG36126 DB	'max system bytes = %10lu', 0aH, 00H
	ORG $+2
$SG36128 DB	'system bytes     = %10lu', 0aH, 00H
	ORG $+2
$SG36130 DB	'in use bytes     = %10lu', 0aH, 00H
_DATA	ENDS
PUBLIC	_ffi_closure_alloc
PUBLIC	_ffi_closure_free
EXTRN	__imp__Sleep@4:PROC
EXTRN	__imp__GetSystemInfo@4:PROC
EXTRN	__imp__VirtualAlloc@16:PROC
EXTRN	__imp__VirtualFree@12:PROC
EXTRN	__imp__VirtualQuery@12:PROC
EXTRN	_abort:PROC
_BSS	SEGMENT
_magic_init_mutex DD 01H DUP (?)
_mparams DB	018H DUP (?)
__gm_	DB	01ccH DUP (?)
_BSS	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_i$ = -96						; size = 4
_leastbit$ = -92					; size = 4
_DVS$1 = -88						; size = 4
_H$2 = -84						; size = 4
_trem$3 = -80						; size = 4
tv137 = -76						; size = 4
_F$4 = -72						; size = 4
_I$5 = -68						; size = 4
_F$6 = -64						; size = 4
_r$7 = -60						; size = 4
_DV$8 = -56						; size = 4
_C1$9 = -52						; size = 4
_C0$10 = -48						; size = 4
_CP$11 = -44						; size = 4
_B$12 = -40						; size = 4
_XP$13 = -36						; size = 4
_RP$14 = -32						; size = 4
_t$ = -28						; size = 4
_N$15 = -24						; size = 4
_rsize$ = -20						; size = 4
_K$16 = -16						; size = 4
_Y$17 = -12						; size = 4
_R$18 = -8						; size = 4
_v$ = -4						; size = 4
_m$ = 8							; size = 4
_nb$ = 12						; size = 4
_tmalloc_small PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 3794
	push	ebp
	mov	ebp, esp
	sub	esp, 96					; 00000060H
; Line 3798
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+4]
	neg	ecx
	mov	edx, DWORD PTR _m$[ebp]
	and	ecx, DWORD PTR [edx+4]
	mov	DWORD PTR _leastbit$[ebp], ecx
; Line 3799
	mov	eax, DWORD PTR _leastbit$[ebp]
	sub	eax, 1
	mov	DWORD PTR _Y$17[ebp], eax
	mov	ecx, DWORD PTR _Y$17[ebp]
	shr	ecx, 12					; 0000000cH
	and	ecx, 16					; 00000010H
	mov	DWORD PTR _K$16[ebp], ecx
	mov	edx, DWORD PTR _K$16[ebp]
	mov	DWORD PTR _N$15[ebp], edx
	mov	eax, DWORD PTR _Y$17[ebp]
	mov	ecx, DWORD PTR _K$16[ebp]
	shr	eax, cl
	mov	DWORD PTR _Y$17[ebp], eax
	mov	ecx, DWORD PTR _Y$17[ebp]
	shr	ecx, 5
	and	ecx, 8
	mov	DWORD PTR _K$16[ebp], ecx
	mov	edx, DWORD PTR _N$15[ebp]
	add	edx, DWORD PTR _K$16[ebp]
	mov	DWORD PTR _N$15[ebp], edx
	mov	eax, DWORD PTR _Y$17[ebp]
	mov	ecx, DWORD PTR _K$16[ebp]
	shr	eax, cl
	mov	DWORD PTR _Y$17[ebp], eax
	mov	ecx, DWORD PTR _Y$17[ebp]
	shr	ecx, 2
	and	ecx, 4
	mov	DWORD PTR _K$16[ebp], ecx
	mov	edx, DWORD PTR _N$15[ebp]
	add	edx, DWORD PTR _K$16[ebp]
	mov	DWORD PTR _N$15[ebp], edx
	mov	eax, DWORD PTR _Y$17[ebp]
	mov	ecx, DWORD PTR _K$16[ebp]
	shr	eax, cl
	mov	DWORD PTR _Y$17[ebp], eax
	mov	ecx, DWORD PTR _Y$17[ebp]
	shr	ecx, 1
	and	ecx, 2
	mov	DWORD PTR _K$16[ebp], ecx
	mov	edx, DWORD PTR _N$15[ebp]
	add	edx, DWORD PTR _K$16[ebp]
	mov	DWORD PTR _N$15[ebp], edx
	mov	eax, DWORD PTR _Y$17[ebp]
	mov	ecx, DWORD PTR _K$16[ebp]
	shr	eax, cl
	mov	DWORD PTR _Y$17[ebp], eax
	mov	ecx, DWORD PTR _Y$17[ebp]
	shr	ecx, 1
	and	ecx, 1
	mov	DWORD PTR _K$16[ebp], ecx
	mov	edx, DWORD PTR _N$15[ebp]
	add	edx, DWORD PTR _K$16[ebp]
	mov	DWORD PTR _N$15[ebp], edx
	mov	eax, DWORD PTR _Y$17[ebp]
	mov	ecx, DWORD PTR _K$16[ebp]
	shr	eax, cl
	mov	DWORD PTR _Y$17[ebp], eax
	mov	ecx, DWORD PTR _N$15[ebp]
	add	ecx, DWORD PTR _Y$17[ebp]
	mov	DWORD PTR _i$[ebp], ecx
; Line 3801
	mov	edx, DWORD PTR _i$[ebp]
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+edx*4+300]
	mov	DWORD PTR _t$[ebp], ecx
	mov	edx, DWORD PTR _t$[ebp]
	mov	DWORD PTR _v$[ebp], edx
; Line 3802
	mov	eax, DWORD PTR _t$[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, -4					; fffffffcH
	sub	ecx, DWORD PTR _nb$[ebp]
	mov	DWORD PTR _rsize$[ebp], ecx
$LN40@tmalloc_sm:
; Line 3804
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _t$[ebp]
	cmp	DWORD PTR [ecx+eax+16], 0
	je	SHORT $LN43@tmalloc_sm
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _t$[ebp]
	mov	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR tv137[ebp], edx
	jmp	SHORT $LN44@tmalloc_sm
$LN43@tmalloc_sm:
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _t$[ebp]
	mov	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR tv137[ebp], edx
$LN44@tmalloc_sm:
	mov	eax, DWORD PTR tv137[ebp]
	mov	DWORD PTR _t$[ebp], eax
	cmp	DWORD PTR _t$[ebp], 0
	je	SHORT $LN39@tmalloc_sm
; Line 3805
	mov	ecx, DWORD PTR _t$[ebp]
	mov	edx, DWORD PTR [ecx+4]
	and	edx, -4					; fffffffcH
	sub	edx, DWORD PTR _nb$[ebp]
	mov	DWORD PTR _trem$3[ebp], edx
; Line 3806
	mov	eax, DWORD PTR _trem$3[ebp]
	cmp	eax, DWORD PTR _rsize$[ebp]
	jae	SHORT $LN38@tmalloc_sm
; Line 3807
	mov	ecx, DWORD PTR _trem$3[ebp]
	mov	DWORD PTR _rsize$[ebp], ecx
; Line 3808
	mov	edx, DWORD PTR _t$[ebp]
	mov	DWORD PTR _v$[ebp], edx
$LN38@tmalloc_sm:
; Line 3810
	jmp	SHORT $LN40@tmalloc_sm
$LN39@tmalloc_sm:
; Line 3812
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _v$[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	$LN37@tmalloc_sm
; Line 3813
	mov	edx, DWORD PTR _v$[ebp]
	add	edx, DWORD PTR _nb$[ebp]
	mov	DWORD PTR _r$7[ebp], edx
; Line 3815
	mov	eax, DWORD PTR _v$[ebp]
	cmp	eax, DWORD PTR _r$7[ebp]
	jae	$LN37@tmalloc_sm
; Line 3816
	mov	ecx, DWORD PTR _v$[ebp]
	mov	edx, DWORD PTR [ecx+24]
	mov	DWORD PTR _XP$13[ebp], edx
	mov	eax, DWORD PTR _v$[ebp]
	mov	ecx, DWORD PTR [eax+12]
	cmp	ecx, DWORD PTR _v$[ebp]
	je	SHORT $LN35@tmalloc_sm
	mov	edx, DWORD PTR _v$[ebp]
	mov	eax, DWORD PTR [edx+8]
	mov	DWORD PTR _F$6[ebp], eax
	mov	ecx, DWORD PTR _v$[ebp]
	mov	edx, DWORD PTR [ecx+12]
	mov	DWORD PTR _R$18[ebp], edx
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _F$6[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN34@tmalloc_sm
	mov	edx, DWORD PTR _F$6[ebp]
	mov	eax, DWORD PTR _R$18[ebp]
	mov	DWORD PTR [edx+12], eax
	mov	ecx, DWORD PTR _R$18[ebp]
	mov	edx, DWORD PTR _F$6[ebp]
	mov	DWORD PTR [ecx+8], edx
	jmp	SHORT $LN33@tmalloc_sm
$LN34@tmalloc_sm:
	call	_abort
$LN33@tmalloc_sm:
	jmp	$LN32@tmalloc_sm
$LN35@tmalloc_sm:
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _v$[ebp]
	lea	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR _RP$14[ebp], edx
	mov	eax, DWORD PTR _RP$14[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _R$18[ebp], ecx
	cmp	DWORD PTR _R$18[ebp], 0
	jne	SHORT $LN29@tmalloc_sm
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _v$[ebp]
	lea	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR _RP$14[ebp], edx
	mov	eax, DWORD PTR _RP$14[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _R$18[ebp], ecx
	cmp	DWORD PTR _R$18[ebp], 0
	je	SHORT $LN32@tmalloc_sm
$LN29@tmalloc_sm:
	mov	edx, 4
	shl	edx, 0
	mov	eax, DWORD PTR _R$18[ebp]
	lea	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _CP$11[ebp], ecx
	mov	edx, DWORD PTR _CP$11[ebp]
	cmp	DWORD PTR [edx], 0
	jne	SHORT $LN27@tmalloc_sm
	mov	eax, 4
	imul	ecx, eax, 0
	mov	edx, DWORD PTR _R$18[ebp]
	lea	eax, DWORD PTR [edx+ecx+16]
	mov	DWORD PTR _CP$11[ebp], eax
	mov	ecx, DWORD PTR _CP$11[ebp]
	cmp	DWORD PTR [ecx], 0
	je	SHORT $LN28@tmalloc_sm
$LN27@tmalloc_sm:
	mov	edx, DWORD PTR _CP$11[ebp]
	mov	DWORD PTR _RP$14[ebp], edx
	mov	eax, DWORD PTR _RP$14[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _R$18[ebp], ecx
	jmp	SHORT $LN29@tmalloc_sm
$LN28@tmalloc_sm:
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _RP$14[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN26@tmalloc_sm
	mov	ecx, DWORD PTR _RP$14[ebp]
	mov	DWORD PTR [ecx], 0
	jmp	SHORT $LN32@tmalloc_sm
$LN26@tmalloc_sm:
	call	_abort
$LN32@tmalloc_sm:
	cmp	DWORD PTR _XP$13[ebp], 0
	je	$LN24@tmalloc_sm
	mov	edx, DWORD PTR _v$[ebp]
	mov	eax, DWORD PTR [edx+28]
	mov	ecx, DWORD PTR _m$[ebp]
	lea	edx, DWORD PTR [ecx+eax*4+300]
	mov	DWORD PTR _H$2[ebp], edx
	mov	eax, DWORD PTR _H$2[ebp]
	mov	ecx, DWORD PTR _v$[ebp]
	cmp	ecx, DWORD PTR [eax]
	jne	SHORT $LN23@tmalloc_sm
	mov	edx, DWORD PTR _H$2[ebp]
	mov	eax, DWORD PTR _R$18[ebp]
	mov	DWORD PTR [edx], eax
	cmp	DWORD PTR _R$18[ebp], 0
	jne	SHORT $LN22@tmalloc_sm
	mov	ecx, DWORD PTR _v$[ebp]
	mov	edx, 1
	mov	ecx, DWORD PTR [ecx+28]
	shl	edx, cl
	not	edx
	mov	eax, DWORD PTR _m$[ebp]
	and	edx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [ecx+4], edx
$LN22@tmalloc_sm:
	jmp	SHORT $LN21@tmalloc_sm
$LN23@tmalloc_sm:
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _XP$13[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN20@tmalloc_sm
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _XP$13[ebp]
	mov	ecx, DWORD PTR [eax+edx+16]
	cmp	ecx, DWORD PTR _v$[ebp]
	jne	SHORT $LN19@tmalloc_sm
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _XP$13[ebp]
	mov	edx, DWORD PTR _R$18[ebp]
	mov	DWORD PTR [ecx+eax+16], edx
	jmp	SHORT $LN18@tmalloc_sm
$LN19@tmalloc_sm:
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _XP$13[ebp]
	mov	edx, DWORD PTR _R$18[ebp]
	mov	DWORD PTR [ecx+eax+16], edx
$LN18@tmalloc_sm:
	jmp	SHORT $LN21@tmalloc_sm
$LN20@tmalloc_sm:
	call	_abort
$LN21@tmalloc_sm:
	cmp	DWORD PTR _R$18[ebp], 0
	je	$LN24@tmalloc_sm
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _R$18[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	$LN15@tmalloc_sm
	mov	edx, DWORD PTR _R$18[ebp]
	mov	eax, DWORD PTR _XP$13[ebp]
	mov	DWORD PTR [edx+24], eax
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _v$[ebp]
	mov	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _C0$10[ebp], ecx
	cmp	DWORD PTR _C0$10[ebp], 0
	je	SHORT $LN14@tmalloc_sm
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _C0$10[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN13@tmalloc_sm
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _R$18[ebp]
	mov	ecx, DWORD PTR _C0$10[ebp]
	mov	DWORD PTR [eax+edx+16], ecx
	mov	edx, DWORD PTR _C0$10[ebp]
	mov	eax, DWORD PTR _R$18[ebp]
	mov	DWORD PTR [edx+24], eax
	jmp	SHORT $LN14@tmalloc_sm
$LN13@tmalloc_sm:
	call	_abort
$LN14@tmalloc_sm:
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _v$[ebp]
	mov	eax, DWORD PTR [edx+ecx+16]
	mov	DWORD PTR _C1$9[ebp], eax
	cmp	DWORD PTR _C1$9[ebp], 0
	je	SHORT $LN11@tmalloc_sm
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _C1$9[ebp]
	cmp	edx, DWORD PTR [ecx+16]
	jb	SHORT $LN10@tmalloc_sm
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _R$18[ebp]
	mov	edx, DWORD PTR _C1$9[ebp]
	mov	DWORD PTR [ecx+eax+16], edx
	mov	eax, DWORD PTR _C1$9[ebp]
	mov	ecx, DWORD PTR _R$18[ebp]
	mov	DWORD PTR [eax+24], ecx
	jmp	SHORT $LN11@tmalloc_sm
$LN10@tmalloc_sm:
	call	_abort
$LN11@tmalloc_sm:
	jmp	SHORT $LN24@tmalloc_sm
$LN15@tmalloc_sm:
	call	_abort
$LN24@tmalloc_sm:
; Line 3817
	cmp	DWORD PTR _rsize$[ebp], 16		; 00000010H
	jae	SHORT $LN7@tmalloc_sm
; Line 3818
	mov	edx, DWORD PTR _rsize$[ebp]
	add	edx, DWORD PTR _nb$[ebp]
	or	edx, 1
	or	edx, 2
	mov	eax, DWORD PTR _v$[ebp]
	mov	DWORD PTR [eax+4], edx
	mov	ecx, DWORD PTR _rsize$[ebp]
	add	ecx, DWORD PTR _nb$[ebp]
	mov	edx, DWORD PTR _v$[ebp]
	mov	eax, DWORD PTR [edx+ecx+4]
	or	eax, 1
	mov	ecx, DWORD PTR _rsize$[ebp]
	add	ecx, DWORD PTR _nb$[ebp]
	mov	edx, DWORD PTR _v$[ebp]
	mov	DWORD PTR [edx+ecx+4], eax
; Line 3819
	jmp	$LN6@tmalloc_sm
$LN7@tmalloc_sm:
; Line 3820
	mov	eax, DWORD PTR _nb$[ebp]
	or	eax, 1
	or	eax, 2
	mov	ecx, DWORD PTR _v$[ebp]
	mov	DWORD PTR [ecx+4], eax
; Line 3821
	mov	edx, DWORD PTR _rsize$[ebp]
	or	edx, 1
	mov	eax, DWORD PTR _r$7[ebp]
	mov	DWORD PTR [eax+4], edx
	mov	ecx, DWORD PTR _r$7[ebp]
	add	ecx, DWORD PTR _rsize$[ebp]
	mov	edx, DWORD PTR _rsize$[ebp]
	mov	DWORD PTR [ecx], edx
; Line 3822
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR _DVS$1[ebp], ecx
	cmp	DWORD PTR _DVS$1[ebp], 0
	je	$LN5@tmalloc_sm
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR [edx+20]
	mov	DWORD PTR _DV$8[ebp], eax
	mov	ecx, DWORD PTR _DVS$1[ebp]
	shr	ecx, 3
	mov	DWORD PTR _I$5[ebp], ecx
	mov	edx, DWORD PTR _I$5[ebp]
	shl	edx, 1
	mov	eax, DWORD PTR _m$[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+36]
	mov	DWORD PTR _B$12[ebp], ecx
	mov	edx, DWORD PTR _B$12[ebp]
	mov	DWORD PTR _F$4[ebp], edx
	mov	eax, 1
	mov	ecx, DWORD PTR _I$5[ebp]
	shl	eax, cl
	mov	ecx, DWORD PTR _m$[ebp]
	and	eax, DWORD PTR [ecx]
	jne	SHORT $LN4@tmalloc_sm
	mov	edx, 1
	mov	ecx, DWORD PTR _I$5[ebp]
	shl	edx, cl
	mov	eax, DWORD PTR _m$[ebp]
	or	edx, DWORD PTR [eax]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [ecx], edx
	jmp	SHORT $LN3@tmalloc_sm
$LN4@tmalloc_sm:
	mov	edx, DWORD PTR _B$12[ebp]
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [edx+8]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN2@tmalloc_sm
	mov	edx, DWORD PTR _B$12[ebp]
	mov	eax, DWORD PTR [edx+8]
	mov	DWORD PTR _F$4[ebp], eax
	jmp	SHORT $LN3@tmalloc_sm
$LN2@tmalloc_sm:
	call	_abort
$LN3@tmalloc_sm:
	mov	ecx, DWORD PTR _B$12[ebp]
	mov	edx, DWORD PTR _DV$8[ebp]
	mov	DWORD PTR [ecx+8], edx
	mov	eax, DWORD PTR _F$4[ebp]
	mov	ecx, DWORD PTR _DV$8[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _DV$8[ebp]
	mov	eax, DWORD PTR _F$4[ebp]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR _DV$8[ebp]
	mov	edx, DWORD PTR _B$12[ebp]
	mov	DWORD PTR [ecx+12], edx
$LN5@tmalloc_sm:
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _rsize$[ebp]
	mov	DWORD PTR [eax+8], ecx
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _r$7[ebp]
	mov	DWORD PTR [edx+20], eax
$LN6@tmalloc_sm:
; Line 3824
	mov	eax, DWORD PTR _v$[ebp]
	add	eax, 8
	jmp	SHORT $LN42@tmalloc_sm
$LN37@tmalloc_sm:
; Line 3828
	call	_abort
; Line 3829
	xor	eax, eax
$LN42@tmalloc_sm:
; Line 3830
	mov	esp, ebp
	pop	ebp
	ret	0
_tmalloc_small ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_i$1 = -180						; size = 4
_leastbit$2 = -176					; size = 4
_trem$3 = -172						; size = 4
_trem$4 = -168						; size = 4
tv412 = -164						; size = 4
_rst$5 = -160						; size = 4
_H$6 = -156						; size = 4
tv202 = -152						; size = 4
tv131 = -148						; size = 4
_sizebits$7 = -144					; size = 4
_I$8 = -140						; size = 4
_K$9 = -136						; size = 4
_leftbits$10 = -132					; size = 4
_X$11 = -128						; size = 4
_F$12 = -124						; size = 4
_X$13 = -120						; size = 4
_F$14 = -116						; size = 4
_rt$15 = -112						; size = 4
_F$16 = -108						; size = 4
_H$17 = -104						; size = 4
_C$18 = -100						; size = 4
_CP$19 = -96						; size = 4
_C1$20 = -92						; size = 4
_C0$21 = -88						; size = 4
_B$22 = -84						; size = 4
_N$23 = -80						; size = 4
_N$24 = -76						; size = 4
_XP$25 = -72						; size = 4
_RP$26 = -68						; size = 4
_idx$ = -64						; size = 4
_T$27 = -60						; size = 4
_r$28 = -56						; size = 4
_I$29 = -52						; size = 4
_K$30 = -48						; size = 4
_K$31 = -44						; size = 4
_N$32 = -40						; size = 4
_Y$33 = -36						; size = 4
_Y$34 = -32						; size = 4
_K$35 = -28						; size = 4
_Y$36 = -24						; size = 4
_t$ = -20						; size = 4
_rsize$ = -16						; size = 4
_TP$37 = -12						; size = 4
_R$38 = -8						; size = 4
_v$ = -4						; size = 4
_m$ = 8							; size = 4
_nb$ = 12						; size = 4
_tmalloc_large PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 3721
	push	ebp
	mov	ebp, esp
	sub	esp, 180				; 000000b4H
; Line 3722
	mov	DWORD PTR _v$[ebp], 0
; Line 3723
	mov	eax, DWORD PTR _nb$[ebp]
	neg	eax
	mov	DWORD PTR _rsize$[ebp], eax
; Line 3726
	mov	ecx, DWORD PTR _nb$[ebp]
	shr	ecx, 8
	mov	DWORD PTR _X$11[ebp], ecx
	cmp	DWORD PTR _X$11[ebp], 0
	jne	SHORT $LN71@tmalloc_la
	mov	DWORD PTR _idx$[ebp], 0
	jmp	$LN70@tmalloc_la
$LN71@tmalloc_la:
	cmp	DWORD PTR _X$11[ebp], 65535		; 0000ffffH
	jbe	SHORT $LN69@tmalloc_la
	mov	DWORD PTR _idx$[ebp], 31		; 0000001fH
	jmp	$LN70@tmalloc_la
$LN69@tmalloc_la:
	mov	edx, DWORD PTR _X$11[ebp]
	mov	DWORD PTR _Y$34[ebp], edx
	mov	eax, DWORD PTR _Y$34[ebp]
	sub	eax, 256				; 00000100H
	shr	eax, 16					; 00000010H
	and	eax, 8
	mov	DWORD PTR _N$23[ebp], eax
	mov	edx, DWORD PTR _Y$34[ebp]
	mov	ecx, DWORD PTR _N$23[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$34[ebp], edx
	mov	eax, DWORD PTR _Y$34[ebp]
	sub	eax, 4096				; 00001000H
	shr	eax, 16					; 00000010H
	and	eax, 4
	mov	DWORD PTR _K$31[ebp], eax
	mov	ecx, DWORD PTR _N$23[ebp]
	add	ecx, DWORD PTR _K$31[ebp]
	mov	DWORD PTR _N$23[ebp], ecx
	mov	edx, DWORD PTR _Y$34[ebp]
	mov	ecx, DWORD PTR _K$31[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$34[ebp], edx
	mov	eax, DWORD PTR _Y$34[ebp]
	sub	eax, 16384				; 00004000H
	shr	eax, 16					; 00000010H
	and	eax, 2
	mov	DWORD PTR _K$31[ebp], eax
	mov	ecx, DWORD PTR _N$23[ebp]
	add	ecx, DWORD PTR _K$31[ebp]
	mov	DWORD PTR _N$23[ebp], ecx
	mov	edx, DWORD PTR _Y$34[ebp]
	mov	ecx, DWORD PTR _K$31[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$34[ebp], edx
	mov	eax, DWORD PTR _Y$34[ebp]
	shr	eax, 15					; 0000000fH
	mov	ecx, 14					; 0000000eH
	sub	ecx, DWORD PTR _N$23[ebp]
	add	ecx, eax
	mov	DWORD PTR _K$31[ebp], ecx
	mov	ecx, DWORD PTR _K$31[ebp]
	add	ecx, 7
	mov	edx, DWORD PTR _nb$[ebp]
	shr	edx, cl
	and	edx, 1
	mov	eax, DWORD PTR _K$31[ebp]
	lea	ecx, DWORD PTR [edx+eax*2]
	mov	DWORD PTR _idx$[ebp], ecx
$LN70@tmalloc_la:
; Line 3728
	mov	edx, DWORD PTR _idx$[ebp]
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+edx*4+300]
	mov	DWORD PTR _t$[ebp], ecx
	cmp	DWORD PTR _t$[ebp], 0
	je	$LN67@tmalloc_la
; Line 3730
	cmp	DWORD PTR _idx$[ebp], 31		; 0000001fH
	jne	SHORT $LN74@tmalloc_la
	mov	DWORD PTR tv131[ebp], 0
	jmp	SHORT $LN75@tmalloc_la
$LN74@tmalloc_la:
	mov	edx, DWORD PTR _idx$[ebp]
	shr	edx, 1
	add	edx, 6
	mov	eax, 31					; 0000001fH
	sub	eax, edx
	mov	DWORD PTR tv131[ebp], eax
$LN75@tmalloc_la:
	mov	edx, DWORD PTR _nb$[ebp]
	mov	ecx, DWORD PTR tv131[ebp]
	shl	edx, cl
	mov	DWORD PTR _sizebits$7[ebp], edx
; Line 3731
	mov	DWORD PTR _rst$5[ebp], 0
$LN66@tmalloc_la:
; Line 3734
	mov	eax, DWORD PTR _t$[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, -4					; fffffffcH
	sub	ecx, DWORD PTR _nb$[ebp]
	mov	DWORD PTR _trem$4[ebp], ecx
; Line 3735
	mov	edx, DWORD PTR _trem$4[ebp]
	cmp	edx, DWORD PTR _rsize$[ebp]
	jae	SHORT $LN64@tmalloc_la
; Line 3736
	mov	eax, DWORD PTR _t$[ebp]
	mov	DWORD PTR _v$[ebp], eax
; Line 3737
	mov	ecx, DWORD PTR _trem$4[ebp]
	mov	DWORD PTR _rsize$[ebp], ecx
	cmp	DWORD PTR _rsize$[ebp], 0
	jne	SHORT $LN64@tmalloc_la
; Line 3738
	jmp	SHORT $LN67@tmalloc_la
$LN64@tmalloc_la:
; Line 3740
	mov	edx, 4
	shl	edx, 0
	mov	eax, DWORD PTR _t$[ebp]
	mov	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _rt$15[ebp], ecx
; Line 3741
	mov	edx, DWORD PTR _sizebits$7[ebp]
	shr	edx, 31					; 0000001fH
	and	edx, 1
	mov	eax, DWORD PTR _t$[ebp]
	mov	ecx, DWORD PTR [eax+edx*4+16]
	mov	DWORD PTR _t$[ebp], ecx
; Line 3742
	cmp	DWORD PTR _rt$15[ebp], 0
	je	SHORT $LN62@tmalloc_la
	mov	edx, DWORD PTR _rt$15[ebp]
	cmp	edx, DWORD PTR _t$[ebp]
	je	SHORT $LN62@tmalloc_la
; Line 3743
	mov	eax, DWORD PTR _rt$15[ebp]
	mov	DWORD PTR _rst$5[ebp], eax
$LN62@tmalloc_la:
; Line 3744
	cmp	DWORD PTR _t$[ebp], 0
	jne	SHORT $LN61@tmalloc_la
; Line 3745
	mov	ecx, DWORD PTR _rst$5[ebp]
	mov	DWORD PTR _t$[ebp], ecx
; Line 3746
	jmp	SHORT $LN67@tmalloc_la
$LN61@tmalloc_la:
; Line 3748
	mov	edx, DWORD PTR _sizebits$7[ebp]
	shl	edx, 1
	mov	DWORD PTR _sizebits$7[ebp], edx
; Line 3749
	jmp	$LN66@tmalloc_la
$LN67@tmalloc_la:
; Line 3752
	cmp	DWORD PTR _t$[ebp], 0
	jne	$LN58@tmalloc_la
	cmp	DWORD PTR _v$[ebp], 0
	jne	$LN58@tmalloc_la
; Line 3753
	mov	eax, 1
	mov	ecx, DWORD PTR _idx$[ebp]
	shl	eax, cl
	shl	eax, 1
	mov	edx, 1
	mov	ecx, DWORD PTR _idx$[ebp]
	shl	edx, cl
	shl	edx, 1
	neg	edx
	or	eax, edx
	mov	ecx, DWORD PTR _m$[ebp]
	and	eax, DWORD PTR [ecx+4]
	mov	DWORD PTR _leftbits$10[ebp], eax
; Line 3754
	je	$LN58@tmalloc_la
; Line 3756
	mov	edx, DWORD PTR _leftbits$10[ebp]
	neg	edx
	and	edx, DWORD PTR _leftbits$10[ebp]
	mov	DWORD PTR _leastbit$2[ebp], edx
; Line 3757
	mov	eax, DWORD PTR _leastbit$2[ebp]
	sub	eax, 1
	mov	DWORD PTR _Y$36[ebp], eax
	mov	ecx, DWORD PTR _Y$36[ebp]
	shr	ecx, 12					; 0000000cH
	and	ecx, 16					; 00000010H
	mov	DWORD PTR _K$35[ebp], ecx
	mov	edx, DWORD PTR _K$35[ebp]
	mov	DWORD PTR _N$32[ebp], edx
	mov	eax, DWORD PTR _Y$36[ebp]
	mov	ecx, DWORD PTR _K$35[ebp]
	shr	eax, cl
	mov	DWORD PTR _Y$36[ebp], eax
	mov	ecx, DWORD PTR _Y$36[ebp]
	shr	ecx, 5
	and	ecx, 8
	mov	DWORD PTR _K$35[ebp], ecx
	mov	edx, DWORD PTR _N$32[ebp]
	add	edx, DWORD PTR _K$35[ebp]
	mov	DWORD PTR _N$32[ebp], edx
	mov	eax, DWORD PTR _Y$36[ebp]
	mov	ecx, DWORD PTR _K$35[ebp]
	shr	eax, cl
	mov	DWORD PTR _Y$36[ebp], eax
	mov	ecx, DWORD PTR _Y$36[ebp]
	shr	ecx, 2
	and	ecx, 4
	mov	DWORD PTR _K$35[ebp], ecx
	mov	edx, DWORD PTR _N$32[ebp]
	add	edx, DWORD PTR _K$35[ebp]
	mov	DWORD PTR _N$32[ebp], edx
	mov	eax, DWORD PTR _Y$36[ebp]
	mov	ecx, DWORD PTR _K$35[ebp]
	shr	eax, cl
	mov	DWORD PTR _Y$36[ebp], eax
	mov	ecx, DWORD PTR _Y$36[ebp]
	shr	ecx, 1
	and	ecx, 2
	mov	DWORD PTR _K$35[ebp], ecx
	mov	edx, DWORD PTR _N$32[ebp]
	add	edx, DWORD PTR _K$35[ebp]
	mov	DWORD PTR _N$32[ebp], edx
	mov	eax, DWORD PTR _Y$36[ebp]
	mov	ecx, DWORD PTR _K$35[ebp]
	shr	eax, cl
	mov	DWORD PTR _Y$36[ebp], eax
	mov	ecx, DWORD PTR _Y$36[ebp]
	shr	ecx, 1
	and	ecx, 1
	mov	DWORD PTR _K$35[ebp], ecx
	mov	edx, DWORD PTR _N$32[ebp]
	add	edx, DWORD PTR _K$35[ebp]
	mov	DWORD PTR _N$32[ebp], edx
	mov	eax, DWORD PTR _Y$36[ebp]
	mov	ecx, DWORD PTR _K$35[ebp]
	shr	eax, cl
	mov	DWORD PTR _Y$36[ebp], eax
	mov	ecx, DWORD PTR _N$32[ebp]
	add	ecx, DWORD PTR _Y$36[ebp]
	mov	DWORD PTR _i$1[ebp], ecx
; Line 3758
	mov	edx, DWORD PTR _i$1[ebp]
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+edx*4+300]
	mov	DWORD PTR _t$[ebp], ecx
$LN58@tmalloc_la:
; Line 3762
	cmp	DWORD PTR _t$[ebp], 0
	je	SHORT $LN57@tmalloc_la
; Line 3763
	mov	edx, DWORD PTR _t$[ebp]
	mov	eax, DWORD PTR [edx+4]
	and	eax, -4					; fffffffcH
	sub	eax, DWORD PTR _nb$[ebp]
	mov	DWORD PTR _trem$3[ebp], eax
; Line 3764
	mov	ecx, DWORD PTR _trem$3[ebp]
	cmp	ecx, DWORD PTR _rsize$[ebp]
	jae	SHORT $LN56@tmalloc_la
; Line 3765
	mov	edx, DWORD PTR _trem$3[ebp]
	mov	DWORD PTR _rsize$[ebp], edx
; Line 3766
	mov	eax, DWORD PTR _t$[ebp]
	mov	DWORD PTR _v$[ebp], eax
$LN56@tmalloc_la:
; Line 3768
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _t$[ebp]
	cmp	DWORD PTR [eax+edx+16], 0
	je	SHORT $LN76@tmalloc_la
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _t$[ebp]
	mov	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR tv202[ebp], ecx
	jmp	SHORT $LN77@tmalloc_la
$LN76@tmalloc_la:
	mov	edx, 4
	shl	edx, 0
	mov	eax, DWORD PTR _t$[ebp]
	mov	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR tv202[ebp], ecx
$LN77@tmalloc_la:
	mov	edx, DWORD PTR tv202[ebp]
	mov	DWORD PTR _t$[ebp], edx
; Line 3769
	jmp	SHORT $LN58@tmalloc_la
$LN57@tmalloc_la:
; Line 3772
	cmp	DWORD PTR _v$[ebp], 0
	je	$LN55@tmalloc_la
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+8]
	sub	ecx, DWORD PTR _nb$[ebp]
	cmp	DWORD PTR _rsize$[ebp], ecx
	jae	$LN55@tmalloc_la
; Line 3773
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _v$[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	$LN54@tmalloc_la
; Line 3774
	mov	ecx, DWORD PTR _v$[ebp]
	add	ecx, DWORD PTR _nb$[ebp]
	mov	DWORD PTR _r$28[ebp], ecx
; Line 3776
	mov	edx, DWORD PTR _v$[ebp]
	cmp	edx, DWORD PTR _r$28[ebp]
	jae	$LN54@tmalloc_la
; Line 3777
	mov	eax, DWORD PTR _v$[ebp]
	mov	ecx, DWORD PTR [eax+24]
	mov	DWORD PTR _XP$25[ebp], ecx
	mov	edx, DWORD PTR _v$[ebp]
	mov	eax, DWORD PTR [edx+12]
	cmp	eax, DWORD PTR _v$[ebp]
	je	SHORT $LN52@tmalloc_la
	mov	ecx, DWORD PTR _v$[ebp]
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR _F$12[ebp], edx
	mov	eax, DWORD PTR _v$[ebp]
	mov	ecx, DWORD PTR [eax+12]
	mov	DWORD PTR _R$38[ebp], ecx
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _F$12[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN51@tmalloc_la
	mov	ecx, DWORD PTR _F$12[ebp]
	mov	edx, DWORD PTR _R$38[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _R$38[ebp]
	mov	ecx, DWORD PTR _F$12[ebp]
	mov	DWORD PTR [eax+8], ecx
	jmp	SHORT $LN50@tmalloc_la
$LN51@tmalloc_la:
	call	_abort
$LN50@tmalloc_la:
	jmp	$LN49@tmalloc_la
$LN52@tmalloc_la:
	mov	edx, 4
	shl	edx, 0
	mov	eax, DWORD PTR _v$[ebp]
	lea	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _RP$26[ebp], ecx
	mov	edx, DWORD PTR _RP$26[ebp]
	mov	eax, DWORD PTR [edx]
	mov	DWORD PTR _R$38[ebp], eax
	cmp	DWORD PTR _R$38[ebp], 0
	jne	SHORT $LN46@tmalloc_la
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _v$[ebp]
	lea	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _RP$26[ebp], ecx
	mov	edx, DWORD PTR _RP$26[ebp]
	mov	eax, DWORD PTR [edx]
	mov	DWORD PTR _R$38[ebp], eax
	cmp	DWORD PTR _R$38[ebp], 0
	je	SHORT $LN49@tmalloc_la
$LN46@tmalloc_la:
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _R$38[ebp]
	lea	eax, DWORD PTR [edx+ecx+16]
	mov	DWORD PTR _CP$19[ebp], eax
	mov	ecx, DWORD PTR _CP$19[ebp]
	cmp	DWORD PTR [ecx], 0
	jne	SHORT $LN44@tmalloc_la
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _R$38[ebp]
	lea	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR _CP$19[ebp], edx
	mov	eax, DWORD PTR _CP$19[ebp]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN45@tmalloc_la
$LN44@tmalloc_la:
	mov	ecx, DWORD PTR _CP$19[ebp]
	mov	DWORD PTR _RP$26[ebp], ecx
	mov	edx, DWORD PTR _RP$26[ebp]
	mov	eax, DWORD PTR [edx]
	mov	DWORD PTR _R$38[ebp], eax
	jmp	SHORT $LN46@tmalloc_la
$LN45@tmalloc_la:
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _RP$26[ebp]
	cmp	edx, DWORD PTR [ecx+16]
	jb	SHORT $LN43@tmalloc_la
	mov	eax, DWORD PTR _RP$26[ebp]
	mov	DWORD PTR [eax], 0
	jmp	SHORT $LN49@tmalloc_la
$LN43@tmalloc_la:
	call	_abort
$LN49@tmalloc_la:
	cmp	DWORD PTR _XP$25[ebp], 0
	je	$LN41@tmalloc_la
	mov	ecx, DWORD PTR _v$[ebp]
	mov	edx, DWORD PTR [ecx+28]
	mov	eax, DWORD PTR _m$[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+300]
	mov	DWORD PTR _H$6[ebp], ecx
	mov	edx, DWORD PTR _H$6[ebp]
	mov	eax, DWORD PTR _v$[ebp]
	cmp	eax, DWORD PTR [edx]
	jne	SHORT $LN40@tmalloc_la
	mov	ecx, DWORD PTR _H$6[ebp]
	mov	edx, DWORD PTR _R$38[ebp]
	mov	DWORD PTR [ecx], edx
	cmp	DWORD PTR _R$38[ebp], 0
	jne	SHORT $LN39@tmalloc_la
	mov	eax, DWORD PTR _v$[ebp]
	mov	edx, 1
	mov	ecx, DWORD PTR [eax+28]
	shl	edx, cl
	not	edx
	mov	eax, DWORD PTR _m$[ebp]
	and	edx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [ecx+4], edx
$LN39@tmalloc_la:
	jmp	SHORT $LN38@tmalloc_la
$LN40@tmalloc_la:
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _XP$25[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN37@tmalloc_la
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _XP$25[ebp]
	mov	ecx, DWORD PTR [eax+edx+16]
	cmp	ecx, DWORD PTR _v$[ebp]
	jne	SHORT $LN36@tmalloc_la
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _XP$25[ebp]
	mov	edx, DWORD PTR _R$38[ebp]
	mov	DWORD PTR [ecx+eax+16], edx
	jmp	SHORT $LN35@tmalloc_la
$LN36@tmalloc_la:
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _XP$25[ebp]
	mov	edx, DWORD PTR _R$38[ebp]
	mov	DWORD PTR [ecx+eax+16], edx
$LN35@tmalloc_la:
	jmp	SHORT $LN38@tmalloc_la
$LN37@tmalloc_la:
	call	_abort
$LN38@tmalloc_la:
	cmp	DWORD PTR _R$38[ebp], 0
	je	$LN41@tmalloc_la
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _R$38[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	$LN32@tmalloc_la
	mov	edx, DWORD PTR _R$38[ebp]
	mov	eax, DWORD PTR _XP$25[ebp]
	mov	DWORD PTR [edx+24], eax
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _v$[ebp]
	mov	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _C0$21[ebp], ecx
	cmp	DWORD PTR _C0$21[ebp], 0
	je	SHORT $LN31@tmalloc_la
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _C0$21[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN30@tmalloc_la
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _R$38[ebp]
	mov	ecx, DWORD PTR _C0$21[ebp]
	mov	DWORD PTR [eax+edx+16], ecx
	mov	edx, DWORD PTR _C0$21[ebp]
	mov	eax, DWORD PTR _R$38[ebp]
	mov	DWORD PTR [edx+24], eax
	jmp	SHORT $LN31@tmalloc_la
$LN30@tmalloc_la:
	call	_abort
$LN31@tmalloc_la:
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _v$[ebp]
	mov	eax, DWORD PTR [edx+ecx+16]
	mov	DWORD PTR _C1$20[ebp], eax
	cmp	DWORD PTR _C1$20[ebp], 0
	je	SHORT $LN28@tmalloc_la
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _C1$20[ebp]
	cmp	edx, DWORD PTR [ecx+16]
	jb	SHORT $LN27@tmalloc_la
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _R$38[ebp]
	mov	edx, DWORD PTR _C1$20[ebp]
	mov	DWORD PTR [ecx+eax+16], edx
	mov	eax, DWORD PTR _C1$20[ebp]
	mov	ecx, DWORD PTR _R$38[ebp]
	mov	DWORD PTR [eax+24], ecx
	jmp	SHORT $LN28@tmalloc_la
$LN27@tmalloc_la:
	call	_abort
$LN28@tmalloc_la:
	jmp	SHORT $LN41@tmalloc_la
$LN32@tmalloc_la:
	call	_abort
$LN41@tmalloc_la:
; Line 3778
	cmp	DWORD PTR _rsize$[ebp], 16		; 00000010H
	jae	SHORT $LN24@tmalloc_la
; Line 3779
	mov	edx, DWORD PTR _rsize$[ebp]
	add	edx, DWORD PTR _nb$[ebp]
	or	edx, 1
	or	edx, 2
	mov	eax, DWORD PTR _v$[ebp]
	mov	DWORD PTR [eax+4], edx
	mov	ecx, DWORD PTR _rsize$[ebp]
	add	ecx, DWORD PTR _nb$[ebp]
	mov	edx, DWORD PTR _v$[ebp]
	mov	eax, DWORD PTR [edx+ecx+4]
	or	eax, 1
	mov	ecx, DWORD PTR _rsize$[ebp]
	add	ecx, DWORD PTR _nb$[ebp]
	mov	edx, DWORD PTR _v$[ebp]
	mov	DWORD PTR [edx+ecx+4], eax
; Line 3780
	jmp	$LN23@tmalloc_la
$LN24@tmalloc_la:
; Line 3781
	mov	eax, DWORD PTR _nb$[ebp]
	or	eax, 1
	or	eax, 2
	mov	ecx, DWORD PTR _v$[ebp]
	mov	DWORD PTR [ecx+4], eax
; Line 3782
	mov	edx, DWORD PTR _rsize$[ebp]
	or	edx, 1
	mov	eax, DWORD PTR _r$28[ebp]
	mov	DWORD PTR [eax+4], edx
	mov	ecx, DWORD PTR _r$28[ebp]
	add	ecx, DWORD PTR _rsize$[ebp]
	mov	edx, DWORD PTR _rsize$[ebp]
	mov	DWORD PTR [ecx], edx
; Line 3783
	mov	eax, DWORD PTR _rsize$[ebp]
	shr	eax, 3
	cmp	eax, 32					; 00000020H
	jae	$LN22@tmalloc_la
	mov	ecx, DWORD PTR _rsize$[ebp]
	shr	ecx, 3
	mov	DWORD PTR _I$8[ebp], ecx
	mov	edx, DWORD PTR _I$8[ebp]
	shl	edx, 1
	mov	eax, DWORD PTR _m$[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+36]
	mov	DWORD PTR _B$22[ebp], ecx
	mov	edx, DWORD PTR _B$22[ebp]
	mov	DWORD PTR _F$14[ebp], edx
	mov	eax, 1
	mov	ecx, DWORD PTR _I$8[ebp]
	shl	eax, cl
	mov	ecx, DWORD PTR _m$[ebp]
	and	eax, DWORD PTR [ecx]
	jne	SHORT $LN21@tmalloc_la
	mov	edx, 1
	mov	ecx, DWORD PTR _I$8[ebp]
	shl	edx, cl
	mov	eax, DWORD PTR _m$[ebp]
	or	edx, DWORD PTR [eax]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [ecx], edx
	jmp	SHORT $LN20@tmalloc_la
$LN21@tmalloc_la:
	mov	edx, DWORD PTR _B$22[ebp]
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [edx+8]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN19@tmalloc_la
	mov	edx, DWORD PTR _B$22[ebp]
	mov	eax, DWORD PTR [edx+8]
	mov	DWORD PTR _F$14[ebp], eax
	jmp	SHORT $LN20@tmalloc_la
$LN19@tmalloc_la:
	call	_abort
$LN20@tmalloc_la:
	mov	ecx, DWORD PTR _B$22[ebp]
	mov	edx, DWORD PTR _r$28[ebp]
	mov	DWORD PTR [ecx+8], edx
	mov	eax, DWORD PTR _F$14[ebp]
	mov	ecx, DWORD PTR _r$28[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _r$28[ebp]
	mov	eax, DWORD PTR _F$14[ebp]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR _r$28[ebp]
	mov	edx, DWORD PTR _B$22[ebp]
	mov	DWORD PTR [ecx+12], edx
	jmp	$LN23@tmalloc_la
$LN22@tmalloc_la:
	mov	eax, DWORD PTR _r$28[ebp]
	mov	DWORD PTR _TP$37[ebp], eax
	mov	ecx, DWORD PTR _rsize$[ebp]
	shr	ecx, 8
	mov	DWORD PTR _X$13[ebp], ecx
	cmp	DWORD PTR _X$13[ebp], 0
	jne	SHORT $LN16@tmalloc_la
	mov	DWORD PTR _I$29[ebp], 0
	jmp	$LN15@tmalloc_la
$LN16@tmalloc_la:
	cmp	DWORD PTR _X$13[ebp], 65535		; 0000ffffH
	jbe	SHORT $LN14@tmalloc_la
	mov	DWORD PTR _I$29[ebp], 31		; 0000001fH
	jmp	$LN15@tmalloc_la
$LN14@tmalloc_la:
	mov	edx, DWORD PTR _X$13[ebp]
	mov	DWORD PTR _Y$33[ebp], edx
	mov	eax, DWORD PTR _Y$33[ebp]
	sub	eax, 256				; 00000100H
	shr	eax, 16					; 00000010H
	and	eax, 8
	mov	DWORD PTR _N$24[ebp], eax
	mov	edx, DWORD PTR _Y$33[ebp]
	mov	ecx, DWORD PTR _N$24[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$33[ebp], edx
	mov	eax, DWORD PTR _Y$33[ebp]
	sub	eax, 4096				; 00001000H
	shr	eax, 16					; 00000010H
	and	eax, 4
	mov	DWORD PTR _K$30[ebp], eax
	mov	ecx, DWORD PTR _N$24[ebp]
	add	ecx, DWORD PTR _K$30[ebp]
	mov	DWORD PTR _N$24[ebp], ecx
	mov	edx, DWORD PTR _Y$33[ebp]
	mov	ecx, DWORD PTR _K$30[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$33[ebp], edx
	mov	eax, DWORD PTR _Y$33[ebp]
	sub	eax, 16384				; 00004000H
	shr	eax, 16					; 00000010H
	and	eax, 2
	mov	DWORD PTR _K$30[ebp], eax
	mov	ecx, DWORD PTR _N$24[ebp]
	add	ecx, DWORD PTR _K$30[ebp]
	mov	DWORD PTR _N$24[ebp], ecx
	mov	edx, DWORD PTR _Y$33[ebp]
	mov	ecx, DWORD PTR _K$30[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$33[ebp], edx
	mov	eax, DWORD PTR _Y$33[ebp]
	shr	eax, 15					; 0000000fH
	mov	ecx, 14					; 0000000eH
	sub	ecx, DWORD PTR _N$24[ebp]
	add	ecx, eax
	mov	DWORD PTR _K$30[ebp], ecx
	mov	ecx, DWORD PTR _K$30[ebp]
	add	ecx, 7
	mov	edx, DWORD PTR _rsize$[ebp]
	shr	edx, cl
	and	edx, 1
	mov	eax, DWORD PTR _K$30[ebp]
	lea	ecx, DWORD PTR [edx+eax*2]
	mov	DWORD PTR _I$29[ebp], ecx
$LN15@tmalloc_la:
	mov	edx, DWORD PTR _I$29[ebp]
	mov	eax, DWORD PTR _m$[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+300]
	mov	DWORD PTR _H$17[ebp], ecx
	mov	edx, DWORD PTR _TP$37[ebp]
	mov	eax, DWORD PTR _I$29[ebp]
	mov	DWORD PTR [edx+28], eax
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _TP$37[ebp]
	mov	DWORD PTR [edx+ecx+16], 0
	mov	eax, 4
	imul	ecx, eax, 0
	mov	edx, DWORD PTR _TP$37[ebp]
	mov	DWORD PTR [edx+ecx+16], 0
	mov	eax, 1
	mov	ecx, DWORD PTR _I$29[ebp]
	shl	eax, cl
	mov	ecx, DWORD PTR _m$[ebp]
	and	eax, DWORD PTR [ecx+4]
	jne	SHORT $LN12@tmalloc_la
	mov	edx, 1
	mov	ecx, DWORD PTR _I$29[ebp]
	shl	edx, cl
	mov	eax, DWORD PTR _m$[ebp]
	or	edx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [ecx+4], edx
	mov	edx, DWORD PTR _H$17[ebp]
	mov	eax, DWORD PTR _TP$37[ebp]
	mov	DWORD PTR [edx], eax
	mov	ecx, DWORD PTR _TP$37[ebp]
	mov	edx, DWORD PTR _H$17[ebp]
	mov	DWORD PTR [ecx+24], edx
	mov	eax, DWORD PTR _TP$37[ebp]
	mov	ecx, DWORD PTR _TP$37[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _TP$37[ebp]
	mov	eax, DWORD PTR _TP$37[ebp]
	mov	DWORD PTR [edx+8], eax
	jmp	$LN23@tmalloc_la
$LN12@tmalloc_la:
	mov	ecx, DWORD PTR _H$17[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _T$27[ebp], edx
	cmp	DWORD PTR _I$29[ebp], 31		; 0000001fH
	jne	SHORT $LN78@tmalloc_la
	mov	DWORD PTR tv412[ebp], 0
	jmp	SHORT $LN79@tmalloc_la
$LN78@tmalloc_la:
	mov	eax, DWORD PTR _I$29[ebp]
	shr	eax, 1
	add	eax, 6
	mov	ecx, 31					; 0000001fH
	sub	ecx, eax
	mov	DWORD PTR tv412[ebp], ecx
$LN79@tmalloc_la:
	mov	edx, DWORD PTR _rsize$[ebp]
	mov	ecx, DWORD PTR tv412[ebp]
	shl	edx, cl
	mov	DWORD PTR _K$9[ebp], edx
$LN10@tmalloc_la:
	mov	eax, DWORD PTR _T$27[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, -4					; fffffffcH
	cmp	ecx, DWORD PTR _rsize$[ebp]
	je	SHORT $LN8@tmalloc_la
	mov	edx, DWORD PTR _K$9[ebp]
	shr	edx, 31					; 0000001fH
	and	edx, 1
	mov	eax, DWORD PTR _T$27[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+16]
	mov	DWORD PTR _C$18[ebp], ecx
	mov	edx, DWORD PTR _K$9[ebp]
	shl	edx, 1
	mov	DWORD PTR _K$9[ebp], edx
	mov	eax, DWORD PTR _C$18[ebp]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN7@tmalloc_la
	mov	ecx, DWORD PTR _C$18[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _T$27[ebp], edx
	jmp	SHORT $LN6@tmalloc_la
$LN7@tmalloc_la:
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _C$18[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN5@tmalloc_la
	mov	edx, DWORD PTR _C$18[ebp]
	mov	eax, DWORD PTR _TP$37[ebp]
	mov	DWORD PTR [edx], eax
	mov	ecx, DWORD PTR _TP$37[ebp]
	mov	edx, DWORD PTR _T$27[ebp]
	mov	DWORD PTR [ecx+24], edx
	mov	eax, DWORD PTR _TP$37[ebp]
	mov	ecx, DWORD PTR _TP$37[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _TP$37[ebp]
	mov	eax, DWORD PTR _TP$37[ebp]
	mov	DWORD PTR [edx+8], eax
	jmp	SHORT $LN23@tmalloc_la
	jmp	SHORT $LN6@tmalloc_la
$LN5@tmalloc_la:
	call	_abort
	jmp	SHORT $LN23@tmalloc_la
$LN6@tmalloc_la:
	jmp	SHORT $LN3@tmalloc_la
$LN8@tmalloc_la:
	mov	ecx, DWORD PTR _T$27[ebp]
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR _F$16[ebp], edx
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _T$27[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN2@tmalloc_la
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _F$16[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN2@tmalloc_la
	mov	ecx, DWORD PTR _F$16[ebp]
	mov	edx, DWORD PTR _TP$37[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _T$27[ebp]
	mov	ecx, DWORD PTR _TP$37[ebp]
	mov	DWORD PTR [eax+8], ecx
	mov	edx, DWORD PTR _TP$37[ebp]
	mov	eax, DWORD PTR _F$16[ebp]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR _TP$37[ebp]
	mov	edx, DWORD PTR _T$27[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _TP$37[ebp]
	mov	DWORD PTR [eax+24], 0
	jmp	SHORT $LN23@tmalloc_la
	jmp	SHORT $LN3@tmalloc_la
$LN2@tmalloc_la:
	call	_abort
	jmp	SHORT $LN23@tmalloc_la
$LN3@tmalloc_la:
	jmp	$LN10@tmalloc_la
$LN23@tmalloc_la:
; Line 3785
	mov	eax, DWORD PTR _v$[ebp]
	add	eax, 8
	jmp	SHORT $LN73@tmalloc_la
$LN54@tmalloc_la:
; Line 3788
	call	_abort
$LN55@tmalloc_la:
; Line 3790
	xor	eax, eax
$LN73@tmalloc_la:
; Line 3791
	mov	esp, ebp
	pop	ebp
	ret	0
_tmalloc_large ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_rel_br$1 = -40						; size = 4
_newsize$2 = -36					; size = 4
tv169 = -32						; size = 4
_new_br$3 = -28						; size = 4
tv72 = -24						; size = 4
_old_br$4 = -20						; size = 4
_unit$5 = -16						; size = 4
_extra$6 = -12						; size = 4
_sp$7 = -8						; size = 4
_released$ = -4						; size = 4
_m$ = 8							; size = 4
_pad$ = 12						; size = 4
_sys_trim PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 3655
	push	ebp
	mov	ebp, esp
	sub	esp, 40					; 00000028H
; Line 3656
	mov	DWORD PTR _released$[ebp], 0
; Line 3657
	cmp	DWORD PTR _pad$[ebp], -64		; ffffffc0H
	jae	$LN15@sys_trim
	mov	eax, DWORD PTR _m$[ebp]
	cmp	DWORD PTR [eax+24], 0
	je	$LN15@sys_trim
; Line 3658
	mov	ecx, 7
	and	ecx, 8
	jne	SHORT $LN18@sys_trim
	mov	DWORD PTR tv72[ebp], 0
	jmp	SHORT $LN19@sys_trim
$LN18@sys_trim:
	mov	edx, 7
	and	edx, 8
	mov	eax, 8
	sub	eax, edx
	and	eax, 7
	mov	DWORD PTR tv72[ebp], eax
$LN19@sys_trim:
	mov	ecx, DWORD PTR tv72[ebp]
	mov	edx, DWORD PTR _pad$[ebp]
	lea	eax, DWORD PTR [edx+ecx+40]
	mov	DWORD PTR _pad$[ebp], eax
; Line 3660
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+12]
	cmp	edx, DWORD PTR _pad$[ebp]
	jbe	$LN14@sys_trim
; Line 3662
	mov	eax, DWORD PTR _mparams+8
	mov	DWORD PTR _unit$5[ebp], eax
; Line 3664
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+12]
	sub	edx, DWORD PTR _pad$[ebp]
	mov	eax, DWORD PTR _unit$5[ebp]
	lea	eax, DWORD PTR [edx+eax-1]
	xor	edx, edx
	div	DWORD PTR _unit$5[ebp]
	sub	eax, 1
	imul	eax, DWORD PTR _unit$5[ebp]
	mov	DWORD PTR _extra$6[ebp], eax
; Line 3665
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+24]
	push	edx
	mov	eax, DWORD PTR _m$[ebp]
	push	eax
	call	_segment_holding
	add	esp, 8
	mov	DWORD PTR _sp$7[ebp], eax
; Line 3667
	mov	ecx, 1
	test	ecx, ecx
	je	$LN13@sys_trim
; Line 3668
	mov	edx, 1
	test	edx, edx
	je	SHORT $LN12@sys_trim
; Line 3671
	mov	eax, 1
	test	eax, eax
	je	SHORT $LN11@sys_trim
	mov	ecx, DWORD PTR _sp$7[ebp]
	mov	edx, DWORD PTR [ecx+4]
	cmp	edx, DWORD PTR _extra$6[ebp]
	jb	SHORT $LN11@sys_trim
	mov	eax, DWORD PTR _sp$7[ebp]
	push	eax
	mov	ecx, DWORD PTR _m$[ebp]
	push	ecx
	call	_has_segment_link
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN11@sys_trim
; Line 3672
	mov	edx, DWORD PTR _sp$7[ebp]
	mov	eax, DWORD PTR [edx+4]
	sub	eax, DWORD PTR _extra$6[ebp]
	mov	DWORD PTR _newsize$2[ebp], eax
; Line 3675
	xor	ecx, ecx
	jne	SHORT $LN9@sys_trim
	mov	edx, DWORD PTR _extra$6[ebp]
	push	edx
	mov	eax, DWORD PTR _sp$7[ebp]
	mov	ecx, DWORD PTR [eax]
	add	ecx, DWORD PTR _newsize$2[ebp]
	push	ecx
	call	_win32munmap
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN11@sys_trim
$LN9@sys_trim:
; Line 3676
	mov	edx, DWORD PTR _extra$6[ebp]
	mov	DWORD PTR _released$[ebp], edx
$LN11@sys_trim:
; Line 3678
	jmp	SHORT $LN13@sys_trim
$LN12@sys_trim:
; Line 3680
	xor	eax, eax
	je	SHORT $LN13@sys_trim
; Line 3681
	cmp	DWORD PTR _extra$6[ebp], 2147483647	; 7fffffffH
	jb	SHORT $LN6@sys_trim
; Line 3682
	mov	ecx, -2147483648			; 80000000H
	sub	ecx, DWORD PTR _unit$5[ebp]
	mov	DWORD PTR _extra$6[ebp], ecx
$LN6@sys_trim:
; Line 3686
	mov	DWORD PTR _old_br$4[ebp], -1
; Line 3687
	mov	edx, DWORD PTR _sp$7[ebp]
	mov	eax, DWORD PTR [edx]
	mov	ecx, DWORD PTR _sp$7[ebp]
	add	eax, DWORD PTR [ecx+4]
	cmp	DWORD PTR _old_br$4[ebp], eax
	jne	SHORT $LN13@sys_trim
; Line 3688
	mov	DWORD PTR _rel_br$1[ebp], -1
; Line 3689
	mov	DWORD PTR _new_br$3[ebp], -1
; Line 3690
	cmp	DWORD PTR _rel_br$1[ebp], -1
	je	SHORT $LN13@sys_trim
	mov	edx, DWORD PTR _new_br$3[ebp]
	cmp	edx, DWORD PTR _old_br$4[ebp]
	jae	SHORT $LN13@sys_trim
; Line 3691
	mov	eax, DWORD PTR _old_br$4[ebp]
	sub	eax, DWORD PTR _new_br$3[ebp]
	mov	DWORD PTR _released$[ebp], eax
$LN13@sys_trim:
; Line 3698
	cmp	DWORD PTR _released$[ebp], 0
	je	SHORT $LN14@sys_trim
; Line 3699
	mov	ecx, DWORD PTR _sp$7[ebp]
	mov	edx, DWORD PTR [ecx+4]
	sub	edx, DWORD PTR _released$[ebp]
	mov	eax, DWORD PTR _sp$7[ebp]
	mov	DWORD PTR [eax+4], edx
; Line 3700
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+428]
	sub	edx, DWORD PTR _released$[ebp]
	mov	eax, DWORD PTR _m$[ebp]
	mov	DWORD PTR [eax+428], edx
; Line 3701
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+12]
	sub	edx, DWORD PTR _released$[ebp]
	push	edx
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+24]
	push	ecx
	mov	edx, DWORD PTR _m$[ebp]
	push	edx
	call	_init_top
	add	esp, 12					; 0000000cH
$LN14@sys_trim:
; Line 3707
	mov	eax, 1
	test	eax, eax
	je	SHORT $LN2@sys_trim
; Line 3708
	mov	ecx, DWORD PTR _m$[ebp]
	push	ecx
	call	_release_unused_segments
	add	esp, 4
	add	eax, DWORD PTR _released$[ebp]
	mov	DWORD PTR _released$[ebp], eax
$LN2@sys_trim:
; Line 3711
	cmp	DWORD PTR _released$[ebp], 0
	jne	SHORT $LN15@sys_trim
; Line 3712
	mov	edx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [edx+28], -1
$LN15@sys_trim:
; Line 3715
	cmp	DWORD PTR _released$[ebp], 0
	je	SHORT $LN20@sys_trim
	mov	DWORD PTR tv169[ebp], 1
	jmp	SHORT $LN21@sys_trim
$LN20@sys_trim:
	mov	DWORD PTR tv169[ebp], 0
$LN21@sys_trim:
	mov	eax, DWORD PTR tv169[ebp]
; Line 3716
	mov	esp, ebp
	pop	ebp
	ret	0
_sys_trim ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_next$1 = -120						; size = 4
tv269 = -116						; size = 4
_H$2 = -112						; size = 4
tv92 = -108						; size = 4
tv78 = -104						; size = 4
_released$ = -100					; size = 4
_pred$ = -96						; size = 4
_F$3 = -92						; size = 4
_K$4 = -88						; size = 4
_H$5 = -84						; size = 4
_X$6 = -80						; size = 4
_F$7 = -76						; size = 4
_C$8 = -72						; size = 4
_size$9 = -68						; size = 4
_C1$10 = -64						; size = 4
_C0$11 = -60						; size = 4
_CP$12 = -56						; size = 4
_psize$13 = -52						; size = 4
_base$14 = -48						; size = 4
_p$15 = -44						; size = 4
_N$16 = -40						; size = 4
_XP$17 = -36						; size = 4
_RP$18 = -32						; size = 4
_sp$ = -28						; size = 4
_T$19 = -24						; size = 4
_I$20 = -20						; size = 4
_K$21 = -16						; size = 4
_Y$22 = -12						; size = 4
_R$23 = -8						; size = 4
_tp$24 = -4						; size = 4
_m$ = 8							; size = 4
_release_unused_segments PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 3615
	push	ebp
	mov	ebp, esp
	sub	esp, 120				; 00000078H
; Line 3616
	mov	DWORD PTR _released$[ebp], 0
; Line 3617
	mov	eax, DWORD PTR _m$[ebp]
	add	eax, 444				; 000001bcH
	mov	DWORD PTR _pred$[ebp], eax
; Line 3618
	mov	ecx, DWORD PTR _pred$[ebp]
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR _sp$[ebp], edx
$LN52@release_un:
; Line 3619
	cmp	DWORD PTR _sp$[ebp], 0
	je	$LN51@release_un
; Line 3620
	mov	eax, DWORD PTR _sp$[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _base$14[ebp], ecx
; Line 3621
	mov	edx, DWORD PTR _sp$[ebp]
	mov	eax, DWORD PTR [edx+4]
	mov	DWORD PTR _size$9[ebp], eax
; Line 3622
	mov	ecx, DWORD PTR _sp$[ebp]
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR _next$1[ebp], edx
; Line 3623
	mov	eax, 1
	test	eax, eax
	je	$LN50@release_un
; Line 3624
	mov	ecx, DWORD PTR _base$14[ebp]
	add	ecx, 8
	and	ecx, 7
	jne	SHORT $LN55@release_un
	mov	DWORD PTR tv78[ebp], 0
	jmp	SHORT $LN56@release_un
$LN55@release_un:
	mov	edx, DWORD PTR _base$14[ebp]
	add	edx, 8
	and	edx, 7
	mov	eax, 8
	sub	eax, edx
	and	eax, 7
	mov	DWORD PTR tv78[ebp], eax
$LN56@release_un:
	mov	ecx, DWORD PTR _base$14[ebp]
	add	ecx, DWORD PTR tv78[ebp]
	mov	DWORD PTR _p$15[ebp], ecx
; Line 3625
	mov	edx, DWORD PTR _p$15[ebp]
	mov	eax, DWORD PTR [edx+4]
	and	eax, -4					; fffffffcH
	mov	DWORD PTR _psize$13[ebp], eax
; Line 3627
	mov	ecx, DWORD PTR _p$15[ebp]
	mov	edx, DWORD PTR [ecx+4]
	and	edx, 2
	jne	$LN50@release_un
	mov	eax, 7
	and	eax, 8
	jne	SHORT $LN57@release_un
	mov	DWORD PTR tv92[ebp], 0
	jmp	SHORT $LN58@release_un
$LN57@release_un:
	mov	ecx, 7
	and	ecx, 8
	mov	edx, 8
	sub	edx, ecx
	and	edx, 7
	mov	DWORD PTR tv92[ebp], edx
$LN58@release_un:
	mov	eax, DWORD PTR _p$15[ebp]
	add	eax, DWORD PTR _psize$13[ebp]
	mov	ecx, DWORD PTR _base$14[ebp]
	add	ecx, DWORD PTR _size$9[ebp]
	mov	edx, DWORD PTR tv92[ebp]
	add	edx, 40					; 00000028H
	sub	ecx, edx
	cmp	eax, ecx
	jb	$LN50@release_un
; Line 3628
	mov	eax, DWORD PTR _p$15[ebp]
	mov	DWORD PTR _tp$24[ebp], eax
; Line 3630
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _p$15[ebp]
	cmp	edx, DWORD PTR [ecx+20]
	jne	SHORT $LN48@release_un
; Line 3631
	mov	eax, DWORD PTR _m$[ebp]
	mov	DWORD PTR [eax+20], 0
; Line 3632
	mov	ecx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [ecx+8], 0
; Line 3634
	jmp	$LN47@release_un
$LN48@release_un:
; Line 3635
	mov	edx, DWORD PTR _tp$24[ebp]
	mov	eax, DWORD PTR [edx+24]
	mov	DWORD PTR _XP$17[ebp], eax
	mov	ecx, DWORD PTR _tp$24[ebp]
	mov	edx, DWORD PTR [ecx+12]
	cmp	edx, DWORD PTR _tp$24[ebp]
	je	SHORT $LN46@release_un
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR _F$7[ebp], ecx
	mov	edx, DWORD PTR _tp$24[ebp]
	mov	eax, DWORD PTR [edx+12]
	mov	DWORD PTR _R$23[ebp], eax
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _F$7[ebp]
	cmp	edx, DWORD PTR [ecx+16]
	jb	SHORT $LN45@release_un
	mov	eax, DWORD PTR _F$7[ebp]
	mov	ecx, DWORD PTR _R$23[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _R$23[ebp]
	mov	eax, DWORD PTR _F$7[ebp]
	mov	DWORD PTR [edx+8], eax
	jmp	SHORT $LN44@release_un
$LN45@release_un:
	call	_abort
$LN44@release_un:
	jmp	$LN43@release_un
$LN46@release_un:
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _tp$24[ebp]
	lea	eax, DWORD PTR [edx+ecx+16]
	mov	DWORD PTR _RP$18[ebp], eax
	mov	ecx, DWORD PTR _RP$18[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _R$23[ebp], edx
	cmp	DWORD PTR _R$23[ebp], 0
	jne	SHORT $LN40@release_un
	mov	eax, 4
	imul	ecx, eax, 0
	mov	edx, DWORD PTR _tp$24[ebp]
	lea	eax, DWORD PTR [edx+ecx+16]
	mov	DWORD PTR _RP$18[ebp], eax
	mov	ecx, DWORD PTR _RP$18[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _R$23[ebp], edx
	cmp	DWORD PTR _R$23[ebp], 0
	je	SHORT $LN43@release_un
$LN40@release_un:
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _R$23[ebp]
	lea	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR _CP$12[ebp], edx
	mov	eax, DWORD PTR _CP$12[ebp]
	cmp	DWORD PTR [eax], 0
	jne	SHORT $LN38@release_un
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _R$23[ebp]
	lea	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _CP$12[ebp], ecx
	mov	edx, DWORD PTR _CP$12[ebp]
	cmp	DWORD PTR [edx], 0
	je	SHORT $LN39@release_un
$LN38@release_un:
	mov	eax, DWORD PTR _CP$12[ebp]
	mov	DWORD PTR _RP$18[ebp], eax
	mov	ecx, DWORD PTR _RP$18[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _R$23[ebp], edx
	jmp	SHORT $LN40@release_un
$LN39@release_un:
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _RP$18[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN37@release_un
	mov	edx, DWORD PTR _RP$18[ebp]
	mov	DWORD PTR [edx], 0
	jmp	SHORT $LN43@release_un
$LN37@release_un:
	call	_abort
$LN43@release_un:
	cmp	DWORD PTR _XP$17[ebp], 0
	je	$LN47@release_un
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	ecx, DWORD PTR [eax+28]
	mov	edx, DWORD PTR _m$[ebp]
	lea	eax, DWORD PTR [edx+ecx*4+300]
	mov	DWORD PTR _H$2[ebp], eax
	mov	ecx, DWORD PTR _H$2[ebp]
	mov	edx, DWORD PTR _tp$24[ebp]
	cmp	edx, DWORD PTR [ecx]
	jne	SHORT $LN34@release_un
	mov	eax, DWORD PTR _H$2[ebp]
	mov	ecx, DWORD PTR _R$23[ebp]
	mov	DWORD PTR [eax], ecx
	cmp	DWORD PTR _R$23[ebp], 0
	jne	SHORT $LN33@release_un
	mov	edx, DWORD PTR _tp$24[ebp]
	mov	eax, 1
	mov	ecx, DWORD PTR [edx+28]
	shl	eax, cl
	not	eax
	mov	ecx, DWORD PTR _m$[ebp]
	and	eax, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [edx+4], eax
$LN33@release_un:
	jmp	SHORT $LN32@release_un
$LN34@release_un:
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _XP$17[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN31@release_un
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _XP$17[ebp]
	mov	edx, DWORD PTR [ecx+eax+16]
	cmp	edx, DWORD PTR _tp$24[ebp]
	jne	SHORT $LN30@release_un
	mov	eax, 4
	imul	ecx, eax, 0
	mov	edx, DWORD PTR _XP$17[ebp]
	mov	eax, DWORD PTR _R$23[ebp]
	mov	DWORD PTR [edx+ecx+16], eax
	jmp	SHORT $LN29@release_un
$LN30@release_un:
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _XP$17[ebp]
	mov	eax, DWORD PTR _R$23[ebp]
	mov	DWORD PTR [edx+ecx+16], eax
$LN29@release_un:
	jmp	SHORT $LN32@release_un
$LN31@release_un:
	call	_abort
$LN32@release_un:
	cmp	DWORD PTR _R$23[ebp], 0
	je	$LN47@release_un
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _R$23[ebp]
	cmp	edx, DWORD PTR [ecx+16]
	jb	$LN26@release_un
	mov	eax, DWORD PTR _R$23[ebp]
	mov	ecx, DWORD PTR _XP$17[ebp]
	mov	DWORD PTR [eax+24], ecx
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _tp$24[ebp]
	mov	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR _C0$11[ebp], edx
	cmp	DWORD PTR _C0$11[ebp], 0
	je	SHORT $LN25@release_un
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _C0$11[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN24@release_un
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _R$23[ebp]
	mov	edx, DWORD PTR _C0$11[ebp]
	mov	DWORD PTR [ecx+eax+16], edx
	mov	eax, DWORD PTR _C0$11[ebp]
	mov	ecx, DWORD PTR _R$23[ebp]
	mov	DWORD PTR [eax+24], ecx
	jmp	SHORT $LN25@release_un
$LN24@release_un:
	call	_abort
$LN25@release_un:
	mov	edx, 4
	shl	edx, 0
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _C1$10[ebp], ecx
	cmp	DWORD PTR _C1$10[ebp], 0
	je	SHORT $LN22@release_un
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _C1$10[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN21@release_un
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _R$23[ebp]
	mov	eax, DWORD PTR _C1$10[ebp]
	mov	DWORD PTR [edx+ecx+16], eax
	mov	ecx, DWORD PTR _C1$10[ebp]
	mov	edx, DWORD PTR _R$23[ebp]
	mov	DWORD PTR [ecx+24], edx
	jmp	SHORT $LN22@release_un
$LN21@release_un:
	call	_abort
$LN22@release_un:
	jmp	SHORT $LN47@release_un
$LN26@release_un:
	call	_abort
$LN47@release_un:
; Line 3637
	mov	eax, DWORD PTR _size$9[ebp]
	push	eax
	mov	ecx, DWORD PTR _base$14[ebp]
	push	ecx
	call	_win32munmap
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN18@release_un
; Line 3638
	mov	edx, DWORD PTR _released$[ebp]
	add	edx, DWORD PTR _size$9[ebp]
	mov	DWORD PTR _released$[ebp], edx
; Line 3639
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+428]
	sub	ecx, DWORD PTR _size$9[ebp]
	mov	edx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [edx+428], ecx
; Line 3641
	mov	eax, DWORD PTR _pred$[ebp]
	mov	DWORD PTR _sp$[ebp], eax
; Line 3642
	mov	ecx, DWORD PTR _sp$[ebp]
	mov	edx, DWORD PTR _next$1[ebp]
	mov	DWORD PTR [ecx+8], edx
; Line 3644
	jmp	$LN50@release_un
$LN18@release_un:
; Line 3645
	mov	eax, DWORD PTR _psize$13[ebp]
	shr	eax, 8
	mov	DWORD PTR _X$6[ebp], eax
	cmp	DWORD PTR _X$6[ebp], 0
	jne	SHORT $LN16@release_un
	mov	DWORD PTR _I$20[ebp], 0
	jmp	$LN15@release_un
$LN16@release_un:
	cmp	DWORD PTR _X$6[ebp], 65535		; 0000ffffH
	jbe	SHORT $LN14@release_un
	mov	DWORD PTR _I$20[ebp], 31		; 0000001fH
	jmp	$LN15@release_un
$LN14@release_un:
	mov	ecx, DWORD PTR _X$6[ebp]
	mov	DWORD PTR _Y$22[ebp], ecx
	mov	edx, DWORD PTR _Y$22[ebp]
	sub	edx, 256				; 00000100H
	shr	edx, 16					; 00000010H
	and	edx, 8
	mov	DWORD PTR _N$16[ebp], edx
	mov	eax, DWORD PTR _Y$22[ebp]
	mov	ecx, DWORD PTR _N$16[ebp]
	shl	eax, cl
	mov	DWORD PTR _Y$22[ebp], eax
	mov	ecx, DWORD PTR _Y$22[ebp]
	sub	ecx, 4096				; 00001000H
	shr	ecx, 16					; 00000010H
	and	ecx, 4
	mov	DWORD PTR _K$21[ebp], ecx
	mov	edx, DWORD PTR _N$16[ebp]
	add	edx, DWORD PTR _K$21[ebp]
	mov	DWORD PTR _N$16[ebp], edx
	mov	eax, DWORD PTR _Y$22[ebp]
	mov	ecx, DWORD PTR _K$21[ebp]
	shl	eax, cl
	mov	DWORD PTR _Y$22[ebp], eax
	mov	ecx, DWORD PTR _Y$22[ebp]
	sub	ecx, 16384				; 00004000H
	shr	ecx, 16					; 00000010H
	and	ecx, 2
	mov	DWORD PTR _K$21[ebp], ecx
	mov	edx, DWORD PTR _N$16[ebp]
	add	edx, DWORD PTR _K$21[ebp]
	mov	DWORD PTR _N$16[ebp], edx
	mov	eax, DWORD PTR _Y$22[ebp]
	mov	ecx, DWORD PTR _K$21[ebp]
	shl	eax, cl
	mov	DWORD PTR _Y$22[ebp], eax
	mov	ecx, DWORD PTR _Y$22[ebp]
	shr	ecx, 15					; 0000000fH
	mov	edx, 14					; 0000000eH
	sub	edx, DWORD PTR _N$16[ebp]
	add	edx, ecx
	mov	DWORD PTR _K$21[ebp], edx
	mov	ecx, DWORD PTR _K$21[ebp]
	add	ecx, 7
	mov	eax, DWORD PTR _psize$13[ebp]
	shr	eax, cl
	and	eax, 1
	mov	ecx, DWORD PTR _K$21[ebp]
	lea	edx, DWORD PTR [eax+ecx*2]
	mov	DWORD PTR _I$20[ebp], edx
$LN15@release_un:
	mov	eax, DWORD PTR _I$20[ebp]
	mov	ecx, DWORD PTR _m$[ebp]
	lea	edx, DWORD PTR [ecx+eax*4+300]
	mov	DWORD PTR _H$5[ebp], edx
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	ecx, DWORD PTR _I$20[ebp]
	mov	DWORD PTR [eax+28], ecx
	mov	edx, 4
	shl	edx, 0
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	DWORD PTR [eax+edx+16], 0
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	DWORD PTR [eax+edx+16], 0
	mov	edx, 1
	mov	ecx, DWORD PTR _I$20[ebp]
	shl	edx, cl
	mov	eax, DWORD PTR _m$[ebp]
	and	edx, DWORD PTR [eax+4]
	jne	SHORT $LN12@release_un
	mov	edx, 1
	mov	ecx, DWORD PTR _I$20[ebp]
	shl	edx, cl
	mov	eax, DWORD PTR _m$[ebp]
	or	edx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [ecx+4], edx
	mov	edx, DWORD PTR _H$5[ebp]
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	DWORD PTR [edx], eax
	mov	ecx, DWORD PTR _tp$24[ebp]
	mov	edx, DWORD PTR _H$5[ebp]
	mov	DWORD PTR [ecx+24], edx
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	ecx, DWORD PTR _tp$24[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _tp$24[ebp]
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	DWORD PTR [edx+8], eax
	jmp	$LN50@release_un
$LN12@release_un:
	mov	ecx, DWORD PTR _H$5[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _T$19[ebp], edx
	cmp	DWORD PTR _I$20[ebp], 31		; 0000001fH
	jne	SHORT $LN59@release_un
	mov	DWORD PTR tv269[ebp], 0
	jmp	SHORT $LN60@release_un
$LN59@release_un:
	mov	eax, DWORD PTR _I$20[ebp]
	shr	eax, 1
	add	eax, 6
	mov	ecx, 31					; 0000001fH
	sub	ecx, eax
	mov	DWORD PTR tv269[ebp], ecx
$LN60@release_un:
	mov	edx, DWORD PTR _psize$13[ebp]
	mov	ecx, DWORD PTR tv269[ebp]
	shl	edx, cl
	mov	DWORD PTR _K$4[ebp], edx
$LN10@release_un:
	mov	eax, DWORD PTR _T$19[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, -4					; fffffffcH
	cmp	ecx, DWORD PTR _psize$13[ebp]
	je	SHORT $LN8@release_un
	mov	edx, DWORD PTR _K$4[ebp]
	shr	edx, 31					; 0000001fH
	and	edx, 1
	mov	eax, DWORD PTR _T$19[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+16]
	mov	DWORD PTR _C$8[ebp], ecx
	mov	edx, DWORD PTR _K$4[ebp]
	shl	edx, 1
	mov	DWORD PTR _K$4[ebp], edx
	mov	eax, DWORD PTR _C$8[ebp]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN7@release_un
	mov	ecx, DWORD PTR _C$8[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _T$19[ebp], edx
	jmp	SHORT $LN6@release_un
$LN7@release_un:
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _C$8[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN5@release_un
	mov	edx, DWORD PTR _C$8[ebp]
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	DWORD PTR [edx], eax
	mov	ecx, DWORD PTR _tp$24[ebp]
	mov	edx, DWORD PTR _T$19[ebp]
	mov	DWORD PTR [ecx+24], edx
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	ecx, DWORD PTR _tp$24[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _tp$24[ebp]
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	DWORD PTR [edx+8], eax
	jmp	SHORT $LN50@release_un
	jmp	SHORT $LN6@release_un
$LN5@release_un:
	call	_abort
	jmp	SHORT $LN50@release_un
$LN6@release_un:
	jmp	SHORT $LN3@release_un
$LN8@release_un:
	mov	ecx, DWORD PTR _T$19[ebp]
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR _F$3[ebp], edx
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _T$19[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN2@release_un
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _F$3[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN2@release_un
	mov	ecx, DWORD PTR _F$3[ebp]
	mov	edx, DWORD PTR _tp$24[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _T$19[ebp]
	mov	ecx, DWORD PTR _tp$24[ebp]
	mov	DWORD PTR [eax+8], ecx
	mov	edx, DWORD PTR _tp$24[ebp]
	mov	eax, DWORD PTR _F$3[ebp]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR _tp$24[ebp]
	mov	edx, DWORD PTR _T$19[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _tp$24[ebp]
	mov	DWORD PTR [eax+24], 0
	jmp	SHORT $LN50@release_un
	jmp	SHORT $LN3@release_un
$LN2@release_un:
	call	_abort
	jmp	SHORT $LN50@release_un
$LN3@release_un:
	jmp	$LN10@release_un
$LN50@release_un:
; Line 3649
	mov	ecx, DWORD PTR _sp$[ebp]
	mov	DWORD PTR _pred$[ebp], ecx
; Line 3650
	mov	edx, DWORD PTR _next$1[ebp]
	mov	DWORD PTR _sp$[ebp], edx
; Line 3651
	jmp	$LN52@release_un
$LN51@release_un:
; Line 3652
	mov	eax, DWORD PTR _released$[ebp]
$LN54@release_un:
; Line 3653
	mov	esp, ebp
	pop	ebp
	ret	0
_release_unused_segments ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_r$1 = -152						; size = 4
_asize$2 = -148						; size = 4
_rsize$3 = -144						; size = 4
tv277 = -140						; size = 4
_oldbase$4 = -136					; size = 4
_req$5 = -132						; size = 4
tv278 = -128						; size = 4
_end$6 = -124						; size = 4
tv241 = -120						; size = 4
tv249 = -116						; size = 4
_mp$7 = -112						; size = 4
tv87 = -108						; size = 4
_mem$8 = -104						; size = 4
_ssize$9 = -100						; size = 4
tv168 = -96						; size = 4
tv222 = -92						; size = 4
tv381 = -88						; size = 4
tv203 = -84						; size = 4
tv378 = -80						; size = 4
tv179 = -76						; size = 4
_mn$10 = -72						; size = 4
tv146 = -68						; size = 4
tv306 = -64						; size = 4
tv79 = -60						; size = 4
tv287 = -56						; size = 4
_esize$11 = -52						; size = 4
_p$12 = -48						; size = 4
_ss$13 = -44						; size = 4
_rsize$14 = -40						; size = 4
_end$15 = -36						; size = 4
_br$16 = -32						; size = 4
_base$17 = -28						; size = 4
_mmap_flag$ = -24					; size = 4
_br$18 = -20						; size = 4
_asize$19 = -16						; size = 4
_tsize$ = -12						; size = 4
_tbase$ = -8						; size = 4
_sp$20 = -4						; size = 4
_m$ = 8							; size = 4
_nb$ = 12						; size = 4
_sys_alloc PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 3421
	push	ebp
	mov	ebp, esp
	sub	esp, 152				; 00000098H
; Line 3422
	mov	DWORD PTR _tbase$[ebp], -1
; Line 3423
	mov	DWORD PTR _tsize$[ebp], 0
; Line 3424
	mov	DWORD PTR _mmap_flag$[ebp], 0
; Line 3426
	call	_init_mparams
; Line 3429
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+436]
	and	ecx, 1
	je	SHORT $LN40@sys_alloc
	mov	edx, DWORD PTR _nb$[ebp]
	cmp	edx, DWORD PTR _mparams+12
	jb	SHORT $LN40@sys_alloc
; Line 3430
	mov	eax, DWORD PTR _nb$[ebp]
	push	eax
	mov	ecx, DWORD PTR _m$[ebp]
	push	ecx
	call	_mmap_alloc
	add	esp, 8
	mov	DWORD PTR _mem$8[ebp], eax
; Line 3431
	cmp	DWORD PTR _mem$8[ebp], 0
	je	SHORT $LN40@sys_alloc
; Line 3432
	mov	eax, DWORD PTR _mem$8[ebp]
	jmp	$LN42@sys_alloc
$LN40@sys_alloc:
; Line 3452
	xor	edx, edx
	je	$LN38@sys_alloc
; Line 3453
	mov	DWORD PTR _br$18[ebp], -1
; Line 3454
	mov	eax, DWORD PTR _m$[ebp]
	cmp	DWORD PTR [eax+24], 0
	jne	SHORT $LN43@sys_alloc
	mov	DWORD PTR tv79[ebp], 0
	jmp	SHORT $LN44@sys_alloc
$LN43@sys_alloc:
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+24]
	push	edx
	mov	eax, DWORD PTR _m$[ebp]
	push	eax
	call	_segment_holding
	add	esp, 8
	mov	DWORD PTR tv79[ebp], eax
$LN44@sys_alloc:
	mov	ecx, DWORD PTR tv79[ebp]
	mov	DWORD PTR _ss$13[ebp], ecx
; Line 3455
	mov	DWORD PTR _asize$19[ebp], 0
; Line 3458
	cmp	DWORD PTR _ss$13[ebp], 0
	jne	$LN37@sys_alloc
; Line 3459
	mov	DWORD PTR _base$17[ebp], -1
; Line 3460
	cmp	DWORD PTR _base$17[ebp], -1
	je	$LN36@sys_alloc
; Line 3461
	mov	edx, 7
	and	edx, 8
	jne	SHORT $LN45@sys_alloc
	mov	DWORD PTR tv87[ebp], 0
	jmp	SHORT $LN46@sys_alloc
$LN45@sys_alloc:
	mov	eax, 7
	and	eax, 8
	mov	ecx, 8
	sub	ecx, eax
	and	ecx, 7
	mov	DWORD PTR tv87[ebp], ecx
$LN46@sys_alloc:
	mov	edx, DWORD PTR tv87[ebp]
	mov	eax, DWORD PTR _nb$[ebp]
	lea	ecx, DWORD PTR [eax+edx+40]
	mov	edx, DWORD PTR _mparams+8
	lea	eax, DWORD PTR [ecx+edx+1]
	mov	ecx, DWORD PTR _mparams+8
	sub	ecx, 1
	not	ecx
	and	eax, ecx
	mov	DWORD PTR _asize$19[ebp], eax
; Line 3463
	mov	edx, DWORD PTR _mparams+4
	sub	edx, 1
	and	edx, DWORD PTR _base$17[ebp]
	je	SHORT $LN35@sys_alloc
; Line 3464
	mov	eax, DWORD PTR _base$17[ebp]
	add	eax, DWORD PTR _mparams+4
	mov	ecx, DWORD PTR _mparams+4
	sub	ecx, 1
	not	ecx
	and	eax, ecx
	sub	eax, DWORD PTR _base$17[ebp]
	add	eax, DWORD PTR _asize$19[ebp]
	mov	DWORD PTR _asize$19[ebp], eax
$LN35@sys_alloc:
; Line 3467
	cmp	DWORD PTR _asize$19[ebp], 2147483647	; 7fffffffH
	jae	SHORT $LN36@sys_alloc
	mov	DWORD PTR _br$18[ebp], -1
	mov	edx, DWORD PTR _br$18[ebp]
	cmp	edx, DWORD PTR _base$17[ebp]
	jne	SHORT $LN36@sys_alloc
; Line 3468
	mov	eax, DWORD PTR _base$17[ebp]
	mov	DWORD PTR _tbase$[ebp], eax
; Line 3469
	mov	ecx, DWORD PTR _asize$19[ebp]
	mov	DWORD PTR _tsize$[ebp], ecx
$LN36@sys_alloc:
; Line 3473
	jmp	SHORT $LN33@sys_alloc
$LN37@sys_alloc:
; Line 3475
	mov	edx, 7
	and	edx, 8
	jne	SHORT $LN47@sys_alloc
	mov	DWORD PTR tv146[ebp], 0
	jmp	SHORT $LN48@sys_alloc
$LN47@sys_alloc:
	mov	eax, 7
	and	eax, 8
	mov	ecx, 8
	sub	ecx, eax
	and	ecx, 7
	mov	DWORD PTR tv146[ebp], ecx
$LN48@sys_alloc:
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _nb$[ebp]
	sub	eax, DWORD PTR [edx+12]
	add	eax, DWORD PTR _mparams+8
	mov	ecx, DWORD PTR tv146[ebp]
	lea	edx, DWORD PTR [ecx+eax+41]
	mov	eax, DWORD PTR _mparams+8
	sub	eax, 1
	not	eax
	and	edx, eax
	mov	DWORD PTR _asize$19[ebp], edx
; Line 3478
	cmp	DWORD PTR _asize$19[ebp], 2147483647	; 7fffffffH
	jae	SHORT $LN33@sys_alloc
	mov	DWORD PTR _br$18[ebp], -1
	mov	ecx, DWORD PTR _ss$13[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR _ss$13[ebp]
	add	edx, DWORD PTR [eax+4]
	cmp	DWORD PTR _br$18[ebp], edx
	jne	SHORT $LN33@sys_alloc
; Line 3479
	mov	ecx, DWORD PTR _br$18[ebp]
	mov	DWORD PTR _tbase$[ebp], ecx
; Line 3480
	mov	edx, DWORD PTR _asize$19[ebp]
	mov	DWORD PTR _tsize$[ebp], edx
$LN33@sys_alloc:
; Line 3484
	cmp	DWORD PTR _tbase$[ebp], -1
	jne	$LN38@sys_alloc
; Line 3485
	cmp	DWORD PTR _br$18[ebp], -1
	je	$LN30@sys_alloc
; Line 3487
	cmp	DWORD PTR _asize$19[ebp], 2147483647	; 7fffffffH
	jae	$LN30@sys_alloc
	mov	eax, 7
	and	eax, 8
	jne	SHORT $LN49@sys_alloc
	mov	DWORD PTR tv168[ebp], 0
	jmp	SHORT $LN50@sys_alloc
$LN49@sys_alloc:
	mov	ecx, 7
	and	ecx, 8
	mov	edx, 8
	sub	edx, ecx
	and	edx, 7
	mov	DWORD PTR tv168[ebp], edx
$LN50@sys_alloc:
	mov	eax, DWORD PTR tv168[ebp]
	mov	ecx, DWORD PTR _nb$[ebp]
	lea	edx, DWORD PTR [ecx+eax+41]
	cmp	DWORD PTR _asize$19[ebp], edx
	jae	SHORT $LN30@sys_alloc
; Line 3488
	mov	eax, 7
	and	eax, 8
	jne	SHORT $LN51@sys_alloc
	mov	DWORD PTR tv179[ebp], 0
	jmp	SHORT $LN52@sys_alloc
$LN51@sys_alloc:
	mov	ecx, 7
	and	ecx, 8
	mov	edx, 8
	sub	edx, ecx
	and	edx, 7
	mov	DWORD PTR tv179[ebp], edx
$LN52@sys_alloc:
	mov	eax, DWORD PTR tv179[ebp]
	mov	ecx, DWORD PTR _nb$[ebp]
	lea	edx, DWORD PTR [ecx+eax+41]
	sub	edx, DWORD PTR _asize$19[ebp]
	add	edx, DWORD PTR _mparams+8
	mov	eax, DWORD PTR _mparams+8
	sub	eax, 1
	not	eax
	and	edx, eax
	mov	DWORD PTR _esize$11[ebp], edx
; Line 3489
	cmp	DWORD PTR _esize$11[ebp], 2147483647	; 7fffffffH
	jae	SHORT $LN30@sys_alloc
; Line 3490
	mov	DWORD PTR _end$6[ebp], -1
; Line 3491
	cmp	DWORD PTR _end$6[ebp], -1
	je	SHORT $LN27@sys_alloc
; Line 3492
	mov	ecx, DWORD PTR _asize$19[ebp]
	add	ecx, DWORD PTR _esize$11[ebp]
	mov	DWORD PTR _asize$19[ebp], ecx
; Line 3493
	jmp	SHORT $LN30@sys_alloc
$LN27@sys_alloc:
; Line 3495
	mov	DWORD PTR _br$18[ebp], -1
$LN30@sys_alloc:
; Line 3500
	cmp	DWORD PTR _br$18[ebp], -1
	je	SHORT $LN25@sys_alloc
; Line 3501
	mov	edx, DWORD PTR _br$18[ebp]
	mov	DWORD PTR _tbase$[ebp], edx
; Line 3502
	mov	eax, DWORD PTR _asize$19[ebp]
	mov	DWORD PTR _tsize$[ebp], eax
; Line 3504
	jmp	SHORT $LN38@sys_alloc
$LN25@sys_alloc:
; Line 3505
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+436]
	or	edx, 4
	mov	eax, DWORD PTR _m$[ebp]
	mov	DWORD PTR [eax+436], edx
$LN38@sys_alloc:
; Line 3511
	mov	ecx, 1
	test	ecx, ecx
	je	$LN23@sys_alloc
	cmp	DWORD PTR _tbase$[ebp], -1
	jne	$LN23@sys_alloc
; Line 3512
	mov	edx, 7
	and	edx, 8
	jne	SHORT $LN53@sys_alloc
	mov	DWORD PTR tv203[ebp], 0
	jmp	SHORT $LN54@sys_alloc
$LN53@sys_alloc:
	mov	eax, 7
	and	eax, 8
	mov	ecx, 8
	sub	ecx, eax
	and	ecx, 7
	mov	DWORD PTR tv203[ebp], ecx
$LN54@sys_alloc:
	mov	edx, DWORD PTR tv203[ebp]
	mov	eax, DWORD PTR _nb$[ebp]
	lea	ecx, DWORD PTR [eax+edx+41]
	mov	DWORD PTR _req$5[ebp], ecx
; Line 3513
	mov	edx, DWORD PTR _req$5[ebp]
	add	edx, DWORD PTR _mparams+8
	mov	eax, DWORD PTR _mparams+8
	sub	eax, 1
	not	eax
	and	edx, eax
	mov	DWORD PTR _rsize$14[ebp], edx
; Line 3514
	mov	ecx, DWORD PTR _rsize$14[ebp]
	cmp	ecx, DWORD PTR _nb$[ebp]
	jbe	SHORT $LN23@sys_alloc
; Line 3515
	mov	edx, DWORD PTR _rsize$14[ebp]
	push	edx
	call	_win32mmap
	add	esp, 4
	mov	DWORD PTR _mp$7[ebp], eax
; Line 3516
	cmp	DWORD PTR _mp$7[ebp], -1
	je	SHORT $LN23@sys_alloc
; Line 3517
	mov	eax, DWORD PTR _mp$7[ebp]
	mov	DWORD PTR _tbase$[ebp], eax
; Line 3518
	mov	ecx, DWORD PTR _rsize$14[ebp]
	mov	DWORD PTR _tsize$[ebp], ecx
; Line 3519
	mov	DWORD PTR _mmap_flag$[ebp], 1
$LN23@sys_alloc:
; Line 3524
	xor	edx, edx
	je	$LN20@sys_alloc
; Line 3525
	mov	eax, 7
	and	eax, 8
	jne	SHORT $LN55@sys_alloc
	mov	DWORD PTR tv222[ebp], 0
	jmp	SHORT $LN56@sys_alloc
$LN55@sys_alloc:
	mov	ecx, 7
	and	ecx, 8
	mov	edx, 8
	sub	edx, ecx
	and	edx, 7
	mov	DWORD PTR tv222[ebp], edx
$LN56@sys_alloc:
	mov	eax, DWORD PTR tv222[ebp]
	mov	ecx, DWORD PTR _nb$[ebp]
	lea	edx, DWORD PTR [ecx+eax+40]
	mov	eax, DWORD PTR _mparams+8
	lea	ecx, DWORD PTR [edx+eax+1]
	mov	edx, DWORD PTR _mparams+8
	sub	edx, 1
	not	edx
	and	ecx, edx
	mov	DWORD PTR _asize$2[ebp], ecx
; Line 3526
	cmp	DWORD PTR _asize$2[ebp], 2147483647	; 7fffffffH
	jae	SHORT $LN20@sys_alloc
; Line 3527
	mov	DWORD PTR _br$16[ebp], -1
; Line 3528
	mov	DWORD PTR _end$15[ebp], -1
; Line 3530
	mov	DWORD PTR _br$16[ebp], -1
; Line 3531
	mov	DWORD PTR _end$15[ebp], -1
; Line 3533
	cmp	DWORD PTR _br$16[ebp], -1
	je	SHORT $LN20@sys_alloc
	cmp	DWORD PTR _end$15[ebp], -1
	je	SHORT $LN20@sys_alloc
	mov	eax, DWORD PTR _br$16[ebp]
	cmp	eax, DWORD PTR _end$15[ebp]
	jae	SHORT $LN20@sys_alloc
; Line 3534
	mov	ecx, DWORD PTR _end$15[ebp]
	sub	ecx, DWORD PTR _br$16[ebp]
	mov	DWORD PTR _ssize$9[ebp], ecx
; Line 3535
	mov	edx, 7
	and	edx, 8
	jne	SHORT $LN57@sys_alloc
	mov	DWORD PTR tv241[ebp], 0
	jmp	SHORT $LN58@sys_alloc
$LN57@sys_alloc:
	mov	eax, 7
	and	eax, 8
	mov	ecx, 8
	sub	ecx, eax
	and	ecx, 7
	mov	DWORD PTR tv241[ebp], ecx
$LN58@sys_alloc:
	mov	edx, DWORD PTR tv241[ebp]
	mov	eax, DWORD PTR _nb$[ebp]
	lea	ecx, DWORD PTR [eax+edx+40]
	cmp	DWORD PTR _ssize$9[ebp], ecx
	jbe	SHORT $LN20@sys_alloc
; Line 3536
	mov	edx, DWORD PTR _br$16[ebp]
	mov	DWORD PTR _tbase$[ebp], edx
; Line 3537
	mov	eax, DWORD PTR _ssize$9[ebp]
	mov	DWORD PTR _tsize$[ebp], eax
$LN20@sys_alloc:
; Line 3543
	cmp	DWORD PTR _tbase$[ebp], -1
	je	$LN16@sys_alloc
; Line 3545
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+428]
	add	edx, DWORD PTR _tsize$[ebp]
	mov	DWORD PTR tv249[ebp], edx
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR tv249[ebp]
	mov	DWORD PTR [eax+428], ecx
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR tv249[ebp]
	cmp	eax, DWORD PTR [edx+432]
	jbe	SHORT $LN15@sys_alloc
; Line 3546
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR [edx+428]
	mov	DWORD PTR [ecx+432], eax
$LN15@sys_alloc:
; Line 3548
	mov	ecx, DWORD PTR _m$[ebp]
	cmp	DWORD PTR [ecx+24], 0
	jne	$LN14@sys_alloc
; Line 3549
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _tbase$[ebp]
	mov	DWORD PTR [edx+16], eax
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _tbase$[ebp]
	mov	DWORD PTR [ecx+444], edx
; Line 3550
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _tsize$[ebp]
	mov	DWORD PTR [eax+448], ecx
; Line 3551
	cmp	DWORD PTR _mmap_flag$[ebp], 1
	je	SHORT $LN61@sys_alloc
	call	_abort
	mov	edx, DWORD PTR _mmap_flag$[ebp]
	mov	DWORD PTR tv278[ebp], edx
	jmp	$LN62@sys_alloc
$LN61@sys_alloc:
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+444]
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR [edx+448]
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR [ecx+eax-4]
	mov	DWORD PTR [edx+456], eax
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+444]
	mov	eax, DWORD PTR _m$[ebp]
	add	edx, DWORD PTR [eax+456]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR [ecx+448]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [edx+eax-4]
	cmp	edx, DWORD PTR [ecx+456]
	je	SHORT $LN59@sys_alloc
	call	_abort
	mov	eax, DWORD PTR _mmap_flag$[ebp]
	mov	DWORD PTR tv277[ebp], eax
	jmp	SHORT $LN60@sys_alloc
$LN59@sys_alloc:
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+444]
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+448]
	mov	DWORD PTR [edx+ecx-4], 0
	mov	DWORD PTR tv277[ebp], 0
$LN60@sys_alloc:
	mov	edx, DWORD PTR _mmap_flag$[ebp]
	mov	DWORD PTR tv278[ebp], edx
$LN62@sys_alloc:
; Line 3552
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _mparams
	mov	DWORD PTR [eax+32], ecx
; Line 3553
	mov	edx, DWORD PTR _m$[ebp]
	push	edx
	call	_init_bins
	add	esp, 4
; Line 3554
	cmp	DWORD PTR _m$[ebp], OFFSET __gm_
	jne	SHORT $LN13@sys_alloc
; Line 3555
	mov	eax, 7
	and	eax, 8
	jne	SHORT $LN63@sys_alloc
	mov	DWORD PTR tv287[ebp], 0
	jmp	SHORT $LN64@sys_alloc
$LN63@sys_alloc:
	mov	ecx, 7
	and	ecx, 8
	mov	edx, 8
	sub	edx, ecx
	and	edx, 7
	mov	DWORD PTR tv287[ebp], edx
$LN64@sys_alloc:
	mov	eax, DWORD PTR tv287[ebp]
	add	eax, 40					; 00000028H
	mov	ecx, DWORD PTR _tsize$[ebp]
	sub	ecx, eax
	push	ecx
	mov	edx, DWORD PTR _tbase$[ebp]
	push	edx
	mov	eax, DWORD PTR _m$[ebp]
	push	eax
	call	_init_top
	add	esp, 12					; 0000000cH
; Line 3556
	jmp	SHORT $LN12@sys_alloc
$LN13@sys_alloc:
; Line 3558
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx-4]
	and	edx, -4					; fffffffcH
	mov	eax, DWORD PTR _m$[ebp]
	lea	ecx, DWORD PTR [eax+edx-8]
	mov	DWORD PTR _mn$10[ebp], ecx
; Line 3559
	mov	edx, 7
	and	edx, 8
	jne	SHORT $LN65@sys_alloc
	mov	DWORD PTR tv306[ebp], 0
	jmp	SHORT $LN66@sys_alloc
$LN65@sys_alloc:
	mov	eax, 7
	and	eax, 8
	mov	ecx, 8
	sub	ecx, eax
	and	ecx, 7
	mov	DWORD PTR tv306[ebp], ecx
$LN66@sys_alloc:
	mov	edx, DWORD PTR _tbase$[ebp]
	add	edx, DWORD PTR _tsize$[ebp]
	sub	edx, DWORD PTR _mn$10[ebp]
	mov	eax, DWORD PTR tv306[ebp]
	add	eax, 40					; 00000028H
	sub	edx, eax
	push	edx
	mov	ecx, DWORD PTR _mn$10[ebp]
	push	ecx
	mov	edx, DWORD PTR _m$[ebp]
	push	edx
	call	_init_top
	add	esp, 12					; 0000000cH
$LN12@sys_alloc:
; Line 3563
	jmp	$LN11@sys_alloc
$LN14@sys_alloc:
; Line 3565
	mov	eax, DWORD PTR _m$[ebp]
	add	eax, 444				; 000001bcH
	mov	DWORD PTR _sp$20[ebp], eax
$LN10@sys_alloc:
; Line 3566
	cmp	DWORD PTR _sp$20[ebp], 0
	je	SHORT $LN9@sys_alloc
	mov	ecx, DWORD PTR _sp$20[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR _sp$20[ebp]
	add	edx, DWORD PTR [eax+4]
	cmp	DWORD PTR _tbase$[ebp], edx
	je	SHORT $LN9@sys_alloc
; Line 3567
	mov	ecx, DWORD PTR _sp$20[ebp]
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR _sp$20[ebp], edx
	jmp	SHORT $LN10@sys_alloc
$LN9@sys_alloc:
; Line 3572
	cmp	DWORD PTR _sp$20[ebp], 0
	je	SHORT $LN8@sys_alloc
	mov	eax, 1
	test	eax, eax
	je	SHORT $LN8@sys_alloc
	mov	ecx, DWORD PTR _tbase$[ebp]
	add	ecx, DWORD PTR _tsize$[ebp]
	mov	edx, DWORD PTR _sp$20[ebp]
	mov	eax, DWORD PTR [ecx-4]
	cmp	eax, DWORD PTR [edx+12]
	jne	SHORT $LN8@sys_alloc
	cmp	DWORD PTR _mmap_flag$[ebp], 1
	jne	SHORT $LN8@sys_alloc
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _sp$20[ebp]
	mov	eax, DWORD PTR [ecx+24]
	cmp	eax, DWORD PTR [edx]
	jb	SHORT $LN8@sys_alloc
	mov	ecx, DWORD PTR _sp$20[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR _sp$20[ebp]
	add	edx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _m$[ebp]
	cmp	DWORD PTR [ecx+24], edx
	jae	SHORT $LN8@sys_alloc
; Line 3573
	mov	edx, DWORD PTR _sp$20[ebp]
	mov	eax, DWORD PTR [edx+4]
	add	eax, DWORD PTR _tsize$[ebp]
	mov	ecx, DWORD PTR _sp$20[ebp]
	mov	DWORD PTR [ecx+4], eax
; Line 3574
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR [edx+12]
	add	eax, DWORD PTR _tsize$[ebp]
	push	eax
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+24]
	push	edx
	mov	eax, DWORD PTR _m$[ebp]
	push	eax
	call	_init_top
	add	esp, 12					; 0000000cH
; Line 3576
	jmp	$LN11@sys_alloc
$LN8@sys_alloc:
; Line 3577
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _tbase$[ebp]
	cmp	edx, DWORD PTR [ecx+16]
	jae	SHORT $LN6@sys_alloc
; Line 3578
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _tbase$[ebp]
	mov	DWORD PTR [eax+16], ecx
$LN6@sys_alloc:
; Line 3579
	mov	edx, DWORD PTR _m$[ebp]
	add	edx, 444				; 000001bcH
	mov	DWORD PTR _sp$20[ebp], edx
$LN5@sys_alloc:
; Line 3580
	cmp	DWORD PTR _sp$20[ebp], 0
	je	SHORT $LN4@sys_alloc
	mov	eax, DWORD PTR _tbase$[ebp]
	add	eax, DWORD PTR _tsize$[ebp]
	mov	ecx, DWORD PTR _sp$20[ebp]
	cmp	DWORD PTR [ecx], eax
	je	SHORT $LN4@sys_alloc
; Line 3581
	mov	edx, DWORD PTR _sp$20[ebp]
	mov	eax, DWORD PTR [edx+8]
	mov	DWORD PTR _sp$20[ebp], eax
	jmp	SHORT $LN5@sys_alloc
$LN4@sys_alloc:
; Line 3585
	cmp	DWORD PTR _sp$20[ebp], 0
	je	SHORT $LN3@sys_alloc
	mov	ecx, 1
	test	ecx, ecx
	je	SHORT $LN3@sys_alloc
	mov	edx, DWORD PTR _tbase$[ebp]
	add	edx, DWORD PTR _tsize$[ebp]
	mov	eax, DWORD PTR _sp$20[ebp]
	mov	ecx, DWORD PTR [edx-4]
	cmp	ecx, DWORD PTR [eax+12]
	jne	SHORT $LN3@sys_alloc
	cmp	DWORD PTR _mmap_flag$[ebp], 1
	jne	SHORT $LN3@sys_alloc
; Line 3586
	mov	edx, DWORD PTR _sp$20[ebp]
	mov	eax, DWORD PTR [edx]
	mov	DWORD PTR _oldbase$4[ebp], eax
; Line 3587
	mov	ecx, DWORD PTR _sp$20[ebp]
	mov	edx, DWORD PTR _tbase$[ebp]
	mov	DWORD PTR [ecx], edx
; Line 3588
	mov	eax, DWORD PTR _sp$20[ebp]
	mov	ecx, DWORD PTR [eax+4]
	add	ecx, DWORD PTR _tsize$[ebp]
	mov	edx, DWORD PTR _sp$20[ebp]
	mov	DWORD PTR [edx+4], ecx
; Line 3589
	mov	eax, DWORD PTR _nb$[ebp]
	push	eax
	mov	ecx, DWORD PTR _oldbase$4[ebp]
	push	ecx
	mov	edx, DWORD PTR _tbase$[ebp]
	push	edx
	mov	eax, DWORD PTR _m$[ebp]
	push	eax
	call	_prepend_alloc
	add	esp, 16					; 00000010H
	jmp	$LN42@sys_alloc
; Line 3591
	jmp	SHORT $LN11@sys_alloc
$LN3@sys_alloc:
; Line 3592
	mov	ecx, DWORD PTR _mmap_flag$[ebp]
	push	ecx
	mov	edx, DWORD PTR _tsize$[ebp]
	push	edx
	mov	eax, DWORD PTR _tbase$[ebp]
	push	eax
	mov	ecx, DWORD PTR _m$[ebp]
	push	ecx
	call	_add_segment
	add	esp, 16					; 00000010H
$LN11@sys_alloc:
; Line 3596
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _nb$[ebp]
	cmp	eax, DWORD PTR [edx+12]
	jae	SHORT $LN16@sys_alloc
; Line 3597
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+12]
	sub	edx, DWORD PTR _nb$[ebp]
	mov	DWORD PTR tv378[ebp], edx
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR tv378[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR tv378[ebp]
	mov	DWORD PTR _rsize$3[ebp], edx
; Line 3598
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+24]
	mov	DWORD PTR _p$12[ebp], ecx
; Line 3599
	mov	edx, DWORD PTR _p$12[ebp]
	add	edx, DWORD PTR _nb$[ebp]
	mov	DWORD PTR tv381[ebp], edx
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR tv381[ebp]
	mov	DWORD PTR [eax+24], ecx
	mov	edx, DWORD PTR tv381[ebp]
	mov	DWORD PTR _r$1[ebp], edx
; Line 3600
	mov	eax, DWORD PTR _rsize$3[ebp]
	or	eax, 1
	mov	ecx, DWORD PTR _r$1[ebp]
	mov	DWORD PTR [ecx+4], eax
; Line 3601
	mov	edx, DWORD PTR _nb$[ebp]
	or	edx, 1
	or	edx, 2
	mov	eax, DWORD PTR _p$12[ebp]
	mov	DWORD PTR [eax+4], edx
; Line 3604
	mov	eax, DWORD PTR _p$12[ebp]
	add	eax, 8
	jmp	SHORT $LN42@sys_alloc
$LN16@sys_alloc:
; Line 3609
	xor	eax, eax
$LN42@sys_alloc:
; Line 3610
	mov	esp, ebp
	pop	ebp
	ret	0
_sys_alloc ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
tv158 = -148						; size = 4
_tnext$ = -144						; size = 4
tv157 = -140						; size = 4
_offset$ = -136						; size = 4
tv81 = -132						; size = 4
tv85 = -128						; size = 4
_ss$ = -124						; size = 4
_nfences$ = -120					; size = 4
tv249 = -116						; size = 4
tv93 = -112						; size = 4
_tn$1 = -108						; size = 4
_oldsp$ = -104						; size = 4
_nextp$2 = -100						; size = 4
_old_end$ = -96						; size = 4
_asp$ = -92						; size = 4
_F$3 = -88						; size = 4
_ssize$ = -84						; size = 4
_K$4 = -80						; size = 4
_p$ = -76						; size = 4
_H$5 = -72						; size = 4
_csp$ = -68						; size = 4
_rawsp$ = -64						; size = 4
_sp$ = -60						; size = 4
_F$6 = -56						; size = 4
_I$7 = -52						; size = 4
_X$8 = -48						; size = 4
_C$9 = -44						; size = 4
_B$10 = -40						; size = 4
_N$11 = -36						; size = 4
_old_top$ = -32						; size = 4
_T$12 = -28						; size = 4
_K$13 = -24						; size = 4
_q$14 = -20						; size = 4
_I$15 = -16						; size = 4
_psize$16 = -12						; size = 4
_Y$17 = -8						; size = 4
_TP$18 = -4						; size = 4
_m$ = 8							; size = 4
_tbase$ = 12						; size = 4
_tsize$ = 16						; size = 4
_mmapped$ = 20						; size = 4
_add_segment PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 3366
	push	ebp
	mov	ebp, esp
	sub	esp, 148				; 00000094H
; Line 3368
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+24]
	mov	DWORD PTR _old_top$[ebp], ecx
; Line 3369
	mov	edx, DWORD PTR _old_top$[ebp]
	push	edx
	mov	eax, DWORD PTR _m$[ebp]
	push	eax
	call	_segment_holding
	add	esp, 8
	mov	DWORD PTR _oldsp$[ebp], eax
; Line 3370
	mov	ecx, DWORD PTR _oldsp$[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR _oldsp$[ebp]
	add	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _old_end$[ebp], edx
; Line 3371
	mov	DWORD PTR _ssize$[ebp], 24		; 00000018H
; Line 3372
	mov	ecx, DWORD PTR _ssize$[ebp]
	add	ecx, 23					; 00000017H
	mov	edx, DWORD PTR _old_end$[ebp]
	sub	edx, ecx
	mov	DWORD PTR _rawsp$[ebp], edx
; Line 3373
	mov	eax, DWORD PTR _rawsp$[ebp]
	add	eax, 8
	and	eax, 7
	jne	SHORT $LN30@add_segmen
	mov	DWORD PTR tv81[ebp], 0
	jmp	SHORT $LN31@add_segmen
$LN30@add_segmen:
	mov	ecx, DWORD PTR _rawsp$[ebp]
	add	ecx, 8
	and	ecx, 7
	mov	edx, 8
	sub	edx, ecx
	and	edx, 7
	mov	DWORD PTR tv81[ebp], edx
$LN31@add_segmen:
	mov	eax, DWORD PTR tv81[ebp]
	mov	DWORD PTR _offset$[ebp], eax
; Line 3374
	mov	ecx, DWORD PTR _rawsp$[ebp]
	add	ecx, DWORD PTR _offset$[ebp]
	mov	DWORD PTR _asp$[ebp], ecx
; Line 3375
	mov	edx, DWORD PTR _old_top$[ebp]
	add	edx, 16					; 00000010H
	cmp	DWORD PTR _asp$[ebp], edx
	jae	SHORT $LN32@add_segmen
	mov	eax, DWORD PTR _old_top$[ebp]
	mov	DWORD PTR tv85[ebp], eax
	jmp	SHORT $LN33@add_segmen
$LN32@add_segmen:
	mov	ecx, DWORD PTR _asp$[ebp]
	mov	DWORD PTR tv85[ebp], ecx
$LN33@add_segmen:
	mov	edx, DWORD PTR tv85[ebp]
	mov	DWORD PTR _csp$[ebp], edx
; Line 3376
	mov	eax, DWORD PTR _csp$[ebp]
	mov	DWORD PTR _sp$[ebp], eax
; Line 3377
	mov	ecx, DWORD PTR _sp$[ebp]
	add	ecx, 8
	mov	DWORD PTR _ss$[ebp], ecx
; Line 3378
	mov	edx, DWORD PTR _sp$[ebp]
	add	edx, DWORD PTR _ssize$[ebp]
	mov	DWORD PTR _tnext$[ebp], edx
; Line 3379
	mov	eax, DWORD PTR _tnext$[ebp]
	mov	DWORD PTR _p$[ebp], eax
; Line 3380
	mov	DWORD PTR _nfences$[ebp], 0
; Line 3383
	mov	ecx, 7
	and	ecx, 8
	jne	SHORT $LN34@add_segmen
	mov	DWORD PTR tv93[ebp], 0
	jmp	SHORT $LN35@add_segmen
$LN34@add_segmen:
	mov	edx, 7
	and	edx, 8
	mov	eax, 8
	sub	eax, edx
	and	eax, 7
	mov	DWORD PTR tv93[ebp], eax
$LN35@add_segmen:
	mov	ecx, DWORD PTR tv93[ebp]
	add	ecx, 40					; 00000028H
	mov	edx, DWORD PTR _tsize$[ebp]
	sub	edx, ecx
	push	edx
	mov	eax, DWORD PTR _tbase$[ebp]
	push	eax
	mov	ecx, DWORD PTR _m$[ebp]
	push	ecx
	call	_init_top
	add	esp, 12					; 0000000cH
; Line 3387
	mov	edx, DWORD PTR _ssize$[ebp]
	or	edx, 1
	or	edx, 2
	mov	eax, DWORD PTR _sp$[ebp]
	mov	DWORD PTR [eax+4], edx
; Line 3388
	mov	ecx, DWORD PTR _m$[ebp]
	add	ecx, 444				; 000001bcH
	mov	edx, DWORD PTR _ss$[ebp]
	mov	eax, DWORD PTR [ecx]
	mov	DWORD PTR [edx], eax
	mov	eax, DWORD PTR [ecx+4]
	mov	DWORD PTR [edx+4], eax
	mov	eax, DWORD PTR [ecx+8]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR [ecx+12]
	mov	DWORD PTR [edx+12], ecx
; Line 3389
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _tbase$[ebp]
	mov	DWORD PTR [edx+444], eax
; Line 3390
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _tsize$[ebp]
	mov	DWORD PTR [ecx+448], edx
; Line 3391
	cmp	DWORD PTR _mmapped$[ebp], 1
	je	SHORT $LN38@add_segmen
	call	_abort
	mov	eax, DWORD PTR _mmapped$[ebp]
	mov	DWORD PTR tv158[ebp], eax
	jmp	$LN39@add_segmen
$LN38@add_segmen:
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+444]
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+448]
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [edx+ecx-4]
	mov	DWORD PTR [eax+456], ecx
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR [edx+444]
	mov	ecx, DWORD PTR _m$[ebp]
	add	eax, DWORD PTR [ecx+456]
	mov	edx, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [edx+448]
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR [eax+ecx-4]
	cmp	eax, DWORD PTR [edx+456]
	je	SHORT $LN36@add_segmen
	call	_abort
	mov	ecx, DWORD PTR _mmapped$[ebp]
	mov	DWORD PTR tv157[ebp], ecx
	jmp	SHORT $LN37@add_segmen
$LN36@add_segmen:
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR [edx+444]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+448]
	mov	DWORD PTR [eax+edx-4], 0
	mov	DWORD PTR tv157[ebp], 0
$LN37@add_segmen:
	mov	eax, DWORD PTR _mmapped$[ebp]
	mov	DWORD PTR tv158[ebp], eax
$LN39@add_segmen:
; Line 3392
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _ss$[ebp]
	mov	DWORD PTR [ecx+452], edx
$LN27@add_segmen:
; Line 3396
	mov	eax, DWORD PTR _p$[ebp]
	add	eax, 4
	mov	DWORD PTR _nextp$2[ebp], eax
; Line 3397
	mov	ecx, DWORD PTR _p$[ebp]
	mov	DWORD PTR [ecx+4], 7
; Line 3398
	mov	edx, DWORD PTR _nfences$[ebp]
	add	edx, 1
	mov	DWORD PTR _nfences$[ebp], edx
; Line 3399
	mov	eax, DWORD PTR _nextp$2[ebp]
	add	eax, 4
	cmp	eax, DWORD PTR _old_end$[ebp]
	jae	SHORT $LN25@add_segmen
; Line 3400
	mov	ecx, DWORD PTR _nextp$2[ebp]
	mov	DWORD PTR _p$[ebp], ecx
; Line 3401
	jmp	SHORT $LN24@add_segmen
$LN25@add_segmen:
; Line 3402
	jmp	SHORT $LN26@add_segmen
$LN24@add_segmen:
; Line 3403
	jmp	SHORT $LN27@add_segmen
$LN26@add_segmen:
; Line 3407
	mov	edx, DWORD PTR _csp$[ebp]
	cmp	edx, DWORD PTR _old_top$[ebp]
	je	$LN29@add_segmen
; Line 3408
	mov	eax, DWORD PTR _old_top$[ebp]
	mov	DWORD PTR _q$14[ebp], eax
; Line 3409
	mov	ecx, DWORD PTR _csp$[ebp]
	sub	ecx, DWORD PTR _old_top$[ebp]
	mov	DWORD PTR _psize$16[ebp], ecx
; Line 3410
	mov	edx, DWORD PTR _q$14[ebp]
	add	edx, DWORD PTR _psize$16[ebp]
	mov	DWORD PTR _tn$1[ebp], edx
; Line 3411
	mov	eax, DWORD PTR _tn$1[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, -2					; fffffffeH
	mov	edx, DWORD PTR _tn$1[ebp]
	mov	DWORD PTR [edx+4], ecx
	mov	eax, DWORD PTR _psize$16[ebp]
	or	eax, 1
	mov	ecx, DWORD PTR _q$14[ebp]
	mov	DWORD PTR [ecx+4], eax
	mov	edx, DWORD PTR _q$14[ebp]
	add	edx, DWORD PTR _psize$16[ebp]
	mov	eax, DWORD PTR _psize$16[ebp]
	mov	DWORD PTR [edx], eax
; Line 3412
	mov	ecx, DWORD PTR _psize$16[ebp]
	shr	ecx, 3
	cmp	ecx, 32					; 00000020H
	jae	$LN22@add_segmen
	mov	edx, DWORD PTR _psize$16[ebp]
	shr	edx, 3
	mov	DWORD PTR _I$7[ebp], edx
	mov	eax, DWORD PTR _I$7[ebp]
	shl	eax, 1
	mov	ecx, DWORD PTR _m$[ebp]
	lea	edx, DWORD PTR [ecx+eax*4+36]
	mov	DWORD PTR _B$10[ebp], edx
	mov	eax, DWORD PTR _B$10[ebp]
	mov	DWORD PTR _F$6[ebp], eax
	mov	edx, 1
	mov	ecx, DWORD PTR _I$7[ebp]
	shl	edx, cl
	mov	eax, DWORD PTR _m$[ebp]
	and	edx, DWORD PTR [eax]
	jne	SHORT $LN21@add_segmen
	mov	edx, 1
	mov	ecx, DWORD PTR _I$7[ebp]
	shl	edx, cl
	mov	eax, DWORD PTR _m$[ebp]
	or	edx, DWORD PTR [eax]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [ecx], edx
	jmp	SHORT $LN20@add_segmen
$LN21@add_segmen:
	mov	edx, DWORD PTR _B$10[ebp]
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [edx+8]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN19@add_segmen
	mov	edx, DWORD PTR _B$10[ebp]
	mov	eax, DWORD PTR [edx+8]
	mov	DWORD PTR _F$6[ebp], eax
	jmp	SHORT $LN20@add_segmen
$LN19@add_segmen:
	call	_abort
$LN20@add_segmen:
	mov	ecx, DWORD PTR _B$10[ebp]
	mov	edx, DWORD PTR _q$14[ebp]
	mov	DWORD PTR [ecx+8], edx
	mov	eax, DWORD PTR _F$6[ebp]
	mov	ecx, DWORD PTR _q$14[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _q$14[ebp]
	mov	eax, DWORD PTR _F$6[ebp]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR _q$14[ebp]
	mov	edx, DWORD PTR _B$10[ebp]
	mov	DWORD PTR [ecx+12], edx
	jmp	$LN29@add_segmen
$LN22@add_segmen:
	mov	eax, DWORD PTR _q$14[ebp]
	mov	DWORD PTR _TP$18[ebp], eax
	mov	ecx, DWORD PTR _psize$16[ebp]
	shr	ecx, 8
	mov	DWORD PTR _X$8[ebp], ecx
	cmp	DWORD PTR _X$8[ebp], 0
	jne	SHORT $LN16@add_segmen
	mov	DWORD PTR _I$15[ebp], 0
	jmp	$LN15@add_segmen
$LN16@add_segmen:
	cmp	DWORD PTR _X$8[ebp], 65535		; 0000ffffH
	jbe	SHORT $LN14@add_segmen
	mov	DWORD PTR _I$15[ebp], 31		; 0000001fH
	jmp	$LN15@add_segmen
$LN14@add_segmen:
	mov	edx, DWORD PTR _X$8[ebp]
	mov	DWORD PTR _Y$17[ebp], edx
	mov	eax, DWORD PTR _Y$17[ebp]
	sub	eax, 256				; 00000100H
	shr	eax, 16					; 00000010H
	and	eax, 8
	mov	DWORD PTR _N$11[ebp], eax
	mov	edx, DWORD PTR _Y$17[ebp]
	mov	ecx, DWORD PTR _N$11[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$17[ebp], edx
	mov	eax, DWORD PTR _Y$17[ebp]
	sub	eax, 4096				; 00001000H
	shr	eax, 16					; 00000010H
	and	eax, 4
	mov	DWORD PTR _K$13[ebp], eax
	mov	ecx, DWORD PTR _N$11[ebp]
	add	ecx, DWORD PTR _K$13[ebp]
	mov	DWORD PTR _N$11[ebp], ecx
	mov	edx, DWORD PTR _Y$17[ebp]
	mov	ecx, DWORD PTR _K$13[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$17[ebp], edx
	mov	eax, DWORD PTR _Y$17[ebp]
	sub	eax, 16384				; 00004000H
	shr	eax, 16					; 00000010H
	and	eax, 2
	mov	DWORD PTR _K$13[ebp], eax
	mov	ecx, DWORD PTR _N$11[ebp]
	add	ecx, DWORD PTR _K$13[ebp]
	mov	DWORD PTR _N$11[ebp], ecx
	mov	edx, DWORD PTR _Y$17[ebp]
	mov	ecx, DWORD PTR _K$13[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$17[ebp], edx
	mov	eax, DWORD PTR _Y$17[ebp]
	shr	eax, 15					; 0000000fH
	mov	ecx, 14					; 0000000eH
	sub	ecx, DWORD PTR _N$11[ebp]
	add	ecx, eax
	mov	DWORD PTR _K$13[ebp], ecx
	mov	ecx, DWORD PTR _K$13[ebp]
	add	ecx, 7
	mov	edx, DWORD PTR _psize$16[ebp]
	shr	edx, cl
	and	edx, 1
	mov	eax, DWORD PTR _K$13[ebp]
	lea	ecx, DWORD PTR [edx+eax*2]
	mov	DWORD PTR _I$15[ebp], ecx
$LN15@add_segmen:
	mov	edx, DWORD PTR _I$15[ebp]
	mov	eax, DWORD PTR _m$[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+300]
	mov	DWORD PTR _H$5[ebp], ecx
	mov	edx, DWORD PTR _TP$18[ebp]
	mov	eax, DWORD PTR _I$15[ebp]
	mov	DWORD PTR [edx+28], eax
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _TP$18[ebp]
	mov	DWORD PTR [edx+ecx+16], 0
	mov	eax, 4
	imul	ecx, eax, 0
	mov	edx, DWORD PTR _TP$18[ebp]
	mov	DWORD PTR [edx+ecx+16], 0
	mov	eax, 1
	mov	ecx, DWORD PTR _I$15[ebp]
	shl	eax, cl
	mov	ecx, DWORD PTR _m$[ebp]
	and	eax, DWORD PTR [ecx+4]
	jne	SHORT $LN12@add_segmen
	mov	edx, 1
	mov	ecx, DWORD PTR _I$15[ebp]
	shl	edx, cl
	mov	eax, DWORD PTR _m$[ebp]
	or	edx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [ecx+4], edx
	mov	edx, DWORD PTR _H$5[ebp]
	mov	eax, DWORD PTR _TP$18[ebp]
	mov	DWORD PTR [edx], eax
	mov	ecx, DWORD PTR _TP$18[ebp]
	mov	edx, DWORD PTR _H$5[ebp]
	mov	DWORD PTR [ecx+24], edx
	mov	eax, DWORD PTR _TP$18[ebp]
	mov	ecx, DWORD PTR _TP$18[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _TP$18[ebp]
	mov	eax, DWORD PTR _TP$18[ebp]
	mov	DWORD PTR [edx+8], eax
	jmp	$LN29@add_segmen
$LN12@add_segmen:
	mov	ecx, DWORD PTR _H$5[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _T$12[ebp], edx
	cmp	DWORD PTR _I$15[ebp], 31		; 0000001fH
	jne	SHORT $LN40@add_segmen
	mov	DWORD PTR tv249[ebp], 0
	jmp	SHORT $LN41@add_segmen
$LN40@add_segmen:
	mov	eax, DWORD PTR _I$15[ebp]
	shr	eax, 1
	add	eax, 6
	mov	ecx, 31					; 0000001fH
	sub	ecx, eax
	mov	DWORD PTR tv249[ebp], ecx
$LN41@add_segmen:
	mov	edx, DWORD PTR _psize$16[ebp]
	mov	ecx, DWORD PTR tv249[ebp]
	shl	edx, cl
	mov	DWORD PTR _K$4[ebp], edx
$LN10@add_segmen:
	mov	eax, DWORD PTR _T$12[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, -4					; fffffffcH
	cmp	ecx, DWORD PTR _psize$16[ebp]
	je	SHORT $LN8@add_segmen
	mov	edx, DWORD PTR _K$4[ebp]
	shr	edx, 31					; 0000001fH
	and	edx, 1
	mov	eax, DWORD PTR _T$12[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+16]
	mov	DWORD PTR _C$9[ebp], ecx
	mov	edx, DWORD PTR _K$4[ebp]
	shl	edx, 1
	mov	DWORD PTR _K$4[ebp], edx
	mov	eax, DWORD PTR _C$9[ebp]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN7@add_segmen
	mov	ecx, DWORD PTR _C$9[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _T$12[ebp], edx
	jmp	SHORT $LN6@add_segmen
$LN7@add_segmen:
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _C$9[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN5@add_segmen
	mov	edx, DWORD PTR _C$9[ebp]
	mov	eax, DWORD PTR _TP$18[ebp]
	mov	DWORD PTR [edx], eax
	mov	ecx, DWORD PTR _TP$18[ebp]
	mov	edx, DWORD PTR _T$12[ebp]
	mov	DWORD PTR [ecx+24], edx
	mov	eax, DWORD PTR _TP$18[ebp]
	mov	ecx, DWORD PTR _TP$18[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _TP$18[ebp]
	mov	eax, DWORD PTR _TP$18[ebp]
	mov	DWORD PTR [edx+8], eax
	jmp	SHORT $LN29@add_segmen
	jmp	SHORT $LN6@add_segmen
$LN5@add_segmen:
	call	_abort
	jmp	SHORT $LN29@add_segmen
$LN6@add_segmen:
	jmp	SHORT $LN3@add_segmen
$LN8@add_segmen:
	mov	ecx, DWORD PTR _T$12[ebp]
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR _F$3[ebp], edx
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _T$12[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN2@add_segmen
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _F$3[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN2@add_segmen
	mov	ecx, DWORD PTR _F$3[ebp]
	mov	edx, DWORD PTR _TP$18[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _T$12[ebp]
	mov	ecx, DWORD PTR _TP$18[ebp]
	mov	DWORD PTR [eax+8], ecx
	mov	edx, DWORD PTR _TP$18[ebp]
	mov	eax, DWORD PTR _F$3[ebp]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR _TP$18[ebp]
	mov	edx, DWORD PTR _T$12[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _TP$18[ebp]
	mov	DWORD PTR [eax+24], 0
	jmp	SHORT $LN29@add_segmen
	jmp	SHORT $LN3@add_segmen
$LN2@add_segmen:
	call	_abort
	jmp	SHORT $LN29@add_segmen
$LN3@add_segmen:
	jmp	$LN10@add_segmen
$LN29@add_segmen:
; Line 3416
	mov	esp, ebp
	pop	ebp
	ret	0
_add_segment ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_tsize$1 = -156						; size = 4
_psize$ = -152						; size = 4
tv92 = -148						; size = 4
tv132 = -144						; size = 4
tv361 = -140						; size = 4
tv80 = -136						; size = 4
_H$2 = -132						; size = 4
tv71 = -128						; size = 4
_I$3 = -124						; size = 4
_I$4 = -120						; size = 4
_K$5 = -116						; size = 4
_F$6 = -112						; size = 4
_H$7 = -108						; size = 4
_F$8 = -104						; size = 4
_dsize$9 = -100						; size = 4
_F$10 = -96						; size = 4
_X$11 = -92						; size = 4
_p$ = -88						; size = 4
_C1$12 = -84						; size = 4
_C$13 = -80						; size = 4
_C0$14 = -76						; size = 4
_CP$15 = -72						; size = 4
_nsize$16 = -68						; size = 4
_B$17 = -64						; size = 4
_F$18 = -60						; size = 4
_B$19 = -56						; size = 4
_N$20 = -52						; size = 4
_XP$21 = -48						; size = 4
_RP$22 = -44						; size = 4
_I$23 = -40						; size = 4
_T$24 = -36						; size = 4
_K$25 = -32						; size = 4
_Y$26 = -28						; size = 4
_q$ = -24						; size = 4
_oldfirst$ = -20					; size = 4
_TP$27 = -16						; size = 4
_qsize$ = -12						; size = 4
_TP$28 = -8						; size = 4
_R$29 = -4						; size = 4
_m$ = 8							; size = 4
_newbase$ = 12						; size = 4
_oldbase$ = 16						; size = 4
_nb$ = 20						; size = 4
_prepend_alloc PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 3324
	push	ebp
	mov	ebp, esp
	sub	esp, 156				; 0000009cH
; Line 3325
	mov	eax, DWORD PTR _newbase$[ebp]
	add	eax, 8
	and	eax, 7
	jne	SHORT $LN66@prepend_al
	mov	DWORD PTR tv71[ebp], 0
	jmp	SHORT $LN67@prepend_al
$LN66@prepend_al:
	mov	ecx, DWORD PTR _newbase$[ebp]
	add	ecx, 8
	and	ecx, 7
	mov	edx, 8
	sub	edx, ecx
	and	edx, 7
	mov	DWORD PTR tv71[ebp], edx
$LN67@prepend_al:
	mov	eax, DWORD PTR _newbase$[ebp]
	add	eax, DWORD PTR tv71[ebp]
	mov	DWORD PTR _p$[ebp], eax
; Line 3326
	mov	ecx, DWORD PTR _oldbase$[ebp]
	add	ecx, 8
	and	ecx, 7
	jne	SHORT $LN68@prepend_al
	mov	DWORD PTR tv80[ebp], 0
	jmp	SHORT $LN69@prepend_al
$LN68@prepend_al:
	mov	edx, DWORD PTR _oldbase$[ebp]
	add	edx, 8
	and	edx, 7
	mov	eax, 8
	sub	eax, edx
	and	eax, 7
	mov	DWORD PTR tv80[ebp], eax
$LN69@prepend_al:
	mov	ecx, DWORD PTR _oldbase$[ebp]
	add	ecx, DWORD PTR tv80[ebp]
	mov	DWORD PTR _oldfirst$[ebp], ecx
; Line 3327
	mov	edx, DWORD PTR _oldfirst$[ebp]
	sub	edx, DWORD PTR _p$[ebp]
	mov	DWORD PTR _psize$[ebp], edx
; Line 3328
	mov	eax, DWORD PTR _p$[ebp]
	add	eax, DWORD PTR _nb$[ebp]
	mov	DWORD PTR _q$[ebp], eax
; Line 3329
	mov	ecx, DWORD PTR _psize$[ebp]
	sub	ecx, DWORD PTR _nb$[ebp]
	mov	DWORD PTR _qsize$[ebp], ecx
; Line 3330
	mov	edx, DWORD PTR _nb$[ebp]
	or	edx, 1
	or	edx, 2
	mov	eax, DWORD PTR _p$[ebp]
	mov	DWORD PTR [eax+4], edx
; Line 3337
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _oldfirst$[ebp]
	cmp	edx, DWORD PTR [ecx+24]
	jne	SHORT $LN63@prepend_al
; Line 3338
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [eax+12]
	add	ecx, DWORD PTR _qsize$[ebp]
	mov	DWORD PTR tv92[ebp], ecx
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR tv92[ebp]
	mov	DWORD PTR [edx+12], eax
	mov	ecx, DWORD PTR tv92[ebp]
	mov	DWORD PTR _tsize$1[ebp], ecx
; Line 3339
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _q$[ebp]
	mov	DWORD PTR [edx+24], eax
; Line 3340
	mov	ecx, DWORD PTR _tsize$1[ebp]
	or	ecx, 1
	mov	edx, DWORD PTR _q$[ebp]
	mov	DWORD PTR [edx+4], ecx
	jmp	$LN62@prepend_al
$LN63@prepend_al:
; Line 3343
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _oldfirst$[ebp]
	cmp	ecx, DWORD PTR [eax+20]
	jne	SHORT $LN61@prepend_al
; Line 3344
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR [edx+8]
	add	eax, DWORD PTR _qsize$[ebp]
	mov	DWORD PTR tv132[ebp], eax
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR tv132[ebp]
	mov	DWORD PTR [ecx+8], edx
	mov	eax, DWORD PTR tv132[ebp]
	mov	DWORD PTR _dsize$9[ebp], eax
; Line 3345
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _q$[ebp]
	mov	DWORD PTR [ecx+20], edx
; Line 3346
	mov	eax, DWORD PTR _dsize$9[ebp]
	or	eax, 1
	mov	ecx, DWORD PTR _q$[ebp]
	mov	DWORD PTR [ecx+4], eax
	mov	edx, DWORD PTR _q$[ebp]
	add	edx, DWORD PTR _dsize$9[ebp]
	mov	eax, DWORD PTR _dsize$9[ebp]
	mov	DWORD PTR [edx], eax
; Line 3348
	jmp	$LN62@prepend_al
$LN61@prepend_al:
; Line 3349
	mov	ecx, DWORD PTR _oldfirst$[ebp]
	mov	edx, DWORD PTR [ecx+4]
	and	edx, 2
	jne	$LN59@prepend_al
; Line 3350
	mov	eax, DWORD PTR _oldfirst$[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, -4					; fffffffcH
	mov	DWORD PTR _nsize$16[ebp], ecx
; Line 3351
	mov	edx, DWORD PTR _nsize$16[ebp]
	shr	edx, 3
	cmp	edx, 32					; 00000020H
	jae	$LN58@prepend_al
	mov	eax, DWORD PTR _oldfirst$[ebp]
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR _F$18[ebp], ecx
	mov	edx, DWORD PTR _oldfirst$[ebp]
	mov	eax, DWORD PTR [edx+12]
	mov	DWORD PTR _B$19[ebp], eax
	mov	ecx, DWORD PTR _nsize$16[ebp]
	shr	ecx, 3
	mov	DWORD PTR _I$3[ebp], ecx
	mov	edx, DWORD PTR _F$18[ebp]
	cmp	edx, DWORD PTR _B$19[ebp]
	jne	SHORT $LN57@prepend_al
	mov	eax, 1
	mov	ecx, DWORD PTR _I$3[ebp]
	shl	eax, cl
	not	eax
	mov	ecx, DWORD PTR _m$[ebp]
	and	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [edx], eax
	jmp	SHORT $LN56@prepend_al
$LN57@prepend_al:
	mov	eax, DWORD PTR _I$3[ebp]
	shl	eax, 1
	mov	ecx, DWORD PTR _m$[ebp]
	lea	edx, DWORD PTR [ecx+eax*4+36]
	cmp	DWORD PTR _F$18[ebp], edx
	je	SHORT $LN54@prepend_al
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _F$18[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN55@prepend_al
$LN54@prepend_al:
	mov	edx, DWORD PTR _I$3[ebp]
	shl	edx, 1
	mov	eax, DWORD PTR _m$[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+36]
	cmp	DWORD PTR _B$19[ebp], ecx
	je	SHORT $LN53@prepend_al
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _B$19[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN55@prepend_al
$LN53@prepend_al:
	mov	ecx, DWORD PTR _F$18[ebp]
	mov	edx, DWORD PTR _B$19[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _B$19[ebp]
	mov	ecx, DWORD PTR _F$18[ebp]
	mov	DWORD PTR [eax+8], ecx
	jmp	SHORT $LN56@prepend_al
$LN55@prepend_al:
	call	_abort
$LN56@prepend_al:
	jmp	$LN51@prepend_al
$LN58@prepend_al:
	mov	edx, DWORD PTR _oldfirst$[ebp]
	mov	DWORD PTR _TP$27[ebp], edx
	mov	eax, DWORD PTR _TP$27[ebp]
	mov	ecx, DWORD PTR [eax+24]
	mov	DWORD PTR _XP$21[ebp], ecx
	mov	edx, DWORD PTR _TP$27[ebp]
	mov	eax, DWORD PTR [edx+12]
	cmp	eax, DWORD PTR _TP$27[ebp]
	je	SHORT $LN50@prepend_al
	mov	ecx, DWORD PTR _TP$27[ebp]
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR _F$8[ebp], edx
	mov	eax, DWORD PTR _TP$27[ebp]
	mov	ecx, DWORD PTR [eax+12]
	mov	DWORD PTR _R$29[ebp], ecx
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _F$8[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN49@prepend_al
	mov	ecx, DWORD PTR _F$8[ebp]
	mov	edx, DWORD PTR _R$29[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _R$29[ebp]
	mov	ecx, DWORD PTR _F$8[ebp]
	mov	DWORD PTR [eax+8], ecx
	jmp	SHORT $LN48@prepend_al
$LN49@prepend_al:
	call	_abort
$LN48@prepend_al:
	jmp	$LN47@prepend_al
$LN50@prepend_al:
	mov	edx, 4
	shl	edx, 0
	mov	eax, DWORD PTR _TP$27[ebp]
	lea	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _RP$22[ebp], ecx
	mov	edx, DWORD PTR _RP$22[ebp]
	mov	eax, DWORD PTR [edx]
	mov	DWORD PTR _R$29[ebp], eax
	cmp	DWORD PTR _R$29[ebp], 0
	jne	SHORT $LN44@prepend_al
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _TP$27[ebp]
	lea	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _RP$22[ebp], ecx
	mov	edx, DWORD PTR _RP$22[ebp]
	mov	eax, DWORD PTR [edx]
	mov	DWORD PTR _R$29[ebp], eax
	cmp	DWORD PTR _R$29[ebp], 0
	je	SHORT $LN47@prepend_al
$LN44@prepend_al:
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _R$29[ebp]
	lea	eax, DWORD PTR [edx+ecx+16]
	mov	DWORD PTR _CP$15[ebp], eax
	mov	ecx, DWORD PTR _CP$15[ebp]
	cmp	DWORD PTR [ecx], 0
	jne	SHORT $LN42@prepend_al
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _R$29[ebp]
	lea	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR _CP$15[ebp], edx
	mov	eax, DWORD PTR _CP$15[ebp]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN43@prepend_al
$LN42@prepend_al:
	mov	ecx, DWORD PTR _CP$15[ebp]
	mov	DWORD PTR _RP$22[ebp], ecx
	mov	edx, DWORD PTR _RP$22[ebp]
	mov	eax, DWORD PTR [edx]
	mov	DWORD PTR _R$29[ebp], eax
	jmp	SHORT $LN44@prepend_al
$LN43@prepend_al:
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _RP$22[ebp]
	cmp	edx, DWORD PTR [ecx+16]
	jb	SHORT $LN41@prepend_al
	mov	eax, DWORD PTR _RP$22[ebp]
	mov	DWORD PTR [eax], 0
	jmp	SHORT $LN47@prepend_al
$LN41@prepend_al:
	call	_abort
$LN47@prepend_al:
	cmp	DWORD PTR _XP$21[ebp], 0
	je	$LN51@prepend_al
	mov	ecx, DWORD PTR _TP$27[ebp]
	mov	edx, DWORD PTR [ecx+28]
	mov	eax, DWORD PTR _m$[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+300]
	mov	DWORD PTR _H$2[ebp], ecx
	mov	edx, DWORD PTR _H$2[ebp]
	mov	eax, DWORD PTR _TP$27[ebp]
	cmp	eax, DWORD PTR [edx]
	jne	SHORT $LN38@prepend_al
	mov	ecx, DWORD PTR _H$2[ebp]
	mov	edx, DWORD PTR _R$29[ebp]
	mov	DWORD PTR [ecx], edx
	cmp	DWORD PTR _R$29[ebp], 0
	jne	SHORT $LN37@prepend_al
	mov	eax, DWORD PTR _TP$27[ebp]
	mov	edx, 1
	mov	ecx, DWORD PTR [eax+28]
	shl	edx, cl
	not	edx
	mov	eax, DWORD PTR _m$[ebp]
	and	edx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [ecx+4], edx
$LN37@prepend_al:
	jmp	SHORT $LN36@prepend_al
$LN38@prepend_al:
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _XP$21[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN35@prepend_al
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _XP$21[ebp]
	mov	ecx, DWORD PTR [eax+edx+16]
	cmp	ecx, DWORD PTR _TP$27[ebp]
	jne	SHORT $LN34@prepend_al
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _XP$21[ebp]
	mov	edx, DWORD PTR _R$29[ebp]
	mov	DWORD PTR [ecx+eax+16], edx
	jmp	SHORT $LN33@prepend_al
$LN34@prepend_al:
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _XP$21[ebp]
	mov	edx, DWORD PTR _R$29[ebp]
	mov	DWORD PTR [ecx+eax+16], edx
$LN33@prepend_al:
	jmp	SHORT $LN36@prepend_al
$LN35@prepend_al:
	call	_abort
$LN36@prepend_al:
	cmp	DWORD PTR _R$29[ebp], 0
	je	$LN51@prepend_al
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _R$29[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	$LN30@prepend_al
	mov	edx, DWORD PTR _R$29[ebp]
	mov	eax, DWORD PTR _XP$21[ebp]
	mov	DWORD PTR [edx+24], eax
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _TP$27[ebp]
	mov	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _C0$14[ebp], ecx
	cmp	DWORD PTR _C0$14[ebp], 0
	je	SHORT $LN29@prepend_al
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _C0$14[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN28@prepend_al
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _R$29[ebp]
	mov	ecx, DWORD PTR _C0$14[ebp]
	mov	DWORD PTR [eax+edx+16], ecx
	mov	edx, DWORD PTR _C0$14[ebp]
	mov	eax, DWORD PTR _R$29[ebp]
	mov	DWORD PTR [edx+24], eax
	jmp	SHORT $LN29@prepend_al
$LN28@prepend_al:
	call	_abort
$LN29@prepend_al:
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _TP$27[ebp]
	mov	eax, DWORD PTR [edx+ecx+16]
	mov	DWORD PTR _C1$12[ebp], eax
	cmp	DWORD PTR _C1$12[ebp], 0
	je	SHORT $LN26@prepend_al
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _C1$12[ebp]
	cmp	edx, DWORD PTR [ecx+16]
	jb	SHORT $LN25@prepend_al
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _R$29[ebp]
	mov	edx, DWORD PTR _C1$12[ebp]
	mov	DWORD PTR [ecx+eax+16], edx
	mov	eax, DWORD PTR _C1$12[ebp]
	mov	ecx, DWORD PTR _R$29[ebp]
	mov	DWORD PTR [eax+24], ecx
	jmp	SHORT $LN26@prepend_al
$LN25@prepend_al:
	call	_abort
$LN26@prepend_al:
	jmp	SHORT $LN51@prepend_al
$LN30@prepend_al:
	call	_abort
$LN51@prepend_al:
; Line 3352
	mov	edx, DWORD PTR _oldfirst$[ebp]
	add	edx, DWORD PTR _nsize$16[ebp]
	mov	DWORD PTR _oldfirst$[ebp], edx
; Line 3353
	mov	eax, DWORD PTR _qsize$[ebp]
	add	eax, DWORD PTR _nsize$16[ebp]
	mov	DWORD PTR _qsize$[ebp], eax
$LN59@prepend_al:
; Line 3355
	mov	ecx, DWORD PTR _oldfirst$[ebp]
	mov	edx, DWORD PTR [ecx+4]
	and	edx, -2					; fffffffeH
	mov	eax, DWORD PTR _oldfirst$[ebp]
	mov	DWORD PTR [eax+4], edx
	mov	ecx, DWORD PTR _qsize$[ebp]
	or	ecx, 1
	mov	edx, DWORD PTR _q$[ebp]
	mov	DWORD PTR [edx+4], ecx
	mov	eax, DWORD PTR _q$[ebp]
	add	eax, DWORD PTR _qsize$[ebp]
	mov	ecx, DWORD PTR _qsize$[ebp]
	mov	DWORD PTR [eax], ecx
; Line 3356
	mov	edx, DWORD PTR _qsize$[ebp]
	shr	edx, 3
	cmp	edx, 32					; 00000020H
	jae	$LN22@prepend_al
	mov	eax, DWORD PTR _qsize$[ebp]
	shr	eax, 3
	mov	DWORD PTR _I$4[ebp], eax
	mov	ecx, DWORD PTR _I$4[ebp]
	shl	ecx, 1
	mov	edx, DWORD PTR _m$[ebp]
	lea	eax, DWORD PTR [edx+ecx*4+36]
	mov	DWORD PTR _B$17[ebp], eax
	mov	ecx, DWORD PTR _B$17[ebp]
	mov	DWORD PTR _F$6[ebp], ecx
	mov	edx, 1
	mov	ecx, DWORD PTR _I$4[ebp]
	shl	edx, cl
	mov	eax, DWORD PTR _m$[ebp]
	and	edx, DWORD PTR [eax]
	jne	SHORT $LN21@prepend_al
	mov	edx, 1
	mov	ecx, DWORD PTR _I$4[ebp]
	shl	edx, cl
	mov	eax, DWORD PTR _m$[ebp]
	or	edx, DWORD PTR [eax]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [ecx], edx
	jmp	SHORT $LN20@prepend_al
$LN21@prepend_al:
	mov	edx, DWORD PTR _B$17[ebp]
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR [edx+8]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN19@prepend_al
	mov	edx, DWORD PTR _B$17[ebp]
	mov	eax, DWORD PTR [edx+8]
	mov	DWORD PTR _F$6[ebp], eax
	jmp	SHORT $LN20@prepend_al
$LN19@prepend_al:
	call	_abort
$LN20@prepend_al:
	mov	ecx, DWORD PTR _B$17[ebp]
	mov	edx, DWORD PTR _q$[ebp]
	mov	DWORD PTR [ecx+8], edx
	mov	eax, DWORD PTR _F$6[ebp]
	mov	ecx, DWORD PTR _q$[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _q$[ebp]
	mov	eax, DWORD PTR _F$6[ebp]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR _q$[ebp]
	mov	edx, DWORD PTR _B$17[ebp]
	mov	DWORD PTR [ecx+12], edx
	jmp	$LN62@prepend_al
$LN22@prepend_al:
	mov	eax, DWORD PTR _q$[ebp]
	mov	DWORD PTR _TP$28[ebp], eax
	mov	ecx, DWORD PTR _qsize$[ebp]
	shr	ecx, 8
	mov	DWORD PTR _X$11[ebp], ecx
	cmp	DWORD PTR _X$11[ebp], 0
	jne	SHORT $LN16@prepend_al
	mov	DWORD PTR _I$23[ebp], 0
	jmp	$LN15@prepend_al
$LN16@prepend_al:
	cmp	DWORD PTR _X$11[ebp], 65535		; 0000ffffH
	jbe	SHORT $LN14@prepend_al
	mov	DWORD PTR _I$23[ebp], 31		; 0000001fH
	jmp	$LN15@prepend_al
$LN14@prepend_al:
	mov	edx, DWORD PTR _X$11[ebp]
	mov	DWORD PTR _Y$26[ebp], edx
	mov	eax, DWORD PTR _Y$26[ebp]
	sub	eax, 256				; 00000100H
	shr	eax, 16					; 00000010H
	and	eax, 8
	mov	DWORD PTR _N$20[ebp], eax
	mov	edx, DWORD PTR _Y$26[ebp]
	mov	ecx, DWORD PTR _N$20[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$26[ebp], edx
	mov	eax, DWORD PTR _Y$26[ebp]
	sub	eax, 4096				; 00001000H
	shr	eax, 16					; 00000010H
	and	eax, 4
	mov	DWORD PTR _K$25[ebp], eax
	mov	ecx, DWORD PTR _N$20[ebp]
	add	ecx, DWORD PTR _K$25[ebp]
	mov	DWORD PTR _N$20[ebp], ecx
	mov	edx, DWORD PTR _Y$26[ebp]
	mov	ecx, DWORD PTR _K$25[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$26[ebp], edx
	mov	eax, DWORD PTR _Y$26[ebp]
	sub	eax, 16384				; 00004000H
	shr	eax, 16					; 00000010H
	and	eax, 2
	mov	DWORD PTR _K$25[ebp], eax
	mov	ecx, DWORD PTR _N$20[ebp]
	add	ecx, DWORD PTR _K$25[ebp]
	mov	DWORD PTR _N$20[ebp], ecx
	mov	edx, DWORD PTR _Y$26[ebp]
	mov	ecx, DWORD PTR _K$25[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$26[ebp], edx
	mov	eax, DWORD PTR _Y$26[ebp]
	shr	eax, 15					; 0000000fH
	mov	ecx, 14					; 0000000eH
	sub	ecx, DWORD PTR _N$20[ebp]
	add	ecx, eax
	mov	DWORD PTR _K$25[ebp], ecx
	mov	ecx, DWORD PTR _K$25[ebp]
	add	ecx, 7
	mov	edx, DWORD PTR _qsize$[ebp]
	shr	edx, cl
	and	edx, 1
	mov	eax, DWORD PTR _K$25[ebp]
	lea	ecx, DWORD PTR [edx+eax*2]
	mov	DWORD PTR _I$23[ebp], ecx
$LN15@prepend_al:
	mov	edx, DWORD PTR _I$23[ebp]
	mov	eax, DWORD PTR _m$[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+300]
	mov	DWORD PTR _H$7[ebp], ecx
	mov	edx, DWORD PTR _TP$28[ebp]
	mov	eax, DWORD PTR _I$23[ebp]
	mov	DWORD PTR [edx+28], eax
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _TP$28[ebp]
	mov	DWORD PTR [edx+ecx+16], 0
	mov	eax, 4
	imul	ecx, eax, 0
	mov	edx, DWORD PTR _TP$28[ebp]
	mov	DWORD PTR [edx+ecx+16], 0
	mov	eax, 1
	mov	ecx, DWORD PTR _I$23[ebp]
	shl	eax, cl
	mov	ecx, DWORD PTR _m$[ebp]
	and	eax, DWORD PTR [ecx+4]
	jne	SHORT $LN12@prepend_al
	mov	edx, 1
	mov	ecx, DWORD PTR _I$23[ebp]
	shl	edx, cl
	mov	eax, DWORD PTR _m$[ebp]
	or	edx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _m$[ebp]
	mov	DWORD PTR [ecx+4], edx
	mov	edx, DWORD PTR _H$7[ebp]
	mov	eax, DWORD PTR _TP$28[ebp]
	mov	DWORD PTR [edx], eax
	mov	ecx, DWORD PTR _TP$28[ebp]
	mov	edx, DWORD PTR _H$7[ebp]
	mov	DWORD PTR [ecx+24], edx
	mov	eax, DWORD PTR _TP$28[ebp]
	mov	ecx, DWORD PTR _TP$28[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _TP$28[ebp]
	mov	eax, DWORD PTR _TP$28[ebp]
	mov	DWORD PTR [edx+8], eax
	jmp	$LN62@prepend_al
$LN12@prepend_al:
	mov	ecx, DWORD PTR _H$7[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _T$24[ebp], edx
	cmp	DWORD PTR _I$23[ebp], 31		; 0000001fH
	jne	SHORT $LN70@prepend_al
	mov	DWORD PTR tv361[ebp], 0
	jmp	SHORT $LN71@prepend_al
$LN70@prepend_al:
	mov	eax, DWORD PTR _I$23[ebp]
	shr	eax, 1
	add	eax, 6
	mov	ecx, 31					; 0000001fH
	sub	ecx, eax
	mov	DWORD PTR tv361[ebp], ecx
$LN71@prepend_al:
	mov	edx, DWORD PTR _qsize$[ebp]
	mov	ecx, DWORD PTR tv361[ebp]
	shl	edx, cl
	mov	DWORD PTR _K$5[ebp], edx
$LN10@prepend_al:
	mov	eax, DWORD PTR _T$24[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, -4					; fffffffcH
	cmp	ecx, DWORD PTR _qsize$[ebp]
	je	SHORT $LN8@prepend_al
	mov	edx, DWORD PTR _K$5[ebp]
	shr	edx, 31					; 0000001fH
	and	edx, 1
	mov	eax, DWORD PTR _T$24[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+16]
	mov	DWORD PTR _C$13[ebp], ecx
	mov	edx, DWORD PTR _K$5[ebp]
	shl	edx, 1
	mov	DWORD PTR _K$5[ebp], edx
	mov	eax, DWORD PTR _C$13[ebp]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN7@prepend_al
	mov	ecx, DWORD PTR _C$13[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _T$24[ebp], edx
	jmp	SHORT $LN6@prepend_al
$LN7@prepend_al:
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _C$13[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN5@prepend_al
	mov	edx, DWORD PTR _C$13[ebp]
	mov	eax, DWORD PTR _TP$28[ebp]
	mov	DWORD PTR [edx], eax
	mov	ecx, DWORD PTR _TP$28[ebp]
	mov	edx, DWORD PTR _T$24[ebp]
	mov	DWORD PTR [ecx+24], edx
	mov	eax, DWORD PTR _TP$28[ebp]
	mov	ecx, DWORD PTR _TP$28[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _TP$28[ebp]
	mov	eax, DWORD PTR _TP$28[ebp]
	mov	DWORD PTR [edx+8], eax
	jmp	SHORT $LN62@prepend_al
	jmp	SHORT $LN6@prepend_al
$LN5@prepend_al:
	call	_abort
	jmp	SHORT $LN62@prepend_al
$LN6@prepend_al:
	jmp	SHORT $LN3@prepend_al
$LN8@prepend_al:
	mov	ecx, DWORD PTR _T$24[ebp]
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR _F$10[ebp], edx
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _T$24[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jb	SHORT $LN2@prepend_al
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _F$10[ebp]
	cmp	eax, DWORD PTR [edx+16]
	jb	SHORT $LN2@prepend_al
	mov	ecx, DWORD PTR _F$10[ebp]
	mov	edx, DWORD PTR _TP$28[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _T$24[ebp]
	mov	ecx, DWORD PTR _TP$28[ebp]
	mov	DWORD PTR [eax+8], ecx
	mov	edx, DWORD PTR _TP$28[ebp]
	mov	eax, DWORD PTR _F$10[ebp]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR _TP$28[ebp]
	mov	edx, DWORD PTR _T$24[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _TP$28[ebp]
	mov	DWORD PTR [eax+24], 0
	jmp	SHORT $LN62@prepend_al
	jmp	SHORT $LN3@prepend_al
$LN2@prepend_al:
	call	_abort
	jmp	SHORT $LN62@prepend_al
$LN3@prepend_al:
	jmp	$LN10@prepend_al
$LN62@prepend_al:
; Line 3361
	mov	eax, DWORD PTR _p$[ebp]
	add	eax, 8
$LN65@prepend_al:
; Line 3362
	mov	esp, ebp
	pop	ebp
	ret	0
_prepend_alloc ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_bin$1 = -8						; size = 4
_i$ = -4						; size = 4
_m$ = 8							; size = 4
_init_bins PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 3294
	push	ebp
	mov	ebp, esp
	sub	esp, 8
; Line 3297
	mov	DWORD PTR _i$[ebp], 0
	jmp	SHORT $LN3@init_bins
$LN2@init_bins:
	mov	eax, DWORD PTR _i$[ebp]
	add	eax, 1
	mov	DWORD PTR _i$[ebp], eax
$LN3@init_bins:
	cmp	DWORD PTR _i$[ebp], 32			; 00000020H
	jae	SHORT $LN4@init_bins
; Line 3298
	mov	ecx, DWORD PTR _i$[ebp]
	shl	ecx, 1
	mov	edx, DWORD PTR _m$[ebp]
	lea	eax, DWORD PTR [edx+ecx*4+36]
	mov	DWORD PTR _bin$1[ebp], eax
; Line 3299
	mov	ecx, DWORD PTR _bin$1[ebp]
	mov	edx, DWORD PTR _bin$1[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _bin$1[ebp]
	mov	ecx, DWORD PTR _bin$1[ebp]
	mov	DWORD PTR [eax+8], ecx
; Line 3300
	jmp	SHORT $LN2@init_bins
$LN4@init_bins:
; Line 3301
	mov	esp, ebp
	pop	ebp
	ret	0
_init_bins ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
tv85 = -12						; size = 4
_offset$ = -8						; size = 4
tv71 = -4						; size = 4
_m$ = 8							; size = 4
_p$ = 12						; size = 4
_psize$ = 16						; size = 4
_init_top PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 3279
	push	ebp
	mov	ebp, esp
	sub	esp, 12					; 0000000cH
; Line 3281
	mov	eax, DWORD PTR _p$[ebp]
	add	eax, 8
	and	eax, 7
	jne	SHORT $LN3@init_top
	mov	DWORD PTR tv71[ebp], 0
	jmp	SHORT $LN4@init_top
$LN3@init_top:
	mov	ecx, DWORD PTR _p$[ebp]
	add	ecx, 8
	and	ecx, 7
	mov	edx, 8
	sub	edx, ecx
	and	edx, 7
	mov	DWORD PTR tv71[ebp], edx
$LN4@init_top:
	mov	eax, DWORD PTR tv71[ebp]
	mov	DWORD PTR _offset$[ebp], eax
; Line 3282
	mov	ecx, DWORD PTR _p$[ebp]
	add	ecx, DWORD PTR _offset$[ebp]
	mov	DWORD PTR _p$[ebp], ecx
; Line 3283
	mov	edx, DWORD PTR _psize$[ebp]
	sub	edx, DWORD PTR _offset$[ebp]
	mov	DWORD PTR _psize$[ebp], edx
; Line 3285
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _p$[ebp]
	mov	DWORD PTR [eax+24], ecx
; Line 3286
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _psize$[ebp]
	mov	DWORD PTR [edx+12], eax
; Line 3287
	mov	ecx, DWORD PTR _psize$[ebp]
	or	ecx, 1
	mov	edx, DWORD PTR _p$[ebp]
	mov	DWORD PTR [edx+4], ecx
; Line 3289
	mov	eax, 7
	and	eax, 8
	jne	SHORT $LN5@init_top
	mov	DWORD PTR tv85[ebp], 0
	jmp	SHORT $LN6@init_top
$LN5@init_top:
	mov	ecx, 7
	and	ecx, 8
	mov	edx, 8
	sub	edx, ecx
	and	edx, 7
	mov	DWORD PTR tv85[ebp], edx
$LN6@init_top:
	mov	eax, DWORD PTR tv85[ebp]
	add	eax, 40					; 00000028H
	mov	ecx, DWORD PTR _p$[ebp]
	add	ecx, DWORD PTR _psize$[ebp]
	mov	DWORD PTR [ecx+4], eax
; Line 3290
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _mparams+16
	mov	DWORD PTR [edx+28], eax
; Line 3291
	mov	esp, ebp
	pop	ebp
	ret	0
_init_top ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
tv131 = -28						; size = 4
tv81 = -24						; size = 4
_psize$1 = -20						; size = 4
_offset$2 = -16						; size = 4
_mmsize$ = -12						; size = 4
_p$3 = -8						; size = 4
_mm$4 = -4						; size = 4
_m$ = 8							; size = 4
_nb$ = 12						; size = 4
_mmap_alloc PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 3215
	push	ebp
	mov	ebp, esp
	sub	esp, 28					; 0000001cH
; Line 3216
	mov	eax, DWORD PTR _mparams+8
	mov	ecx, DWORD PTR _nb$[ebp]
	lea	edx, DWORD PTR [ecx+eax+31]
	mov	eax, DWORD PTR _mparams+8
	sub	eax, 1
	not	eax
	and	edx, eax
	mov	DWORD PTR _mmsize$[ebp], edx
; Line 3217
	mov	ecx, DWORD PTR _mmsize$[ebp]
	cmp	ecx, DWORD PTR _nb$[ebp]
	jbe	$LN4@mmap_alloc
; Line 3218
	mov	edx, DWORD PTR _mmsize$[ebp]
	push	edx
	call	_win32direct_mmap
	add	esp, 4
	mov	DWORD PTR _mm$4[ebp], eax
; Line 3219
	cmp	DWORD PTR _mm$4[ebp], -1
	je	$LN4@mmap_alloc
; Line 3220
	mov	eax, DWORD PTR _mm$4[ebp]
	add	eax, 8
	and	eax, 7
	jne	SHORT $LN7@mmap_alloc
	mov	DWORD PTR tv81[ebp], 0
	jmp	SHORT $LN8@mmap_alloc
$LN7@mmap_alloc:
	mov	ecx, DWORD PTR _mm$4[ebp]
	add	ecx, 8
	and	ecx, 7
	mov	edx, 8
	sub	edx, ecx
	and	edx, 7
	mov	DWORD PTR tv81[ebp], edx
$LN8@mmap_alloc:
	mov	eax, DWORD PTR tv81[ebp]
	mov	DWORD PTR _offset$2[ebp], eax
; Line 3221
	mov	ecx, DWORD PTR _mmsize$[ebp]
	sub	ecx, DWORD PTR _offset$2[ebp]
	sub	ecx, 16					; 00000010H
	mov	DWORD PTR _psize$1[ebp], ecx
; Line 3222
	mov	edx, DWORD PTR _mm$4[ebp]
	add	edx, DWORD PTR _offset$2[ebp]
	mov	DWORD PTR _p$3[ebp], edx
; Line 3223
	mov	eax, DWORD PTR _offset$2[ebp]
	or	eax, 1
	mov	ecx, DWORD PTR _p$3[ebp]
	mov	DWORD PTR [ecx], eax
; Line 3224
	mov	edx, DWORD PTR _psize$1[ebp]
	or	edx, 2
	mov	eax, DWORD PTR _p$3[ebp]
	mov	DWORD PTR [eax+4], edx
; Line 3226
	mov	ecx, DWORD PTR _p$3[ebp]
	add	ecx, DWORD PTR _psize$1[ebp]
	mov	DWORD PTR [ecx+4], 7
; Line 3227
	mov	edx, DWORD PTR _p$3[ebp]
	add	edx, DWORD PTR _psize$1[ebp]
	mov	DWORD PTR [edx+8], 0
; Line 3229
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR _mm$4[ebp]
	cmp	ecx, DWORD PTR [eax+16]
	jae	SHORT $LN2@mmap_alloc
; Line 3230
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR _mm$4[ebp]
	mov	DWORD PTR [edx+16], eax
$LN2@mmap_alloc:
; Line 3231
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR [ecx+428]
	add	edx, DWORD PTR _mmsize$[ebp]
	mov	DWORD PTR tv131[ebp], edx
	mov	eax, DWORD PTR _m$[ebp]
	mov	ecx, DWORD PTR tv131[ebp]
	mov	DWORD PTR [eax+428], ecx
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR tv131[ebp]
	cmp	eax, DWORD PTR [edx+432]
	jbe	SHORT $LN1@mmap_alloc
; Line 3232
	mov	ecx, DWORD PTR _m$[ebp]
	mov	edx, DWORD PTR _m$[ebp]
	mov	eax, DWORD PTR [edx+428]
	mov	DWORD PTR [ecx+432], eax
$LN1@mmap_alloc:
; Line 3235
	mov	eax, DWORD PTR _p$3[ebp]
	add	eax, 8
	jmp	SHORT $LN5@mmap_alloc
$LN4@mmap_alloc:
; Line 3238
	xor	eax, eax
$LN5@mmap_alloc:
; Line 3239
	mov	esp, ebp
	pop	ebp
	ret	0
_mmap_alloc ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_system_info$1 = -40					; size = 36
_s$2 = -4						; size = 4
_init_mparams PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 2509
	push	ebp
	mov	ebp, esp
	sub	esp, 40					; 00000028H
; Line 2510
	cmp	DWORD PTR _mparams+4, 0
	jne	$LN4@init_mpara
; Line 2513
	mov	DWORD PTR _mparams+12, -1
; Line 2514
	mov	DWORD PTR _mparams+16, 2097152		; 00200000H
; Line 2518
	mov	DWORD PTR _mparams+20, 7
; Line 2541
	mov	DWORD PTR _s$2[ebp], 1482184792		; 58585858H
; Line 2543
	push	OFFSET _magic_init_mutex
	call	_win32_acquire_lock
	add	esp, 4
; Line 2544
	cmp	DWORD PTR _mparams, 0
	jne	SHORT $LN3@init_mpara
; Line 2545
	mov	eax, DWORD PTR _s$2[ebp]
	mov	DWORD PTR _mparams, eax
; Line 2547
	mov	DWORD PTR __gm_+440, 0
; Line 2548
	mov	ecx, DWORD PTR _mparams+20
	mov	DWORD PTR __gm_+436, ecx
$LN3@init_mpara:
; Line 2550
	push	OFFSET _magic_init_mutex
	call	_win32_release_lock
	add	esp, 4
; Line 2564
	lea	edx, DWORD PTR _system_info$1[ebp]
	push	edx
	call	DWORD PTR __imp__GetSystemInfo@4
; Line 2565
	mov	eax, DWORD PTR _system_info$1[ebp+4]
	mov	DWORD PTR _mparams+4, eax
; Line 2566
	mov	ecx, DWORD PTR _system_info$1[ebp+28]
	mov	DWORD PTR _mparams+8, ecx
; Line 2583
	xor	edx, edx
	jne	SHORT $LN1@init_mpara
	mov	eax, DWORD PTR _mparams+8
	sub	eax, 1
	and	eax, DWORD PTR _mparams+8
	jne	SHORT $LN1@init_mpara
	mov	ecx, DWORD PTR _mparams+4
	sub	ecx, 1
	and	ecx, DWORD PTR _mparams+4
	je	SHORT $LN4@init_mpara
$LN1@init_mpara:
; Line 2584
	call	_abort
$LN4@init_mpara:
; Line 2586
	xor	eax, eax
$LN6@init_mpara:
; Line 2587
	mov	esp, ebp
	pop	ebp
	ret	0
_init_mparams ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_sp$ = -4						; size = 4
_m$ = 8							; size = 4
_ss$ = 12						; size = 4
_has_segment_link PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 2166
	push	ebp
	mov	ebp, esp
	push	ecx
; Line 2167
	mov	eax, DWORD PTR _m$[ebp]
	add	eax, 444				; 000001bcH
	mov	DWORD PTR _sp$[ebp], eax
$LN4@has_segmen:
; Line 2169
	mov	ecx, DWORD PTR _ss$[ebp]
	mov	edx, DWORD PTR _sp$[ebp]
	cmp	edx, DWORD PTR [ecx]
	jb	SHORT $LN2@has_segmen
	mov	eax, DWORD PTR _ss$[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR _ss$[ebp]
	add	ecx, DWORD PTR [edx+4]
	cmp	DWORD PTR _sp$[ebp], ecx
	jae	SHORT $LN2@has_segmen
; Line 2170
	mov	eax, 1
	jmp	SHORT $LN5@has_segmen
$LN2@has_segmen:
; Line 2171
	mov	eax, DWORD PTR _sp$[ebp]
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR _sp$[ebp], ecx
	cmp	DWORD PTR _sp$[ebp], 0
	jne	SHORT $LN1@has_segmen
; Line 2172
	xor	eax, eax
	jmp	SHORT $LN5@has_segmen
$LN1@has_segmen:
; Line 2173
	jmp	SHORT $LN4@has_segmen
$LN5@has_segmen:
; Line 2174
	mov	esp, ebp
	pop	ebp
	ret	0
_has_segment_link ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_sp$ = -4						; size = 4
_m$ = 8							; size = 4
_addr$ = 12						; size = 4
_segment_holding PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 2155
	push	ebp
	mov	ebp, esp
	push	ecx
; Line 2156
	mov	eax, DWORD PTR _m$[ebp]
	add	eax, 444				; 000001bcH
	mov	DWORD PTR _sp$[ebp], eax
$LN4@segment_ho:
; Line 2158
	mov	ecx, DWORD PTR _sp$[ebp]
	mov	edx, DWORD PTR _addr$[ebp]
	cmp	edx, DWORD PTR [ecx]
	jb	SHORT $LN2@segment_ho
	mov	eax, DWORD PTR _sp$[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR _sp$[ebp]
	add	ecx, DWORD PTR [edx+4]
	cmp	DWORD PTR _addr$[ebp], ecx
	jae	SHORT $LN2@segment_ho
; Line 2159
	mov	eax, DWORD PTR _sp$[ebp]
	jmp	SHORT $LN5@segment_ho
$LN2@segment_ho:
; Line 2160
	mov	eax, DWORD PTR _sp$[ebp]
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR _sp$[ebp], ecx
	cmp	DWORD PTR _sp$[ebp], 0
	jne	SHORT $LN1@segment_ho
; Line 2161
	xor	eax, eax
	jmp	SHORT $LN5@segment_ho
$LN1@segment_ho:
; Line 2162
	jmp	SHORT $LN4@segment_ho
$LN5@segment_ho:
; Line 2163
	mov	esp, ebp
	pop	ebp
	ret	0
_segment_holding ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_sl$ = 8						; size = 4
_win32_release_lock PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 1481
	push	ebp
	mov	ebp, esp
; Line 1482
	xor	eax, eax
	mov	ecx, DWORD PTR _sl$[ebp]
	xchg	DWORD PTR [ecx], eax
; Line 1483
	pop	ebp
	ret	0
_win32_release_lock ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_sl$ = 8						; size = 4
_win32_acquire_lock PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 1468
	push	ebp
	mov	ebp, esp
$LN3@win32_acqu:
; Line 1471
	mov	ecx, 1
	mov	edx, DWORD PTR _sl$[ebp]
	xor	eax, eax
	lock	 cmpxchg DWORD PTR [edx], ecx
	test	eax, eax
	jne	SHORT $LN1@win32_acqu
; Line 1472
	xor	eax, eax
	jmp	SHORT $LN4@win32_acqu
$LN1@win32_acqu:
; Line 1477
	push	0
	call	DWORD PTR __imp__Sleep@4
; Line 1478
	jmp	SHORT $LN3@win32_acqu
$LN4@win32_acqu:
; Line 1479
	pop	ebp
	ret	0
_win32_acquire_lock ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_minfo$ = -32						; size = 28
_cptr$ = -4						; size = 4
_ptr$ = 8						; size = 4
_size$ = 12						; size = 4
_win32munmap PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 1377
	push	ebp
	mov	ebp, esp
	sub	esp, 32					; 00000020H
; Line 1379
	mov	eax, DWORD PTR _ptr$[ebp]
	mov	DWORD PTR _cptr$[ebp], eax
$LN6@win32munma:
; Line 1380
	cmp	DWORD PTR _size$[ebp], 0
	je	SHORT $LN5@win32munma
; Line 1381
	push	28					; 0000001cH
	lea	ecx, DWORD PTR _minfo$[ebp]
	push	ecx
	mov	edx, DWORD PTR _cptr$[ebp]
	push	edx
	call	DWORD PTR __imp__VirtualQuery@12
	test	eax, eax
	jne	SHORT $LN4@win32munma
; Line 1382
	or	eax, -1
	jmp	SHORT $LN7@win32munma
$LN4@win32munma:
; Line 1384
	mov	eax, DWORD PTR _minfo$[ebp]
	cmp	eax, DWORD PTR _cptr$[ebp]
	jne	SHORT $LN2@win32munma
	mov	ecx, DWORD PTR _minfo$[ebp+4]
	cmp	ecx, DWORD PTR _cptr$[ebp]
	jne	SHORT $LN2@win32munma
	cmp	DWORD PTR _minfo$[ebp+16], 4096		; 00001000H
	jne	SHORT $LN2@win32munma
	mov	edx, DWORD PTR _minfo$[ebp+12]
	cmp	edx, DWORD PTR _size$[ebp]
	jbe	SHORT $LN3@win32munma
$LN2@win32munma:
; Line 1385
	or	eax, -1
	jmp	SHORT $LN7@win32munma
$LN3@win32munma:
; Line 1386
	push	32768					; 00008000H
	push	0
	mov	eax, DWORD PTR _cptr$[ebp]
	push	eax
	call	DWORD PTR __imp__VirtualFree@12
	test	eax, eax
	jne	SHORT $LN1@win32munma
; Line 1387
	or	eax, -1
	jmp	SHORT $LN7@win32munma
$LN1@win32munma:
; Line 1388
	mov	ecx, DWORD PTR _cptr$[ebp]
	add	ecx, DWORD PTR _minfo$[ebp+12]
	mov	DWORD PTR _cptr$[ebp], ecx
; Line 1389
	mov	edx, DWORD PTR _size$[ebp]
	sub	edx, DWORD PTR _minfo$[ebp+12]
	mov	DWORD PTR _size$[ebp], edx
; Line 1390
	jmp	SHORT $LN6@win32munma
$LN5@win32munma:
; Line 1391
	xor	eax, eax
$LN7@win32munma:
; Line 1392
	mov	esp, ebp
	pop	ebp
	ret	0
_win32munmap ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
tv70 = -8						; size = 4
_ptr$ = -4						; size = 4
_size$ = 8						; size = 4
_win32direct_mmap PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 1370
	push	ebp
	mov	ebp, esp
	sub	esp, 8
; Line 1372
	push	64					; 00000040H
	push	1060864					; 00103000H
	mov	eax, DWORD PTR _size$[ebp]
	push	eax
	push	0
	call	DWORD PTR __imp__VirtualAlloc@16
	mov	DWORD PTR _ptr$[ebp], eax
; Line 1373
	cmp	DWORD PTR _ptr$[ebp], 0
	je	SHORT $LN3@win32direc
	mov	ecx, DWORD PTR _ptr$[ebp]
	mov	DWORD PTR tv70[ebp], ecx
	jmp	SHORT $LN4@win32direc
$LN3@win32direc:
	mov	DWORD PTR tv70[ebp], -1
$LN4@win32direc:
	mov	eax, DWORD PTR tv70[ebp]
; Line 1374
	mov	esp, ebp
	pop	ebp
	ret	0
_win32direct_mmap ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
tv70 = -8						; size = 4
_ptr$ = -4						; size = 4
_size$ = 8						; size = 4
_win32mmap PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 1364
	push	ebp
	mov	ebp, esp
	sub	esp, 8
; Line 1365
	push	64					; 00000040H
	push	12288					; 00003000H
	mov	eax, DWORD PTR _size$[ebp]
	push	eax
	push	0
	call	DWORD PTR __imp__VirtualAlloc@16
	mov	DWORD PTR _ptr$[ebp], eax
; Line 1366
	cmp	DWORD PTR _ptr$[ebp], 0
	je	SHORT $LN3@win32mmap
	mov	ecx, DWORD PTR _ptr$[ebp]
	mov	DWORD PTR tv70[ebp], ecx
	jmp	SHORT $LN4@win32mmap
$LN3@win32mmap:
	mov	DWORD PTR tv70[ebp], -1
$LN4@win32mmap:
	mov	eax, DWORD PTR tv70[ebp]
; Line 1367
	mov	esp, ebp
	pop	ebp
	ret	0
_win32mmap ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
tv452 = -192						; size = 4
_H$1 = -188						; size = 4
_H$2 = -184						; size = 4
_prev$3 = -180						; size = 4
_tsize$4 = -176						; size = 4
tv73 = -172						; size = 4
_I$5 = -168						; size = 4
_X$6 = -164						; size = 4
_I$7 = -160						; size = 4
_F$8 = -156						; size = 4
_dsize$9 = -152						; size = 4
_I$10 = -148						; size = 4
_F$11 = -144						; size = 4
_nsize$12 = -140					; size = 4
_K$13 = -136						; size = 4
_F$14 = -132						; size = 4
_H$15 = -128						; size = 4
_F$16 = -124						; size = 4
_C$17 = -120						; size = 4
_C0$18 = -116						; size = 4
_C1$19 = -112						; size = 4
_C1$20 = -108						; size = 4
_C0$21 = -104						; size = 4
_CP$22 = -100						; size = 4
_CP$23 = -96						; size = 4
_B$24 = -92						; size = 4
_B$25 = -88						; size = 4
_F$26 = -84						; size = 4
_B$27 = -80						; size = 4
_F$28 = -76						; size = 4
_N$29 = -72						; size = 4
_XP$30 = -68						; size = 4
_XP$31 = -64						; size = 4
_RP$32 = -60						; size = 4
_RP$33 = -56						; size = 4
_K$34 = -52						; size = 4
_T$35 = -48						; size = 4
_I$36 = -44						; size = 4
_prevsize$37 = -40					; size = 4
_Y$38 = -36						; size = 4
_TP$39 = -32						; size = 4
_TP$40 = -28						; size = 4
_next$41 = -24						; size = 4
_R$42 = -20						; size = 4
_R$43 = -16						; size = 4
_TP$44 = -12						; size = 4
_psize$45 = -8						; size = 4
_p$46 = -4						; size = 4
_mem$ = 8						; size = 4
_dlfree	PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 4255
	push	ebp
	mov	ebp, esp
	sub	esp, 192				; 000000c0H
; Line 4262
	cmp	DWORD PTR _mem$[ebp], 0
	je	$LN119@dlfree
; Line 4263
	mov	eax, DWORD PTR _mem$[ebp]
	sub	eax, 8
	mov	DWORD PTR _p$46[ebp], eax
; Line 4273
	cmp	DWORD PTR _mparams+4, 0
	jne	SHORT $LN120@dlfree
	call	_init_mparams
	test	eax, eax
	jne	SHORT $LN121@dlfree
$LN120@dlfree:
	mov	ecx, DWORD PTR __gm_+436
	and	ecx, 2
	jne	SHORT $LN121@dlfree
	mov	DWORD PTR tv73[ebp], 0
	jmp	SHORT $LN122@dlfree
$LN121@dlfree:
	push	OFFSET __gm_+440
	call	_win32_acquire_lock
	add	esp, 4
	mov	DWORD PTR tv73[ebp], eax
$LN122@dlfree:
	cmp	DWORD PTR tv73[ebp], 0
	jne	$LN119@dlfree
; Line 4275
	mov	edx, DWORD PTR _p$46[ebp]
	cmp	edx, DWORD PTR __gm_+16
	jb	$erroraction$125
	mov	eax, DWORD PTR _p$46[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, 2
	je	$erroraction$125
; Line 4276
	mov	edx, DWORD PTR _p$46[ebp]
	mov	eax, DWORD PTR [edx+4]
	and	eax, -4					; fffffffcH
	mov	DWORD PTR _psize$45[ebp], eax
; Line 4277
	mov	ecx, DWORD PTR _p$46[ebp]
	add	ecx, DWORD PTR _psize$45[ebp]
	mov	DWORD PTR _next$41[ebp], ecx
; Line 4278
	mov	edx, DWORD PTR _p$46[ebp]
	mov	eax, DWORD PTR [edx+4]
	and	eax, 1
	jne	$LN114@dlfree
; Line 4279
	mov	ecx, DWORD PTR _p$46[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _prevsize$37[ebp], edx
; Line 4280
	mov	eax, DWORD PTR _prevsize$37[ebp]
	and	eax, 1
	je	SHORT $LN113@dlfree
; Line 4281
	mov	ecx, DWORD PTR _prevsize$37[ebp]
	and	ecx, -2					; fffffffeH
	mov	DWORD PTR _prevsize$37[ebp], ecx
; Line 4282
	mov	edx, DWORD PTR _prevsize$37[ebp]
	mov	eax, DWORD PTR _psize$45[ebp]
	lea	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _psize$45[ebp], ecx
; Line 4283
	mov	edx, DWORD PTR _psize$45[ebp]
	push	edx
	mov	eax, DWORD PTR _p$46[ebp]
	sub	eax, DWORD PTR _prevsize$37[ebp]
	push	eax
	call	_win32munmap
	add	esp, 8
	test	eax, eax
	jne	SHORT $LN112@dlfree
; Line 4284
	mov	ecx, DWORD PTR __gm_+428
	sub	ecx, DWORD PTR _psize$45[ebp]
	mov	DWORD PTR __gm_+428, ecx
$LN112@dlfree:
; Line 4285
	jmp	$postaction$126
; Line 4287
	jmp	$LN114@dlfree
$LN113@dlfree:
; Line 4288
	mov	edx, DWORD PTR _p$46[ebp]
	sub	edx, DWORD PTR _prevsize$37[ebp]
	mov	DWORD PTR _prev$3[ebp], edx
; Line 4289
	mov	eax, DWORD PTR _psize$45[ebp]
	add	eax, DWORD PTR _prevsize$37[ebp]
	mov	DWORD PTR _psize$45[ebp], eax
; Line 4290
	mov	ecx, DWORD PTR _prev$3[ebp]
	mov	DWORD PTR _p$46[ebp], ecx
; Line 4291
	mov	edx, DWORD PTR _prev$3[ebp]
	cmp	edx, DWORD PTR __gm_+16
	jb	$LN110@dlfree
; Line 4292
	mov	eax, DWORD PTR _p$46[ebp]
	cmp	eax, DWORD PTR __gm_+20
	je	$LN109@dlfree
; Line 4293
	mov	ecx, DWORD PTR _prevsize$37[ebp]
	shr	ecx, 3
	cmp	ecx, 32					; 00000020H
	jae	$LN108@dlfree
	mov	edx, DWORD PTR _p$46[ebp]
	mov	eax, DWORD PTR [edx+8]
	mov	DWORD PTR _F$28[ebp], eax
	mov	ecx, DWORD PTR _p$46[ebp]
	mov	edx, DWORD PTR [ecx+12]
	mov	DWORD PTR _B$25[ebp], edx
	mov	eax, DWORD PTR _prevsize$37[ebp]
	shr	eax, 3
	mov	DWORD PTR _I$10[ebp], eax
	mov	ecx, DWORD PTR _F$28[ebp]
	cmp	ecx, DWORD PTR _B$25[ebp]
	jne	SHORT $LN107@dlfree
	mov	edx, 1
	mov	ecx, DWORD PTR _I$10[ebp]
	shl	edx, cl
	not	edx
	and	edx, DWORD PTR __gm_
	mov	DWORD PTR __gm_, edx
	jmp	SHORT $LN106@dlfree
$LN107@dlfree:
	mov	eax, DWORD PTR _I$10[ebp]
	shl	eax, 1
	lea	ecx, DWORD PTR __gm_[eax*4+36]
	cmp	DWORD PTR _F$28[ebp], ecx
	je	SHORT $LN104@dlfree
	mov	edx, DWORD PTR _F$28[ebp]
	cmp	edx, DWORD PTR __gm_+16
	jb	SHORT $LN105@dlfree
$LN104@dlfree:
	mov	eax, DWORD PTR _I$10[ebp]
	shl	eax, 1
	lea	ecx, DWORD PTR __gm_[eax*4+36]
	cmp	DWORD PTR _B$25[ebp], ecx
	je	SHORT $LN103@dlfree
	mov	edx, DWORD PTR _B$25[ebp]
	cmp	edx, DWORD PTR __gm_+16
	jb	SHORT $LN105@dlfree
$LN103@dlfree:
	mov	eax, DWORD PTR _F$28[ebp]
	mov	ecx, DWORD PTR _B$25[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _B$25[ebp]
	mov	eax, DWORD PTR _F$28[ebp]
	mov	DWORD PTR [edx+8], eax
	jmp	SHORT $LN106@dlfree
$LN105@dlfree:
	call	_abort
$LN106@dlfree:
	jmp	$LN101@dlfree
$LN108@dlfree:
	mov	ecx, DWORD PTR _p$46[ebp]
	mov	DWORD PTR _TP$40[ebp], ecx
	mov	edx, DWORD PTR _TP$40[ebp]
	mov	eax, DWORD PTR [edx+24]
	mov	DWORD PTR _XP$30[ebp], eax
	mov	ecx, DWORD PTR _TP$40[ebp]
	mov	edx, DWORD PTR [ecx+12]
	cmp	edx, DWORD PTR _TP$40[ebp]
	je	SHORT $LN100@dlfree
	mov	eax, DWORD PTR _TP$40[ebp]
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR _F$14[ebp], ecx
	mov	edx, DWORD PTR _TP$40[ebp]
	mov	eax, DWORD PTR [edx+12]
	mov	DWORD PTR _R$43[ebp], eax
	mov	ecx, DWORD PTR _F$14[ebp]
	cmp	ecx, DWORD PTR __gm_+16
	jb	SHORT $LN99@dlfree
	mov	edx, DWORD PTR _F$14[ebp]
	mov	eax, DWORD PTR _R$43[ebp]
	mov	DWORD PTR [edx+12], eax
	mov	ecx, DWORD PTR _R$43[ebp]
	mov	edx, DWORD PTR _F$14[ebp]
	mov	DWORD PTR [ecx+8], edx
	jmp	SHORT $LN98@dlfree
$LN99@dlfree:
	call	_abort
$LN98@dlfree:
	jmp	$LN97@dlfree
$LN100@dlfree:
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _TP$40[ebp]
	lea	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR _RP$33[ebp], edx
	mov	eax, DWORD PTR _RP$33[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _R$43[ebp], ecx
	cmp	DWORD PTR _R$43[ebp], 0
	jne	SHORT $LN94@dlfree
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _TP$40[ebp]
	lea	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR _RP$33[ebp], edx
	mov	eax, DWORD PTR _RP$33[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _R$43[ebp], ecx
	cmp	DWORD PTR _R$43[ebp], 0
	je	SHORT $LN97@dlfree
$LN94@dlfree:
	mov	edx, 4
	shl	edx, 0
	mov	eax, DWORD PTR _R$43[ebp]
	lea	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _CP$23[ebp], ecx
	mov	edx, DWORD PTR _CP$23[ebp]
	cmp	DWORD PTR [edx], 0
	jne	SHORT $LN92@dlfree
	mov	eax, 4
	imul	ecx, eax, 0
	mov	edx, DWORD PTR _R$43[ebp]
	lea	eax, DWORD PTR [edx+ecx+16]
	mov	DWORD PTR _CP$23[ebp], eax
	mov	ecx, DWORD PTR _CP$23[ebp]
	cmp	DWORD PTR [ecx], 0
	je	SHORT $LN93@dlfree
$LN92@dlfree:
	mov	edx, DWORD PTR _CP$23[ebp]
	mov	DWORD PTR _RP$33[ebp], edx
	mov	eax, DWORD PTR _RP$33[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _R$43[ebp], ecx
	jmp	SHORT $LN94@dlfree
$LN93@dlfree:
	mov	edx, DWORD PTR _RP$33[ebp]
	cmp	edx, DWORD PTR __gm_+16
	jb	SHORT $LN91@dlfree
	mov	eax, DWORD PTR _RP$33[ebp]
	mov	DWORD PTR [eax], 0
	jmp	SHORT $LN97@dlfree
$LN91@dlfree:
	call	_abort
$LN97@dlfree:
	cmp	DWORD PTR _XP$30[ebp], 0
	je	$LN101@dlfree
	mov	ecx, DWORD PTR _TP$40[ebp]
	mov	edx, DWORD PTR [ecx+28]
	lea	eax, DWORD PTR __gm_[edx*4+300]
	mov	DWORD PTR _H$1[ebp], eax
	mov	ecx, DWORD PTR _H$1[ebp]
	mov	edx, DWORD PTR _TP$40[ebp]
	cmp	edx, DWORD PTR [ecx]
	jne	SHORT $LN88@dlfree
	mov	eax, DWORD PTR _H$1[ebp]
	mov	ecx, DWORD PTR _R$43[ebp]
	mov	DWORD PTR [eax], ecx
	cmp	DWORD PTR _R$43[ebp], 0
	jne	SHORT $LN87@dlfree
	mov	edx, DWORD PTR _TP$40[ebp]
	mov	eax, 1
	mov	ecx, DWORD PTR [edx+28]
	shl	eax, cl
	not	eax
	and	eax, DWORD PTR __gm_+4
	mov	DWORD PTR __gm_+4, eax
$LN87@dlfree:
	jmp	SHORT $LN86@dlfree
$LN88@dlfree:
	mov	ecx, DWORD PTR _XP$30[ebp]
	cmp	ecx, DWORD PTR __gm_+16
	jb	SHORT $LN85@dlfree
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _XP$30[ebp]
	mov	edx, DWORD PTR [ecx+eax+16]
	cmp	edx, DWORD PTR _TP$40[ebp]
	jne	SHORT $LN84@dlfree
	mov	eax, 4
	imul	ecx, eax, 0
	mov	edx, DWORD PTR _XP$30[ebp]
	mov	eax, DWORD PTR _R$43[ebp]
	mov	DWORD PTR [edx+ecx+16], eax
	jmp	SHORT $LN83@dlfree
$LN84@dlfree:
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _XP$30[ebp]
	mov	eax, DWORD PTR _R$43[ebp]
	mov	DWORD PTR [edx+ecx+16], eax
$LN83@dlfree:
	jmp	SHORT $LN86@dlfree
$LN85@dlfree:
	call	_abort
$LN86@dlfree:
	cmp	DWORD PTR _R$43[ebp], 0
	je	$LN101@dlfree
	mov	ecx, DWORD PTR _R$43[ebp]
	cmp	ecx, DWORD PTR __gm_+16
	jb	$LN80@dlfree
	mov	edx, DWORD PTR _R$43[ebp]
	mov	eax, DWORD PTR _XP$30[ebp]
	mov	DWORD PTR [edx+24], eax
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _TP$40[ebp]
	mov	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _C0$18[ebp], ecx
	cmp	DWORD PTR _C0$18[ebp], 0
	je	SHORT $LN79@dlfree
	mov	edx, DWORD PTR _C0$18[ebp]
	cmp	edx, DWORD PTR __gm_+16
	jb	SHORT $LN78@dlfree
	mov	eax, 4
	imul	ecx, eax, 0
	mov	edx, DWORD PTR _R$43[ebp]
	mov	eax, DWORD PTR _C0$18[ebp]
	mov	DWORD PTR [edx+ecx+16], eax
	mov	ecx, DWORD PTR _C0$18[ebp]
	mov	edx, DWORD PTR _R$43[ebp]
	mov	DWORD PTR [ecx+24], edx
	jmp	SHORT $LN79@dlfree
$LN78@dlfree:
	call	_abort
$LN79@dlfree:
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _TP$40[ebp]
	mov	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR _C1$20[ebp], edx
	cmp	DWORD PTR _C1$20[ebp], 0
	je	SHORT $LN76@dlfree
	mov	eax, DWORD PTR _C1$20[ebp]
	cmp	eax, DWORD PTR __gm_+16
	jb	SHORT $LN75@dlfree
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _R$43[ebp]
	mov	eax, DWORD PTR _C1$20[ebp]
	mov	DWORD PTR [edx+ecx+16], eax
	mov	ecx, DWORD PTR _C1$20[ebp]
	mov	edx, DWORD PTR _R$43[ebp]
	mov	DWORD PTR [ecx+24], edx
	jmp	SHORT $LN76@dlfree
$LN75@dlfree:
	call	_abort
$LN76@dlfree:
	jmp	SHORT $LN101@dlfree
$LN80@dlfree:
	call	_abort
$LN101@dlfree:
	jmp	SHORT $LN72@dlfree
$LN109@dlfree:
; Line 4295
	mov	eax, DWORD PTR _next$41[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, 3
	cmp	ecx, 3
	jne	SHORT $LN72@dlfree
; Line 4296
	mov	edx, DWORD PTR _psize$45[ebp]
	mov	DWORD PTR __gm_+8, edx
; Line 4297
	mov	eax, DWORD PTR _next$41[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, -2					; fffffffeH
	mov	edx, DWORD PTR _next$41[ebp]
	mov	DWORD PTR [edx+4], ecx
	mov	eax, DWORD PTR _psize$45[ebp]
	or	eax, 1
	mov	ecx, DWORD PTR _p$46[ebp]
	mov	DWORD PTR [ecx+4], eax
	mov	edx, DWORD PTR _p$46[ebp]
	add	edx, DWORD PTR _psize$45[ebp]
	mov	eax, DWORD PTR _psize$45[ebp]
	mov	DWORD PTR [edx], eax
; Line 4298
	jmp	$postaction$126
$LN72@dlfree:
; Line 4301
	jmp	SHORT $LN114@dlfree
$LN110@dlfree:
; Line 4302
	jmp	$erroraction$125
$LN114@dlfree:
; Line 4306
	mov	ecx, DWORD PTR _p$46[ebp]
	cmp	ecx, DWORD PTR _next$41[ebp]
	jae	$erroraction$125
	mov	edx, DWORD PTR _next$41[ebp]
	mov	eax, DWORD PTR [edx+4]
	and	eax, 1
	je	$erroraction$125
; Line 4307
	mov	ecx, DWORD PTR _next$41[ebp]
	mov	edx, DWORD PTR [ecx+4]
	and	edx, 2
	jne	$LN68@dlfree
; Line 4308
	mov	eax, DWORD PTR _next$41[ebp]
	cmp	eax, DWORD PTR __gm_+24
	jne	SHORT $LN67@dlfree
; Line 4309
	mov	ecx, DWORD PTR __gm_+12
	add	ecx, DWORD PTR _psize$45[ebp]
	mov	DWORD PTR __gm_+12, ecx
	mov	edx, DWORD PTR __gm_+12
	mov	DWORD PTR _tsize$4[ebp], edx
; Line 4310
	mov	eax, DWORD PTR _p$46[ebp]
	mov	DWORD PTR __gm_+24, eax
; Line 4311
	mov	ecx, DWORD PTR _tsize$4[ebp]
	or	ecx, 1
	mov	edx, DWORD PTR _p$46[ebp]
	mov	DWORD PTR [edx+4], ecx
; Line 4312
	mov	eax, DWORD PTR _p$46[ebp]
	cmp	eax, DWORD PTR __gm_+20
	jne	SHORT $LN66@dlfree
; Line 4313
	mov	DWORD PTR __gm_+20, 0
; Line 4314
	mov	DWORD PTR __gm_+8, 0
$LN66@dlfree:
; Line 4316
	mov	ecx, DWORD PTR _tsize$4[ebp]
	cmp	ecx, DWORD PTR __gm_+28
	jbe	SHORT $LN65@dlfree
; Line 4317
	push	0
	push	OFFSET __gm_
	call	_sys_trim
	add	esp, 8
$LN65@dlfree:
; Line 4318
	jmp	$postaction$126
	jmp	$LN64@dlfree
$LN67@dlfree:
; Line 4320
	mov	edx, DWORD PTR _next$41[ebp]
	cmp	edx, DWORD PTR __gm_+20
	jne	SHORT $LN63@dlfree
; Line 4321
	mov	eax, DWORD PTR __gm_+8
	add	eax, DWORD PTR _psize$45[ebp]
	mov	DWORD PTR __gm_+8, eax
	mov	ecx, DWORD PTR __gm_+8
	mov	DWORD PTR _dsize$9[ebp], ecx
; Line 4322
	mov	edx, DWORD PTR _p$46[ebp]
	mov	DWORD PTR __gm_+20, edx
; Line 4323
	mov	eax, DWORD PTR _dsize$9[ebp]
	or	eax, 1
	mov	ecx, DWORD PTR _p$46[ebp]
	mov	DWORD PTR [ecx+4], eax
	mov	edx, DWORD PTR _p$46[ebp]
	add	edx, DWORD PTR _dsize$9[ebp]
	mov	eax, DWORD PTR _dsize$9[ebp]
	mov	DWORD PTR [edx], eax
; Line 4324
	jmp	$postaction$126
; Line 4326
	jmp	$LN64@dlfree
$LN63@dlfree:
; Line 4327
	mov	ecx, DWORD PTR _next$41[ebp]
	mov	edx, DWORD PTR [ecx+4]
	and	edx, -4					; fffffffcH
	mov	DWORD PTR _nsize$12[ebp], edx
; Line 4328
	mov	eax, DWORD PTR _psize$45[ebp]
	add	eax, DWORD PTR _nsize$12[ebp]
	mov	DWORD PTR _psize$45[ebp], eax
; Line 4329
	mov	ecx, DWORD PTR _nsize$12[ebp]
	shr	ecx, 3
	cmp	ecx, 32					; 00000020H
	jae	$LN61@dlfree
	mov	edx, DWORD PTR _next$41[ebp]
	mov	eax, DWORD PTR [edx+8]
	mov	DWORD PTR _F$26[ebp], eax
	mov	ecx, DWORD PTR _next$41[ebp]
	mov	edx, DWORD PTR [ecx+12]
	mov	DWORD PTR _B$27[ebp], edx
	mov	eax, DWORD PTR _nsize$12[ebp]
	shr	eax, 3
	mov	DWORD PTR _I$7[ebp], eax
	mov	ecx, DWORD PTR _F$26[ebp]
	cmp	ecx, DWORD PTR _B$27[ebp]
	jne	SHORT $LN60@dlfree
	mov	edx, 1
	mov	ecx, DWORD PTR _I$7[ebp]
	shl	edx, cl
	not	edx
	and	edx, DWORD PTR __gm_
	mov	DWORD PTR __gm_, edx
	jmp	SHORT $LN59@dlfree
$LN60@dlfree:
	mov	eax, DWORD PTR _I$7[ebp]
	shl	eax, 1
	lea	ecx, DWORD PTR __gm_[eax*4+36]
	cmp	DWORD PTR _F$26[ebp], ecx
	je	SHORT $LN57@dlfree
	mov	edx, DWORD PTR _F$26[ebp]
	cmp	edx, DWORD PTR __gm_+16
	jb	SHORT $LN58@dlfree
$LN57@dlfree:
	mov	eax, DWORD PTR _I$7[ebp]
	shl	eax, 1
	lea	ecx, DWORD PTR __gm_[eax*4+36]
	cmp	DWORD PTR _B$27[ebp], ecx
	je	SHORT $LN56@dlfree
	mov	edx, DWORD PTR _B$27[ebp]
	cmp	edx, DWORD PTR __gm_+16
	jb	SHORT $LN58@dlfree
$LN56@dlfree:
	mov	eax, DWORD PTR _F$26[ebp]
	mov	ecx, DWORD PTR _B$27[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _B$27[ebp]
	mov	eax, DWORD PTR _F$26[ebp]
	mov	DWORD PTR [edx+8], eax
	jmp	SHORT $LN59@dlfree
$LN58@dlfree:
	call	_abort
$LN59@dlfree:
	jmp	$LN54@dlfree
$LN61@dlfree:
	mov	ecx, DWORD PTR _next$41[ebp]
	mov	DWORD PTR _TP$39[ebp], ecx
	mov	edx, DWORD PTR _TP$39[ebp]
	mov	eax, DWORD PTR [edx+24]
	mov	DWORD PTR _XP$31[ebp], eax
	mov	ecx, DWORD PTR _TP$39[ebp]
	mov	edx, DWORD PTR [ecx+12]
	cmp	edx, DWORD PTR _TP$39[ebp]
	je	SHORT $LN53@dlfree
	mov	eax, DWORD PTR _TP$39[ebp]
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR _F$16[ebp], ecx
	mov	edx, DWORD PTR _TP$39[ebp]
	mov	eax, DWORD PTR [edx+12]
	mov	DWORD PTR _R$42[ebp], eax
	mov	ecx, DWORD PTR _F$16[ebp]
	cmp	ecx, DWORD PTR __gm_+16
	jb	SHORT $LN52@dlfree
	mov	edx, DWORD PTR _F$16[ebp]
	mov	eax, DWORD PTR _R$42[ebp]
	mov	DWORD PTR [edx+12], eax
	mov	ecx, DWORD PTR _R$42[ebp]
	mov	edx, DWORD PTR _F$16[ebp]
	mov	DWORD PTR [ecx+8], edx
	jmp	SHORT $LN51@dlfree
$LN52@dlfree:
	call	_abort
$LN51@dlfree:
	jmp	$LN50@dlfree
$LN53@dlfree:
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _TP$39[ebp]
	lea	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR _RP$32[ebp], edx
	mov	eax, DWORD PTR _RP$32[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _R$42[ebp], ecx
	cmp	DWORD PTR _R$42[ebp], 0
	jne	SHORT $LN47@dlfree
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _TP$39[ebp]
	lea	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR _RP$32[ebp], edx
	mov	eax, DWORD PTR _RP$32[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _R$42[ebp], ecx
	cmp	DWORD PTR _R$42[ebp], 0
	je	SHORT $LN50@dlfree
$LN47@dlfree:
	mov	edx, 4
	shl	edx, 0
	mov	eax, DWORD PTR _R$42[ebp]
	lea	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _CP$22[ebp], ecx
	mov	edx, DWORD PTR _CP$22[ebp]
	cmp	DWORD PTR [edx], 0
	jne	SHORT $LN45@dlfree
	mov	eax, 4
	imul	ecx, eax, 0
	mov	edx, DWORD PTR _R$42[ebp]
	lea	eax, DWORD PTR [edx+ecx+16]
	mov	DWORD PTR _CP$22[ebp], eax
	mov	ecx, DWORD PTR _CP$22[ebp]
	cmp	DWORD PTR [ecx], 0
	je	SHORT $LN46@dlfree
$LN45@dlfree:
	mov	edx, DWORD PTR _CP$22[ebp]
	mov	DWORD PTR _RP$32[ebp], edx
	mov	eax, DWORD PTR _RP$32[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _R$42[ebp], ecx
	jmp	SHORT $LN47@dlfree
$LN46@dlfree:
	mov	edx, DWORD PTR _RP$32[ebp]
	cmp	edx, DWORD PTR __gm_+16
	jb	SHORT $LN44@dlfree
	mov	eax, DWORD PTR _RP$32[ebp]
	mov	DWORD PTR [eax], 0
	jmp	SHORT $LN50@dlfree
$LN44@dlfree:
	call	_abort
$LN50@dlfree:
	cmp	DWORD PTR _XP$31[ebp], 0
	je	$LN54@dlfree
	mov	ecx, DWORD PTR _TP$39[ebp]
	mov	edx, DWORD PTR [ecx+28]
	lea	eax, DWORD PTR __gm_[edx*4+300]
	mov	DWORD PTR _H$2[ebp], eax
	mov	ecx, DWORD PTR _H$2[ebp]
	mov	edx, DWORD PTR _TP$39[ebp]
	cmp	edx, DWORD PTR [ecx]
	jne	SHORT $LN41@dlfree
	mov	eax, DWORD PTR _H$2[ebp]
	mov	ecx, DWORD PTR _R$42[ebp]
	mov	DWORD PTR [eax], ecx
	cmp	DWORD PTR _R$42[ebp], 0
	jne	SHORT $LN40@dlfree
	mov	edx, DWORD PTR _TP$39[ebp]
	mov	eax, 1
	mov	ecx, DWORD PTR [edx+28]
	shl	eax, cl
	not	eax
	and	eax, DWORD PTR __gm_+4
	mov	DWORD PTR __gm_+4, eax
$LN40@dlfree:
	jmp	SHORT $LN39@dlfree
$LN41@dlfree:
	mov	ecx, DWORD PTR _XP$31[ebp]
	cmp	ecx, DWORD PTR __gm_+16
	jb	SHORT $LN38@dlfree
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _XP$31[ebp]
	mov	edx, DWORD PTR [ecx+eax+16]
	cmp	edx, DWORD PTR _TP$39[ebp]
	jne	SHORT $LN37@dlfree
	mov	eax, 4
	imul	ecx, eax, 0
	mov	edx, DWORD PTR _XP$31[ebp]
	mov	eax, DWORD PTR _R$42[ebp]
	mov	DWORD PTR [edx+ecx+16], eax
	jmp	SHORT $LN36@dlfree
$LN37@dlfree:
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _XP$31[ebp]
	mov	eax, DWORD PTR _R$42[ebp]
	mov	DWORD PTR [edx+ecx+16], eax
$LN36@dlfree:
	jmp	SHORT $LN39@dlfree
$LN38@dlfree:
	call	_abort
$LN39@dlfree:
	cmp	DWORD PTR _R$42[ebp], 0
	je	$LN54@dlfree
	mov	ecx, DWORD PTR _R$42[ebp]
	cmp	ecx, DWORD PTR __gm_+16
	jb	$LN33@dlfree
	mov	edx, DWORD PTR _R$42[ebp]
	mov	eax, DWORD PTR _XP$31[ebp]
	mov	DWORD PTR [edx+24], eax
	mov	ecx, 4
	imul	edx, ecx, 0
	mov	eax, DWORD PTR _TP$39[ebp]
	mov	ecx, DWORD PTR [eax+edx+16]
	mov	DWORD PTR _C0$21[ebp], ecx
	cmp	DWORD PTR _C0$21[ebp], 0
	je	SHORT $LN32@dlfree
	mov	edx, DWORD PTR _C0$21[ebp]
	cmp	edx, DWORD PTR __gm_+16
	jb	SHORT $LN31@dlfree
	mov	eax, 4
	imul	ecx, eax, 0
	mov	edx, DWORD PTR _R$42[ebp]
	mov	eax, DWORD PTR _C0$21[ebp]
	mov	DWORD PTR [edx+ecx+16], eax
	mov	ecx, DWORD PTR _C0$21[ebp]
	mov	edx, DWORD PTR _R$42[ebp]
	mov	DWORD PTR [ecx+24], edx
	jmp	SHORT $LN32@dlfree
$LN31@dlfree:
	call	_abort
$LN32@dlfree:
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _TP$39[ebp]
	mov	edx, DWORD PTR [ecx+eax+16]
	mov	DWORD PTR _C1$19[ebp], edx
	cmp	DWORD PTR _C1$19[ebp], 0
	je	SHORT $LN29@dlfree
	mov	eax, DWORD PTR _C1$19[ebp]
	cmp	eax, DWORD PTR __gm_+16
	jb	SHORT $LN28@dlfree
	mov	ecx, 4
	shl	ecx, 0
	mov	edx, DWORD PTR _R$42[ebp]
	mov	eax, DWORD PTR _C1$19[ebp]
	mov	DWORD PTR [edx+ecx+16], eax
	mov	ecx, DWORD PTR _C1$19[ebp]
	mov	edx, DWORD PTR _R$42[ebp]
	mov	DWORD PTR [ecx+24], edx
	jmp	SHORT $LN29@dlfree
$LN28@dlfree:
	call	_abort
$LN29@dlfree:
	jmp	SHORT $LN54@dlfree
$LN33@dlfree:
	call	_abort
$LN54@dlfree:
; Line 4330
	mov	eax, DWORD PTR _psize$45[ebp]
	or	eax, 1
	mov	ecx, DWORD PTR _p$46[ebp]
	mov	DWORD PTR [ecx+4], eax
	mov	edx, DWORD PTR _p$46[ebp]
	add	edx, DWORD PTR _psize$45[ebp]
	mov	eax, DWORD PTR _psize$45[ebp]
	mov	DWORD PTR [edx], eax
; Line 4331
	mov	ecx, DWORD PTR _p$46[ebp]
	cmp	ecx, DWORD PTR __gm_+20
	jne	SHORT $LN64@dlfree
; Line 4332
	mov	edx, DWORD PTR _psize$45[ebp]
	mov	DWORD PTR __gm_+8, edx
; Line 4333
	jmp	$postaction$126
$LN64@dlfree:
; Line 4337
	jmp	SHORT $LN24@dlfree
$LN68@dlfree:
; Line 4338
	mov	eax, DWORD PTR _next$41[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, -2					; fffffffeH
	mov	edx, DWORD PTR _next$41[ebp]
	mov	DWORD PTR [edx+4], ecx
	mov	eax, DWORD PTR _psize$45[ebp]
	or	eax, 1
	mov	ecx, DWORD PTR _p$46[ebp]
	mov	DWORD PTR [ecx+4], eax
	mov	edx, DWORD PTR _p$46[ebp]
	add	edx, DWORD PTR _psize$45[ebp]
	mov	eax, DWORD PTR _psize$45[ebp]
	mov	DWORD PTR [edx], eax
$LN24@dlfree:
; Line 4339
	mov	ecx, DWORD PTR _psize$45[ebp]
	shr	ecx, 3
	cmp	ecx, 32					; 00000020H
	jae	$LN23@dlfree
	mov	edx, DWORD PTR _psize$45[ebp]
	shr	edx, 3
	mov	DWORD PTR _I$5[ebp], edx
	mov	eax, DWORD PTR _I$5[ebp]
	shl	eax, 1
	lea	ecx, DWORD PTR __gm_[eax*4+36]
	mov	DWORD PTR _B$24[ebp], ecx
	mov	edx, DWORD PTR _B$24[ebp]
	mov	DWORD PTR _F$8[ebp], edx
	mov	eax, 1
	mov	ecx, DWORD PTR _I$5[ebp]
	shl	eax, cl
	and	eax, DWORD PTR __gm_
	jne	SHORT $LN22@dlfree
	mov	edx, 1
	mov	ecx, DWORD PTR _I$5[ebp]
	shl	edx, cl
	or	edx, DWORD PTR __gm_
	mov	DWORD PTR __gm_, edx
	jmp	SHORT $LN21@dlfree
$LN22@dlfree:
	mov	eax, DWORD PTR _B$24[ebp]
	mov	ecx, DWORD PTR [eax+8]
	cmp	ecx, DWORD PTR __gm_+16
	jb	SHORT $LN20@dlfree
	mov	edx, DWORD PTR _B$24[ebp]
	mov	eax, DWORD PTR [edx+8]
	mov	DWORD PTR _F$8[ebp], eax
	jmp	SHORT $LN21@dlfree
$LN20@dlfree:
	call	_abort
$LN21@dlfree:
	mov	ecx, DWORD PTR _B$24[ebp]
	mov	edx, DWORD PTR _p$46[ebp]
	mov	DWORD PTR [ecx+8], edx
	mov	eax, DWORD PTR _F$8[ebp]
	mov	ecx, DWORD PTR _p$46[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _p$46[ebp]
	mov	eax, DWORD PTR _F$8[ebp]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR _p$46[ebp]
	mov	edx, DWORD PTR _B$24[ebp]
	mov	DWORD PTR [ecx+12], edx
	jmp	$LN18@dlfree
$LN23@dlfree:
	mov	eax, DWORD PTR _p$46[ebp]
	mov	DWORD PTR _TP$44[ebp], eax
	mov	ecx, DWORD PTR _psize$45[ebp]
	shr	ecx, 8
	mov	DWORD PTR _X$6[ebp], ecx
	cmp	DWORD PTR _X$6[ebp], 0
	jne	SHORT $LN17@dlfree
	mov	DWORD PTR _I$36[ebp], 0
	jmp	$LN16@dlfree
$LN17@dlfree:
	cmp	DWORD PTR _X$6[ebp], 65535		; 0000ffffH
	jbe	SHORT $LN15@dlfree
	mov	DWORD PTR _I$36[ebp], 31		; 0000001fH
	jmp	$LN16@dlfree
$LN15@dlfree:
	mov	edx, DWORD PTR _X$6[ebp]
	mov	DWORD PTR _Y$38[ebp], edx
	mov	eax, DWORD PTR _Y$38[ebp]
	sub	eax, 256				; 00000100H
	shr	eax, 16					; 00000010H
	and	eax, 8
	mov	DWORD PTR _N$29[ebp], eax
	mov	edx, DWORD PTR _Y$38[ebp]
	mov	ecx, DWORD PTR _N$29[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$38[ebp], edx
	mov	eax, DWORD PTR _Y$38[ebp]
	sub	eax, 4096				; 00001000H
	shr	eax, 16					; 00000010H
	and	eax, 4
	mov	DWORD PTR _K$34[ebp], eax
	mov	ecx, DWORD PTR _N$29[ebp]
	add	ecx, DWORD PTR _K$34[ebp]
	mov	DWORD PTR _N$29[ebp], ecx
	mov	edx, DWORD PTR _Y$38[ebp]
	mov	ecx, DWORD PTR _K$34[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$38[ebp], edx
	mov	eax, DWORD PTR _Y$38[ebp]
	sub	eax, 16384				; 00004000H
	shr	eax, 16					; 00000010H
	and	eax, 2
	mov	DWORD PTR _K$34[ebp], eax
	mov	ecx, DWORD PTR _N$29[ebp]
	add	ecx, DWORD PTR _K$34[ebp]
	mov	DWORD PTR _N$29[ebp], ecx
	mov	edx, DWORD PTR _Y$38[ebp]
	mov	ecx, DWORD PTR _K$34[ebp]
	shl	edx, cl
	mov	DWORD PTR _Y$38[ebp], edx
	mov	eax, DWORD PTR _Y$38[ebp]
	shr	eax, 15					; 0000000fH
	mov	ecx, 14					; 0000000eH
	sub	ecx, DWORD PTR _N$29[ebp]
	add	ecx, eax
	mov	DWORD PTR _K$34[ebp], ecx
	mov	ecx, DWORD PTR _K$34[ebp]
	add	ecx, 7
	mov	edx, DWORD PTR _psize$45[ebp]
	shr	edx, cl
	and	edx, 1
	mov	eax, DWORD PTR _K$34[ebp]
	lea	ecx, DWORD PTR [edx+eax*2]
	mov	DWORD PTR _I$36[ebp], ecx
$LN16@dlfree:
	mov	edx, DWORD PTR _I$36[ebp]
	lea	eax, DWORD PTR __gm_[edx*4+300]
	mov	DWORD PTR _H$15[ebp], eax
	mov	ecx, DWORD PTR _TP$44[ebp]
	mov	edx, DWORD PTR _I$36[ebp]
	mov	DWORD PTR [ecx+28], edx
	mov	eax, 4
	shl	eax, 0
	mov	ecx, DWORD PTR _TP$44[ebp]
	mov	DWORD PTR [ecx+eax+16], 0
	mov	edx, 4
	imul	eax, edx, 0
	mov	ecx, DWORD PTR _TP$44[ebp]
	mov	DWORD PTR [ecx+eax+16], 0
	mov	edx, 1
	mov	ecx, DWORD PTR _I$36[ebp]
	shl	edx, cl
	and	edx, DWORD PTR __gm_+4
	jne	SHORT $LN13@dlfree
	mov	eax, 1
	mov	ecx, DWORD PTR _I$36[ebp]
	shl	eax, cl
	or	eax, DWORD PTR __gm_+4
	mov	DWORD PTR __gm_+4, eax
	mov	ecx, DWORD PTR _H$15[ebp]
	mov	edx, DWORD PTR _TP$44[ebp]
	mov	DWORD PTR [ecx], edx
	mov	eax, DWORD PTR _TP$44[ebp]
	mov	ecx, DWORD PTR _H$15[ebp]
	mov	DWORD PTR [eax+24], ecx
	mov	edx, DWORD PTR _TP$44[ebp]
	mov	eax, DWORD PTR _TP$44[ebp]
	mov	DWORD PTR [edx+12], eax
	mov	ecx, DWORD PTR _TP$44[ebp]
	mov	edx, DWORD PTR _TP$44[ebp]
	mov	DWORD PTR [ecx+8], edx
	jmp	$LN18@dlfree
$LN13@dlfree:
	mov	eax, DWORD PTR _H$15[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _T$35[ebp], ecx
	cmp	DWORD PTR _I$36[ebp], 31		; 0000001fH
	jne	SHORT $LN123@dlfree
	mov	DWORD PTR tv452[ebp], 0
	jmp	SHORT $LN124@dlfree
$LN123@dlfree:
	mov	edx, DWORD PTR _I$36[ebp]
	shr	edx, 1
	add	edx, 6
	mov	eax, 31					; 0000001fH
	sub	eax, edx
	mov	DWORD PTR tv452[ebp], eax
$LN124@dlfree:
	mov	edx, DWORD PTR _psize$45[ebp]
	mov	ecx, DWORD PTR tv452[ebp]
	shl	edx, cl
	mov	DWORD PTR _K$13[ebp], edx
$LN11@dlfree:
	mov	eax, DWORD PTR _T$35[ebp]
	mov	ecx, DWORD PTR [eax+4]
	and	ecx, -4					; fffffffcH
	cmp	ecx, DWORD PTR _psize$45[ebp]
	je	SHORT $LN9@dlfree
	mov	edx, DWORD PTR _K$13[ebp]
	shr	edx, 31					; 0000001fH
	and	edx, 1
	mov	eax, DWORD PTR _T$35[ebp]
	lea	ecx, DWORD PTR [eax+edx*4+16]
	mov	DWORD PTR _C$17[ebp], ecx
	mov	edx, DWORD PTR _K$13[ebp]
	shl	edx, 1
	mov	DWORD PTR _K$13[ebp], edx
	mov	eax, DWORD PTR _C$17[ebp]
	cmp	DWORD PTR [eax], 0
	je	SHORT $LN8@dlfree
	mov	ecx, DWORD PTR _C$17[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _T$35[ebp], edx
	jmp	SHORT $LN7@dlfree
$LN8@dlfree:
	mov	eax, DWORD PTR _C$17[ebp]
	cmp	eax, DWORD PTR __gm_+16
	jb	SHORT $LN6@dlfree
	mov	ecx, DWORD PTR _C$17[ebp]
	mov	edx, DWORD PTR _TP$44[ebp]
	mov	DWORD PTR [ecx], edx
	mov	eax, DWORD PTR _TP$44[ebp]
	mov	ecx, DWORD PTR _T$35[ebp]
	mov	DWORD PTR [eax+24], ecx
	mov	edx, DWORD PTR _TP$44[ebp]
	mov	eax, DWORD PTR _TP$44[ebp]
	mov	DWORD PTR [edx+12], eax
	mov	ecx, DWORD PTR _TP$44[ebp]
	mov	edx, DWORD PTR _TP$44[ebp]
	mov	DWORD PTR [ecx+8], edx
	jmp	SHORT $LN18@dlfree
	jmp	SHORT $LN7@dlfree
$LN6@dlfree:
	call	_abort
	jmp	SHORT $LN18@dlfree
$LN7@dlfree:
	jmp	SHORT $LN4@dlfree
$LN9@dlfree:
	mov	eax, DWORD PTR _T$35[ebp]
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR _F$11[ebp], ecx
	mov	edx, DWORD PTR _T$35[ebp]
	cmp	edx, DWORD PTR __gm_+16
	jb	SHORT $LN3@dlfree
	mov	eax, DWORD PTR _F$11[ebp]
	cmp	eax, DWORD PTR __gm_+16
	jb	SHORT $LN3@dlfree
	mov	ecx, DWORD PTR _F$11[ebp]
	mov	edx, DWORD PTR _TP$44[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _T$35[ebp]
	mov	ecx, DWORD PTR _TP$44[ebp]
	mov	DWORD PTR [eax+8], ecx
	mov	edx, DWORD PTR _TP$44[ebp]
	mov	eax, DWORD PTR _F$11[ebp]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR _TP$44[ebp]
	mov	edx, DWORD PTR _T$35[ebp]
	mov	DWORD PTR [ecx+12], edx
	mov	eax, DWORD PTR _TP$44[ebp]
	mov	DWORD PTR [eax+24], 0
	jmp	SHORT $LN18@dlfree
	jmp	SHORT $LN4@dlfree
$LN3@dlfree:
	call	_abort
	jmp	SHORT $LN18@dlfree
$LN4@dlfree:
	jmp	$LN11@dlfree
$LN18@dlfree:
; Line 4341
	jmp	SHORT $postaction$126
$erroraction$125:
; Line 4345
	call	_abort
$postaction$126:
; Line 4347
	mov	ecx, DWORD PTR __gm_+436
	and	ecx, 2
	je	SHORT $LN119@dlfree
	push	OFFSET __gm_+440
	call	_win32_release_lock
	add	esp, 4
$LN119@dlfree:
; Line 4353
	mov	esp, ebp
	pop	ebp
	ret	0
_dlfree	ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_r$1 = -128						; size = 4
_rsize$2 = -124						; size = 4
_leastbit$3 = -120					; size = 4
_r$4 = -116						; size = 4
_DVS$5 = -112						; size = 4
_leftbits$6 = -108					; size = 4
tv78 = -104						; size = 4
tv71 = -100						; size = 4
_p$7 = -96						; size = 4
_dvs$8 = -92						; size = 4
_r$9 = -88						; size = 4
_F$10 = -84						; size = 4
_I$11 = -80						; size = 4
_rsize$12 = -76						; size = 4
_DV$13 = -72						; size = 4
_b$14 = -68						; size = 4
_F$15 = -64						; size = 4
_smallbits$16 = -60					; size = 4
_b$17 = -56						; size = 4
_F$18 = -52						; size = 4
_rsize$19 = -48						; size = 4
_B$20 = -44						; size = 4
_p$21 = -40						; size = 4
_p$22 = -36						; size = 4
_i$23 = -32						; size = 4
_p$24 = -28						; size = 4
_mem$25 = -24						; size = 4
_N$26 = -20						; size = 4
_idx$27 = -16						; size = 4
_K$28 = -12						; size = 4
_Y$29 = -8						; size = 4
_nb$30 = -4						; size = 4
_bytes$ = 8						; size = 4
_dlmalloc PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\dlmalloc.c
; Line 4123
	push	ebp
	mov	ebp, esp
	sub	esp, 128				; 00000080H
	push	esi
; Line 4147
	cmp	DWORD PTR _mparams+4, 0
	jne	SHORT $LN36@dlmalloc
	call	_init_mparams
	test	eax, eax
	jne	SHORT $LN37@dlmalloc
$LN36@dlmalloc:
	mov	eax, DWORD PTR __gm_+436
	and	eax, 2
	jne	SHORT $LN37@dlmalloc
	mov	DWORD PTR tv71[ebp], 0
	jmp	SHORT $LN38@dlmalloc
$LN37@dlmalloc:
	push	OFFSET __gm_+440
	call	_win32_acquire_lock
	add	esp, 4
	mov	DWORD PTR tv71[ebp], eax
$LN38@dlmalloc:
	cmp	DWORD PTR tv71[ebp], 0
	jne	$LN33@dlmalloc
; Line 4150
	cmp	DWORD PTR _bytes$[ebp], 244		; 000000f4H
	ja	$LN32@dlmalloc
; Line 4153
	cmp	DWORD PTR _bytes$[ebp], 11		; 0000000bH
	jae	SHORT $LN39@dlmalloc
	mov	DWORD PTR tv78[ebp], 16			; 00000010H
	jmp	SHORT $LN40@dlmalloc
$LN39@dlmalloc:
	mov	ecx, DWORD PTR _bytes$[ebp]
	add	ecx, 11					; 0000000bH
	and	ecx, -8					; fffffff8H
	mov	DWORD PTR tv78[ebp], ecx
$LN40@dlmalloc:
	mov	edx, DWORD PTR tv78[ebp]
	mov	DWORD PTR _nb$30[ebp], edx
; Line 4154
	mov	eax, DWORD PTR _nb$30[ebp]
	shr	eax, 3
	mov	DWORD PTR _idx$27[ebp], eax
; Line 4155
	mov	edx, DWORD PTR __gm_
	mov	ecx, DWORD PTR _idx$27[ebp]
	shr	edx, cl
	mov	DWORD PTR _smallbits$16[ebp], edx
; Line 4157
	mov	eax, DWORD PTR _smallbits$16[ebp]
	and	eax, 3
	je	$LN31@dlmalloc
; Line 4159
	mov	ecx, DWORD PTR _smallbits$16[ebp]
	not	ecx
	and	ecx, 1
	add	ecx, DWORD PTR _idx$27[ebp]
	mov	DWORD PTR _idx$27[ebp], ecx
; Line 4160
	mov	edx, DWORD PTR _idx$27[ebp]
	shl	edx, 1
	lea	eax, DWORD PTR __gm_[edx*4+36]
	mov	DWORD PTR _b$17[ebp], eax
; Line 4161
	mov	ecx, DWORD PTR _b$17[ebp]
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR _p$21[ebp], edx
; Line 4163
	mov	eax, DWORD PTR _p$21[ebp]
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR _F$18[ebp], ecx
	mov	edx, DWORD PTR _b$17[ebp]
	cmp	edx, DWORD PTR _F$18[ebp]
	jne	SHORT $LN30@dlmalloc
	mov	eax, 1
	mov	ecx, DWORD PTR _idx$27[ebp]
	shl	eax, cl
	not	eax
	and	eax, DWORD PTR __gm_
	mov	DWORD PTR __gm_, eax
	jmp	SHORT $LN29@dlmalloc
$LN30@dlmalloc:
	mov	ecx, DWORD PTR _F$18[ebp]
	cmp	ecx, DWORD PTR __gm_+16
	jb	SHORT $LN28@dlmalloc
	mov	edx, DWORD PTR _b$17[ebp]
	mov	eax, DWORD PTR _F$18[ebp]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR _F$18[ebp]
	mov	edx, DWORD PTR _b$17[ebp]
	mov	DWORD PTR [ecx+12], edx
	jmp	SHORT $LN29@dlmalloc
$LN28@dlmalloc:
	call	_abort
$LN29@dlmalloc:
; Line 4164
	mov	eax, DWORD PTR _idx$27[ebp]
	shl	eax, 3
	or	eax, 1
	or	eax, 2
	mov	ecx, DWORD PTR _p$21[ebp]
	mov	DWORD PTR [ecx+4], eax
	mov	edx, DWORD PTR _idx$27[ebp]
	mov	eax, DWORD PTR _p$21[ebp]
	mov	ecx, DWORD PTR [eax+edx*8+4]
	or	ecx, 1
	mov	edx, DWORD PTR _idx$27[ebp]
	mov	eax, DWORD PTR _p$21[ebp]
	mov	DWORD PTR [eax+edx*8+4], ecx
; Line 4165
	mov	ecx, DWORD PTR _p$21[ebp]
	add	ecx, 8
	mov	DWORD PTR _mem$25[ebp], ecx
; Line 4167
	jmp	$postaction$41
	jmp	$LN26@dlmalloc
$LN31@dlmalloc:
; Line 4170
	mov	edx, DWORD PTR _nb$30[ebp]
	cmp	edx, DWORD PTR __gm_+8
	jbe	$LN26@dlmalloc
; Line 4171
	cmp	DWORD PTR _smallbits$16[ebp], 0
	je	$LN24@dlmalloc
; Line 4175
	mov	eax, DWORD PTR _smallbits$16[ebp]
	mov	ecx, DWORD PTR _idx$27[ebp]
	shl	eax, cl
	mov	edx, 1
	mov	ecx, DWORD PTR _idx$27[ebp]
	shl	edx, cl
	shl	edx, 1
	mov	esi, 1
	mov	ecx, DWORD PTR _idx$27[ebp]
	shl	esi, cl
	shl	esi, 1
	neg	esi
	or	edx, esi
	and	eax, edx
	mov	DWORD PTR _leftbits$6[ebp], eax
; Line 4176
	mov	eax, DWORD PTR _leftbits$6[ebp]
	neg	eax
	and	eax, DWORD PTR _leftbits$6[ebp]
	mov	DWORD PTR _leastbit$3[ebp], eax
; Line 4177
	mov	ecx, DWORD PTR _leastbit$3[ebp]
	sub	ecx, 1
	mov	DWORD PTR _Y$29[ebp], ecx
	mov	edx, DWORD PTR _Y$29[ebp]
	shr	edx, 12					; 0000000cH
	and	edx, 16					; 00000010H
	mov	DWORD PTR _K$28[ebp], edx
	mov	eax, DWORD PTR _K$28[ebp]
	mov	DWORD PTR _N$26[ebp], eax
	mov	edx, DWORD PTR _Y$29[ebp]
	mov	ecx, DWORD PTR _K$28[ebp]
	shr	edx, cl
	mov	DWORD PTR _Y$29[ebp], edx
	mov	eax, DWORD PTR _Y$29[ebp]
	shr	eax, 5
	and	eax, 8
	mov	DWORD PTR _K$28[ebp], eax
	mov	ecx, DWORD PTR _N$26[ebp]
	add	ecx, DWORD PTR _K$28[ebp]
	mov	DWORD PTR _N$26[ebp], ecx
	mov	edx, DWORD PTR _Y$29[ebp]
	mov	ecx, DWORD PTR _K$28[ebp]
	shr	edx, cl
	mov	DWORD PTR _Y$29[ebp], edx
	mov	eax, DWORD PTR _Y$29[ebp]
	shr	eax, 2
	and	eax, 4
	mov	DWORD PTR _K$28[ebp], eax
	mov	ecx, DWORD PTR _N$26[ebp]
	add	ecx, DWORD PTR _K$28[ebp]
	mov	DWORD PTR _N$26[ebp], ecx
	mov	edx, DWORD PTR _Y$29[ebp]
	mov	ecx, DWORD PTR _K$28[ebp]
	shr	edx, cl
	mov	DWORD PTR _Y$29[ebp], edx
	mov	eax, DWORD PTR _Y$29[ebp]
	shr	eax, 1
	and	eax, 2
	mov	DWORD PTR _K$28[ebp], eax
	mov	ecx, DWORD PTR _N$26[ebp]
	add	ecx, DWORD PTR _K$28[ebp]
	mov	DWORD PTR _N$26[ebp], ecx
	mov	edx, DWORD PTR _Y$29[ebp]
	mov	ecx, DWORD PTR _K$28[ebp]
	shr	edx, cl
	mov	DWORD PTR _Y$29[ebp], edx
	mov	eax, DWORD PTR _Y$29[ebp]
	shr	eax, 1
	and	eax, 1
	mov	DWORD PTR _K$28[ebp], eax
	mov	ecx, DWORD PTR _N$26[ebp]
	add	ecx, DWORD PTR _K$28[ebp]
	mov	DWORD PTR _N$26[ebp], ecx
	mov	edx, DWORD PTR _Y$29[ebp]
	mov	ecx, DWORD PTR _K$28[ebp]
	shr	edx, cl
	mov	DWORD PTR _Y$29[ebp], edx
	mov	eax, DWORD PTR _N$26[ebp]
	add	eax, DWORD PTR _Y$29[ebp]
	mov	DWORD PTR _i$23[ebp], eax
; Line 4178
	mov	ecx, DWORD PTR _i$23[ebp]
	shl	ecx, 1
	lea	edx, DWORD PTR __gm_[ecx*4+36]
	mov	DWORD PTR _b$14[ebp], edx
; Line 4179
	mov	eax, DWORD PTR _b$14[ebp]
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR _p$24[ebp], ecx
; Line 4181
	mov	edx, DWORD PTR _p$24[ebp]
	mov	eax, DWORD PTR [edx+8]
	mov	DWORD PTR _F$15[ebp], eax
	mov	ecx, DWORD PTR _b$14[ebp]
	cmp	ecx, DWORD PTR _F$15[ebp]
	jne	SHORT $LN23@dlmalloc
	mov	edx, 1
	mov	ecx, DWORD PTR _i$23[ebp]
	shl	edx, cl
	not	edx
	and	edx, DWORD PTR __gm_
	mov	DWORD PTR __gm_, edx
	jmp	SHORT $LN22@dlmalloc
$LN23@dlmalloc:
	mov	eax, DWORD PTR _F$15[ebp]
	cmp	eax, DWORD PTR __gm_+16
	jb	SHORT $LN21@dlmalloc
	mov	ecx, DWORD PTR _b$14[ebp]
	mov	edx, DWORD PTR _F$15[ebp]
	mov	DWORD PTR [ecx+8], edx
	mov	eax, DWORD PTR _F$15[ebp]
	mov	ecx, DWORD PTR _b$14[ebp]
	mov	DWORD PTR [eax+12], ecx
	jmp	SHORT $LN22@dlmalloc
$LN21@dlmalloc:
	call	_abort
$LN22@dlmalloc:
; Line 4182
	mov	edx, DWORD PTR _i$23[ebp]
	shl	edx, 3
	sub	edx, DWORD PTR _nb$30[ebp]
	mov	DWORD PTR _rsize$12[ebp], edx
; Line 4184
	xor	eax, eax
	je	SHORT $LN19@dlmalloc
; Line 4185
	mov	ecx, DWORD PTR _i$23[ebp]
	shl	ecx, 3
	or	ecx, 1
	or	ecx, 2
	mov	edx, DWORD PTR _p$24[ebp]
	mov	DWORD PTR [edx+4], ecx
	mov	eax, DWORD PTR _i$23[ebp]
	mov	ecx, DWORD PTR _p$24[ebp]
	mov	edx, DWORD PTR [ecx+eax*8+4]
	or	edx, 1
	mov	eax, DWORD PTR _i$23[ebp]
	mov	ecx, DWORD PTR _p$24[ebp]
	mov	DWORD PTR [ecx+eax*8+4], edx
; Line 4186
	jmp	$LN18@dlmalloc
$LN19@dlmalloc:
; Line 4187
	mov	edx, DWORD PTR _nb$30[ebp]
	or	edx, 1
	or	edx, 2
	mov	eax, DWORD PTR _p$24[ebp]
	mov	DWORD PTR [eax+4], edx
; Line 4188
	mov	ecx, DWORD PTR _p$24[ebp]
	add	ecx, DWORD PTR _nb$30[ebp]
	mov	DWORD PTR _r$9[ebp], ecx
; Line 4189
	mov	edx, DWORD PTR _rsize$12[ebp]
	or	edx, 1
	mov	eax, DWORD PTR _r$9[ebp]
	mov	DWORD PTR [eax+4], edx
	mov	ecx, DWORD PTR _r$9[ebp]
	add	ecx, DWORD PTR _rsize$12[ebp]
	mov	edx, DWORD PTR _rsize$12[ebp]
	mov	DWORD PTR [ecx], edx
; Line 4190
	mov	eax, DWORD PTR __gm_+8
	mov	DWORD PTR _DVS$5[ebp], eax
	cmp	DWORD PTR _DVS$5[ebp], 0
	je	$LN17@dlmalloc
	mov	ecx, DWORD PTR __gm_+20
	mov	DWORD PTR _DV$13[ebp], ecx
	mov	edx, DWORD PTR _DVS$5[ebp]
	shr	edx, 3
	mov	DWORD PTR _I$11[ebp], edx
	mov	eax, DWORD PTR _I$11[ebp]
	shl	eax, 1
	lea	ecx, DWORD PTR __gm_[eax*4+36]
	mov	DWORD PTR _B$20[ebp], ecx
	mov	edx, DWORD PTR _B$20[ebp]
	mov	DWORD PTR _F$10[ebp], edx
	mov	eax, 1
	mov	ecx, DWORD PTR _I$11[ebp]
	shl	eax, cl
	and	eax, DWORD PTR __gm_
	jne	SHORT $LN16@dlmalloc
	mov	edx, 1
	mov	ecx, DWORD PTR _I$11[ebp]
	shl	edx, cl
	or	edx, DWORD PTR __gm_
	mov	DWORD PTR __gm_, edx
	jmp	SHORT $LN15@dlmalloc
$LN16@dlmalloc:
	mov	eax, DWORD PTR _B$20[ebp]
	mov	ecx, DWORD PTR [eax+8]
	cmp	ecx, DWORD PTR __gm_+16
	jb	SHORT $LN14@dlmalloc
	mov	edx, DWORD PTR _B$20[ebp]
	mov	eax, DWORD PTR [edx+8]
	mov	DWORD PTR _F$10[ebp], eax
	jmp	SHORT $LN15@dlmalloc
$LN14@dlmalloc:
	call	_abort
$LN15@dlmalloc:
	mov	ecx, DWORD PTR _B$20[ebp]
	mov	edx, DWORD PTR _DV$13[ebp]
	mov	DWORD PTR [ecx+8], edx
	mov	eax, DWORD PTR _F$10[ebp]
	mov	ecx, DWORD PTR _DV$13[ebp]
	mov	DWORD PTR [eax+12], ecx
	mov	edx, DWORD PTR _DV$13[ebp]
	mov	eax, DWORD PTR _F$10[ebp]
	mov	DWORD PTR [edx+8], eax
	mov	ecx, DWORD PTR _DV$13[ebp]
	mov	edx, DWORD PTR _B$20[ebp]
	mov	DWORD PTR [ecx+12], edx
$LN17@dlmalloc:
	mov	eax, DWORD PTR _rsize$12[ebp]
	mov	DWORD PTR __gm_+8, eax
	mov	ecx, DWORD PTR _r$9[ebp]
	mov	DWORD PTR __gm_+20, ecx
$LN18@dlmalloc:
; Line 4192
	mov	edx, DWORD PTR _p$24[ebp]
	add	edx, 8
	mov	DWORD PTR _mem$25[ebp], edx
; Line 4194
	jmp	$postaction$41
	jmp	SHORT $LN26@dlmalloc
$LN24@dlmalloc:
; Line 4197
	cmp	DWORD PTR __gm_+4, 0
	je	SHORT $LN26@dlmalloc
	mov	eax, DWORD PTR _nb$30[ebp]
	push	eax
	push	OFFSET __gm_
	call	_tmalloc_small
	add	esp, 8
	mov	DWORD PTR _mem$25[ebp], eax
	cmp	DWORD PTR _mem$25[ebp], 0
	je	SHORT $LN26@dlmalloc
; Line 4199
	jmp	$postaction$41
$LN26@dlmalloc:
; Line 4201
	jmp	SHORT $LN10@dlmalloc
$LN32@dlmalloc:
; Line 4203
	cmp	DWORD PTR _bytes$[ebp], -64		; ffffffc0H
	jb	SHORT $LN9@dlmalloc
; Line 4204
	mov	DWORD PTR _nb$30[ebp], -1
; Line 4205
	jmp	SHORT $LN10@dlmalloc
$LN9@dlmalloc:
; Line 4206
	mov	ecx, DWORD PTR _bytes$[ebp]
	add	ecx, 11					; 0000000bH
	and	ecx, -8					; fffffff8H
	mov	DWORD PTR _nb$30[ebp], ecx
; Line 4207
	cmp	DWORD PTR __gm_+4, 0
	je	SHORT $LN10@dlmalloc
	mov	edx, DWORD PTR _nb$30[ebp]
	push	edx
	push	OFFSET __gm_
	call	_tmalloc_large
	add	esp, 8
	mov	DWORD PTR _mem$25[ebp], eax
	cmp	DWORD PTR _mem$25[ebp], 0
	je	SHORT $LN10@dlmalloc
; Line 4209
	jmp	$postaction$41
$LN10@dlmalloc:
; Line 4213
	mov	eax, DWORD PTR _nb$30[ebp]
	cmp	eax, DWORD PTR __gm_+8
	ja	$LN6@dlmalloc
; Line 4214
	mov	ecx, DWORD PTR __gm_+8
	sub	ecx, DWORD PTR _nb$30[ebp]
	mov	DWORD PTR _rsize$19[ebp], ecx
; Line 4215
	mov	edx, DWORD PTR __gm_+20
	mov	DWORD PTR _p$22[ebp], edx
; Line 4216
	cmp	DWORD PTR _rsize$19[ebp], 16		; 00000010H
	jb	SHORT $LN5@dlmalloc
; Line 4217
	mov	eax, DWORD PTR _p$22[ebp]
	add	eax, DWORD PTR _nb$30[ebp]
	mov	DWORD PTR __gm_+20, eax
	mov	ecx, DWORD PTR __gm_+20
	mov	DWORD PTR _r$4[ebp], ecx
; Line 4218
	mov	edx, DWORD PTR _rsize$19[ebp]
	mov	DWORD PTR __gm_+8, edx
; Line 4219
	mov	eax, DWORD PTR _rsize$19[ebp]
	or	eax, 1
	mov	ecx, DWORD PTR _r$4[ebp]
	mov	DWORD PTR [ecx+4], eax
	mov	edx, DWORD PTR _r$4[ebp]
	add	edx, DWORD PTR _rsize$19[ebp]
	mov	eax, DWORD PTR _rsize$19[ebp]
	mov	DWORD PTR [edx], eax
; Line 4220
	mov	ecx, DWORD PTR _nb$30[ebp]
	or	ecx, 1
	or	ecx, 2
	mov	edx, DWORD PTR _p$22[ebp]
	mov	DWORD PTR [edx+4], ecx
; Line 4222
	jmp	SHORT $LN4@dlmalloc
$LN5@dlmalloc:
; Line 4223
	mov	eax, DWORD PTR __gm_+8
	mov	DWORD PTR _dvs$8[ebp], eax
; Line 4224
	mov	DWORD PTR __gm_+8, 0
; Line 4225
	mov	DWORD PTR __gm_+20, 0
; Line 4226
	mov	ecx, DWORD PTR _dvs$8[ebp]
	or	ecx, 1
	or	ecx, 2
	mov	edx, DWORD PTR _p$22[ebp]
	mov	DWORD PTR [edx+4], ecx
	mov	eax, DWORD PTR _p$22[ebp]
	add	eax, DWORD PTR _dvs$8[ebp]
	mov	ecx, DWORD PTR [eax+4]
	or	ecx, 1
	mov	edx, DWORD PTR _p$22[ebp]
	add	edx, DWORD PTR _dvs$8[ebp]
	mov	DWORD PTR [edx+4], ecx
$LN4@dlmalloc:
; Line 4228
	mov	eax, DWORD PTR _p$22[ebp]
	add	eax, 8
	mov	DWORD PTR _mem$25[ebp], eax
; Line 4230
	jmp	SHORT $postaction$41
	jmp	SHORT $LN3@dlmalloc
$LN6@dlmalloc:
; Line 4233
	mov	ecx, DWORD PTR _nb$30[ebp]
	cmp	ecx, DWORD PTR __gm_+12
	jae	SHORT $LN3@dlmalloc
; Line 4234
	mov	edx, DWORD PTR __gm_+12
	sub	edx, DWORD PTR _nb$30[ebp]
	mov	DWORD PTR __gm_+12, edx
	mov	eax, DWORD PTR __gm_+12
	mov	DWORD PTR _rsize$2[ebp], eax
; Line 4235
	mov	ecx, DWORD PTR __gm_+24
	mov	DWORD PTR _p$7[ebp], ecx
; Line 4236
	mov	edx, DWORD PTR _p$7[ebp]
	add	edx, DWORD PTR _nb$30[ebp]
	mov	DWORD PTR __gm_+24, edx
	mov	eax, DWORD PTR __gm_+24
	mov	DWORD PTR _r$1[ebp], eax
; Line 4237
	mov	ecx, DWORD PTR _rsize$2[ebp]
	or	ecx, 1
	mov	edx, DWORD PTR _r$1[ebp]
	mov	DWORD PTR [edx+4], ecx
; Line 4238
	mov	eax, DWORD PTR _nb$30[ebp]
	or	eax, 1
	or	eax, 2
	mov	ecx, DWORD PTR _p$7[ebp]
	mov	DWORD PTR [ecx+4], eax
; Line 4239
	mov	edx, DWORD PTR _p$7[ebp]
	add	edx, 8
	mov	DWORD PTR _mem$25[ebp], edx
; Line 4242
	jmp	SHORT $postaction$41
$LN3@dlmalloc:
; Line 4245
	mov	eax, DWORD PTR _nb$30[ebp]
	push	eax
	push	OFFSET __gm_
	call	_sys_alloc
	add	esp, 8
	mov	DWORD PTR _mem$25[ebp], eax
$postaction$41:
; Line 4248
	mov	ecx, DWORD PTR __gm_+436
	and	ecx, 2
	je	SHORT $LN1@dlmalloc
	push	OFFSET __gm_+440
	call	_win32_release_lock
	add	esp, 4
$LN1@dlmalloc:
; Line 4249
	mov	eax, DWORD PTR _mem$25[ebp]
	jmp	SHORT $LN35@dlmalloc
$LN33@dlmalloc:
; Line 4252
	xor	eax, eax
$LN35@dlmalloc:
; Line 4253
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
_dlmalloc ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_ptr$ = 8						; size = 4
_ffi_closure_free PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\closures.c
; Line 590
	push	ebp
	mov	ebp, esp
; Line 598
	mov	eax, DWORD PTR _ptr$[ebp]
	push	eax
	call	_dlfree
	add	esp, 4
; Line 599
	pop	ebp
	ret	0
_ffi_closure_free ENDP
_TEXT	ENDS
; Function compile flags: /Odtp
_TEXT	SEGMENT
_seg$1 = -8						; size = 4
_ptr$ = -4						; size = 4
_size$ = 8						; size = 4
_code$ = 12						; size = 4
_ffi_closure_alloc PROC
; File c:\beefy\beefysyslib\third_party\libffi\src\closures.c
; Line 566
	push	ebp
	mov	ebp, esp
	sub	esp, 8
; Line 569
	cmp	DWORD PTR _code$[ebp], 0
	jne	SHORT $LN2@ffi_closur
; Line 570
	xor	eax, eax
	jmp	SHORT $LN3@ffi_closur
$LN2@ffi_closur:
; Line 572
	mov	eax, DWORD PTR _size$[ebp]
	push	eax
	call	_dlmalloc
	add	esp, 4
	mov	DWORD PTR _ptr$[ebp], eax
; Line 574
	cmp	DWORD PTR _ptr$[ebp], 0
	je	SHORT $LN1@ffi_closur
; Line 576
	mov	ecx, DWORD PTR _ptr$[ebp]
	push	ecx
	push	OFFSET __gm_
	call	_segment_holding
	add	esp, 8
	mov	DWORD PTR _seg$1[ebp], eax
; Line 578
	mov	edx, DWORD PTR _seg$1[ebp]
	mov	eax, DWORD PTR _ptr$[ebp]
	add	eax, DWORD PTR [edx+12]
	mov	ecx, DWORD PTR _code$[ebp]
	mov	DWORD PTR [ecx], eax
$LN1@ffi_closur:
; Line 581
	mov	eax, DWORD PTR _ptr$[ebp]
$LN3@ffi_closur:
; Line 582
	mov	esp, ebp
	pop	ebp
	ret	0
_ffi_closure_alloc ENDP
_TEXT	ENDS
END
