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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x55f496
sub esp, 0xa8
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x55f483
mov eax, 3
lea ecx, [0x5db701]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xac], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0055ec60
movzx eax, byte [esp + 8]
test al, al
je 0x55f3e1
mov edx, dword [0x6ea35c]
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [edx]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test ebx, ebx
jne 0x55f3c1
mov dword [esp + 0x28], eax
lea eax, [0x5afa60]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xc0]
mov dword [esp + 8], ecx
call fcn.0040c540
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x14]
test dl, dl
je 0x55f378
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x28]
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x14]
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0055d520
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x28]
mov dword [edx + 0x18], eax
mov eax, dword [0x7016d0]
lea ebx, [edx + 0x14]
test eax, eax
jne 0x55f367
mov dword [edx + 0x14], ecx
lea eax, [0x5ce240]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004065c0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], eax
lea ecx, [0x5d1c40]
mov dword [esp], ecx
call fcn.0040e6c0
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
mov ecx, dword [0x7016d0]
test ecx, ecx
jne 0x55f34b
mov ecx, dword [esp + 0xac]
mov dword [eax], ecx
test byte [eax], al
mov ecx, dword [0x7016d0]
lea edx, [eax + 8]
test ecx, ecx
jne 0x55f32e
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 8
mov edx, dword [0x7016d0]
lea ebx, [eax + 0xc]
test edx, edx
jne 0x55f30f
lea edx, [0x5dc1ed]
mov dword [eax + 0xc], edx
mov dword [eax + 0x14], 1
mov dword [eax + 0x18], 1
mov edx, dword [0x7016d0]
lea ebx, [eax + 0x1c]
test edx, edx
jne 0x55f2f2
mov edx, dword [esp + 0x60]
mov dword [eax + 0x1c], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 0x20], edx
mov edx, dword [0x7016d0]
lea ebx, [eax + 0x24]
mov dword [esp + 0x5c], ebx
test edx, edx
jne 0x55f2d1
mov edx, dword [esp + 0x38]
mov dword [eax + 0x24], edx
mov edx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x48], edx
mov edx, dword [0x7016d0]
lea ebp, [eax + 0x44]
test edx, edx
jne 0x55f2b8
mov dword [eax + 0x44], ecx
mov ecx, dword [esp + 0xbc]
test ecx, ecx
je 0x55f2b1
je 0x55f28c
mov edx, dword [ecx + 0xc]
cmp edx, 0x4128187d
jne 0x55f09b
lea ebp, [0x6bfd50]
cmp ebp, ecx
jne 0x55f2a7
mov ebp, dword [esp + 0xc0]
jne 0x55f09b
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 4]
mov dword [esp + 0x24], ebx
cmp ecx, ebx
mov edi, ebp
xchg ebp, ebx
setae bl
xchg ebp, ebx
sar ebx, 0x1f
cmp edx, ebx
sete al
and eax, ebp
cmp edx, ebx
setg dl
or edx, eax
test dl, dl
je 0x55f08e
xor eax, eax
mov ecx, dword [esp + 0x30]
mov dword [ecx + 0x2c], eax
sar eax, 0x1f
mov dword [ecx + 0x30], eax
mov eax, edi
lea edi, [esp + 0x7c]
mov esi, eax
call fcn.0044c61e
lea eax, [0x5ad9e0]
mov dword [esp], eax
call fcn.0040e6c0
mov eax, dword [esp + 4]
lea ecx, [0x56f990]
mov dword [eax], ecx
test byte [eax], al
mov ecx, dword [esp + 0x30]
lea edx, [ecx + 0x28]
mov ebx, dword [0x7016d0]
lea edi, [eax + 4]
test ebx, ebx
jne 0x55f04f
lea esi, [esp + 0x7c]
call fcn.0044c61e
mov ecx, dword [esp + 0x30]
mov dword [ecx + 0x28], eax
mov eax, dword [ecx + 0x28]
lea edx, [ecx + 0x28]
test eax, eax
je 0x55eff5
mov eax, dword [ecx + 0x30]
mov ebx, dword [ecx + 0x2c]
test eax, eax
sete al
test ebx, ebx
sete bl
and eax, ebx
test al, al
je 0x55eff5
lea eax, [0x6c13d0]
mov dword [ecx + 0x20], eax
mov eax, dword [0x7016d0]
test eax, eax
jne 0x55f019
lea eax, [0x701584]
mov dword [ecx + 0x24], eax
lea eax, [0x5edda0]
mov dword [ecx + 0x28], eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
add esp, 0xa8
ret
mov dword [esp + 0x58], edx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
lea eax, [0x701584]
mov dword [esp + 4], eax
call fcn.0040ef10
mov eax, dword [esp + 0x58]
mov dword [esp], eax
lea eax, [0x5edda0]
mov dword [esp + 4], eax
call fcn.0040ef10
mov ecx, dword [esp + 0x30]
jmp 0x55eff5
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
lea eax, [0x5bbca0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.0040f020
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.0040ef10
mov ecx, dword [esp + 0x30]
jmp 0x55efb0
mov edx, dword [esp + 0x24]
sub edx, ecx
mov eax, edx
jmp 0x55ef52
cmp edx, 0xa5164854
jne 0x55f1a5
lea ebp, [0x6bf9b0]
cmp ebp, ecx
jne 0x55f29d
mov ebp, dword [esp + 0xc0]
jne 0x55f1a5
mov dword [esp + 0x2c], ebp
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 4]
mov edi, ebx
sar ebx, 0x1f
cmp edx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp ecx, edi
setae al
and eax, ebp
cmp edx, ebx
setg dl
or edx, eax
test dl, dl
je 0x55f19c
xor eax, eax
mov ecx, dword [esp + 0x30]
mov dword [ecx + 0x2c], eax
sar eax, 0x1f
mov dword [ecx + 0x30], eax
lea edi, [esp + 0x90]
mov esi, dword [esp + 0x2c]
call fcn.0044c614
lea eax, [0x5ad980]
mov dword [esp], eax
call fcn.0040e6c0
mov eax, dword [esp + 4]
lea ecx, [0x56f8d0]
mov dword [eax], ecx
test byte [eax], al
mov ecx, dword [esp + 0x30]
lea edx, [ecx + 0x28]
mov ebx, dword [0x7016d0]
lea edi, [eax + 4]
test ebx, ebx
jne 0x55f15a
lea esi, [esp + 0x90]
call fcn.0044c614
mov ecx, dword [esp + 0x30]
mov dword [ecx + 0x28], eax
jmp 0x55efb0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
lea eax, [0x5b9da0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
call fcn.0040f020
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.0040ef10
mov ecx, dword [esp + 0x30]
jmp 0x55efb0
sub edi, ecx
mov eax, edi
jmp 0x55f0f5
cmp edx, 0xe763bb76
jne 0x55f28c
lea edx, [0x6bf970]
cmp edx, ecx
jne 0x55f293
mov ecx, dword [esp + 0xc0]
jne 0x55f28c
mov edx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
sub ebp, edx
mov dword [eax + 0x2c], ebp
sar ebp, 0x1f
mov dword [eax + 0x30], ebp
mov edx, dword [ecx + 0xc]
mov ebp, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
cmp edx, esi
ja 0x55f48f
mov dword [esp + 0x24], edx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], ecx
lea eax, [0x5ad6e0]
mov dword [esp], eax
call fcn.0040e6c0
mov eax, dword [esp + 4]
lea ecx, [0x56f7e0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
sub ecx, edx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x1c]
sub ecx, edx
mov dword [eax + 0xc], ecx
mov ebx, dword [esp + 0x30]
lea ebp, [ebx + 0x28]
mov esi, dword [0x7016d0]
lea edi, [eax + 4]
neg ecx
sar ecx, 0x1f
and edx, ecx
mov ecx, dword [esp + 0x44]
add ecx, edx
test esi, esi
jne 0x55f25e
mov dword [eax + 4], ecx
mov dword [ebx + 0x28], eax
mov ecx, ebx
jmp 0x55efb0
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ebp
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.0040ef10
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
call fcn.0040ef10
mov ebx, dword [esp + 0x30]
jmp 0x55f257
mov ecx, eax
jmp 0x55efb0
mov ecx, 0
jmp 0x55f1c6
mov ebp, 0
jmp 0x55f0bc
mov ebp, 0
jmp 0x55ef19
mov ecx, eax
jmp 0x55eff5
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.0040ef10
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x5c]
jmp 0x55eee0
mov dword [esp], ebx
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.0040ef10
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x5c]
jmp 0x55eec3
mov dword [esp], ebx
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
call fcn.0040ef10
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
jmp 0x55eea0
mov dword [esp], ebx
lea eax, [0x5dc1ed]
mov dword [esp + 4], eax
call fcn.0040ef10
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
jmp 0x55ee7a
mov dword [esp], edx
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
call fcn.0040ef10
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
jmp 0x55ee59
mov dword [esp], eax
mov ecx, dword [esp + 0xac]
mov dword [esp + 4], ecx
call fcn.0040ef10
mov eax, dword [esp + 0x30]
jmp 0x55ee3f
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040ef10
jmp 0x55edd2
mov edx, dword [esp + 0xbc]
test edx, edx
je 0x55ed91
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x68], eax
lea ecx, [0x6c1350]
mov dword [esp], ecx
lea ecx, [esp + 0x64]
mov dword [esp + 4], ecx
call fcn.0040c110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
jmp 0x55ed91
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ecx
add esp, 0xa8
ret
mov eax, dword [esp + 0xac]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea eax, [0x5a5c80]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.0040bf70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
lea eax, [0x5e2216]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
lea eax, [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004aaa20
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xa8
ret
mov ecx, dword [esp + 0xac]
jmp 0x55ecfa
call fcn.00425cf0
ud2
call fcn.0044a520
jmp fcn.0055ecc0