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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x74]
cmp eax, dword [ecx + 8]
jbe 0x52e26e
sub esp, 0xf4
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
lea edx, [0x57f2d7]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.004e4850
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
movzx edx, byte [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
test dl, dl
je 0x52cf13
mov dword [esp + 0x74], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x2c], ebp
test ebx, ebx
jne 0x52cc00
xor edx, edx
jmp 0x52cc34
mov dword [esp], eax
mov dword [esp + 4], ebx
lea ecx, [0x59493c]
mov dword [esp + 8], ecx
call fcn.004e3920
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x98]
test dl, dl
je 0x52cef6
test ebp, ebp
jne 0x52cc44
xor edx, edx
jmp 0x52cc78
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x59493c]
mov dword [esp + 8], eax
call fcn.004e3920
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x98]
test dl, dl
je 0x52cef6
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004e32d0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb4]
test edx, edx
je 0x52ccb0
lea ebx, [esp + 0xb4]
cmp edx, ebx
je 0x52ccc5
jmp 0x52e255
lea edx, [esp + 0xb4]
mov dword [esp + 0xb4], edx
lea ebx, [esp + 0xb4]
mov edx, dword [esp + 0xbc]
lea ebp, [eax + edx]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xb8]
cmp esi, ebp
jae 0x52cd29
mov dword [esp + 0x6c], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x90], ecx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x55c1e0]
mov dword [esp + 0x10], ecx
call fcn.00449580
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0xb0], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004623c0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb8], eax
nop
nop
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x52cd8b
lea ecx, [esp + 0xb4]
cmp eax, ecx
je 0x52cda0
jmp 0x52e23d
lea eax, [esp + 0xb4]
mov dword [esp + 0xb4], eax
lea ecx, [esp + 0xb4]
mov eax, dword [esp + 0xbc]
inc eax
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ebx, eax
jae 0x52cdf6
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], eax
mov byte [eax + edx - 1], 0x2f
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.004e32d0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb4]
test edx, edx
je 0x52ce3a
lea ebx, [esp + 0xb4]
cmp edx, ebx
je 0x52ce48
jmp 0x52e225
lea edx, [esp + 0xb4]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0xbc]
lea ebx, [edx + eax]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0xb8]
cmp ebp, ebx
jae 0x52ceac
mov dword [esp + 0x38], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x6c], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x55c1e0]
mov dword [esp + 0x10], ecx
call fcn.00449580
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0xb0], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004623c0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb8], eax
jmp 0x52d040
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
add esp, 0xf4
ret
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x52d0bb
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x59493c]
mov dword [esp + 8], edx
call fcn.004e3920
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x52d0bb
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.004e32d0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb4]
test edx, edx
je 0x52cf89
lea ebx, [esp + 0xb4]
cmp edx, ebx
je 0x52cf97
jmp 0x52e20d
lea edx, [esp + 0xb4]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0xbc]
lea ebx, [edx + eax]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0xb8]
cmp ebp, ebx
jae 0x52cffb
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x94], ecx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x55c1e0]
mov dword [esp + 0x10], ecx
call fcn.00449580
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], ebx
mov dword [esp + 0xb0], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004623c0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x100]
test eax, eax
je 0x52d04f
mov ecx, dword [eax]
jmp 0x52d051
xor ecx, ecx
mov dword [esp + 0x54], ecx
lea eax, [0x55c020]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.004494c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], eax
lea edi, [esp + 0xc4]
xor eax, eax
call fcn.00461cc4
lea eax, [0x55d2c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
lea edx, [esp + 0xc4]
mov dword [esp + 8], edx
call fcn.0040d470
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xac]
xor edx, edx
jmp 0x52d0f6
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
add esp, 0xf4
ret
lea eax, [esp + 0xc4]
mov dword [esp], eax
call fcn.0040d6a0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0xc4]
test ebx, ebx
je 0x52d189
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
inc edx
cmp eax, edx
jae 0x52d153
mov dword [esp + 0x5c], ebx
mov dword [esp + 0xa4], ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x55c020]
mov dword [esp + 0x10], eax
call fcn.00449580
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
lea esi, [ecx + edx*8 - 4]
mov dword [esi], ebx
lea edi, [ecx + edx*8 - 8]
mov ebx, dword [0x714170]
test ebx, ebx
jne 0x52d17d
mov dword [edi], ebp
jmp 0x52d0d8
mov eax, ebp
call fcn.00461af0
jmp 0x52d0d8
mov dword [esp + 0x50], edx
mov dword [esp + 0xa8], ecx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004091b0
mov eax, dword [esp + 0xc]
lea ecx, [0x5c728c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00488040
xor eax, eax
jmp 0x52d1c5
mov ecx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jge 0x52d840
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xa8]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x58], ebx
mov edx, dword [edx]
mov dword [esp + 0xa0], edx
lea ebp, [0x55d2c0]
mov dword [esp], ebp
mov esi, dword [esp + 0x100]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0040ef50
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
nop
mov edx, dword [esp + 0xb4]
test edx, edx
je 0x52d235
lea ebx, [esp + 0xb4]
cmp edx, ebx
je 0x52d24a
jmp 0x52e1f5
lea edx, [esp + 0xb4]
mov dword [esp + 0xb4], edx
lea ebx, [esp + 0xb4]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0xbc]
inc edx
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xc0]
cmp esi, edx
jae 0x52d2b7
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb8], ebp
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb4]
mov dword [esp + 0xbc], edx
mov byte [edx + ebp - 1], 0x3b
nop
nop
mov edx, dword [esp + 0xb4]
test edx, edx
je 0x52d2d9
cmp edx, ebx
je 0x52d2e0
jmp 0x52e1dd
mov dword [esp + 0xb4], ebx
mov edx, dword [esp + 0xbc]
inc edx
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xc0]
cmp esi, edx
jae 0x52d345
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb8], ebp
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb4]
mov dword [esp + 0xbc], edx
mov byte [edx + ebp - 1], 0x20
mov edx, dword [esp + 0x58]
test edx, edx
je 0x52d823
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x59493c]
mov dword [esp + 8], ecx
call fcn.004e3920
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x52d823
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
call fcn.004e32d0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb4]
test edx, edx
je 0x52d3c1
lea ebx, [esp + 0xb4]
cmp edx, ebx
je 0x52d3d6
jmp 0x52e1c5
lea edx, [esp + 0xb4]
mov dword [esp + 0xb4], edx
lea ebx, [esp + 0xb4]
mov edx, dword [esp + 0xbc]
lea ebp, [eax + edx]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xb8]
cmp esi, ebp
jae 0x52d43a
mov dword [esp + 0x68], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x34], eax
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x55c1e0]
mov dword [esp + 0x10], ecx
call fcn.00449580
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], esi
mov dword [esp + 0xb0], edi
mov dword [esp + 0x64], ebp
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004623c0
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb8], eax
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
xor edx, edx
jmp 0x52d87b
cmp edx, eax
jge 0x52d540
nop
nop
mov ebx, dword [esp + 0xb4]
test ebx, ebx
je 0x52d4b4
lea ebp, [esp + 0xb4]
cmp ebx, ebp
je 0x52d4c9
jmp 0x52e1ad
lea ebx, [esp + 0xb4]
mov dword [esp + 0xb4], ebx
lea ebp, [esp + 0xb4]
mov ebx, dword [esp + 0xbc]
inc ebx
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xc0]
cmp edi, ebx
jae 0x52d532
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb8], esi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
lea ebp, [esp + 0xb4]
mov dword [esp + 0xbc], ebx
mov byte [ebx + esi - 1], 0x2a
jmp 0x52d547
lea ebp, [esp + 0xb4]
nop
mov ebx, dword [esp + 0xb4]
test ebx, ebx
je 0x52d55c
cmp ebx, ebp
je 0x52d563
jmp 0x52e195
mov dword [esp + 0xb4], ebp
mov ebx, dword [esp + 0xbc]
inc ebx
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xc0]
cmp edi, ebx
jb 0x52d581
cmp edx, eax
jmp 0x52d5d4
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb8], esi
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
mov eax, ecx
mov ecx, dword [esp + 0x70]
lea ebp, [esp + 0xb4]
mov dword [esp + 0xbc], ebx
mov byte [ebx + esi - 1], 0x3d
jge 0x52d690
nop
mov edx, dword [esp + 0xb4]
test edx, edx
je 0x52d5fb
cmp edx, ebp
je 0x52d602
jmp 0x52e17d
mov dword [esp + 0xb4], ebp
mov edx, dword [esp + 0xbc]
lea ebx, [edx + 7]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xb8]
cmp esi, ebx
jae 0x52d663
mov dword [esp + 0x68], edx
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 7
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
lea ebp, [esp + 0xb4]
mov dword [edi + edx], 0x2d667475
mov dword [edi + edx + 3], 0x2727382d
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], esi
mov dword [esp + 0xb8], edi
xor edx, edx
xor ebx, ebx
jmp 0x52dc86
test eax, eax
jne 0x52d698
xor edx, edx
jmp 0x52d6c8
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x59493c]
mov dword [esp + 8], edx
call fcn.004e3920
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x70]
lea ebp, [esp + 0xb4]
mov edx, eax
mov eax, dword [esp + 0x28]
test dl, dl
jne 0x52d766
nop
mov edx, dword [esp + 0xb4]
test edx, edx
je 0x52d6e5
cmp edx, ebp
je 0x52d6ec
jmp 0x52dc6d
mov dword [esp + 0xb4], ebp
mov edx, dword [esp + 0xbc]
inc edx
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xc0]
cmp esi, edx
jae 0x52d751
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb8], ebx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
lea ebp, [esp + 0xb4]
mov dword [esp + 0xbc], edx
mov byte [edx + ebx - 1], 0x22
xor edx, edx
xor ebx, ebx
jmp 0x52d8e7
nop
nop
mov edx, dword [esp + 0xb4]
test edx, edx
je 0x52d77c
cmp edx, ebp
je 0x52d783
jmp 0x52d8ce
mov dword [esp + 0xb4], ebp
mov edx, dword [esp + 0xbc]
lea ebx, [eax + edx]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0xb8]
cmp ebp, ebx
jae 0x52d7d9
mov dword [esp + 0x68], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x55c1e0]
mov dword [esp + 0x10], ecx
call fcn.00449580
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], ebp
mov dword [esp + 0xb0], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004623c0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb8], eax
jmp 0x52d1be
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
add esp, 0xf4
ret
mov eax, dword [esp + 0xb8]
mov ecx, eax
neg eax
mov edx, dword [esp + 0xbc]
cmp edx, eax
ja 0x52d86b
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], edx
add esp, 0xf4
ret
test ecx, ecx
je 0x52d874
call fcn.0045b010
call fcn.0045b050
mov edx, ebp
mov dword [esp + 0x68], edx
cmp edx, eax
jge 0x52d491
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x52d898
lea ebp, [edx + 1]
jmp 0x52d8bc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045b110
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
lea esi, [ebx - 0x20]
cmp esi, 0x5e
jbe 0x52d879
cmp ebx, 9
je 0x52d879
jmp 0x52d48f
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
inc edx
cmp edx, eax
jge 0x52da8f
jae 0x52dc64
movzx esi, byte [edx + ecx]
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x52d907
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x52d8e6
cmp ebx, edx
ja 0x52dc5b
mov esi, edx
sub edx, ebx
mov edi, edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
nop
mov ebx, dword [esp + 0xb4]
test ebx, ebx
je 0x52d934
cmp ebx, ebp
je 0x52d93b
jmp 0x52dc43
mov dword [esp + 0xb4], ebp
mov dword [esp + 0x68], esi
mov ebx, dword [esp + 0xbc]
lea ecx, [edi + ebx]
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0xb8]
cmp eax, ecx
jae 0x52d99d
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], edi
mov dword [esp + 0x7c], edx
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0xb0], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call fcn.004623c0
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb8], eax
nop
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x52d9fe
lea edx, [esp + 0xb4]
cmp eax, edx
je 0x52da0c
jmp 0x52dc2b
lea edx, [esp + 0xb4]
mov dword [esp + 0xb4], edx
mov ebx, dword [esp + 0xbc]
inc ebx
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xc0]
cmp esi, ebx
jae 0x52da69
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb8], ebp
lea edx, [esp + 0xb4]
mov dword [esp + 0xbc], ebx
mov byte [ebx + ebp - 1], 0x5c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
lea ebp, [esp + 0xb4]
mov ebx, edx
jmp 0x52d8e6
cmp ebx, eax
ja 0x52dc22
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
lea eax, [ebx + ecx]
nop
mov ecx, dword [esp + 0xb4]
test ecx, ecx
je 0x52daba
cmp ecx, ebp
je 0x52dac1
jmp 0x52dc0a
mov dword [esp + 0xb4], ebp
mov ecx, dword [esp + 0xbc]
lea ebx, [edx + ecx]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xb8]
cmp esi, ebx
jae 0x52db1f
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x78], eax
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x68], esi
mov dword [esp + 0xb0], edi
mov dword [esp + 0x64], ebx
add ecx, edi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004623c0
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb8], eax
nop
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x52db7d
lea ecx, [esp + 0xb4]
cmp eax, ecx
je 0x52db8b
jmp 0x52dbf2
lea eax, [esp + 0xb4]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xbc]
inc eax
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xc0]
cmp edx, eax
jae 0x52dbe1
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
mov byte [eax + ecx - 1], 0x22
jmp 0x52d1be
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
mov ecx, eax
mov eax, ebx
call fcn.00461bd0
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
mov eax, ebx
mov ecx, edx
call fcn.00461bd0
mov ecx, eax
mov eax, edx
call fcn.00461b70
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
inc edx
cmp edx, eax
jge 0x52e00a
jae 0x52e174
mov dword [esp + 0x4c], edx
movzx esi, byte [ecx + edx]
xchg esi, eax
mov byte [esp + 0x25], al
xchg esi, eax
lea edi, [esi - 0x21]
xchg edi, eax
cmp al, 0x5e
xchg edi, eax
jb 0x52dcb3
mov edi, 1
jmp 0x52dd27
xchg esi, eax
cmp al, 0x2a
xchg esi, eax
jne 0x52dcc1
mov edi, 1
jmp 0x52dd27
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x52dccf
mov edi, 1
jmp 0x52dd27
xchg esi, eax
cmp al, 0x25
xchg esi, eax
jne 0x52dcdd
mov edi, 1
jmp 0x52dd27
mov dword [esp + 0x44], ebx
lea eax, [0x5822f0]
mov dword [esp], eax
mov dword [esp + 4], 0xf
xchg esi, eax
movzx ecx, al
xchg esi, eax
mov dword [esp + 8], ecx
call fcn.004e21c0
mov eax, dword [esp + 0xc]
test eax, eax
setge al
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x44]
lea ebp, [esp + 0xb4]
movzx esi, byte [esp + 0x25]
mov edi, eax
mov eax, dword [esp + 0x28]
xchg edi, eax
test al, al
xchg edi, eax
je 0x52dc85
cmp ebx, edx
ja 0x52e16b
mov edi, edx
sub edx, ebx
mov dword [esp + 0x30], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ecx + ebx]
nop
mov ebx, dword [esp + 0xb4]
test ebx, ebx
je 0x52dd60
cmp ebx, ebp
je 0x52dd67
jmp 0x52e153
mov dword [esp + 0xb4], ebp
mov ebx, dword [esp + 0xbc]
mov ecx, dword [esp + 0x30]
lea eax, [ebx + ecx]
mov edi, dword [esp + 0xc0]
mov esi, dword [esp + 0xb8]
cmp edi, eax
jae 0x52ddcb
mov dword [esp + 0x84], edx
mov dword [esp + 0x68], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], edi
mov dword [esp + 0xb0], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004623c0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb8], eax
nop
nop
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x52de2d
lea edx, [esp + 0xb4]
cmp eax, edx
je 0x52de3b
jmp 0x52e13b
lea edx, [esp + 0xb4]
mov dword [esp + 0xb4], edx
mov ebx, dword [esp + 0xbc]
inc ebx
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xc0]
cmp esi, ebx
jae 0x52de98
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb8], ebp
lea edx, [esp + 0xb4]
mov dword [esp + 0xbc], ebx
mov byte [ebx + ebp - 1], 0x25
movzx ebx, byte [esp + 0x25]
mov ebp, ebx
shr bl, 4
movzx ebx, bl
lea esi, [0x58283d]
movzx ebx, byte [esi + ebx]
nop
mov edi, dword [esp + 0xb4]
test edi, edi
je 0x52ded0
cmp edi, edx
je 0x52ded7
jmp 0x52e123
mov dword [esp + 0xb4], edx
mov edi, dword [esp + 0xbc]
inc edi
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0xc0]
cmp esi, edi
jae 0x52df3b
mov byte [esp + 0x27], bl
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb8], edx
movzx ebx, byte [esp + 0x27]
movzx ebp, byte [esp + 0x25]
mov dword [esp + 0xbc], edi
mov byte [edi + edx - 1], bl
and ebp, 0xf
lea edx, [0x58283d]
movzx edx, byte [ebp + edx]
nop
mov ebx, dword [esp + 0xb4]
test ebx, ebx
je 0x52df70
lea ebp, [esp + 0xb4]
cmp ebx, ebp
je 0x52df85
jmp 0x52e10b
lea ebx, [esp + 0xb4]
mov dword [esp + 0xb4], ebx
lea ebp, [esp + 0xb4]
mov ebx, dword [esp + 0xbc]
inc ebx
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xc0]
cmp edi, ebx
jae 0x52dfeb
mov byte [esp + 0x26], dl
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb8], esi
movzx edx, byte [esp + 0x26]
lea ebp, [esp + 0xb4]
mov dword [esp + 0xbc], ebx
mov byte [ebx + esi - 1], dl
mov edx, dword [esp + 0x4c]
lea ebx, [edx + 1]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
jmp 0x52dc85
cmp ebx, eax
ja 0x52e102
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
lea eax, [ecx + ebx]
nop
mov ecx, dword [esp + 0xb4]
test ecx, ecx
je 0x52e035
cmp ecx, ebp
je 0x52e03c
jmp 0x52e0ea
mov dword [esp + 0xb4], ebp
mov ecx, dword [esp + 0xbc]
lea ebx, [edx + ecx]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0xb8]
cmp ebp, ebx
jae 0x52e0a0
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x80], eax
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
lea eax, [0x55c1e0]
mov dword [esp + 0x10], eax
call fcn.00449580
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], ebp
mov dword [esp + 0xb0], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004623c0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb8], eax
jmp 0x52d1be
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
mov ecx, eax
mov eax, ebx
call fcn.00461bd0
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
mov eax, ebx
mov ecx, edx
call fcn.00461bd0
mov ecx, eax
mov eax, edx
call fcn.00461b70
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
lea eax, [0x55c020]
mov dword [esp], eax
lea eax, [0x5c6594]
mov dword [esp + 4], eax
call fcn.00434c50
nop
call fcn.004606e0
jmp fcn.0052cb50