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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x553b43
sub esp, 0x54
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x5c]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov dword [esp + 0x34], eax
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
lea ebx, [ecx - 1]
test ebx, ebx
jl 0x5538f8
mov edx, dword [edx + ecx*4 - 4]
nop
cmp edx, 0x10000
jb 0x5538c8
shr edx, 0x10
mov ecx, 0x10
jmp 0x5538ca
xor ecx, ecx
cmp edx, 0x100
jb 0x5538d8
shr edx, 8
add ecx, 8
cmp edx, 0x100
jae 0x553b36
shl ebx, 5
lea ebp, [0x6a72cf]
movzx edx, byte [ebp + edx]
add ecx, edx
add ecx, ebx
jmp 0x5538fa
xor ecx, ecx
mov dword [esp + 0x24], ecx
lea eax, [0x65f440]
mov dword [esp], eax
lea eax, [ecx + 7]
sar eax, 0x1f
shr eax, 0x1d
lea eax, [eax + ecx + 7]
sar eax, 3
mov dword [esp + 0x28], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.004483c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
jmp 0x553946
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
test ecx, ecx
jne 0x553af1
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
nop
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.00468290
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
test edx, edx
jne 0x553abe
mov ebx, dword [esp + 0x28]
test ebx, ebx
jbe 0x553b2d
mov ebp, dword [esp + 0x40]
movzx esi, byte [ebp]
mov edi, dword [0x86798c]
mov eax, edx
mov edx, dword [0x867988]
mov ebx, dword [esp + 0x24]
sar ebx, 0x1f
shr ebx, 0x1d
mov ebp, dword [esp + 0x24]
add ebx, ebp
sar ebx, 3
shl ebx, 3
sub ebp, ebx
cmp edi, ebp
jbe 0x553b24
movzx edx, byte [edx + ebp]
and esi, edx
mov edx, dword [esp + 0x40]
xchg esi, eax
mov byte [edx], al
xchg esi, eax
mov ebx, dword [esp + 0x28]
cmp ebx, 1
jbe 0x553b18
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
movzx eax, byte [edx + 1]
xor eax, 0x42
mov byte [edx + 1], al
mov byte [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.00505cf0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
mov byte [esp + 0x44], 0
lea eax, [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.004fcc30
mov eax, dword [esp + 8]
test eax, eax
jl 0x553a8d
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x55393a
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x5c]
mov dword [esp], edx
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
call ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x55393a
mov edx, dword [esp + 0x40]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
add esp, 0x54
ret
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebp
add esp, 0x54
ret
mov eax, 1
mov ecx, ebx
call fcn.0045f8b0
mov eax, ebp
mov ecx, edi
call fcn.0045f8b0
xor eax, eax
mov ecx, ebx
call fcn.0045f8b0
mov eax, edx
mov ecx, 0x100
call fcn.0045f8c0
nop
call fcn.0045e420
jmp fcn.00553870