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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x554281
sub esp, 0xc0
mov eax, 0
lea edi, [esp + 0x98]
call fcn.0044c886
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0xc4]
mov ebx, dword [edx + 0xc]
lea ebp, [ebx + ecx]
mov dword [esp + 0x58], ebp
mov esi, dword [eax]
mov edi, dword [eax + 8]
mov edx, dword [edx + 8]
cmp ebp, edi
ja 0x554210
cmp ebp, edi
ja 0x55427a
mov dword [esp + 0x54], edi
mov dword [esp + 0x80], esi
lea eax, [esi + ecx]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0044cf90
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xc8]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x54]
mov dword [ecx + 8], eax
mov eax, dword [0x9cadb0]
test eax, eax
jne 0x5541f1
mov edx, dword [esp + 0x80]
mov dword [ecx], edx
mov edx, dword [esp + 0xc4]
mov ebx, dword [edx + 0x10]
test ebx, 7
je 0x5539db
test ebx, 0x20
je 0x5539bf
lea edi, [esp + 0xac]
lea esi, [esp + 0xcc]
call fcn.0044cd6e
lea edi, [esp + 0x84]
xor eax, eax
call fcn.0044c88b
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
mov ebp, ebx
shr ebx, 0x1f
shl ebx, 0x1f
test ebx, ebx
je 0x55398e
mov eax, ecx
shr ecx, 0x1f
shl ebp, 1
or ebp, ecx
mov ecx, ebp
shl ebp, 1
shl eax, 1
shr eax, 0x1f
or eax, ebp
mov ebx, eax
add eax, 0xd7b17f80
mov dword [esp + 0xb4], eax
shr ecx, 0x1f
add ebx, 0xd7b17f80
adc ecx, 0xd
mov dword [esp + 0xb8], ecx
mov eax, dword [esp + 0xac]
and eax, 0x3fffffff
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0
mov dword [esp + 0xbc], 0
lea edi, [esp + 0x84]
lea esi, [esp + 0xac]
call fcn.0044cd6e
lea edi, [esp + 0xcc]
lea esi, [esp + 0x84]
call fcn.0044cd6e
mov eax, dword [edx + 0x10]
test eax, 1
jne 0x553fb9
mov eax, dword [edx + 0x10]
test eax, 6
jne 0x553c7c
mov eax, dword [edx + 0x10]
test eax, 0x18
je 0x553b19
test eax, 0x10
je 0x553c69
mov eax, dword [esp + 0xe4]
lea ecx, [eax - 1]
mov edx, dword [esp + 0xe0]
jmp 0x553a08
dec ecx
test ecx, ecx
jle 0x553c60
cmp ecx, eax
jae 0x554273
movzx ebx, byte [edx + ecx]
cmp bl, 0x2f
jne 0x553a07
inc ecx
cmp ecx, eax
ja 0x55426c
sub eax, ecx
mov ebx, eax
neg eax
sar eax, 0x1f
and eax, ecx
add eax, edx
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + 4]
lea ebp, [ebx + edx]
mov dword [esp + 0x58], ebp
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp ebp, esi
ja 0x553c06
cmp ebp, esi
ja 0x554265
mov dword [esp + 0x80], edi
mov dword [esp + 0x54], esi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0044cf90
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xc8]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x54]
mov dword [ecx + 8], eax
mov eax, dword [0x9cadb0]
test eax, eax
jne 0x553be0
mov eax, dword [esp + 0x80]
mov dword [ecx], eax
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [ebx + 1]
cmp ebp, edx
jg 0x553b6d
lea edx, [ebx + 1]
mov dword [ecx + 4], edx
mov byte [eax + ebx], 0x3a
mov dword [esp], ecx
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xffffffff
call fcn.005536b0
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 4]
lea edx, [ecx + 2]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x553b2e
cmp edx, ebx
ja 0x55425e
movzx esi, word [0x719f14]
mov word [ebp + ecx], si
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [0x9cadb0]
test ecx, ecx
jne 0x553b20
mov dword [eax], ebp
add esp, 0xc0
ret
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040ecd0
jmp 0x553b19
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edx
lea eax, [0x6cb000]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004391a0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
jmp 0x553af3
lea ecx, [0x6cb000]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.004391a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc8]
mov dword [ebx + 8], edx
mov edx, dword [0x9cadb0]
test edx, edx
jne 0x553bbb
mov dword [ebx], eax
mov ebx, ecx
mov ecx, dword [esp + 0xc8]
jmp 0x553ab8
mov dword [esp + 0x7c], eax
mov dword [esp + 0x50], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040ecd0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0xc8]
jmp 0x553bad
mov dword [esp], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
call fcn.0040ecd0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xc8]
jmp 0x553aa7
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe0], eax
mov dword [esp + 0x54], edx
lea eax, [0x6cb000]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004391a0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x58]
jmp 0x553a55
mov ebx, eax
mov eax, edx
jmp 0x553a37
mov ebx, dword [esp + 0xe4]
mov eax, dword [esp + 0xe0]
jmp 0x553a37
mov edi, esp
lea esi, [esp + 0xcc]
call fcn.0044cd6e
call fcn.0047c5d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0xc8]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.005536b0
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
lea ebp, [ebx + 1]
cmp ebp, ecx
jg 0x553f44
lea ecx, [ebx + 1]
mov dword [eax + 4], ecx
mov byte [edx + ebx], 0x3a
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.005536b0
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x553ecf
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x3a
mov dword [esp], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.005536b0
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x10]
test ecx, 4
jne 0x553de7
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
lea esi, [ebp + 1]
cmp esi, ebx
jg 0x553d73
lea ebx, [ebp + 1]
mov dword [ecx + 4], ebx
mov byte [edx + ebp], 0x20
mov edx, eax
jmp 0x5539db
lea eax, [0x6cb000]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.004391a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc8]
mov dword [ebx + 8], edx
mov edx, dword [0x9cadb0]
test edx, edx
jne 0x553dc2
mov dword [ebx], eax
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
mov ecx, ebx
jmp 0x553d62
mov dword [esp + 0x78], eax
mov dword [esp + 0x4c], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040ecd0
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xc8]
jmp 0x553db3
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
mov esi, ecx
lea ecx, [ebx + 1]
cmp ecx, edx
jg 0x553e5f
lea ecx, [ebx + 1]
mov dword [esi + 4], ecx
mov byte [ebp + ebx], 0x2e
lea edi, [esp + 0x98]
mov eax, esi
lea esi, [esp + 0xcc]
call fcn.0044cd6e
mov ecx, dword [esp + 0x98]
and ecx, 0x3fffffff
mov edx, eax
mov eax, 0x4189374c
mov ebx, edx
imul ecx
sar edx, 8
sar ecx, 0x1f
sub edx, ecx
mov dword [esp + 4], edx
mov dword [esp], ebx
mov dword [esp + 8], 6
call fcn.005536b0
mov eax, dword [esp + 0xc4]
jmp 0x553d4c
lea eax, [0x6cb000]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004391a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc8]
mov dword [ebx + 8], edx
mov edx, dword [0x9cadb0]
test edx, edx
jne 0x553eaa
mov dword [ebx], eax
mov esi, ebx
mov ebx, ecx
mov ebp, eax
jmp 0x553dff
mov dword [esp + 0x74], eax
mov dword [esp + 0x48], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040ecd0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0xc8]
jmp 0x553e9f
lea eax, [0x6cb000]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004391a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc8]
mov dword [ebx + 8], edx
mov edx, dword [0x9cadb0]
test edx, edx
jne 0x553f1f
mov dword [ebx], eax
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0xc8]
jmp 0x553d14
mov dword [esp + 0x70], eax
mov dword [esp + 0x44], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040ecd0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0xc8]
jmp 0x553f0f
lea eax, [0x6cb000]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004391a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc8]
mov dword [ebx + 8], edx
mov edx, dword [0x9cadb0]
test edx, edx
jne 0x553f94
mov dword [ebx], eax
mov ebx, ecx
mov edx, eax
mov eax, dword [esp + 0xc8]
jmp 0x553cd8
mov dword [esp + 0x6c], eax
mov dword [esp + 0x40], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040ecd0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0xc8]
jmp 0x553f84
mov edi, esp
lea esi, [esp + 0xcc]
call fcn.0044cd6e
call fcn.0047c4c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
mov ebx, dword [esp + 0xc8]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.005536b0
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
lea ebp, [edx + 1]
cmp ebp, ebx
jg 0x554181
lea ebx, [edx + 1]
mov dword [eax + 4], ebx
mov byte [ecx + edx], 0x2f
mov dword [esp], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.005536b0
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
lea ebp, [edx + 1]
cmp ebp, ebx
jg 0x554111
lea ebx, [edx + 1]
mov dword [eax + 4], ebx
mov byte [ecx + edx], 0x2f
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.005536b0
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
lea ebp, [ebx + 1]
cmp ebp, ecx
jg 0x55409f
lea ecx, [ebx + 1]
mov dword [eax + 4], ecx
mov byte [edx + ebx], 0x20
mov edx, dword [esp + 0xc4]
jmp 0x5539cd
lea eax, [0x6cb000]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004391a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc8]
mov dword [ebx + 8], edx
mov edx, dword [0x9cadb0]
test edx, edx
jne 0x5540ec
mov dword [ebx], eax
mov ebx, ecx
mov edx, eax
mov eax, dword [esp + 0xc8]
jmp 0x554089
mov dword [esp + 0x68], eax
mov dword [esp + 0x3c], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040ecd0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xc8]
jmp 0x5540df
lea eax, [0x6cb000]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004391a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc8]
mov dword [ebx + 8], edx
mov edx, dword [0x9cadb0]
test edx, edx
jne 0x55415c
mov dword [ebx], eax
mov edx, ecx
mov ecx, eax
mov eax, ebx
jmp 0x554051
mov dword [esp + 0x64], eax
mov dword [esp + 0x38], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040ecd0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0xc8]
jmp 0x554151
lea eax, [0x6cb000]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004391a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc8]
mov dword [ebx + 8], edx
mov edx, dword [0x9cadb0]
test edx, edx
jne 0x5541cc
mov dword [ebx], eax
mov edx, ecx
mov ecx, eax
mov eax, ebx
jmp 0x554015
mov dword [esp + 0x60], eax
mov dword [esp + 0x34], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040ecd0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0xc8]
jmp 0x5541c1
mov dword [esp], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
call fcn.0040ecd0
mov ecx, dword [esp + 0xc8]
jmp 0x5538de
mov dword [esp + 0x54], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x30], ebx
lea eax, [0x6cb000]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004391a0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x58]
jmp 0x55388c
call fcn.004260c0
ud2
call fcn.004260c0
ud2
call fcn.004260c0
ud2
call fcn.00426060
ud2
call fcn.004260c0
ud2
call fcn.0044ae20
jmp fcn.00553830