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

Disassembly:
sub esp, 0xdc
push ebx
push ebp
mov ebp, dword [esp + 0xe8]
test ebp, ebp
push esi
push edi
jne 0x5ec289
xor eax, eax
mov ax, word [0x7d45f2]
push eax
call fcn.00595370
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x5ec289
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0xdc
ret
xor ecx, ecx
mov cx, word [0x7d4784]
push ecx
mov ecx, ebp
call fcn.00582de0
xor edx, edx
mov dx, word [0x7d4642]
mov ecx, ebp
mov esi, eax
push edx
call fcn.00582de0
mov ebx, eax
test ebx, ebx
jne 0x5ec2c0
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0xdc
ret
push 0x7de664
lea ecx, [esp + 0x3c]
call fcn.006e7cd0
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.005264b0
mov edi, eax
test edi, edi
je 0x5ec34b
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
push 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [eax + 0x14]
lea edx, [esp + 0x88]
push edx
call fcn.004e86b0
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0xd0]
push edx
mov ecx, edi
call fcn.0053f100
mov ecx, eax
call fcn.006e80a0
fld dword [esp + 0x5c]
fstp dword [esp + 0x38]
fld dword [esp + 0x60]
fstp dword [esp + 0x40]
fld dword [esp + 0x68]
fstp dword [esp + 0x50]
fld dword [esp + 0x6c]
fstp dword [esp + 0x58]
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e0]
fld dword [ecx + 0x1c]
push ecx
fmul dword [0x74b508]
lea ecx, [esp + 0xa8]
fstp dword [esp]
call fcn.006e7d60
lea edx, [esp + 0xa4]
push edx
lea eax, [esp + 0xcc]
push eax
lea ecx, [esp + 0x40]
call fcn.006e80a0
push eax
lea ecx, [esp + 0x3c]
call fcn.006e7cd0
mov edi, dword [ebx + 0x88]
xor eax, eax
test esi, esi
setne al
mov dword [esp + 0x24], 0
inc eax
test eax, eax
mov dword [esp + 0x1c], eax
jle 0x5ec3e0
test edi, edi
je 0x5ec2b3
lea ecx, [esp + 0x38]
push ecx
lea ecx, [edi + 0x2c]
call fcn.006e93d0
test esi, esi
je 0x5ec3cf
mov edi, dword [esi + 0x88]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x5ec3b0
mov eax, dword [ebp + 0x70]
mov edx, dword [0x7de6cc]
mov ecx, dword [0x7de6d4]
test eax, eax
mov eax, dword [0x7de6d0]
mov dword [esp + 0x10], edx
setne byte [esp + 0x23]
xor edx, edx
mov dx, word [0x7d476c]
mov dword [esp + 0x18], ecx
mov ecx, ebp
mov dword [esp + 0x14], eax
push edx
call fcn.00582de0
test esi, esi
je 0x5ec777
test eax, eax
je 0x5ec777
mov cl, byte [eax + 0x76]
test cl, cl
je 0x5ec777
mov eax, dword [esi + 0x88]
mov ecx, dword [0x7c67e0]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0xac]
test eax, eax
je 0x5ec550
cmp eax, dword [0x7d479c]
je 0x5ec49d
mov ecx, dword [ecx]
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.004b9200
mov ecx, dword [0x7c67e0]
mov edx, dword [ecx + 0xac]
mov dword [0x7d479c], edx
mov edx, dword [esp + 0x2c]
mov dword [0x7d4610], edx
mov edx, dword [esp + 0x30]
mov dword [0x7d4614], edx
mov edx, dword [esp + 0x34]
mov dword [0x7d47a0], eax
mov dword [0x7d4618], edx
jmp 0x5ec4c0
mov edx, dword [0x7d4610]
mov eax, dword [0x7d47a0]
mov dword [esp + 0x2c], edx
mov edx, dword [0x7d4614]
mov dword [esp + 0x30], edx
mov edx, dword [0x7d4618]
mov dword [esp + 0x34], edx
test eax, eax
je 0x5ec4ff
fld dword [esp + 0x2c]
fmul dword [0x74b520]
fadd dword [0x7475e4]
fstp dword [esp + 0x10]
fld dword [esp + 0x30]
fmul dword [0x74b51c]
fsub dword [0x74b518]
fadd st(0), st(0)
fsub dword [0x7475e4]
fstp dword [esp + 0x18]
mov dword [ecx + 0xb544], eax
jmp 0x5ec59a
mov ecx, dword [ecx + 0xb544]
test ecx, ecx
je 0x5ec59a
call fcn.004db9d0
mov ecx, dword [0x7c67e0]
lea eax, [eax + eax*8]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fadd st(0), st(0)
fadd dword [0x74b514]
fstp dword [esp + 0x10]
mov ecx, dword [ecx + 0xb544]
call fcn.004db9f0
lea edx, [eax + eax*8 - 9]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fadd st(0), st(0)
fsub dword [0x74b510]
jmp 0x5ec596
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov eax, dword [eax + 0x14]
fld dword [eax + 0x38]
mov ecx, dword [0x7c67dc]
fmul dword [0x74b520]
fadd dword [0x7475e4]
fstp dword [esp + 0x10]
call fcn.0040ff20
mov ecx, dword [eax + 0x14]
fld dword [ecx + 0x3c]
fmul dword [0x74b51c]
fsub dword [0x74b518]
fadd st(0), st(0)
fsub dword [0x7475e4]
fstp dword [esp + 0x18]
xor edx, edx
mov dx, word [0x7d45e0]
mov ecx, ebp
push edx
call fcn.00582de0
mov ecx, dword [esi + 0xdc]
mov edi, eax
mov eax, dword [edi + 0xf4]
xor edx, edx
cmp eax, 0x7fffffff
sete dl
dec edx
and eax, edx
mov edx, dword [esi + 0xe0]
add eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0xf8]
xor ecx, ecx
cmp eax, 0x7fffffff
sete cl
dec ecx
and eax, ecx
mov ecx, dword [esp + 0x1c]
add eax, edx
cmp ecx, 0x20
mov dword [esp + 0x28], eax
jl 0x5ec66d
cmp eax, 0xffffffe0
jg 0x5ec66d
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x5ec613
cmp dword [edi + 0xec], 0xffff80cd
jne 0x5ec613
call fcn.0041d1b0
jmp 0x5ec61e
mov eax, dword [edi + 0xec]
cdq
xor eax, edx
sub eax, edx
mov ecx, dword [esp + 0x1c]
add eax, 0xffffffe0
cmp ecx, eax
jg 0x5ec66d
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x5ec643
cmp dword [edi + 0xf0], 0xffff80cd
jne 0x5ec643
call fcn.0041d1e0
jmp 0x5ec64e
mov eax, dword [edi + 0xf0]
cdq
xor eax, edx
sub eax, edx
mov edx, 0x20
sub edx, eax
cmp dword [esp + 0x28], edx
jl 0x5ec66d
mov al, byte [esi + 0x76]
test al, al
jne 0x5ec684
mov ecx, ebp
call fcn.00583b60
push 1
jmp 0x5ec67d
mov al, byte [esi + 0x76]
test al, al
je 0x5ec684
mov ecx, ebp
call fcn.00583b60
push 0
mov ecx, esi
call fcn.0057f2a0
fld dword [esi + 0x158]
fcomp dword [0x746470]
fnstsw ax
test ah, 1
je 0x5ec6ac
mov ecx, ebp
call fcn.00583b60
mov dword [esi + 0x158], 0x3f800000
mov byte [esi + 0x77], 1
fld dword [esp + 0x10]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x5ec6ce
fld dword [esp + 0x18]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
jne 0x5ec74c
fld dword [esp + 0x10]
call sub.MSVCRT.dll__ftol
cmp dword [esi + 0xdc], eax
je 0x5ec70d
mov ecx, ebp
call fcn.00583b60
fld dword [esp + 0x10]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0xdc]
cmp ecx, eax
je 0x5ec6fd
mov byte [esi + 0x78], 1
mov edx, eax
sub edx, ecx
add dword [esi + 0x94], edx
mov dword [esi + 0xdc], eax
fld dword [esp + 0x18]
call sub.MSVCRT.dll__ftol
cmp dword [esi + 0xe0], eax
je 0x5ec74c
mov ecx, ebp
call fcn.00583b60
fld dword [esp + 0x18]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0xe0]
cmp ecx, eax
je 0x5ec73c
mov byte [esi + 0x78], 1
mov edx, eax
sub edx, ecx
add dword [esi + 0x98], edx
mov dword [esi + 0xe0], eax
mov eax, dword [ebp + 0x70]
test eax, eax
jne 0x5ec777
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x30], eax
mov edx, dword [esp + 0x14]
push 1
mov dword [ecx + 0x34], edx
mov eax, dword [esp + 0x1c]
push 0
push 0
mov dword [ecx + 0x38], eax
call fcn.006eb000
xor ecx, ecx
mov cx, word [0x7d4640]
push ecx
mov ecx, ebp
call fcn.00582de0
test eax, eax
je 0x5ec9a1
mov cl, byte [eax + 0x76]
test cl, cl
je 0x5ec9a1
mov edx, dword [ebx + 0x88]
mov ecx, dword [0x7c67dc]
mov dword [esp + 0x24], edx
call fcn.0040ff20
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x10], ecx
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov edx, dword [eax + 0x14]
mov eax, dword [edx + 0x3c]
xor ecx, ecx
mov cx, word [0x7d45ae]
mov dword [esp + 0x14], eax
push ecx
mov ecx, ebp
call fcn.00582de0
mov ecx, dword [ebx + 0xdc]
mov esi, eax
mov eax, dword [esi + 0xf4]
xor edx, edx
cmp eax, 0x7fffffff
sete dl
dec edx
and eax, edx
lea edi, [eax + ecx]
mov eax, dword [esi + 0xf8]
mov ecx, dword [ebx + 0xe0]
xor edx, edx
cmp eax, 0x7fffffff
sete dl
dec edx
and eax, edx
add eax, ecx
cmp edi, 0x20
mov dword [esp + 0x28], eax
jl 0x5ec897
cmp eax, 0xffffffe0
jg 0x5ec897
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x5ec841
cmp dword [esi + 0xec], 0xffff80cd
jne 0x5ec841
call fcn.0041d1b0
jmp 0x5ec84c
mov eax, dword [esi + 0xec]
cdq
xor eax, edx
sub eax, edx
add eax, 0xffffffe0
cmp edi, eax
jg 0x5ec897
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x5ec86d
cmp dword [esi + 0xf0], 0xffff80cd
jne 0x5ec86d
call fcn.0041d1e0
jmp 0x5ec878
mov eax, dword [esi + 0xf0]
cdq
xor eax, edx
sub eax, edx
mov ecx, 0x20
sub ecx, eax
cmp dword [esp + 0x28], ecx
jl 0x5ec897
mov al, byte [ebx + 0x76]
test al, al
jne 0x5ec8ae
mov ecx, ebp
call fcn.00583b60
push 1
jmp 0x5ec8a7
mov al, byte [ebx + 0x76]
test al, al
je 0x5ec8ae
mov ecx, ebp
call fcn.00583b60
push 0
mov ecx, ebx
call fcn.0057f2a0
fld dword [ebx + 0x158]
fcomp dword [0x746470]
fnstsw ax
test ah, 1
je 0x5ec8d6
mov ecx, ebp
call fcn.00583b60
mov dword [ebx + 0x158], 0x3f800000
mov byte [ebx + 0x77], 1
lea edx, [esp + 0x10]
push 0x200
push edx
call fcn.005ed190
fld dword [esp + 0x18]
add esp, 8
call sub.MSVCRT.dll__ftol
cmp dword [ebx + 0xdc], eax
je 0x5ec927
mov ecx, ebp
call fcn.00583b60
fld dword [esp + 0x10]
call sub.MSVCRT.dll__ftol
mov ecx, dword [ebx + 0xdc]
cmp ecx, eax
je 0x5ec917
mov byte [ebx + 0x78], 1
mov edx, eax
sub edx, ecx
add dword [ebx + 0x94], edx
mov dword [ebx + 0xdc], eax
fld dword [esp + 0x14]
call sub.MSVCRT.dll__ftol
cmp dword [ebx + 0xe0], eax
je 0x5ec966
mov ecx, ebp
call fcn.00583b60
fld dword [esp + 0x14]
call sub.MSVCRT.dll__ftol
mov ecx, dword [ebx + 0xe0]
cmp ecx, eax
je 0x5ec956
mov byte [ebx + 0x78], 1
mov edx, eax
sub edx, ecx
add dword [ebx + 0x98], edx
mov dword [ebx + 0xe0], eax
mov eax, dword [ebp + 0x70]
test eax, eax
jne 0x5ec9a1
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [ecx + 0x30], edx
mov eax, dword [esp + 0x14]
push 1
mov dword [ecx + 0x34], eax
mov edx, dword [esp + 0x1c]
push 0
push 0
mov dword [ecx + 0x38], edx
call fcn.006eb000
mov al, byte [esp + 0x23]
test al, al
je 0x5ec9c0
mov eax, dword [ebp + 0x70]
test eax, eax
je 0x5ec9c0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xdc
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xdc
ret