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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x60
mov ebp, eax
mov eax, dword [ebp + 0x58]
cmp eax, 4
jne 0x872727
lea ebx, [ebp + 0x78]
mov dword [esp + 0x54], ebp
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.008769d4
add esp, 8
cmp eax, 0xffffffff
je 0x872752
test eax, eax
jle 0x87243f
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x54]
lea ebp, [ebp + 0x250]
lea eax, [esp + 0x14]
push eax
push ebp
call fcn.0087775c
add esp, 8
test eax, eax
jne 0x872298
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x54]
lea ebx, [ebp + 0x1e0]
push 0
push ebx
call fcn.00875a30
add esp, 8
mov edx, dword [esp + 0x58]
mov dword [esp + 0x5c], ebx
mov ebx, eax
test ebx, ebx
je 0x87230f
mov eax, 0xffffff7f
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
push edx
mov edx, dword [esp + 0x60]
push edx
call fcn.00874280
push 0
mov edx, dword [esp + 0x68]
push edx
call fcn.00875a30
add esp, 0x10
sub eax, ebx
lea ebx, [edi + 1]
lea ecx, [esi + 1]
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fadd qword [ebp + 0x70]
fstp qword [ebp + 0x70]
mov edx, dword [esp + 0x18]
add edx, edx
add edx, edx
add edx, edx
or ebx, ecx
mov dword [esp + 0x4c], edx
fild dword [esp + 0x4c]
fadd qword [ebp + 0x68]
fstp qword [ebp + 0x68]
je 0x87242d
cmp dword [esp + 0x20], 0
jne 0x87242d
mov edx, dword [ebp + 4]
test edx, edx
je 0x872376
mov ebx, dword [ebp + 0x60]
jmp 0x87237b
mov ebx, 0
je 0x87238e
test ebx, ebx
jle 0x87238e
lea ecx, [ebx + ebx]
mov edx, dword [ebp + 0x44]
sub edi, dword [edx + ecx*8]
sbb esi, dword [edx + ecx*8 + 4]
mov edx, esi
sub edx, 0
jge 0x872399
xor edi, edi
xor esi, esi
push 0
mov edx, dword [esp + 0x60]
push edx
call fcn.00875a30
add esp, 8
xor ecx, ecx
cdq
sub edi, eax
sbb esi, edx
test ebx, ebx
jle 0x872427
cmp ebx, 6
jl 0x87243a
mov edx, dword [ebp + 0x44]
lea eax, [ebx - 6]
mov dword [esp + 0x58], eax
lea eax, [ecx + ecx]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x58]
add edi, dword [eax + edx + 8]
adc esi, dword [eax + edx + 0xc]
add edi, dword [eax + edx + 0x18]
adc esi, dword [eax + edx + 0x1c]
add edi, dword [eax + edx + 0x28]
adc esi, dword [eax + edx + 0x2c]
add edi, dword [eax + edx + 0x38]
adc esi, dword [eax + edx + 0x3c]
add edi, dword [eax + edx + 0x48]
adc esi, dword [eax + edx + 0x4c]
add eax, 0x50
add ecx, 5
cmp ecx, ebp
jle 0x8723d7
mov ebp, dword [esp + 0x54]
lea eax, [ecx + ecx]
add eax, eax
add eax, eax
add eax, eax
lea eax, [edx + eax + 8]
add edi, dword [eax]
adc esi, dword [eax + 4]
add eax, 0x10
inc ecx
cmp ecx, ebx
jl 0x87241a
mov dword [ebp + 0x50], edi
mov dword [ebp + 0x54], esi
mov eax, 1
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [ebp + 0x44]
jmp 0x87240d
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x58]
mov esi, dword [esp + 0x54]
cmp eax, 2
jge 0x872572
cmp eax, 4
je 0x872550
cmp eax, 3
jge 0x87250d
cmp dword [esi + 4], 0
je 0x8724e3
lea edx, [esp + 0x34]
push edx
call fcn.00875ffc
pop ecx
mov dword [esi + 0x5c], eax
xor ecx, ecx
mov ebx, dword [esi + 0x34]
test ebx, ebx
jle 0x8724bd
cmp ebx, 6
jl 0x872693
mov edx, dword [esi + 0x40]
cmp eax, dword [edx + ecx*4]
je 0x8724bd
inc ecx
cmp eax, dword [edx + ecx*4]
je 0x8724bd
inc ecx
cmp eax, dword [edx + ecx*4]
je 0x8724bd
inc ecx
cmp eax, dword [edx + ecx*4]
je 0x8724bd
inc ecx
cmp eax, dword [edx + ecx*4]
je 0x8724bd
inc ecx
lea ebp, [ebx - 6]
cmp ecx, ebp
jle 0x87248e
cmp eax, dword [edx + ecx*4]
je 0x8724bd
inc ecx
cmp ecx, ebx
jl 0x8724b3
cmp ecx, ebx
je 0x872767
mov dword [esi + 0x60], ecx
lea edx, [esi + 0x78]
push eax
push edx
call fcn.0087696c
add esp, 8
mov eax, 3
mov dword [esi + 0x58], 3
jmp 0x87250d
lea ebx, [esi + 0x5c]
lea ebp, [esp + 0x34]
mov eax, esi
mov dword [esp + 0xc], ebx
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov dword [esp + 0x10], ebp
call fcn.00871058
test eax, eax
jne 0x87275f
inc dword [esi + 0x60]
mov eax, dword [esi + 0x58]
cmp eax, 3
jg 0x872546
jl 0x87253f
cmp dword [esi + 4], 0
jne 0x8726c5
lea ebx, [esi + 0x1e0]
push dword [esi + 0x48]
push ebx
call fcn.00875b2c
add esp, 8
test eax, eax
je 0x87269b
mov eax, 0xffffff77
jmp 0x872548
mov eax, 0xffffff7f
jmp 0x872548
xor eax, eax
test eax, eax
jl 0x87274a
lea ebx, [esi + 0x78]
lea edx, [esp + 0x34]
push edx
push ebx
call fcn.0087658c
add esp, 8
mov eax, dword [esi + 0x58]
cmp eax, 4
jne 0x87244a
jmp 0x872298
lea ebp, [esp + 0x34]
lea ebx, [esi + 0x18]
push ebp
push ebx
call fcn.00876198
add esp, 8
test eax, eax
jl 0x872711
jne 0x8726fd
call fcn.00859dd6
mov dword [eax], 0
cmp dword [esi], 0
je 0x8725e4
push 0x2134
push ebx
call fcn.008760f8
push dword [esi]
push 0x2134
push 1
push eax
call dword [esi + 0x2c0]
mov edi, eax
add esp, 0x18
test edi, edi
jle 0x8725d1
push edi
push ebx
call fcn.0087617c
add esp, 8
jmp 0x8725e6
jne 0x8725e6
call fcn.00859dd6
cmp dword [eax], 0
je 0x8725e6
mov edi, 0xffffffff
jmp 0x8725e6
xor edi, edi
test edi, edi
je 0x8726f3
jge 0x872579
mov ecx, 0xffffff80
test ecx, ecx
jl 0x87273d
mov eax, dword [esp + 0x38]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x4c], eax
fild dword [esp + 0x4c]
mov eax, dword [esi + 0x58]
cmp eax, 4
fadd qword [esi + 0x68]
fstp qword [esi + 0x68]
jne 0x872453
lea eax, [esp + 0x34]
push eax
call fcn.00875ffc
pop ecx
cmp eax, dword [esi + 0x5c]
je 0x87268b
cmp dword [esp + 0x80], 0
je 0x872730
lea eax, [esi + 0x1e0]
push eax
call fcn.00873fc4
lea eax, [esi + 0x250]
push eax
call fcn.00873ec4
add esp, 8
mov eax, 2
cmp dword [esi + 4], 0
mov dword [esi + 0x58], 2
jne 0x872453
push dword [esi + 0x48]
call fcn.00876cd8
push dword [esi + 0x4c]
call fcn.00876c4c
add esp, 8
mov eax, dword [esi + 0x58]
jmp 0x872453
mov eax, dword [esi + 0x58]
jmp 0x872453
mov edx, dword [esi + 0x40]
jmp 0x8724b3
lea edx, [esi + 0x250]
push edx
push ebx
call fcn.00875f44
add esp, 8
mov dword [esi + 0x58], 4
xor eax, eax
fld qword [0x99a5f8]
fst qword [esi + 0x68]
fstp qword [esi + 0x70]
jmp 0x872548
lea ebx, [esi + 0x1e0]
mov edx, dword [esi + 0x60]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
add edx, edx
add edx, dword [esi + 0x48]
push edx
push ebx
call fcn.00875b2c
add esp, 8
test eax, eax
je 0x87269b
mov eax, 0xffffff77
jmp 0x872548
mov ecx, 0xfffffffe
jmp 0x8725f5
mov ecx, dword [esi + 8]
cdq
add eax, ecx
adc edx, dword [esi + 0xc]
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp 0x8725f5
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
cdq
sub ecx, eax
sbb edi, edx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edi
jmp 0x872579
mov dword [esp + 0x54], ebp
jmp 0x872446
mov eax, 0xfffffffe
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xfffffffe
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xfffffffd
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffff77
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret