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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x53cc52
add esp, 0xffffff80
mov eax, dword [esp + 0x88]
test eax, eax
je 0x53cbf7
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x5eb2bb]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.004c77e0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x53cb7c
lea ecx, [eax + 1]
mov edx, dword [esp + 0x88]
cmp edx, ecx
je 0x53cb4a
mov dword [esp + 0x64], eax
mov dword [esp + 0x2c], ecx
lea eax, [0x5be300]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], edx
call fcn.00444f30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x64]
cmp ecx, 0xffffffff
je 0x53cb33
mov edx, dword [esp + 0x88]
cmp edx, ecx
jb 0x53cc4c
mov ebx, dword [esp + 0x84]
mov ebp, edx
xor esi, esi
xor edi, edi
jmp 0x53c466
mov dword [eax + edi*4], ebp
mov ebp, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
mov edi, ebx
mov ebx, dword [esp + 0x84]
cmp ecx, esi
jle 0x53c50c
mov dword [esp + 0x30], edi
movzx ebp, byte [ebx + esi]
cmp ebp, 0x80
jge 0x53c4d0
inc esi
lea ebx, [edi + 1]
cmp ebx, edx
jbe 0x53c44c
mov dword [esp + 0x28], ebp
mov dword [esp + 0x60], esi
lea ecx, [0x5be300]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x30]
jmp 0x53c44c
mov dword [esp + 0x34], edx
mov dword [esp + 0x78], eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.00454ec0
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x30]
jmp 0x53c47f
mov ecx, dword [esp + 0x2c]
xor esi, esi
mov esi, 0x48
mov dword [esp + 0x54], esi
mov esi, pe_nt_image_headers32
mov dword [esp + 0x3c], esi
xor esi, esi
jmp 0x53c822
mov esi, dword [esp + 0x40]
add esi, 0x24
mov edi, dword [esp + 0x84]
mov edi, dword [esp + 0x30]
mov ecx, ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x40], esi
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
mov esi, edx
mov edx, dword [esp + 0x34]
cmp ebp, ecx
je 0x53ca70
jbe 0x53cc43
movzx edx, byte [ebx + ecx]
lea edi, [edx - 0x30]
xchg edi, eax
cmp al, 9
xchg edi, eax
ja 0x53ca39
add edx, 0xffffffea
movzx edx, dl
mov edi, 1
xchg edi, eax
test al, al
xchg edi, eax
je 0x53c9be
mov dword [esp + 0x4c], edx
mov edi, dword [esp + 0x24]
imul edx, edi
add edx, esi
test edx, edx
jl 0x53c943
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x54]
sub esi, ebx
cmp esi, 1
jge 0x53c930
mov esi, 1
lea ebx, [ecx + 1]
mov ecx, ebp
mov ebp, dword [esp + 0x4c]
cmp ebp, esi
jl 0x53c661
lea ebp, [esi - 0x24]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
imul ebp, edi
cmp ebp, 0x38e38e3
jl 0x53c52b
lea eax, [0x5d50c0]
mov dword [esp], eax
call fcn.0040b8e0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x88]
mov dword [edi + 4], eax
mov eax, dword [0x770e60]
test eax, eax
jne 0x53c653
mov eax, dword [esp + 0x84]
mov dword [edi], eax
mov dword [edi + 0xc], 2
lea eax, [0x5eb321]
mov dword [edi + 8], eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
lea eax, [0x63a210]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
sub esp, 0xffffff80
ret
mov eax, dword [esp + 0x84]
call fcn.0045df70
jmp 0x53c615
mov ebp, dword [esp + 0x38]
mov esi, edx
sub edx, ebp
test ebp, ebp
jne 0x53c920
mov ebp, eax
mov eax, 0x5d9f7391
mov edi, edx
imul edx
sar edx, 8
sar edi, 0x1f
sub edx, edi
mov edi, dword [esp + 0x30]
mov eax, ebx
lea ebx, [edi + 1]
test ebx, ebx
je 0x53cc3e
mov dword [esp + 0x64], eax
mov dword [esp + 0x50], edx
mov eax, edx
cmp ebx, 0xffffffff
je 0x53c6a9
cdq
idiv ebx
jmp 0x53c6ab
neg eax
mov edx, dword [esp + 0x50]
add edx, eax
xor eax, eax
jmp 0x53c6cc
mov eax, 0xea0ea0eb
imul edx
mov eax, dword [esp + 0x50]
add edx, eax
sar edx, 5
mov eax, dword [esp + 0x44]
add eax, 0x24
mov dword [esp + 0x50], edx
mov dword [esp + 0x44], eax
cmp edx, 0x1c7
jg 0x53c6b5
mov dword [esp + 0x7c], ebp
lea ebp, [edx + edx*8]
cmp edx, 0xffffffda
je 0x53cc39
mov dword [esp + 0x60], ebx
mov eax, esi
cdq
idiv ebx
mov edx, dword [esp + 0x3c]
add edx, eax
mov eax, esi
mov esi, edx
cdq
idiv ebx
mov dword [esp + 0x48], edx
shl ebp, 2
mov edx, dword [esp + 0x50]
add edx, 0x26
mov eax, ebp
mov ebx, edx
cmp ebx, 0xffffffff
je 0x53c71e
cdq
idiv ebx
jmp 0x53c720
neg eax
mov edx, dword [esp + 0x44]
add edx, eax
cmp esi, 0x10ffff
jg 0x53c8a5
cmp edi, 0x400
jge 0x53c8a5
mov dword [esp + 0x20], edx
mov dword [esp + 0x5c], esi
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x34]
cmp ebx, ebp
ja 0x53c85c
mov eax, dword [esp + 0x7c]
mov dword [eax + edi*4], 0
mov edi, dword [esp + 0x48]
lea edx, [edi + 1]
cmp ebx, edx
jb 0x53cc30
mov dword [esp + 0x34], ebp
mov dword [esp + 0x58], edx
sub ebp, edi
dec ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl edx, 2
sar ebp, 0x1f
and ebp, edx
lea edx, [ebp + eax]
mov ebp, ebx
sub ebx, edi
cmp edi, ebp
ja 0x53cc27
mov dword [esp + 0x60], ebp
dec ebx
sub ebp, edi
mov esi, dword [esp + 0x34]
sub esi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
shl edi, 2
sar esi, 0x1f
and esi, edi
add esi, eax
cmp ebx, ebp
jle 0x53c855
mov dword [esp + 0x78], eax
cmp edx, esi
je 0x53c7d9
mov dword [esp], edx
mov dword [esp + 4], esi
shl ebp, 2
mov dword [esp + 8], ebp
call fcn.0045e900
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x78]
mov dword [ecx + eax*4], edx
mov ebp, dword [esp + 0x88]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x70]
cmp ebp, ecx
jle 0x53caeb
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x68], eax
mov eax, 1
mov dword [esp + 0x24], eax
mov eax, 0x24
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
jmp 0x53c55b
mov ebp, ebx
jmp 0x53c7be
lea eax, [0x5be300]
mov dword [esp], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x30]
jmp 0x53c75a
lea eax, [0x5d50c0]
mov dword [esp], eax
call fcn.0040b8e0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x88]
mov dword [edi + 4], eax
mov eax, dword [0x770e60]
test eax, eax
jne 0x53c912
mov eax, dword [esp + 0x84]
mov dword [edi], eax
mov dword [edi + 0xc], 2
lea eax, [0x5eb321]
mov dword [edi + 8], eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
lea eax, [0x63a210]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
sub esp, 0xffffff80
ret
mov eax, dword [esp + 0x84]
call fcn.0045df70
jmp 0x53c8d4
mov edi, edx
shr edx, 0x1f
add edx, edi
sar edx, 1
mov ebp, eax
jmp 0x53c684
cmp esi, 0x1a
jle 0x53c5bd
mov esi, 0x1a
jmp 0x53c5bd
lea eax, [0x5d50c0]
mov dword [esp], eax
call fcn.0040b8e0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x88]
mov dword [edi + 4], eax
mov eax, dword [0x770e60]
test eax, eax
jne 0x53c9b0
mov eax, dword [esp + 0x84]
mov dword [edi], eax
mov dword [edi + 0xc], 2
lea eax, [0x5eb321]
mov dword [edi + 8], eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
lea eax, [0x63a210]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
sub esp, 0xffffff80
ret
mov eax, dword [esp + 0x84]
call fcn.0045df70
jmp 0x53c972
lea eax, [0x5d50c0]
mov dword [esp], eax
call fcn.0040b8e0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x88]
mov dword [edi + 4], eax
mov eax, dword [0x770e60]
test eax, eax
jne 0x53ca2b
mov eax, dword [esp + 0x84]
mov dword [edi], eax
mov dword [edi + 0xc], 2
lea eax, [0x5eb321]
mov dword [edi + 8], eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
lea eax, [0x63a210]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
sub esp, 0xffffff80
ret
mov eax, dword [esp + 0x84]
call fcn.0045df70
jmp 0x53c9ed
lea edi, [edx - 0x41]
xchg edi, eax
cmp al, 0x19
xchg edi, eax
ja 0x53ca52
xchg edi, eax
movzx edx, al
xchg edi, eax
mov edi, 1
jmp 0x53c586
add edx, 0xffffff9f
cmp dl, 0x19
ja 0x53ca67
movzx edx, dl
mov edi, 1
jmp 0x53c586
xor edx, edx
xor edi, edi
jmp 0x53c586
lea eax, [0x5d50c0]
mov dword [esp], eax
call fcn.0040b8e0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x88]
mov dword [edi + 4], eax
mov eax, dword [0x770e60]
test eax, eax
jne 0x53cadd
mov eax, dword [esp + 0x84]
mov dword [edi], eax
mov dword [edi + 0xc], 2
lea eax, [0x5eb321]
mov dword [edi + 8], eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
lea eax, [0x63a210]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
sub esp, 0xffffff80
ret
mov eax, dword [esp + 0x84]
call fcn.0045df70
jmp 0x53ca9f
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
call fcn.004488d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
sub esp, 0xffffff80
ret
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
xor edi, edi
mov edx, ebp
jmp 0x53c50c
mov eax, dword [esp + 0x84]
mov dword [esp + 0x8c], eax
lea eax, [edx - 1]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
sub esp, 0xffffff80
ret
lea eax, [0x5d50c0]
mov dword [esp], eax
call fcn.0040b8e0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x88]
mov dword [edi + 4], eax
mov eax, dword [0x770e60]
test eax, eax
jne 0x53cbe9
mov eax, dword [esp + 0x84]
mov dword [edi], eax
mov dword [edi + 0xc], 2
lea eax, [0x5eb321]
mov dword [edi + 8], eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
lea eax, [0x63a210]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
sub esp, 0xffffff80
ret
mov eax, dword [esp + 0x84]
call fcn.0045df70
jmp 0x53cbab
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
sub esp, 0xffffff80
ret
mov eax, edi
mov ecx, ebp
call fcn.0045e050
mov eax, edx
mov ecx, ebx
call fcn.0045e050
call fcn.004303c0
call fcn.004303c0
mov eax, ecx
mov ecx, ebp
call fcn.0045dff0
call fcn.0045e010
nop
call fcn.0045ca10
jmp fcn.0053c390