Function at 0x54cd70
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 0x54d2d9
sub esp, 0xa8
mov edx, dword [esp + 0xb4]
lea ebx, [edx - 1]
mov ebp, dword [esp + 0xb8]
mov eax, dword [esp + 0xb0]
jmp 0x54cdb1
lea ebx, [ecx - 1]
mov edx, esi
mov ebp, edi
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], edx
mov dword [esp + 0x94], eax
test ebx, ebx
jl 0x54cf7c
cmp edx, ebx
jbe 0x54d2cf
mov dword [esp + 0x34], ebx
lea ecx, [ebx + ebx*2]
shl ecx, 4
mov dword [esp + 0x3c], ecx
lea esi, [eax + ecx]
lea edi, [esp + 0x58]
call fcn.00466488
mov ecx, dword [esp + 0x5c]
cmp ecx, 0xffffffff
je 0x54ce9e
cmp edx, ecx
jbe 0x54d2c6
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov edx, dword [eax + ecx + 0x14]
mov ebx, dword [eax + ecx + 0x18]
mov ebp, dword [eax + ecx + 0x1c]
mov ecx, dword [eax + ecx + 0x20]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x78]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call fcn.004baa50
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x40]
cmp esi, eax
jbe 0x54d2bf
mov edi, ebp
lea ebp, [eax + eax*2]
shl ebp, 4
mov eax, ebx
mov ebx, dword [esp + 0x94]
mov dword [ebx + ebp + 0x14], ecx
mov dword [ebx + ebp + 0x18], edx
mov dword [ebx + ebp + 0x1c], eax
mov dword [ebx + ebp + 0x20], edi
mov eax, ebx
mov edx, esi
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x44]
mov ecx, ebx
mov ebx, dword [esp + 0x6c]
mov esi, edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x38], edx
mov edi, ebp
mov ebp, dword [esp + 0x78]
lea edx, [esp + 0x58]
cmp dword [edx + 0x1c], ebx
jle 0x54cec9
mov edx, dword [esp + 0x38]
cmp ebp, edx
jg 0x54cdaa
lea edx, [esi - 1]
mov ebx, esi
sub esi, ecx
mov ebp, edi
sub edi, ecx
dec edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
mov ecx, dword [esp + 0x3c]
add ecx, 0x30
and ecx, edi
add ecx, eax
cmp ebp, edx
jae 0x54cf34
mov dword [esp + 0x94], ecx
mov dword [esp + 0x44], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
lea eax, [esi - 1]
mov dword [esp + 0xc], eax
lea eax, [0x6d0a40]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x94], eax
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], edx
sub ebx, esi
lea ebx, [ebx + ebx*2]
shl ebx, 4
add ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
lea ecx, [esi + esi*2 - 3]
shl ecx, 4
mov dword [esp + 8], ecx
call fcn.004666e0
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x94]
jmp 0x54cdaa
mov ebx, dword [esp + 0xac]
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x6c], 0
lea esi, [ebx + 0x60]
mov dword [esp + 0x88], esi
xor ecx, ecx
jmp 0x54cfd3
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x94]
mov dword [eax + edi + 0x24], ecx
mov dword [eax + edi + 0x28], edx
mov dword [eax + edi + 0x2c], ebx
mov edi, dword [esp + 0x30]
lea ecx, [edi + 1]
mov ebx, dword [esp + 0xac]
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
cmp edx, ecx
jle 0x54d190
jbe 0x54d2b6
mov dword [esp + 0x30], ecx
lea edi, [ecx + ecx*2]
shl edi, 4
mov dword [esp + 0x3c], edi
mov ebp, dword [eax + edi + 8]
test ebp, ebp
je 0x54d142
nop
mov dword [ebx + 0x80], 0
mov dword [ebx + 0x84], 0
mov ebp, dword [ebx + 0x78]
inc ebp
mov edx, dword [ebx + 0x74]
mov ecx, dword [ebx + 0x7c]
cmp ecx, ebp
jae 0x54d083
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6dace0]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xac]
mov dword [ebx + 0x7c], edx
mov edx, dword [0x1eaa9f0]
test edx, edx
jne 0x54d065
mov dword [ebx + 0x74], eax
jmp 0x54d06d
lea edi, [ebx + 0x74]
call fcn.00465d80
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x3c]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x94]
mov dword [ebx + 0x78], ebp
lea ecx, [edx + ebp*8 - 8]
mov dword [ecx], 0
lea ecx, [edx + ebp*8 - 4]
mov dword [ecx], 0
mov dword [ebx + 0x6c], 0
mov ecx, dword [ebx + 0x68]
mov edx, dword [ebx + 0x70]
cmp edx, 1
jb 0x54d0b3
mov edx, 1
jmp 0x54d11c
mov dword [esp], ecx
mov dword [esp + 4], 1
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6e3d00]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xac]
mov dword [ebx + 0x70], edx
mov edx, dword [0x1eaa9f0]
test edx, edx
jne 0x54d0fe
mov dword [ebx + 0x68], eax
jmp 0x54d106
lea edi, [ebx + 0x68]
call fcn.00465d80
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x3c]
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x94]
mov dword [ebx + 0x6c], edx
dec edx
shl edx, 4
mov dword [ecx + edx], 0
mov dword [ecx + edx + 4], 0
mov dword [ecx + edx + 8], 0xf4240
mov dword [ecx + edx + 0xc], 0xf4240
mov ecx, dword [eax + edi + 0x1c]
mov edx, dword [eax + edi + 0x20]
lea ebx, [eax + edi + 0x14]
mov dword [esp + 0x90], ebx
lea ebp, [eax + edi + 0x18]
mov dword [esp + 0x8c], ebp
sub ecx, dword [ebx]
sub edx, dword [ebp]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00553cb0
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test al, al
jne 0x54cf9f
jmp 0x54d1ac
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ebp
add esp, 0xa8
ret
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx + eax + 0x1c]
mov eax, dword [ecx + eax + 0x20]
mov ecx, dword [esp + 0x90]
sub edx, dword [ecx]
mov ecx, dword [esp + 0x8c]
sub eax, dword [ecx]
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00409780
mov eax, dword [esp + 8]
lea ecx, [0x6dace0]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xac]
mov edx, dword [eax + 0x64]
mov eax, dword [eax + 0x60]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00409780
mov eax, dword [esp + 8]
lea ecx, [0x6dace0]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
lea eax, [0x703344]
mov dword [esp], eax
mov dword [esp + 4], 0x34
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x54d2aa
mov eax, dword [eax + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00436d20
mov eax, ecx
mov ecx, edx
call fcn.00465e00
mov ecx, esi
call fcn.00465e00
mov eax, ecx
mov ecx, edx
call fcn.00465e00
mov eax, ebx
mov ecx, edx
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.0054cd70