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

Disassembly:
sub esp, 0x84
push ebx
push ebp
push esi
mov esi, dword [esp + 0x94]
mov eax, dword [esi + 0x58]
cmp eax, 2
push edi
mov ecx, 0xffffff7d
jl 0x55ba37
mov eax, dword [esi + 4]
test eax, eax
je 0x55ba37
mov eax, dword [esi + 0x34]
cmp eax, 0xffffffff
jle 0x55ba37
xor ebx, ebx
xor ebp, ebp
xor edi, edi
test eax, eax
jle 0x55ba2d
push edi
push esi
call fcn.0055b680
add esp, 8
add ebx, eax
mov eax, dword [esi + 0x34]
adc ebp, edx
inc edi
cmp edi, eax
jl 0x55ba17
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
jmp 0x55ba49
mov dword [esp + 0x1c], 0xffffffff
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
mov ebx, ecx
cmp dword [esi + 0x58], 2
jl 0x55c10a
mov eax, dword [esi + 4]
test eax, eax
jne 0x55ba6a
pop edi
pop esi
pop ebp
mov eax, 0xffffff76
pop ebx
add esp, 0x84
ret
mov edx, dword [esp + 0xa0]
test edx, edx
jl 0x55c10a
mov eax, dword [esp + 0x9c]
jg 0x55ba8a
test eax, eax
jb 0x55c10a
cmp edx, ebp
jg 0x55c10a
jl 0x55ba9c
cmp eax, ebx
ja 0x55c10a
mov ecx, dword [esi + 0x34]
dec ecx
mov dword [esp + 0x30], ecx
js 0x55bade
mov edi, dword [esi + 0x44]
mov eax, ecx
shl eax, 4
lea eax, [edi + eax + 8]
mov edi, dword [eax]
sub ebx, edi
mov edi, dword [eax + 4]
sbb ebp, edi
cmp edx, ebp
jg 0x55bad2
jl 0x55baca
cmp dword [esp + 0x9c], ebx
jae 0x55bad2
dec ecx
sub eax, 0x10
test ecx, ecx
jge 0x55bab2
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ebx
mov edx, dword [esi + 0x38]
mov ebx, dword [edx + ecx*8]
mov ebp, dword [edx + ecx*8 + 4]
lea eax, [edx + ecx*8]
mov edx, dword [eax + 8]
shl ecx, 4
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0xc]
mov eax, dword [esi + 0x44]
mov edi, dword [eax + ecx]
add eax, ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
add edx, edi
adc eax, ecx
mov dword [esp + 0x50], eax
mov eax, edi
mov dword [esp + 0x44], edi
sub eax, dword [esp + 0x18]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x48], ecx
sbb ecx, edx
mov edx, dword [esp + 0xa0]
add eax, edi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
adc ecx, edx
cmp ebp, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebp
jg 0x55be14
jl 0x55bb70
cmp ebx, dword [esp + 0x20]
jae 0x55be14
jmp 0x55bb70
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
sub ecx, ebx
sbb eax, ebp
test eax, eax
jg 0x55bb96
jl 0x55bb8e
cmp ecx, 0x2134
jae 0x55bb96
mov ebx, dword [esp + 0x28]
mov edi, ebp
jmp 0x55bbf7
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
sub edx, edi
sbb ebx, dword [esp + 0x48]
push eax
push ecx
push ebx
push edx
call fcn.0052d090
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
sub ecx, edi
mov edi, dword [esp + 0x50]
sbb edi, ebx
push edi
push ecx
push edx
push eax
call fcn.0055cdf0
mov ecx, dword [esp + 0x28]
mov ebx, eax
add ebx, ecx
mov edi, edx
adc edi, ebp
sub ebx, 0x2134
sbb edi, 0
cmp edi, ebp
jg 0x55bbf7
jl 0x55bbeb
mov eax, ecx
cmp ebx, eax
ja 0x55bbf7
mov ebx, dword [esp + 0x28]
add ebx, 1
mov edi, ebp
adc edi, 0
mov eax, dword [esi]
test eax, eax
je 0x55bc20
push 0
push edi
push ebx
push eax
call dword [esi + 0x2c4]
lea edx, [esi + 0x18]
push edx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], edi
call fcn.0055d9d0
add esp, 0x14
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x20]
mov edx, dword [esi + 0xc]
sub eax, ecx
mov ecx, dword [esp + 0x24]
sbb ecx, edx
push ecx
push eax
lea edx, [esp + 0x6c]
push edx
call fcn.0055a870
add esp, 0xc
cmp eax, 0xffffff80
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
jne 0x55bc59
mov eax, edx
cmp eax, 0xffffffff
je 0x55c0be
mov eax, dword [esp + 0x14]
test eax, eax
jg 0x55bcca
jl 0x55bc6b
mov eax, dword [esp + 0x10]
test eax, eax
jae 0x55bcca
mov ecx, dword [esp + 0x28]
add ecx, 1
mov eax, ebp
adc eax, 0
cmp edi, eax
jl 0x55be14
jg 0x55bc89
cmp ebx, ecx
jbe 0x55be14
mov edx, ebx
or edx, edi
je 0x55c0be
add ebx, 0xffffdecc
adc edi, 0xffffffff
cmp edi, ebp
jg 0x55bcac
jl 0x55bca8
cmp ebx, dword [esp + 0x28]
ja 0x55bcac
mov ebx, ecx
mov edi, eax
mov eax, dword [esi]
test eax, eax
je 0x55bdc7
push 0
push edi
push ebx
push eax
call dword [esi + 0x2c4]
lea eax, [esi + 0x18]
push eax
jmp 0x55bdb9
lea ecx, [esp + 0x64]
push ecx
call fcn.0055d200
mov ecx, eax
and ecx, edx
add esp, 4
cmp ecx, 0xffffffff
je 0x55bdc7
cmp edx, dword [esp + 0x38]
jg 0x55bd3d
jl 0x55bcf2
cmp eax, dword [esp + 0x34]
jae 0x55bd3d
mov ecx, dword [esp + 0x10]
mov ebx, dword [esi + 8]
mov ebp, dword [esi + 0xc]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x38]
sbb eax, edx
test eax, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x48], edx
jg 0x55bdfa
jl 0x55bd36
cmp ecx, 0xac44
ja 0x55bdfa
mov edi, ebp
jmp 0x55bdc7
mov ecx, dword [esp + 0x28]
add ecx, 1
mov dword [esp + 0x54], ecx
mov ecx, ebp
adc ecx, 0
cmp edi, ecx
mov dword [esp + 0x58], ecx
jl 0x55be14
jg 0x55bd65
cmp ebx, dword [esp + 0x54]
jbe 0x55be14
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esi + 8]
jne 0x55bde2
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esi + 0xc]
jne 0x55bde2
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add ebx, 0xffffdecc
adc edi, 0xffffffff
cmp edi, ebp
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
jg 0x55bda4
jl 0x55bd9c
cmp ebx, dword [esp + 0x28]
ja 0x55bda4
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
mov eax, dword [esi]
test eax, eax
je 0x55bdc7
push 0
push edi
push ebx
push eax
call dword [esi + 0x2c4]
lea ecx, [esi + 0x18]
push ecx
mov dword [esi + 0xc], edi
mov dword [esi + 8], ebx
call fcn.0055d9d0
add esp, 0x14
cmp ebp, dword [esp + 0x24]
jg 0x55be14
jl 0x55bc20
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x28], edx
jae 0x55be14
jmp 0x55bc20
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
cmp ebp, dword [esp + 0x24]
jl 0x55bb70
jg 0x55be14
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x28], edx
jb 0x55bb70
lea eax, [esi + 0x1e0]
push eax
call fcn.0055eb90
lea eax, [esi + 0x250]
push eax
call fcn.0055e780
fld qword [0x587f60]
mov eax, dword [esi]
fstp qword [esi + 0x68]
fld qword [0x587f60]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
fstp qword [esi + 0x70]
add esp, 8
test eax, eax
mov dword [esi + 0x58], 2
je 0x55be73
push 0
push ebp
push ebx
push eax
call dword [esi + 0x2c4]
lea eax, [esi + 0x18]
push eax
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebp
call fcn.0055d9d0
add esp, 0x14
push 0xffffffffffffffff
lea ecx, [esp + 0x58]
push 0xffffffffffffffff
push ecx
call fcn.0055a870
add esp, 0xc
test edx, edx
jg 0x55be9e
jl 0x55be8e
test eax, eax
jae 0x55be9e
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x84
ret
lea edx, [esp + 0x54]
push edx
call fcn.0055d290
mov ecx, dword [esp + 0x34]
push eax
lea edi, [esi + 0x78]
push edi
mov dword [esi + 0x5c], eax
mov dword [esi + 0x60], ecx
call fcn.0055d9f0
lea edx, [esp + 0x60]
push edx
push edi
mov dword [esi + 0x58], 3
call fcn.0055d6c0
lea eax, [esp + 0x88]
push eax
push edi
call fcn.0055dbb0
cdq
mov ecx, eax
add esp, 0x1c
or ecx, edx
je 0x55bf30
test edx, edx
jl 0x55c020
jg 0x55bef8
test eax, eax
jb 0x55c020
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x55c02d
push 0
push edi
call fcn.0055db90
lea eax, [esp + 0x7c]
push eax
push edi
call fcn.0055dbb0
cdq
mov ecx, eax
add esp, 0x10
or ecx, edx
jne 0x55bee6
lea eax, [esi + 0x1e0]
push eax
call fcn.0055eb90
lea eax, [esi + 0x250]
push eax
call fcn.0055e780
fld qword [0x587f60]
mov eax, dword [esi]
fstp qword [esi + 0x68]
fld qword [0x587f60]
add esp, 8
test eax, eax
fstp qword [esi + 0x70]
mov dword [esi + 0x58], 2
je 0x55bf87
push 0
push ebp
push ebx
push eax
call dword [esi + 0x2c4]
lea edx, [esi + 0x18]
push edx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebp
call fcn.0055d9d0
add esp, 0x14
lea eax, [esp + 0x54]
push eax
mov eax, esi
call fcn.0055a980
mov edi, edx
add esp, 4
test edi, edi
mov ebx, eax
mov dword [esp + 0x10], ebx
jl 0x55c0be
jg 0x55bfb0
test ebx, ebx
jb 0x55c0be
lea ecx, [esp + 0x54]
push ecx
call fcn.0055d200
add esp, 4
cmp edx, 0xffffffff
jg 0x55c006
jl 0x55bfc9
cmp eax, 0xffffffff
ja 0x55c006
lea edx, [esp + 0x54]
push edx
call fcn.0055d1e0
add esp, 4
test eax, eax
je 0x55c006
lea eax, [esp + 0x54]
push eax
mov eax, esi
mov dword [esi + 8], ebx
mov dword [esi + 0xc], edi
call fcn.0055a980
mov edi, edx
add esp, 4
test edi, edi
mov ebx, eax
jg 0x55bfb0
jl 0x55bffd
test ebx, ebx
jae 0x55bfb0
mov dword [esp + 0x10], ebx
jmp 0x55c0be
push edi
push ebx
push esi
mov dword [esp + 0x1c], ebx
call fcn.0055b6f0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov dword [esp + 0x10], 0xffffff78
jmp 0x55c0b6
mov edx, dword [esi + 0x60]
mov edi, dword [esi + 0x44]
shl edx, 4
sub eax, dword [edx + edi]
sbb ecx, dword [edx + edi + 4]
mov dword [esi + 0x50], eax
xor eax, eax
cmp ecx, eax
mov dword [esi + 0x54], ecx
jg 0x55c056
jl 0x55c050
cmp dword [esi + 0x50], eax
jae 0x55c056
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], eax
mov edi, dword [esi + 0x50]
mov eax, dword [esp + 0x18]
mov edx, dword [esi + 0x54]
mov ecx, dword [esp + 0x1c]
add edi, eax
mov dword [esi + 0x50], edi
mov edi, dword [esp + 0xa0]
adc edx, ecx
cmp edx, edi
mov dword [esi + 0x54], edx
jg 0x55c0ae
jl 0x55c087
mov eax, dword [esi + 0x50]
cmp eax, dword [esp + 0x9c]
ja 0x55c0ae
push 0xffffffffffffffff
push esi
call fcn.0055b680
add esp, 8
cmp edi, edx
jg 0x55c0ae
jl 0x55c0a1
cmp dword [esp + 0x9c], eax
ja 0x55c0ae
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x84
ret
mov dword [esp + 0x10], 0xffffff7f
mov dword [esp + 0x14], 0xffffffff
or eax, 0xffffffff
lea ecx, [esi + 0x1e0]
push ecx
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], eax
call fcn.0055eb90
lea edx, [esi + 0x250]
push edx
call fcn.0055e780
fld qword [0x587f60]
mov eax, dword [esp + 0x18]
fstp qword [esi + 0x68]
fld qword [0x587f60]
add esp, 8
pop edi
fstp qword [esi + 0x70]
mov dword [esi + 0x58], 2
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffff7d
pop ebx
add esp, 0x84
ret