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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2bc]
cmp eax, dword [ecx + 8]
jbe 0x53cb00
sub esp, 0x33c
mov eax, dword [esp + 0x348]
test eax, eax
je 0x53a1e4
test eax, 0x200
jne 0x53a1e4
lea ecx, [0x897244]
mov edx, dword [esp + 0x340]
jmp 0x53a215
mov ecx, dword [esp + 0x340]
mov dword [esp], ecx
mov edx, dword [esp + 0x344]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004a5740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x348]
mov ebx, dword [esp + 0x350]
mov ebp, dword [esp + 0x358]
cmp ebx, ebp
jne 0x53a2c6
mov ecx, dword [esp + 0x340]
mov dword [esp], ecx
mov ecx, dword [esp + 0x344]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea edi, [esp + 0xc]
lea esi, [esp + 0x35c]
call fcn.0045fc44
call fcn.0053cb10
movzx eax, byte [esp + 0x24]
test al, al
je 0x53a268
xor eax, eax
xor ecx, ecx
jmp 0x53a2a3
lea eax, [0x6bc250]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], 0x12
mov eax, dword [esp + 0x1b8]
mov dword [esp], eax
mov dword [esp + 4], 0x12
call fcn.00408970
mov eax, dword [esp + 8]
mov ecx, eax
lea eax, [0x895984]
mov edx, dword [esp + 0x358]
mov dword [esp + 0x374], edx
mov dword [esp + 0x378], eax
mov dword [esp + 0x37c], ecx
add esp, 0x33c
ret
mov dword [esp + 0xa8], edx
mov dword [esp + 0x44], ecx
mov eax, dword [ecx + 0x50]
mov dword [esp], edx
call eax
cmp dword [esp + 4], 0x14
je 0x53a2e4
xor eax, eax
jmp 0x53a300
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
sete al
test al, al
je 0x53aa48
mov eax, dword [esp + 0x34c]
mov dword [esp], eax
mov ecx, dword [esp + 0x350]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x354]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x358]
mov dword [esp + 0xc], ebx
call fcn.00539730
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xfc], edx
mov ebx, dword [esp + 0x18]
movzx ebp, byte [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
test ecx, ecx
jne 0x53aa25
mov dword [esp + 0x4c], eax
mov dword [esp + 0xfc], edx
lea edx, [ebx + eax]
cmp eax, edx
jg 0x53a9cc
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x350]
cmp ebx, edx
jl 0x53a9cc
mov dword [esp + 0x94], edx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x53a9bc
test esi, esi
jne 0x53a9ac
mov ebx, dword [esp + 0x354]
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov esi, dword [esp + 0x34c]
mov eax, edx
lea edx, [ebx + esi]
cmp edi, 0x12
jg 0x53a71e
cmp edi, 4
jle 0x53a520
cmp edi, 6
je 0x53a4b4
cmp edi, 0xc
je 0x53a3fc
cmp edi, 0x12
jne 0x53a804
mov ecx, dword [esp + 0x54]
xor ebx, ebx
jmp 0x53ca48
mov dword [esp + 0xcc], edx
mov dword [esp], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0048a660
movzx eax, byte [esp + 0xc]
test al, al
je 0x53a44d
mov dword [esp], 0
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
call fcn.0044b280
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
jmp 0x53a47a
lea eax, [0x687ca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x6c0623]
mov dword [eax], ecx
xor ecx, ecx
lea edx, [0x895484]
mov ebx, eax
xor eax, eax
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x78], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408970
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xe4]
lea ebx, [0x67e720]
mov ebp, eax
mov eax, dword [esp + 0x94]
jmp 0x53c992
mov dword [esp], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00538bd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x90], ebx
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0xfc], ebp
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004089f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xfc]
lea ebx, [0x68cb00]
mov ebp, eax
mov eax, dword [esp + 0x94]
jmp 0x53c992
cmp edi, 2
je 0x53a6ba
cmp edi, 3
jne 0x53a670
mov edi, dword [esp + 0x54]
test edi, edi
je 0x53a5cc
movzx ecx, byte [ebx + esi]
movzx ebx, cl
cmp ebx, 7
jg 0x53a568
cmp edi, 1
jne 0x53a553
test ebx, ebx
jne 0x53a568
movzx esi, byte [edi + edx - 1]
mov eax, 1
shl eax, cl
dec eax
xchg esi, ebx
test al, bl
xchg esi, ebx
je 0x53a5ab
lea eax, [0x6c4726]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0x22
mov eax, dword [esp + 0x190]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00408970
mov eax, dword [esp + 8]
xor ebp, ebp
xor esi, esi
xor ecx, ecx
lea edx, [0x895984]
xor ebx, ebx
jmp 0x53a60d
lea ecx, [edi - 1]
mov esi, ecx
shl ecx, 3
sub ecx, ebx
lea ebx, [ebp - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add edx, ebx
mov ebx, edx
xor eax, eax
xor edx, edx
jmp 0x53a60d
lea eax, [0x6be6b9]
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], 0x16
mov eax, dword [esp + 0x198]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.00408970
mov eax, dword [esp + 8]
xor ebp, ebp
xor esi, esi
xor ecx, ecx
lea edx, [0x895984]
xor ebx, ebx
mov dword [esp + 0xe0], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x1c8], ebx
mov dword [esp + 0x1cc], esi
mov dword [esp + 0x1d0], ebp
mov dword [esp + 0x1d4], ecx
lea ecx, [0x69c900]
mov dword [esp], ecx
lea ebx, [esp + 0x1c8]
mov dword [esp + 4], ebx
call fcn.00408750
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xe0]
lea ebx, [0x69c900]
mov ebp, eax
mov eax, dword [esp + 0x94]
jmp 0x53c992
cmp edi, 4
jne 0x53a804
mov dword [esp + 0x90], ecx
mov dword [esp], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004089f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xfc]
lea ebx, [0x6769e0]
mov ebp, eax
mov eax, dword [esp + 0x94]
jmp 0x53c992
mov dword [esp], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00538320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xfc], ebx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004088f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xfc]
lea ebx, [0x67dfa0]
mov ebp, eax
mov eax, dword [esp + 0x94]
jmp 0x53c992
cmp edi, 0x16
jg 0x53a7f1
cmp edi, 0x13
je 0x53a78d
cmp edi, 0x14
je 0x53a745
cmp edi, 0x16
jne 0x53a804
mov ecx, dword [esp + 0x54]
xor ebx, ebx
jmp 0x53c9a1
mov dword [esp], 0
mov dword [esp + 4], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
call fcn.0044b280
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408970
mov eax, dword [esp + 8]
xor ecx, ecx
xor edx, edx
lea ebx, [0x67e720]
mov ebp, eax
mov eax, dword [esp + 0x94]
jmp 0x53c992
mov dword [esp], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00539470
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xfc], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408970
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xfc]
lea ebx, [0x67e720]
mov ebp, eax
mov eax, dword [esp + 0x94]
jmp 0x53c992
cmp edi, 0x17
je 0x53a912
cmp edi, 0x18
je 0x53a878
cmp edi, 0x1e
je 0x53a814
mov edx, dword [esp + 0xfc]
xor ebx, ebx
xor ebp, ebp
jmp 0x53c992
mov dword [esp], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00539580
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xfc], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408970
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xfc]
lea ebx, [0x67e720]
mov ebp, eax
mov eax, dword [esp + 0x94]
jmp 0x53c992
lea edi, [esp + 0x228]
xor eax, eax
call fcn.0045f76b
mov dword [esp], edx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00539280
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xfc], edx
lea edi, [esp + 0x228]
lea esi, [esp + 0xc]
call fcn.0045fc4e
lea edi, [esp + 0x200]
lea esi, [esp + 0x228]
call fcn.0045fc4e
lea ecx, [0x6b49a0]
mov dword [esp], ecx
lea ecx, [esp + 0x200]
mov dword [esp + 4], ecx
call fcn.00408750
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xfc]
lea ebx, [0x6b49a0]
mov ebp, eax
mov eax, dword [esp + 0x94]
jmp 0x53c992
lea edi, [esp + 0x228]
xor eax, eax
call fcn.0045f76b
mov dword [esp], edx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00538fa0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xfc], edx
lea edi, [esp + 0x228]
lea esi, [esp + 0xc]
call fcn.0045fc4e
lea edi, [esp + 0x214]
lea esi, [esp + 0x228]
call fcn.0045fc4e
lea ecx, [0x6b49a0]
mov dword [esp], ecx
lea ecx, [esp + 0x214]
mov dword [esp + 4], ecx
call fcn.00408750
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xfc]
lea ebx, [0x6b49a0]
mov ebp, eax
mov eax, dword [esp + 0x94]
jmp 0x53c992
mov eax, dword [esp + 0xfc]
xor ebx, ebx
xor ebp, ebp
jmp 0x53c887
mov eax, dword [esp + 0xfc]
xor ebx, ebx
xor ebp, ebp
jmp 0x53c887
lea eax, [0x6ba3c8]
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], 0xe
mov eax, dword [esp + 0x1b0]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.00408970
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x374], ecx
lea ecx, [0x895984]
mov dword [esp + 0x378], ecx
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x378], eax
mov dword [esp + 0x37c], edx
add esp, 0x33c
ret
mov eax, dword [esp + 0x34c]
mov dword [esp], eax
mov ecx, dword [esp + 0x350]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x354]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x358]
mov dword [esp + 0xc], ebx
call fcn.00539730
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x24]
mov dword [esp + 0xfc], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebp
mov byte [esp + 0xa4], dl
test esi, esi
jne 0x53c234
movzx ecx, byte [esp + 0x35d]
test cl, cl
je 0x53ae3f
movzx ecx, byte [esp + 0x35e]
test cl, cl
je 0x53aae7
mov ecx, 1
jmp 0x53aaec
mov ecx, 2
mov dword [esp + 0x94], eax
mov ebx, dword [esp + 0x350]
cmp ebx, eax
je 0x53ade3
mov dword [esp + 0xf8], edi
mov dword [esp + 0x90], esi
cmp dword [esp + 0x98], ecx
jne 0x53ad32
mov ecx, dword [esp + 0x364]
mov ebp, dword [esp + 0x9c]
cmp dword [ecx], ebp
jne 0x53ad32
mov ecx, dword [esp + 0xa0]
test ecx, ecx
je 0x53ab46
test dl, dl
je 0x53ad32
mov ecx, dword [0xa1d3dc]
mov edx, dword [esp + 0x44]
cmp dword [0xa1d3d8], edx
jne 0x53abab
mov dword [esp], edx
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00403670
movzx eax, byte [esp + 0xc]
test al, al
je 0x53ab92
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0xf8]
jmp 0x53ae3f
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x350]
mov edi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xa0]
test ecx, ecx
jg 0x53ac9f
mov ecx, dword [0xa1d3c4]
cmp dword [0xa1d3c0], edx
jne 0x53abe8
mov dword [esp], edx
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00403670
movzx eax, byte [esp + 0xc]
test al, al
jne 0x53ac44
lea eax, [0x6c86f2]
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], 0x2d
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
call fcn.00408970
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x374], ecx
lea ecx, [0x895970]
mov dword [esp + 0x378], ecx
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
mov eax, dword [esp + 0x340]
mov dword [esp], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004a5020
mov eax, dword [esp + 0x94]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
mov ecx, dword [esp + 0x34c]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x354]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.00539730
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
movzx ebp, byte [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x24]
mov dword [esp + 0xfc], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ebx
xchg ebp, eax
mov byte [esp + 0xa4], al
xchg ebp, eax
test esi, esi
je 0x53ae3f
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x378], eax
mov dword [esp + 0x37c], edi
add esp, 0x33c
ret
mov eax, dword [esp + 0x340]
mov dword [esp], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 8], eax
lea edi, [esp + 0xc]
lea esi, [esp + 0x35c]
call fcn.0045fc44
call fcn.0053cb10
movzx eax, byte [esp + 0x24]
test al, al
je 0x53ad87
mov eax, dword [esp + 0x358]
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0xf8]
jmp 0x53adc7
lea eax, [0x6c5ab5]
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], 0x25
mov eax, dword [esp + 0x178]
mov dword [esp], eax
mov dword [esp + 4], 0x25
call fcn.00408970
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x94]
lea ecx, [0x895970]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], ecx
mov dword [esp + 0x37c], edi
add esp, 0x33c
ret
lea eax, [0x6bfd66]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], 0x19
mov eax, dword [esp + 0x188]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.00408970
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x374], ecx
lea ecx, [0x895970]
mov dword [esp + 0x378], ecx
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
mov dword [esp + 0xfc], edi
mov dword [esp + 0x90], esi
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x44]
mov dword [esp], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 4], edx
call fcn.0053d430
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x11]
movzx ebx, byte [esp + 0x10]
test dl, dl
je 0x53c176
cmp ecx, 0x13
jne 0x53aed6
mov ecx, dword [esp + 0x98]
test ecx, ecx
jne 0x53aec6
mov ecx, dword [esp + 0x9c]
cmp ecx, 0x14
jg 0x53aeb0
cmp ecx, 0xc
je 0x53aed6
cmp ecx, 0x12
je 0x53aed6
cmp ecx, 0x14
je 0x53aed6
jmp 0x53aebf
cmp ecx, 0x16
je 0x53aed6
cmp ecx, 0x1b
je 0x53aed6
cmp ecx, 0x1e
je 0x53aed6
mov ecx, 0x13
jmp 0x53aed6
mov ecx, dword [esp + 0x368]
test ecx, ecx
jne 0x53aed6
mov ecx, 0x13
cmp ecx, 0x17
jne 0x53aef5
cmp dword [esp + 0x9c], 0x18
jne 0x53aef5
mov edx, dword [esp + 0x98]
test edx, edx
jne 0x53aef5
mov ecx, 0x18
movzx edx, byte [esp + 0x370]
test dl, dl
je 0x53af06
mov ecx, 0x11
movzx edx, byte [esp + 0x35d]
test dl, dl
je 0x53af1d
mov ebp, eax
mov esi, ecx
mov edi, 0
jmp 0x53af4a
mov ebp, dword [esp + 0x364]
test ebp, ebp
je 0x53af3f
mov ebp, dword [ebp]
test dl, dl
mov esi, ecx
mov edi, 2
mov ecx, ebp
mov ebp, eax
mov eax, 0
jmp 0x53af4a
test dl, dl
mov ebp, eax
mov esi, ecx
mov edi, 0
jne 0x53af8c
mov byte [esp + 0x43], bl
movzx ebx, byte [esp + 0x35e]
test bl, bl
je 0x53af85
mov ebx, dword [esp + 0x364]
test ebx, ebx
je 0x53af7c
mov ecx, dword [ebx]
test dl, dl
movzx ebx, byte [esp + 0x43]
mov eax, 0
mov edi, 1
jmp 0x53af8c
test dl, dl
movzx ebx, byte [esp + 0x43]
jmp 0x53af8c
test dl, dl
movzx ebx, byte [esp + 0x43]
jne 0x53afae
movzx edx, byte [esp + 0x35f]
test dl, dl
je 0x53afae
mov edx, dword [esp + 0x364]
test edx, edx
je 0x53afae
mov ecx, dword [edx]
xor eax, eax
mov edi, 3
mov dword [esp + 0x64], ecx
test al, al
jne 0x53afd0
cmp dword [esp + 0x98], edi
jne 0x53bf87
cmp dword [esp + 0x9c], ecx
jne 0x53bf87
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x53afe3
cmp byte [esp + 0xa4], bl
jne 0x53bf87
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x48]
lea edx, [ecx + eax]
cmp ecx, edx
jg 0x53bf2e
mov ebx, dword [esp + 0x350]
cmp ebx, edx
jl 0x53bf2e
mov dword [esp + 0x94], esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x8c], edx
mov eax, dword [esp + 0x340]
mov dword [esp], eax
mov ecx, dword [esp + 0x344]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x348]
mov dword [esp + 8], edx
call fcn.004a2b40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004a4010
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0x48]
sub eax, ecx
mov ebx, eax
neg eax
sar eax, 0x1f
and ecx, eax
mov eax, dword [esp + 0x34c]
lea ebp, [ecx + eax]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x14]
test esi, esi
je 0x53b6d1
mov dword [esp + 0xac], edx
mov edx, dword [esi + 8]
cmp edx, 0xb0201730
ja 0x53b470
cmp edx, 0x423e791d
jne 0x53b22d
lea edx, [0x68aac0]
cmp edi, edx
jne 0x53b6d1
mov edx, dword [esp + 0x50]
test edx, edx
je 0x53b1a0
movzx ecx, byte [ecx + eax]
movzx esi, cl
cmp esi, 7
jg 0x53b13e
cmp edx, 1
jne 0x53b127
test esi, esi
jne 0x53b13e
mov eax, ebp
movzx ebp, byte [edx + ebp - 1]
mov edi, ebx
mov ebx, 1
shl ebx, cl
dec ebx
xchg ebp, eax
test bl, al
xchg ebp, eax
je 0x53b181
lea eax, [0x6c4726]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], 0x22
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00408970
mov eax, dword [esp + 8]
xor ebx, ebx
xor edx, edx
xor ebp, ebp
xor ecx, ecx
lea esi, [0x895984]
jmp 0x53b1e1
lea ecx, [edx - 1]
mov edx, ecx
shl ecx, 3
sub ecx, esi
lea ebx, [edi - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebx, eax
xor esi, esi
xor eax, eax
jmp 0x53b1e1
lea eax, [0x6be6b9]
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], 0x16
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.00408970
mov eax, dword [esp + 8]
xor ebx, ebx
xor edx, edx
xor ebp, ebp
xor ecx, ecx
lea esi, [0x895984]
mov edi, dword [esp + 0xbc]
mov dword [edi + 4], edx
mov dword [edi + 8], ebp
mov dword [edi + 0xc], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x53b1ff
mov dword [edi], ebx
jmp 0x53b20a
mov ecx, eax
mov eax, ebx
call fcn.0045f670
mov eax, ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], esi
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
cmp edx, 0x8ed6f7a2
jne 0x53b3eb
lea edx, [0x6b57e0]
cmp edi, edx
jne 0x53b6d1
mov ecx, dword [esp + 0x94]
cmp ecx, 0x17
jne 0x53b321
lea edi, [esp + 0x228]
xor eax, eax
call fcn.0045f76b
mov dword [esp], ebp
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00538fa0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xfc], ecx
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x228]
lea esi, [esp + 0xc]
call fcn.0045fc4e
lea edi, [esp + 0x1ec]
lea esi, [esp + 0x228]
call fcn.0045fc4e
mov edi, dword [esp + 0xb8]
test byte [edi], al
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x53b2cc
lea esi, [esp + 0x1ec]
call fcn.0045fc4e
jmp 0x53b2f7
mov dword [esp + 0xf8], edx
lea eax, [0x6b49a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1ec]
mov dword [esp + 8], eax
call fcn.00410400
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x378], eax
mov dword [esp + 0x37c], edx
add esp, 0x33c
ret
lea edi, [esp + 0x228]
xor eax, eax
call fcn.0045f76b
mov dword [esp], ebp
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00539280
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xfc], ecx
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x228]
lea esi, [esp + 0xc]
call fcn.0045fc4e
lea edi, [esp + 0x1d8]
lea esi, [esp + 0x228]
call fcn.0045fc4e
mov edi, dword [esp + 0xb8]
test byte [edi], al
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x53b396
lea esi, [esp + 0x1d8]
call fcn.0045fc4e
jmp 0x53b3c1
mov dword [esp + 0xf8], edx
lea eax, [0x6b49a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1d8]
mov dword [esp + 8], eax
call fcn.00410400
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x378], eax
mov dword [esp + 0x37c], edx
add esp, 0x33c
ret
cmp edx, 0xb0201730
jne 0x53b6d1
lea edx, [0x68ab20]
cmp edi, edx
jne 0x53b6d1
mov dword [esp], ebp
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00538bd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0xc0]
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x53b448
mov dword [edi], eax
jmp 0x53b44d
call fcn.0045f670
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], ebx
mov dword [esp + 0x37c], ebp
add esp, 0x33c
ret
cmp edx, 0xc34a524e
ja 0x53b61a
cmp edx, 0xba8d6a2a
jne 0x53b599
lea edx, [0x670460]
cmp edi, edx
jne 0x53b6d1
lea edi, [esp + 0x254]
xor eax, eax
call fcn.0045f767
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x254], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x258], ecx
movzx ecx, byte [esp + 0xa4]
mov byte [esp + 0x25c], cl
mov dword [esp + 0x260], ebp
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x264], ecx
mov dword [esp + 0x268], ebx
mov ecx, dword [esp + 0x354]
mov edx, dword [esp + 0x358]
sub ecx, edx
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, edx
mov ebp, dword [esp + 0x34c]
add ecx, ebp
mov dword [esp + 0x26c], ecx
mov ecx, dword [esp + 0x8c]
mov ebp, ecx
sub ecx, edx
mov dword [esp + 0x270], ecx
mov dword [esp + 0x274], ebx
mov edi, dword [esp + 0xc4]
test byte [edi], al
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x53b54b
lea esi, [esp + 0x254]
call fcn.0045fc26
jmp 0x53b56f
lea eax, [0x69d480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x254]
mov dword [esp + 8], eax
call fcn.00410400
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x374], ebp
mov eax, dword [esp + 0x90]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
cmp edx, 0xc34a524e
jne 0x53b6d1
lea edx, [0x66ef60]
cmp edi, edx
jne 0x53b6d1
mov dword [esp], ebp
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00538740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ecx, ecx
jne 0x53b5f7
mov edi, dword [esp + 0xac]
test byte [edi], al
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x53b5f2
mov dword [edi], eax
jmp 0x53b5f7
call fcn.0045f670
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edx
mov dword [esp + 0x37c], ebx
add esp, 0x33c
ret
cmp edx, 0xf13fb4fb
jne 0x53b684
lea edx, [0x6703a0]
cmp edi, edx
jne 0x53b6d1
mov dword [esp], ebp
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00538590
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ecx, ecx
jne 0x53b661
mov ecx, dword [esp + 0xb4]
mov dword [ecx], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edx
mov dword [esp + 0x37c], ebx
add esp, 0x33c
ret
cmp edx, 0xfb797281
jne 0x53b6d1
lea edx, [0x6703e0]
cmp edi, edx
jne 0x53b6d1
mov eax, dword [esp + 0xb0]
mov byte [eax], 1
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
mov dword [esp + 0x88], ebx
mov dword [esp + 0xc8], ebp
nop
mov edx, dword [esp + 0x348]
mov esi, edx
and edx, 0x1f
cmp edx, 6
jbe 0x53bbc9
cmp edx, 0x17
je 0x53b95c
cmp edx, 0x18
jne 0x53b949
mov eax, dword [esp + 0x94]
cmp eax, 0x13
jg 0x53b7e9
cmp eax, 0xc
je 0x53b76a
cmp eax, 0x12
jne 0x53b72c
mov eax, dword [esp + 0x50]
xor ecx, ecx
jmp 0x53c806
cmp eax, 0x13
jne 0x53b842
mov dword [esp], ebp
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00539470
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, edx
mov edx, eax
mov eax, ebp
mov esi, ebx
mov ebx, ecx
mov ecx, esi
jmp 0x53c71c
mov dword [esp], ebp
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0048a660
movzx eax, byte [esp + 0xc]
test al, al
je 0x53b7b7
mov dword [esp], 0
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call fcn.0044b280
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
jmp 0x53c71c
lea eax, [0x687ca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x6c0623]
mov dword [eax], ecx
xor ecx, ecx
lea edx, [0x895484]
mov ebx, eax
xor eax, eax
jmp 0x53c71c
cmp eax, 0x16
jg 0x53b830
cmp eax, 0x14
je 0x53b803
cmp eax, 0x16
jne 0x53b842
mov eax, dword [esp + 0x50]
xor ecx, ecx
jmp 0x53c78d
mov dword [esp], 0
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call fcn.0044b280
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ecx, ebx
mov eax, edx
xor edx, edx
xor ebx, ebx
jmp 0x53c71c
cmp eax, 0x1b
je 0x53b91c
cmp eax, 0x1e
je 0x53b8e7
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov dword [esp], eax
call fcn.00408890
mov eax, dword [esp + 4]
lea ecx, [0x67dee0]
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1c4], eax
lea eax, [0x6c6123]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x1c0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.00514480
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0x120]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408970
mov ecx, dword [esp + 8]
lea edx, [0x895984]
mov ebx, ecx
xor ecx, ecx
xor eax, eax
jmp 0x53c71c
mov dword [esp], ebp
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00539580
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, edx
mov edx, eax
mov eax, ebp
mov esi, ebx
mov ebx, ecx
mov ecx, esi
jmp 0x53c71c
mov dword [esp], 0
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call fcn.0044b280
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ecx, ebx
mov eax, edx
xor edx, edx
xor ebx, ebx
jmp 0x53c71c
cmp edx, 0x19
jne 0x53b955
xor ecx, ecx
jmp 0x53c25e
test esi, esi
jmp 0x53be60
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x53bae5
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.004a5e90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x340]
mov dword [esp], ebx
mov ebp, dword [esp + 0x344]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x348]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004a4f10
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
call fcn.004089f0
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0xa1dac0]
test cl, cl
je 0x53ba47
lea ecx, [0x6769e0]
mov dword [0xa1dac4], ecx
mov edx, dword [0xa43e50]
test edx, edx
jne 0x53ba3a
mov dword [0xa1dac8], eax
jmp 0x53ba4d
lea edi, [0xa1dac8]
call fcn.0045f670
jmp 0x53ba4d
lea ecx, [0x6769e0]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0x100]
test ecx, ecx
je 0x53ba7d
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x53ba83
or edx, 0x80
jmp 0x53ba83
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x340]
mov dword [esp], ebx
mov ebx, dword [esp + 0x344]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x348]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004a5b60
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc8]
mov dword [esp], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00539d40
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
test ebx, ebx
jne 0x53bba6
mov dword [esp + 0xfc], ebp
mov dword [esp + 0xd0], esi
mov ebx, dword [esp + 0x340]
mov dword [esp], ebx
mov ebx, dword [esp + 0x344]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x348]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004a4f10
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], ebp
mov dword [esp + 0x37c], esi
add esp, 0x33c
ret
cmp edx, 1
jne 0x53bce8
mov edx, dword [esp + 0x50]
cmp edx, 1
jne 0x53bc47
movzx eax, byte [ecx + eax]
test al, al
jne 0x53bbee
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x53bc89
cmp al, 0xff
jne 0x53bc01
xor eax, eax
mov ecx, 1
xor edx, edx
jmp 0x53bc89
lea eax, [0x6baa87]
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], 0xf
mov eax, dword [esp + 0x140]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.00408970
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x348]
xor ecx, ecx
mov edx, eax
lea eax, [0x895984]
jmp 0x53bc89
lea eax, [0x6baa87]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], 0xf
mov eax, dword [esp + 0x148]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.00408970
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x348]
lea eax, [0x895984]
xor ecx, ecx
test eax, eax
jne 0x53bcc5
mov dword [esp + 0xdc], edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x340]
mov dword [esp], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov byte [esp + 0xc], cl
call fcn.004a5020
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
mov dword [esp + 0x37c], edx
add esp, 0x33c
ret
cmp edx, 2
jne 0x53bcf1
test esi, esi
jmp 0x53bcfc
cmp edx, 5
jb 0x53be5e
test esi, esi
je 0x53bd15
test esi, 0x200
jne 0x53bd15
lea eax, [0x897244]
mov ecx, dword [esp + 0x340]
jmp 0x53bd3b
mov eax, dword [esp + 0x340]
mov dword [esp], eax
mov ecx, dword [esp + 0x344]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.004a5740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x7c]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 4
jne 0x53bdce
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
call fcn.00538590
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
jne 0x53be3b
mov dword [esp + 0xd8], edx
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x340]
mov dword [esp], ecx
mov ecx, dword [esp + 0x344]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x348]
mov dword [esp + 8], ecx
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004a50e0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xd8]
jmp 0x53be3b
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
call fcn.00538320
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x53be37
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x340]
mov dword [esp], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 8], eax
call fcn.004a50e0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xd4]
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], ecx
mov dword [esp + 0x37c], edx
add esp, 0x33c
ret
test esi, esi
je 0x53be79
test esi, 0x200
jne 0x53be79
lea eax, [0x897244]
mov ecx, dword [esp + 0x340]
jmp 0x53be9f
mov eax, dword [esp + 0x340]
mov dword [esp], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004a5740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x6b9efe]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044afd0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408970
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x374], ecx
lea ecx, [0x895970]
mov dword [esp + 0x378], ecx
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
lea eax, [0x6ba3c8]
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0xe
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.00408970
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x374], ecx
lea ecx, [0x895984]
mov dword [esp + 0x378], ecx
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
mov eax, dword [esp + 0x340]
mov dword [esp], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 8], eax
lea edi, [esp + 0xc]
lea esi, [esp + 0x35c]
call fcn.0045fc44
call fcn.0053cb10
movzx eax, byte [esp + 0x24]
test al, al
je 0x53bfdf
mov eax, dword [esp + 0x358]
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0xfc]
jmp 0x53c15a
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x94], ecx
lea edi, [esp + 0x278]
xor eax, eax
call fcn.0045f766
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.00408890
mov eax, dword [esp + 4]
lea ecx, [0x67dee0]
mov dword [esp + 0x278], ecx
mov dword [esp + 0x27c], eax
lea eax, [0x6994c0]
mov dword [esp], eax
lea edx, [esp + 0x98]
mov dword [esp + 4], edx
call fcn.004087b0
mov eax, dword [esp + 8]
lea ecx, [0x6994c0]
mov dword [esp + 0x280], ecx
mov dword [esp + 0x284], eax
lea eax, [0x6a5fc0]
mov dword [esp], eax
lea ecx, [esp + 0x35c]
mov dword [esp + 4], ecx
call fcn.00408750
mov eax, dword [esp + 8]
lea ecx, [0x6a5fc0]
mov dword [esp + 0x288], ecx
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
call fcn.00408970
mov eax, dword [esp + 8]
lea ecx, [0x67e720]
mov dword [esp + 0x290], ecx
mov dword [esp + 0x294], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00408890
mov eax, dword [esp + 4]
lea ecx, [0x67dee0]
mov dword [esp + 0x298], ecx
mov dword [esp + 0x29c], eax
lea eax, [0x6c685c]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x278]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 5
call fcn.00514480
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408970
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x48]
lea ecx, [0x895970]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], ecx
mov dword [esp + 0x37c], edi
add esp, 0x33c
ret
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x53c199
mov ecx, dword [eax + 4]
jmp 0x53c19b
mov ecx, eax
mov dword [esp + 0x1c0], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x1c4], eax
lea eax, [0x6bccbc]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x1c0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.00514480
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov ecx, dword [esp + 0x170]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408970
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x374], ecx
lea ecx, [0x895970]
mov dword [esp + 0x378], ecx
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x378], eax
mov dword [esp + 0x37c], edi
add esp, 0x33c
ret
mov eax, dword [esp + 0x60]
lea ecx, [eax + 1]
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0x64]
mov ebx, dword [esp + 0xa8]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 0x60]
cmp dword [esp + 4], eax
jle 0x53c324
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xa8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x308]
lea esi, [esp + 8]
call fcn.0045fbfe
lea edi, [esp + 0x2d4]
lea esi, [esp + 0x308]
call fcn.0045fbfe
mov eax, dword [esp + 0x2e0]
test eax, eax
je 0x53c257
lea eax, [0x6c411b]
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], 0x21
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00408970
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x374], ecx
lea ecx, [0x895970]
mov dword [esp + 0x378], ecx
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jg 0x53c343
xor eax, eax
jmp 0x53c3a3
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
mov dword [esp + 4], 0
call ecx
lea edi, [esp + 0x308]
lea esi, [esp + 8]
call fcn.0045fbfe
mov eax, dword [esp + 0x318]
mov ecx, dword [esp + 0x31c]
mov edx, dword [0xa1d3d4]
cmp dword [0xa1d3d0], eax
je 0x53c38e
xor eax, eax
jmp 0x53c3a3
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00403670
movzx eax, byte [esp + 0xc]
test al, al
je 0x53c4dc
mov eax, dword [esp + 0x340]
mov dword [esp], eax
mov ecx, dword [esp + 0x344]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x348]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.004a3d70
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0x358]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x34c]
add eax, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xf4], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0xf0], ebp
mov esi, dword [esp + 0x18]
mov dword [esp + 0x84], esi
mov dword [esp], eax
mov eax, dword [esp + 0x8c]
sub eax, ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004089f0
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0xa1dac0]
test cl, cl
je 0x53c46f
lea ecx, [0x67ece0]
mov dword [0xa1dac4], ecx
mov edx, dword [0xa43e50]
test edx, edx
jne 0x53c462
mov dword [0xa1dac8], eax
jmp 0x53c475
lea edi, [0xa1dac8]
call fcn.0045f670
jmp 0x53c475
lea ecx, [0x67ece0]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x108]
test ecx, ecx
je 0x53c4a5
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x53c4ab
or edx, 0x80
jmp 0x53c4ab
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0xf4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004a4f10
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0xfc]
jmp 0x53c4fb
mov ebp, dword [esp + 0x5c]
inc ebp
mov edx, ecx
mov ecx, eax
mov eax, ebp
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x90], edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ecx
mov ebp, dword [esp + 0x44]
mov esi, dword [ebp + 0x64]
mov edi, dword [esp + 0xa8]
mov dword [esp], edi
call esi
mov eax, dword [esp + 0x5c]
cmp dword [esp + 4], eax
jle 0x53c6eb
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xa8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x2a0]
lea esi, [esp + 8]
call fcn.0045fbfe
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x53c59e
mov ecx, dword [esp + 0x2b0]
mov edx, dword [esp + 0x2b4]
mov ebx, dword [0xa1d3d4]
cmp dword [0xa1d3d0], ecx
je 0x53c581
xor ecx, ecx
jmp 0x53c5a0
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00403670
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x5c]
jmp 0x53c5a0
xor ecx, ecx
test cl, cl
je 0x53c5bb
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0xfc]
jmp 0x53c4f0
mov ecx, dword [esp + 0x340]
mov dword [esp], ecx
mov edx, dword [esp + 0x344]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x348]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004a3d70
mov eax, dword [esp + 0x10]
mov dword [esp + 0xf4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xf0], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0x2b8]
mov ebp, dword [esp + 0x2bc]
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea ebx, [0x6b714e]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.004a0300
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0053cf80
lea edi, [esp + 0x23c]
lea esi, [esp + 8]
call fcn.0045fc44
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x18], ebx
lea edi, [esp + 0x1c]
lea esi, [esp + 0x23c]
call fcn.0045fc44
call fcn.0053a1a0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
test ecx, ecx
je 0x53c4f0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edx
mov dword [esp + 0x37c], ebx
add esp, 0x33c
ret
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
test edx, edx
jne 0x53c769
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x340]
mov dword [esp], edx
mov edx, dword [esp + 0x344]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x348]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004a52d0
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0xfc]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edx
mov dword [esp + 0x37c], ebx
add esp, 0x33c
ret
inc ecx
cmp ecx, eax
jge 0x53c7d8
lea edx, [ecx + ebp]
cmp byte [edx], 0x80
jb 0x53c78c
lea eax, [0x6c51c6]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 0x24
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov dword [esp + 4], 0x24
call fcn.00408970
mov eax, dword [esp + 8]
xor ecx, ecx
lea edx, [0x895984]
xor ebx, ebx
jmp 0x53c7fa
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0044b280
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ebx, eax
xor eax, eax
mov ebp, ebx
mov ebx, eax
mov eax, ebp
jmp 0x53c71c
inc ecx
cmp ecx, eax
jge 0x53c85a
movzx edx, byte [ecx + ebp]
lea ebx, [edx - 0x30]
cmp bl, 9
jbe 0x53c805
cmp dl, 0x20
je 0x53c805
lea eax, [0x6c6aaa]
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], 0x28
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov dword [esp + 4], 0x28
call fcn.00408970
mov eax, dword [esp + 8]
xor ecx, ecx
lea edx, [0x895984]
xor ebx, ebx
jmp 0x53c87c
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0044b280
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ebx, eax
xor eax, eax
mov ebp, ebx
mov ebx, eax
mov eax, ebp
jmp 0x53c71c
test ecx, ecx
jne 0x53c976
test ebx, ebx
je 0x53c95a
nop
movzx esi, byte [0xa1dac0]
xchg esi, eax
test al, al
xchg esi, eax
je 0x53c8ce
mov dword [0xa1dac4], ebx
mov esi, dword [0xa43e50]
test esi, esi
jne 0x53c8bd
mov dword [0xa1dac8], ebp
jmp 0x53c8ce
lea edi, [0xa1dac8]
mov esi, eax
mov eax, ebp
call fcn.0045f670
mov eax, esi
mov dword [esp + 0xfc], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebp
mov ebx, dword [esp + 0x110]
test ebx, ebx
je 0x53c90e
nop
movzx esi, byte [ebx + 0xf]
mov edi, esi
and esi, 0x1f
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x53c914
or esi, 0x80
jmp 0x53c914
xor esi, esi
xor ebx, ebx
xor ebp, ebp
mov eax, dword [esp + 0x340]
mov dword [esp], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
call fcn.004a4f10
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x374], edx
mov dword [esp + 0x378], ecx
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
mov dword [esp + 0x374], edx
mov dword [esp + 0x378], ecx
mov dword [esp + 0x37c], eax
add esp, 0x33c
ret
mov eax, edx
mov edx, dword [esp + 0x94]
jmp 0x53c887
inc ebx
cmp ebx, ecx
jge 0x53c9ed
lea ebp, [ebx + edx]
cmp byte [ebp], 0x80
jb 0x53c9a0
lea eax, [0x6c51c6]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], 0x24
mov eax, dword [esp + 0x1a0]
mov dword [esp], eax
mov dword [esp + 4], 0x24
call fcn.00408970
mov eax, dword [esp + 8]
xor ecx, ecx
lea edx, [0x895984]
xor ebx, ebx
jmp 0x53ca0f
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0044b280
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ebx, eax
xor eax, eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x7c], edx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00408970
mov ebp, dword [esp + 8]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xe8]
lea ebx, [0x67e720]
jmp 0x53c992
inc ebx
cmp ebx, ecx
jge 0x53caa0
movzx ebp, byte [ebx + edx]
lea esi, [ebp - 0x30]
xchg esi, eax
cmp al, 9
xchg esi, eax
jbe 0x53ca47
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x53ca47
lea eax, [0x6c6aaa]
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], 0x28
mov eax, dword [esp + 0x1a8]
mov dword [esp], eax
mov dword [esp + 4], 0x28
call fcn.00408970
mov eax, dword [esp + 8]
xor ecx, ecx
lea edx, [0x895984]
xor ebx, ebx
jmp 0x53cac2
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0044b280
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ebx, eax
xor eax, eax
mov dword [esp + 0x80], edx
mov dword [esp + 0xec], eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00408970
mov ebp, dword [esp + 8]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xec]
lea ebx, [0x67e720]
jmp 0x53c992
call fcn.0045e260
jmp fcn.0053a1a0