Function at 0x4fe650
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x3c], edi
call fcn.00530490
mov ecx, edi
mov esi, eax
call fcn.005304a0
test esi, esi
je 0x4ff1e1
test eax, eax
je 0x4ff1e1
mov edi, dword [esi + 0x78]
movzx esi, word [edi + 0xe]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx]
mov eax, dword [eax + 0x78]
mov edx, dword [ecx + 0x2c]
shr esi, 3
push ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], esi
call edx
movzx ecx, word [edi + 2]
imul ecx, esi
cdq
idiv ecx
mov edx, dword [esp + 0x40]
mov ecx, eax
mov eax, dword [edx + 4]
imul eax, ecx
xor edx, edx
div dword [edi + 4]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0x6c]
push edx
push ebx
mov dword [esp + 0x5c], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
call eax
test eax, eax
jl 0x4fe73a
mov ebx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x6e8]
add dword [esp + 0x68], eax
mov ecx, dword [ebx + 0x6ec]
lea edx, [esp + 0x70]
adc dword [esp + 0x6c], ecx
add dword [esp + 0x70], eax
mov eax, dword [ebp + 0xc]
push edx
adc dword [esp + 0x78], ecx
mov ecx, dword [eax]
lea edx, [esp + 0x6c]
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
lea edi, [ebx + 0x710]
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
add ebx, 0x718
mov dword [edi + 4], edx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x4fe757
mov edi, dword [esp + 0x3c]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
lea ebx, [edi + 0x718]
push ebx
add edi, 0x710
push edi
push eax
mov eax, dword [edx + 0x18]
call eax
mov eax, dword [esp + 0x30]
push 0
cdq
push 0x989680
push edx
push eax
call fcn.005d9dc0
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 4]
push 0
push ecx
push edx
push eax
call fcn.005da540
add dword [edi], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
adc dword [edi + 4], edx
add dword [ebx], eax
mov eax, dword [ebp + 8]
push eax
adc dword [ebx + 4], edx
mov edx, dword [eax]
mov eax, dword [edx + 0x3c]
call eax
test eax, eax
jne 0x4fe7ac
fld qword [0x64d048]
mov ecx, dword [esp + 0x3c]
fstp qword [ecx + 0x700]
mov ebx, dword [esp + 0x38]
movzx edi, word [ebx]
cmp di, 1
je 0x4fe7dc
cmp di, 0xfffe
jne 0x4fe7d5
lea edx, [ebx + 0x18]
push 0x64b668
push edx
call fcn.00401250
add esp, 8
test eax, eax
jne 0x4fe7dc
mov byte [esp + 0x2e], 0
jmp 0x4fe7e1
mov byte [esp + 0x2e], 1
cmp di, 3
je 0x4fe80a
cmp di, 0xfffe
jne 0x4fe803
push 0x64d060
add ebx, 0x18
push ebx
call fcn.00401250
add esp, 8
test eax, eax
jne 0x4fe80a
mov byte [esp + 0x2f], 0
jmp 0x4fe80f
mov byte [esp + 0x2f], 1
cmp byte [esp + 0x2e], 0
jne 0x4fe837
cmp byte [esp + 0x2f], 0
jne 0x4fe837
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push eax
push ecx
mov ecx, dword [esp + 0x44]
call fcn.005304b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ebx, dword [ebp + 8]
mov edx, dword [ebx]
mov ecx, dword [edx + 0xc]
lea eax, [esp + 0x54]
push eax
xor edi, edi
push ebx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x3c], edi
call ecx
cmp eax, edi
jl 0x4ff1f0
mov edi, dword [ebp + 0xc]
mov edx, dword [edi]
mov ecx, dword [edx + 0xc]
lea eax, [esp + 0x34]
push eax
push edi
call ecx
test eax, eax
jl 0x4ff1f0
cmp dword [esp + 0x54], 0
je 0x4ff1d3
cmp dword [esp + 0x34], 0
je 0x4ff1d3
cmp dword [esp + 0x30], 0
jle 0x4ff1d3
cmp dword [esp + 0x50], 0
jle 0x4ff1d3
mov edx, dword [edi]
mov eax, dword [edx + 0x10]
push edi
call eax
mov ecx, dword [esp + 0x34]
push eax
push 0
push ecx
call fcn.005d9e90
mov edx, dword [esp + 0x48]
add esp, 0xc
cmp byte [edx + 0x1cc], 0
je 0x4feba3
mov eax, dword [esp + 0x38]
movzx ecx, word [eax + 2]
add ecx, 0xa
shl ecx, 4
xor ebx, ebx
cmp dword [ecx + edx], ebx
jbe 0x4feb67
mov eax, dword [esp + 0x40]
cmp word [eax + 2], bx
mov dword [esp + 0x58], ebx
jbe 0x4febb4
mov dword [esp + 0x60], ebx
jmp 0x4fe900
mov ebx, dword [esp + 0x38]
movzx edx, word [ebx + 2]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x3c]
shl edx, 4
push ecx
lea ecx, [edx + eax + 0x9c]
call fcn.00457a50
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x60]
movzx ebx, word [ebx + 2]
mov esi, dword [esp + 0x54]
lea edi, [eax + edx]
mov edx, dword [esp + 0x40]
movzx eax, word [edx + 2]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x44]
imul eax, ecx
imul ebx, ecx
cmp byte [esp + 0x2e], 0
mov dword [esp + 0x4c], eax
je 0x4fea9f
mov eax, dword [esp + 0x38]
movzx eax, word [eax + 0xe]
cmp ax, 8
jne 0x4fe9af
cmp dword [esp + 0x30], 0
jle 0x4feb3b
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x64], ecx
lea esp, [esp]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
movzx ecx, word [eax + 2]
push edi
push esi
push edx
mov edx, dword [esp + 0x54]
push ecx
push edx
call fcn.004fdf80
add edi, dword [esp + 0x60]
add esp, 0x14
add esi, ebx
sub dword [esp + 0x64], 1
jne 0x4fe980
jmp 0x4feb3b
cmp ax, 0x10
jne 0x4fe9ff
cmp dword [esp + 0x30], 0
jle 0x4feb3b
mov eax, dword [esp + 0x30]
mov dword [esp + 0x64], eax
jmp 0x4fe9d0
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
movzx eax, word [edx + 2]
push edi
push esi
push ecx
mov ecx, dword [esp + 0x54]
push eax
push ecx
call fcn.004fe050
add edi, dword [esp + 0x60]
add esp, 0x14
add esi, ebx
sub dword [esp + 0x64], 1
jne 0x4fe9d0
jmp 0x4feb3b
cmp ax, 0x18
jne 0x4fea4f
cmp dword [esp + 0x30], 0
jle 0x4feb3b
mov edx, dword [esp + 0x30]
mov dword [esp + 0x64], edx
jmp 0x4fea20
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
movzx edx, word [ecx + 2]
push edi
push esi
push eax
mov eax, dword [esp + 0x54]
push edx
push eax
call fcn.004fdc80
add edi, dword [esp + 0x60]
add esp, 0x14
add esi, ebx
sub dword [esp + 0x64], 1
jne 0x4fea20
jmp 0x4feb3b
cmp ax, 0x20
jne 0x4fea9f
cmp dword [esp + 0x30], 0
jle 0x4feb3b
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x64], ecx
jmp 0x4fea70
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
movzx ecx, word [eax + 2]
push edi
push esi
push edx
mov edx, dword [esp + 0x54]
push ecx
push edx
call fcn.004fe120
add edi, dword [esp + 0x60]
add esp, 0x14
add esi, ebx
sub dword [esp + 0x64], 1
jne 0x4fea70
jmp 0x4feb3b
cmp byte [esp + 0x2f], 0
je 0x4feb3b
mov eax, dword [esp + 0x38]
movzx eax, word [eax + 0xe]
cmp ax, 0x20
jne 0x4feafc
cmp dword [esp + 0x30], 0
jle 0x4feb3b
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x64], ecx
jmp 0x4fead0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
movzx ecx, word [eax + 2]
push edi
push esi
push edx
mov edx, dword [esp + 0x54]
push ecx
push edx
call fcn.004fe1f0
add edi, dword [esp + 0x60]
add esp, 0x14
add esi, ebx
sub dword [esp + 0x64], 1
jne 0x4fead0
jmp 0x4feb3b
cmp ax, 0x40
jne 0x4feb3b
cmp dword [esp + 0x30], 0
jle 0x4feb3b
mov eax, dword [esp + 0x30]
mov dword [esp + 0x64], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
movzx eax, word [edx + 2]
push edi
push esi
push ecx
mov ecx, dword [esp + 0x54]
push eax
push ecx
call fcn.004fe330
add edi, dword [esp + 0x60]
add esp, 0x14
add esi, ebx
sub dword [esp + 0x64], 1
jne 0x4feb11
mov edx, dword [esp + 0x44]
add dword [esp + 0x60], edx
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x58]
movzx edx, word [ecx + 2]
add eax, 1
cmp eax, edx
mov dword [esp + 0x58], eax
jl 0x4fe900
mov esi, dword [esp + 0x44]
mov edi, dword [ebp + 0xc]
jmp 0x4febb4
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x60]
push ecx
push edi
mov dword [esp + 0x68], ebx
call edx
cmp eax, ebx
jl 0x4ff1f0
cmp dword [esp + 0x60], ebx
je 0x4ff1f0
mov eax, dword [edi]
mov ecx, dword [eax + 0x10]
push edi
call ecx
mov edx, dword [esp + 0x60]
push eax
push ebx
push edx
call fcn.005d9e90
add esp, 0xc
jmp 0x4febb4
push edi
push ebx
mov ecx, edx
call fcn.005304b0
test eax, eax
jne 0x4ff1f0
mov ebx, dword [esp + 0x3c]
cmp byte [ebx + 0x6e0], 0
je 0x4fed17
mov ecx, dword [esp + 0x38]
mov eax, 0xac44
cmp dword [ecx + 4], eax
jbe 0x4fed17
mov edx, dword [esp + 0x40]
cmp dword [edx + 4], eax
jne 0x4fed17
cmp word [ecx + 0xe], 0x10
ja 0x4fed17
cmp byte [esp + 0x2e], 0
je 0x4fed17
mov eax, dword [esp + 0x30]
imul eax, esi
push eax
mov dword [esp + 0x68], eax
call fcn.005b4663
add esp, 4
test eax, eax
mov dword [esp + 0x4c], eax
je 0x4fed17
mov eax, dword [esp + 0x40]
xor ebx, ebx
cmp word [eax + 2], bx
jbe 0x4fed03
lea ebx, [ebx]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x4c]
push ecx
push 0
push edx
call fcn.005d9e90
xor edi, edi
add esp, 0xc
cmp dword [esp + 0x30], edi
jle 0x4fec84
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x40]
movzx edx, word [ecx + 2]
mov eax, dword [esp + 0x60]
imul edx, edi
add edx, ebx
imul edx, esi
add edx, dword [esp + 0x34]
push esi
push edx
push eax
call fcn.005dbeb0
add dword [esp + 0x6c], esi
add edi, 1
add esp, 0xc
cmp edi, dword [esp + 0x30]
jl 0x4fec54
mov ecx, dword [esp + 0x3c]
push ebx
add ecx, 0x6f0
call fcn.004fdf60
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x50]
push ecx
push edx
push ecx
mov ecx, dword [eax]
call fcn.00534c20
xor edi, edi
cmp dword [esp + 0x50], edi
jle 0x4fecf0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x60], eax
jmp 0x4fecc0
mov edx, dword [esp + 0x40]
movzx eax, word [edx + 2]
mov ecx, dword [esp + 0x60]
imul eax, edi
add eax, ebx
imul eax, esi
add eax, dword [esp + 0x34]
push esi
push ecx
push eax
call fcn.005dbeb0
add dword [esp + 0x6c], esi
add edi, 1
add esp, 0xc
cmp edi, dword [esp + 0x50]
jl 0x4fecc0
mov ecx, dword [esp + 0x40]
movzx edx, word [ecx + 2]
add ebx, 1
cmp ebx, edx
jl 0x4fec30
mov eax, dword [esp + 0x4c]
push eax
call fcn.005b465e
mov edi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x40]
add esp, 4
cmp byte [ebx + 0x708], 0
jne 0x4fed33
fld1
fcomp dword [ebx + 0x70c]
fnstsw ax
test ah, 5
jp 0x4ff1af
mov ecx, dword [esp + 0x40]
movzx eax, word [ecx + 2]
imul eax, dword [esp + 0x50]
xor ecx, ecx
mov dword [esp + 0x30], eax
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005b4663
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x60], ebx
je 0x4ff1af
xor eax, eax
cmp dword [esp + 0x30], eax
jle 0x4fee5c
fld qword [0x636b40]
xor edx, edx
fld qword [0x648be0]
fld qword [0x649070]
fld qword [0x64d058]
cmp byte [esp + 0x2e], 0
je 0x4fee16
mov ecx, dword [esp + 0x38]
movzx ecx, word [ecx + 0xe]
cmp cx, 8
jne 0x4fedbd
mov ecx, dword [esp + 0x34]
movzx ecx, byte [eax + ecx]
mov dword [esp + 0x58], ecx
fild dword [esp + 0x58]
fdiv st(4)
jmp 0x4fee41
cmp cx, 0x10
jne 0x4fedd7
mov ecx, dword [esp + 0x34]
movsx ecx, word [ecx + eax*2]
mov dword [esp + 0x58], ecx
fild dword [esp + 0x58]
fdiv st(3)
jmp 0x4fee41
cmp cx, 0x18
jne 0x4fee05
mov ecx, dword [esp + 0x34]
mov si, word [edx + ecx]
mov cl, byte [edx + ecx + 2]
mov byte [esp + 0x67], cl
mov word [esp + 0x65], si
mov ecx, dword [esp + 0x64]
sar ecx, 8
mov dword [esp + 0x58], ecx
fild dword [esp + 0x58]
fdiv st(2)
jmp 0x4fee41
cmp cx, 0x20
jne 0x4fee16
mov ecx, dword [esp + 0x34]
fild dword [ecx + eax*4]
fdiv st(1)
jmp 0x4fee41
cmp byte [esp + 0x2f], 0
je 0x4fee44
mov ecx, dword [esp + 0x38]
movzx ecx, word [ecx + 0xe]
cmp cx, 0x20
jne 0x4fee34
mov ecx, dword [esp + 0x34]
fld dword [ecx + eax*4]
jmp 0x4fee41
cmp cx, 0x40
jne 0x4fee44
mov ecx, dword [esp + 0x34]
fld qword [ecx + eax*8]
fstp qword [ebx + eax*8]
add eax, 1
add edx, 3
cmp eax, dword [esp + 0x30]
jl 0x4fed91
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
fld1
mov edi, dword [esp + 0x3c]
cmp byte [edi + 0x708], 0
fst qword [esp + 0x58]
je 0x4feff9
fldz
xor esi, esi
cmp dword [esp + 0x30], 4
jl 0x4fef6c
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffffc
shr ecx, 2
add ecx, 1
lea edx, [ebx + 0x10]
lea esi, [ecx*4]
fld qword [edx - 0x10]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4feea7
fchs
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x4feeb4
fstp st(0)
fld st(1)
fcom qword [edi + 0x700]
fnstsw ax
test ah, 0x41
jne 0x4feec9
fstp qword [edi + 0x700]
jmp 0x4feecb
fstp st(0)
fld qword [edx - 8]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4feed9
fchs
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x4feee6
fstp st(0)
fld st(1)
fcom qword [edi + 0x700]
fnstsw ax
test ah, 0x41
jne 0x4feefb
fstp qword [edi + 0x700]
jmp 0x4feefd
fstp st(0)
fld qword [edx]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4fef0a
fchs
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x4fef17
fstp st(0)
fld st(1)
fcom qword [edi + 0x700]
fnstsw ax
test ah, 0x41
jne 0x4fef2c
fstp qword [edi + 0x700]
jmp 0x4fef2e
fstp st(0)
fld qword [edx + 8]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4fef3c
fchs
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x4fef49
fstp st(0)
fld st(1)
fcom qword [edi + 0x700]
fnstsw ax
test ah, 0x41
jne 0x4fef5e
fstp qword [edi + 0x700]
jmp 0x4fef60
fstp st(0)
add edx, 0x20
sub ecx, 1
jne 0x4fee99
cmp esi, dword [esp + 0x30]
jge 0x4fefaf
mov ecx, dword [esp + 0x30]
fld qword [ebx + esi*8]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4fef84
fchs
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x4fef91
fstp st(0)
fld st(1)
fcom qword [edi + 0x700]
fnstsw ax
test ah, 0x41
jne 0x4fefa6
fstp qword [edi + 0x700]
jmp 0x4fefa8
fstp st(0)
add esi, 1
cmp esi, ecx
jl 0x4fef76
cmp byte [edi + 0x709], 0
fstp st(0)
fld st(0)
fdiv qword [edi + 0x700]
fstp qword [esp + 0x58]
je 0x4fefdc
fild qword [esp + 0x78]
fdiv qword [0x64d050]
fsubr qword [edi + 0x700]
fstp qword [edi + 0x700]
fld qword [0x638cc0]
fcom qword [edi + 0x700]
fnstsw ax
test ah, 0x41
jne 0x4feff7
fstp qword [edi + 0x700]
jmp 0x4feff9
fstp st(0)
fld1
fcomp dword [edi + 0x70c]
fnstsw ax
test ah, 5
jp 0x4ff02b
fstp st(0)
fld dword [edi + 0x70c]
call fcn.005dd3c0
fstp dword [esp + 0x64]
fld dword [esp + 0x64]
fld1
fadd st(1), st(0)
fxch st(1)
fmul qword [esp + 0x58]
fstp qword [esp + 0x58]
xor esi, esi
cmp dword [esp + 0x30], esi
jle 0x4ff19d
mov ebx, dword [esp + 0x38]
xor edi, edi
cmp byte [esp + 0x2e], 0
mov edx, dword [esp + 0x60]
fld qword [edx + esi*8]
fmul qword [esp + 0x58]
je 0x4ff11c
movzx eax, word [ebx + 0xe]
cmp ax, 8
jne 0x4ff082
push 0xff
fstp st(1)
push 0
sub esp, 8
fstp qword [esp]
call fcn.004fe470
mov ecx, dword [esp + 0x44]
fld1
add esp, 0x10
mov byte [esi + ecx], al
jmp 0x4ff189
cmp ax, 0x10
jne 0x4ff0b1
push 0x7fff
fstp st(1)
push 0xffff8000
sub esp, 8
fstp qword [esp]
call fcn.004fe4e0
mov edx, dword [esp + 0x44]
fld1
add esp, 0x10
mov word [edx + esi*2], ax
jmp 0x4ff189
cmp ax, 0x18
jne 0x4ff0f1
push 0x7fffff
fstp st(1)
push 0xff800000
sub esp, 8
fstp qword [esp]
call fcn.004fe540
fld1
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x44]
mov cx, word [esp + 0x74]
mov dl, byte [esp + 0x76]
add esp, 0x10
add eax, edi
mov word [eax], cx
mov byte [eax + 2], dl
jmp 0x4ff189
cmp ax, 0x20
jne 0x4ff11c
push DirectSoundCreate
fstp st(1)
push DirectSoundCreate
sub esp, 8
fstp qword [esp]
call fcn.004fe540
mov ecx, dword [esp + 0x44]
fld1
add esp, 0x10
mov dword [ecx + esi*4], eax
jmp 0x4ff189
cmp byte [esp + 0x2f], 0
je 0x4ff187
movzx eax, word [ebx + 0xe]
cmp ax, 0x20
jne 0x4ff158
fstp st(1)
sub esp, 0x10
fld1
fstp dword [esp + 0xc]
fld dword [0x649080]
fstp dword [esp + 8]
fstp qword [esp]
call fcn.004fe590
mov edx, dword [esp + 0x44]
fstp dword [edx + esi*4]
add esp, 0x10
fld1
jmp 0x4ff189
cmp ax, 0x40
jne 0x4ff187
sub esp, 0x18
fxch st(1)
fstp qword [esp + 0x10]
fld qword [0x63c5e8]
fstp qword [esp + 8]
fstp qword [esp]
call fcn.004fe600
mov eax, dword [esp + 0x4c]
fstp qword [eax + esi*8]
add esp, 0x18
fld1
jmp 0x4ff189
fstp st(0)
add esi, 1
add edi, 3
cmp esi, dword [esp + 0x30]
jl 0x4ff03d
mov ebx, dword [esp + 0x60]
push ebx
fstp st(0)
call fcn.005b465e
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x48]
add esp, 4
mov edx, dword [esp + 0x40]
movzx eax, word [edx + 2]
imul eax, dword [esp + 0x50]
mov ecx, dword [edi]
imul eax, esi
mov ecx, dword [ecx + 0x30]
push eax
push edi
call ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push edx
push eax
mov ecx, edi
call fcn.005304b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8