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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x13c]
cmp eax, dword [ecx + 8]
jbe 0x5340cc
sub esp, 0x1bc
mov eax, dword [esp + 0x1c8]
test eax, eax
jne 0x532035
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp], eax
mov eax, dword [esp + 0x1d4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 8], eax
call fcn.004ad550
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x531f60
mov ecx, dword [ecx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
lea eax, [0x729820]
mov dword [esp], eax
lea eax, [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.0040c220
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x198], eax
lea eax, [0x7cb679]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x18c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b9c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052eea0
add esp, 0x1bc
ret
mov eax, dword [esp + 0x1c4]
movzx ecx, byte [eax]
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov ebx, dword [esp + 0x1d0]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x1d4]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x1d8]
mov dword [esp + 0xc], esi
cmp cl, 0x6e
sete cl
mov byte [esp + 0x10], cl
call fcn.0052f550
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test ebx, ebx
jne 0x534070
test ecx, ecx
je 0x53253f
mov edx, dword [esp + 0x1c4]
movzx ebx, byte [edx]
cmp bl, 0x22
je 0x532337
movzx eax, byte [esp + 0x1dc]
test al, al
jne 0x532206
cmp bl, 0x66
jne 0x5321d8
mov eax, 4
lea ecx, [0x7b5802]
mov dword [esp + 0x34], eax
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x1d0]
mov dword [esp], edx
mov edx, dword [esp + 0x1d4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x1d8]
mov dword [esp + 8], edx
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x9c], ecx
lea edx, [0x778280]
mov dword [esp], edx
call fcn.0040e9e0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [0xa08230]
test ecx, ecx
jne 0x5321bc
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 8], ecx
mov ecx, dword [0xa08230]
lea edx, [eax + 0xc]
test ecx, ecx
jne 0x5321a0
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov dword [esp], ecx
lea ecx, [0x800640]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052eea0
add esp, 0x1bc
ret
mov dword [esp], edx
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x532170
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x53214f
cmp bl, 0x6e
jne 0x5321ed
mov eax, 4
lea ecx, [0x7b58a6]
jmp 0x5320dc
cmp bl, 0x74
je 0x5320d1
mov eax, 6
lea ecx, [0x7b5f08]
jmp 0x5320dc
mov dword [esp + 0xf0], edx
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp], eax
mov eax, dword [esp + 0x1d4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 8], eax
call fcn.004ad550
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x532264
mov ecx, dword [ecx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
lea eax, [0x729820]
mov dword [esp], eax
lea eax, [esp + 0xf0]
mov dword [esp + 4], eax
call fcn.0040c220
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x188], eax
lea eax, [0x7cb679]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x17c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b9c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052eea0
jmp 0x532199
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ecx
mov dword [esp], edx
mov eax, dword [esp + 0x1c8]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 8], ecx
call fcn.005349a0
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test al, al
je 0x5323ba
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x5323a1
add esp, 0x1bc
ret
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052ee40
jmp 0x53239a
mov dword [esp + 0x48], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x7c], ebx
movzx eax, byte [esp + 0x1dc]
test al, al
je 0x53251a
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp], eax
mov eax, dword [esp + 0x1d4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 8], eax
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
test eax, eax
je 0x53243b
mov eax, dword [eax + 4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
lea ecx, [0x729820]
mov dword [esp], ecx
lea ecx, [esp + 0xe4]
mov dword [esp + 4], ecx
call fcn.0040c220
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x178], eax
lea eax, [0x7cb679]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x16c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b9c90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0052ee40
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x7c]
jmp 0x532372
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
mov ecx, dword [0x9f3dc8]
mov edx, dword [0x9f3dcc]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0052ee40
jmp 0x532509
mov dword [esp + 0x60], ebp
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], edi
mov eax, dword [esp + 0x1c4]
movzx ecx, byte [eax]
cmp cl, 0x66
ja 0x533ea2
cmp cl, 0x22
je 0x533772
cmp cl, 0x66
jne 0x532aab
movzx edx, byte [esp + 0x1dc]
test dl, dl
je 0x532a9f
mov ebx, dword [esp + 0x1c8]
cmp ebx, 4
je 0x532a7d
cmp ebx, 5
je 0x5326b6
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ebx
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0xd4], eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.004ad550
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x5325e1
mov ecx, dword [ecx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
lea eax, [0x729820]
mov dword [esp], eax
lea eax, [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040c220
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x158], eax
lea eax, [0x7cb679]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b9c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052eea0
add esp, 0x1bc
ret
mov edx, dword [eax]
cmp edx, 0x736c6166
jne 0x53259f
movzx edx, byte [eax + 4]
cmp dl, 0x65
jne 0x53259f
cmp cl, 0x74
sete cl
mov edx, ebp
and ebp, 0x1f
cmp ebp, 1
je 0x532a64
cmp ebp, 0x14
je 0x5328f4
movzx ecx, byte [esp + 0x1dc]
test cl, cl
je 0x532813
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ebx
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0xc8], eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call fcn.004ad550
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x532740
mov ecx, dword [ecx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
lea eax, [0x729820]
mov dword [esp], eax
lea eax, [esp + 0xc0]
mov dword [esp + 4], eax
call fcn.0040c220
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x148], eax
lea eax, [0x7cb679]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x13c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b9c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052eea0
jmp 0x5326af
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x9c], ecx
lea edx, [0x778280]
mov dword [esp], edx
call fcn.0040e9e0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov dword [eax + 4], 4
mov ecx, dword [0xa08230]
test ecx, ecx
jne 0x5328d6
lea ecx, [0x7b5802]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 8], ecx
mov ecx, dword [0xa08230]
lea edx, [eax + 0xc]
test ecx, ecx
jne 0x5328ba
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov dword [esp], ecx
lea ecx, [0x800640]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052eea0
jmp 0x5326af
mov dword [esp], edx
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x53288c
mov dword [esp], eax
lea ecx, [0x7b5802]
mov dword [esp + 4], ecx
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x53286b
mov byte [esp + 0x33], cl
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call fcn.004ab7a0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x532971
lea eax, [0x73fdc0]
mov dword [esp], eax
movzx eax, byte [esp + 0x33]
movzx eax, al
lea ecx, [0x9c78c0]
add eax, ecx
mov dword [esp + 4], eax
call fcn.004ae020
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
mov ebx, dword [esp + 0x94]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.004ac460
jmp 0x5326af
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004ad550
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x9c], ecx
lea edx, [0x778280]
mov dword [esp], edx
call fcn.0040e9e0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov dword [eax + 4], 4
mov ecx, dword [0xa08230]
test ecx, ecx
jne 0x532a46
lea ecx, [0x7b5802]
mov dword [eax], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa08230]
lea edx, [eax + 0xc]
test ecx, ecx
jne 0x532a2a
mov ecx, dword [esp + 0xa0]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov dword [esp], ecx
lea ecx, [0x800640]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052eea0
jmp 0x5326af
mov dword [esp], edx
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x5329fc
mov dword [esp], eax
lea ecx, [0x7b5802]
mov dword [esp + 4], ecx
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x5329db
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov byte [esp + 0xc], cl
call fcn.004ac540
jmp 0x5326af
mov esi, dword [eax]
cmp esi, 0x65757274
je 0x532a93
mov esi, dword [esp + 0x94]
jmp 0x532596
mov esi, dword [esp + 0x94]
jmp 0x5326d1
mov ebx, dword [esp + 0x1c8]
jmp 0x5326d1
cmp cl, 0x2d
je 0x532be7
add ecx, 0xffffffd0
cmp cl, 9
jbe 0x532be7
movzx ecx, byte [esp + 0x1dc]
test cl, cl
je 0x53374a
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 0x124], ecx
mov edx, dword [esp + 0x1cc]
mov dword [esp + 0x128], edx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
test eax, eax
je 0x532b19
mov eax, dword [eax + 4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
lea ecx, [0x729820]
mov dword [esp], ecx
lea edx, [esp + 0x120]
mov dword [esp + 4], edx
call fcn.0040c220
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1b8], eax
lea eax, [0x7cb679]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea ecx, [esp + 0x1ac]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b9c90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0052ee40
mov dword [esp], 0
mov eax, dword [esp + 0x1c4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x1cc]
mov dword [esp + 0xc], edx
call fcn.0043ccb0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x60]
mov ebx, edx
and edx, 0x1f
cmp edx, 0xc
ja 0x533385
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x5331c2
lea ebp, [edx - 7]
cmp ebp, 5
jbe 0x532fff
cmp edx, 0x18
je 0x532e87
movzx eax, byte [esp + 0x1dc]
test al, al
je 0x532d98
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
test eax, eax
je 0x532cc5
mov eax, dword [eax + 4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
lea ecx, [0x729820]
mov dword [esp], ecx
lea ecx, [esp + 0x108]
mov dword [esp + 4], ecx
call fcn.0040c220
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1a8], eax
lea eax, [0x7cb679]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x19c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b9c90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0052ee40
jmp 0x5326af
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x9c], ecx
lea edx, [0x778280]
mov dword [esp], edx
call fcn.0040e9e0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov dword [eax + 4], 6
mov ecx, dword [0xa08230]
test ecx, ecx
jne 0x532e69
lea ecx, [0x7b5f08]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 8], ecx
mov ecx, dword [0xa08230]
lea edx, [eax + 0xc]
test ecx, ecx
jne 0x532e4d
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov dword [esp], ecx
lea ecx, [0x800640]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052ee40
jmp 0x5326af
mov dword [esp], edx
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x532e1f
mov dword [esp], eax
lea ecx, [0x7b5f08]
mov dword [esp + 4], ecx
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x532dfe
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [0x9f3dd8]
cmp eax, edx
je 0x532ec0
mov ebx, dword [esp + 0x60]
jmp 0x532c57
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0x9f3ddc]
mov dword [esp + 8], eax
call fcn.00402150
movzx eax, byte [esp + 0xc]
test al, al
jne 0x532ee8
mov ebx, dword [esp + 0x60]
jmp 0x532c57
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
call fcn.004ace30
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
call fcn.0052ec80
movzx eax, byte [esp + 8]
test al, al
jne 0x5326af
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x11c], eax
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
lea eax, [0x729820]
mov dword [esp], eax
lea eax, [esp + 0x114]
mov dword [esp + 4], eax
call fcn.0040c220
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ecx
lea eax, [0x7cae9b]
mov dword [esp], eax
mov dword [esp + 4], 0x40
lea eax, [esp + 0xa4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b9c90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0052ee40
jmp 0x5326af
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.0047ec60
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x53314c
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x9c], ecx
lea edx, [0x778280]
mov dword [esp], edx
call fcn.0040e9e0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov dword [esp], 0
lea ecx, [0x7b63f0]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
call fcn.0043cb30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x98]
mov dword [edx + 4], ecx
mov ecx, dword [0xa08230]
test ecx, ecx
jne 0x533137
mov dword [edx], eax
mov eax, dword [esp + 0xa0]
mov dword [edx + 8], eax
mov eax, dword [0xa08230]
lea ecx, [edx + 0xc]
test eax, eax
jne 0x53311b
mov eax, dword [esp + 0x9c]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0xc]
mov dword [edx + 0x10], ecx
sar ecx, 0x1f
mov dword [edx + 0x14], ecx
mov dword [esp], eax
lea eax, [0x800640]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0052eea0
jmp 0x5326af
mov dword [esp], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.0040f250
mov edx, dword [esp + 0x98]
jmp 0x5330ed
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0040f250
mov edx, dword [esp + 0x98]
jmp 0x5330cc
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x90]
mov dword [esp], edx
mov ebx, dword [esp + 0x94]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004abdc0
movzx eax, byte [esp + 0x14]
test al, al
jne 0x53302f
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x10], eax
call fcn.004acca0
jmp 0x5326af
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.0047f5b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x53330f
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x9c], ecx
lea edx, [0x778280]
mov dword [esp], edx
call fcn.0040e9e0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov dword [esp], 0
lea ecx, [0x7b63f0]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
call fcn.0043cb30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x98]
mov dword [edx + 4], ecx
mov ecx, dword [0xa08230]
test ecx, ecx
jne 0x5332fa
mov dword [edx], eax
mov eax, dword [esp + 0xa0]
mov dword [edx + 8], eax
mov eax, dword [0xa08230]
lea ecx, [edx + 0xc]
test eax, eax
jne 0x5332de
mov eax, dword [esp + 0x9c]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0xc]
mov dword [edx + 0x10], ecx
sar ecx, 0x1f
mov dword [edx + 0x14], ecx
mov dword [esp], eax
lea eax, [0x800640]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0052eea0
jmp 0x5326af
mov dword [esp], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.0040f250
mov edx, dword [esp + 0x98]
jmp 0x5332b0
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0040f250
mov edx, dword [esp + 0x98]
jmp 0x53328f
mov dword [esp + 0x58], eax
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x90]
mov dword [esp], edx
mov ebx, dword [esp + 0x94]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004abc70
movzx eax, byte [esp + 0x14]
test al, al
jne 0x5331f2
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], eax
call fcn.004ac8d0
jmp 0x5326af
lea ebp, [edx - 0xd]
cmp ebp, 1
jbe 0x533569
cmp edx, 0x14
jne 0x532c4e
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00531cd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test edx, edx
je 0x5333e1
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0052eea0
jmp 0x5326af
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
call fcn.004ab7a0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x533510
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x9c], ecx
lea edx, [0x778280]
mov dword [esp], edx
call fcn.0040e9e0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov dword [eax + 4], 6
mov ecx, dword [0xa08230]
test ecx, ecx
jne 0x5334f2
lea ecx, [0x7b5f08]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 8], ecx
mov ecx, dword [0xa08230]
lea edx, [eax + 0xc]
test ecx, ecx
jne 0x5334d6
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov dword [esp], ecx
lea ecx, [0x800640]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052eea0
jmp 0x5326af
mov dword [esp], edx
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x5334a8
mov dword [esp], eax
lea ecx, [0x7b5f08]
mov dword [esp + 4], ecx
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x533487
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
call fcn.004ae020
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
mov ebx, dword [esp + 0x94]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
call fcn.004ac460
jmp 0x5326af
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x78]
mov dword [esp], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0047e800
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5336e2
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x9c], ecx
lea edx, [0x778280]
mov dword [esp], edx
call fcn.0040e9e0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov dword [esp], 0
lea ecx, [0x7b63f0]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
call fcn.0043cb30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x98]
mov dword [edx + 4], ecx
mov ecx, dword [0xa08230]
test ecx, ecx
jne 0x5336cd
mov dword [edx], eax
mov eax, dword [esp + 0xa0]
mov dword [edx + 8], eax
mov eax, dword [0xa08230]
lea ecx, [edx + 0xc]
test eax, eax
jne 0x5336b1
mov eax, dword [esp + 0x9c]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0xc]
mov dword [edx + 0x10], ecx
sar ecx, 0x1f
mov dword [edx + 0x14], ecx
mov dword [esp], eax
lea eax, [0x800640]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0052eea0
jmp 0x5326af
mov dword [esp], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.0040f250
mov edx, dword [esp + 0x98]
jmp 0x533683
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0040f250
mov edx, dword [esp + 0x98]
jmp 0x533662
movsd qword [esp + 0x64], xmm0
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
call fcn.004abb80
movzx eax, byte [esp + 0x14]
test al, al
jne 0x5335c5
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
movsd xmm0, qword [esp + 0x64]
movsd qword [esp + 0xc], xmm0
call fcn.004ac800
jmp 0x5326af
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
mov ecx, dword [0x9f3dc8]
mov edx, dword [0x9f3dcc]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0052ee40
jmp 0x532be7
mov dword [esp], eax
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1cc]
mov dword [esp + 8], edx
call fcn.005349a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
movzx ecx, byte [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x38], ebx
test cl, cl
je 0x533d29
mov ecx, dword [esp + 0x60]
mov ebp, ecx
and ecx, 0x1f
cmp ecx, 0x14
je 0x533b63
cmp ecx, 0x17
je 0x533916
cmp ecx, 0x18
jne 0x533827
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call fcn.0043ccb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004ace30
jmp 0x5326af
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x9c], ecx
lea edx, [0x778280]
mov dword [esp], edx
call fcn.0040e9e0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov dword [eax + 4], 6
mov ecx, dword [0xa08230]
test ecx, ecx
jne 0x5338f8
lea ecx, [0x7b5f5c]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 8], ecx
mov ecx, dword [0xa08230]
lea edx, [eax + 0xc]
test ecx, ecx
jne 0x5338dc
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov dword [esp], ecx
lea ecx, [0x800640]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052eea0
jmp 0x5326af
mov dword [esp], edx
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x5338ae
mov dword [esp], eax
lea ecx, [0x7b5f5c]
mov dword [esp + 4], ecx
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x53388d
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 8
jne 0x533a70
mov eax, dword [0x9f3344]
mov eax, dword [eax + 0x140]
cmp eax, 0xffffffff
jne 0x533a61
mov eax, dword [esp + 0x38]
lea ecx, [eax + eax*2]
mov edx, ecx
shl ecx, 1
sar ecx, 0x1f
shr ecx, 0x1d
lea ecx, [ecx + edx*2]
sar ecx, 3
lea eax, [0x744b00]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00439b00
mov eax, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x5c], edx
mov ebx, dword [0x9f3344]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x18], ecx
call fcn.0052dc20
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test ecx, ecx
jne 0x533a45
mov ecx, dword [esp + 0x5c]
cmp eax, ecx
ja 0x5340c5
mov edx, dword [esp + 0x90]
mov dword [esp], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.004ac590
jmp 0x5326af
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0052eea0
jmp 0x5326af
mov eax, dword [esp + 0x38]
shr eax, 2
lea ecx, [eax + eax*2]
jmp 0x53398d
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x9c], ecx
lea edx, [0x778280]
mov dword [esp], edx
call fcn.0040e9e0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov dword [eax + 4], 6
mov ecx, dword [0xa08230]
test ecx, ecx
jne 0x533b45
lea ecx, [0x7b5f5c]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 8], ecx
mov ecx, dword [0xa08230]
lea edx, [eax + 0xc]
test ecx, ecx
jne 0x533b29
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov dword [esp], ecx
lea ecx, [0x800640]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052eea0
jmp 0x5326af
mov dword [esp], edx
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x533afb
mov dword [esp], eax
lea ecx, [0x7b5f5c]
mov dword [esp + 4], ecx
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x533ada
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004ab7a0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x533c36
mov dword [esp], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
call fcn.0043ccb0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
lea eax, [0x744900]
mov dword [esp], eax
lea eax, [esp + 0xac]
mov dword [esp + 4], eax
call fcn.0040c190
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004ae020
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
mov ebx, dword [esp + 0x94]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004ac460
jmp 0x5326af
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x9c], ecx
lea edx, [0x778280]
mov dword [esp], edx
call fcn.0040e9e0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov dword [eax + 4], 6
mov ecx, dword [0xa08230]
test ecx, ecx
jne 0x533d0b
lea ecx, [0x7b5f5c]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 8], ecx
mov ecx, dword [0xa08230]
lea edx, [eax + 0xc]
test ecx, ecx
jne 0x533cef
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov dword [esp], ecx
lea ecx, [0x800640]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052eea0
jmp 0x5326af
mov dword [esp], edx
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x533cc1
mov dword [esp], eax
lea ecx, [0x7b5f5c]
mov dword [esp + 4], ecx
call fcn.0040f250
mov eax, dword [esp + 0x98]
jmp 0x533ca0
movzx ecx, byte [esp + 0x1dc]
test cl, cl
je 0x533e7d
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
call fcn.004ad550
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x533d9b
mov ecx, dword [ecx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
lea eax, [0x729820]
mov dword [esp], eax
lea eax, [esp + 0xb4]
mov dword [esp + 4], eax
call fcn.0040c220
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x138], eax
lea eax, [0x7cb679]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x12c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b9c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0052ee40
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
jmp 0x5337b8
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
mov ecx, dword [0x9f3dcc]
mov edx, dword [0x9f3dc8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0052ee40
jmp 0x533e69
cmp cl, 0x6e
jne 0x534062
movzx ecx, byte [esp + 0x1dc]
test cl, cl
je 0x533fee
mov ecx, dword [esp + 0x1c8]
cmp ecx, 4
je 0x533fe0
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0xe0], eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
test eax, eax
je 0x533f0d
mov eax, dword [eax + 4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
lea ecx, [0x729820]
mov dword [esp], ecx
lea ecx, [esp + 0xd8]
mov dword [esp + 4], ecx
call fcn.0040c220
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x168], eax
lea eax, [0x7cb679]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x15c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b9c90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0052eea0
jmp 0x5326af
mov edx, dword [eax]
cmp edx, 0x6c6c756e
jne 0x533ecb
mov eax, ebp
and ebp, 0x1f
lea ecx, [ebp - 0x14]
cmp ecx, 3
ja 0x5326af
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.004ad550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004ae100
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
mov ebx, dword [esp + 0x94]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004ac460
jmp 0x5326af
cmp cl, 0x74
je 0x532576
jmp 0x532aab
mov eax, dword [ebx + 0x10]
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 0xc], ecx
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x5340ac
add esp, 0x1bc
ret
mov edx, dword [esp + 0x1c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0052ee40
jmp 0x5340a5
call fcn.004269c0
ud2
call fcn.0044be50
jmp fcn.00531ed0