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

Disassembly:
mov ecx, dword [0x6b21fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
mov eax, esp
sub eax, 0x16a10
jb 0x4f6a0b
cmp eax, dword [ecx + 8]
jbe 0x4f6a0b
sub esp, 0x16a90
mov eax, dword [esp + 0x16a94]
mov edx, dword [eax + 0x58]
mov ebx, dword [eax + 0x5c]
test edx, edx
je 0x4f3be6
mov dword [esp + 0x27c8], ebx
mov dword [esp + 0x27c4], edx
mov ebp, dword [eax + 0x54]
mov dword [esp + 0x2850], ebp
movzx ecx, byte [ebp + 0x103c]
mov byte [esp + 0x278b], cl
mov esi, ebp
xor edi, edi
xor edi, edi
mov dword [esp + 0x2800], edi
xor edi, edi
mov dword [esp + 0x2804], edi
lea edi, [0x6b20c0]
mov dword [esp + 0x286c], edi
xor edi, edi
mov dword [esp + 0x27bc], edi
xor edi, edi
mov dword [esp + 0x284c], edi
xor edi, edi
mov dword [esp + 0x27c0], edi
xor edi, edi
mov dword [esp + 0x27e0], edi
xor edi, edi
mov dword [esp + 0x2854], edi
xor edi, edi
mov dword [esp + 0x27e4], edi
xor edi, edi
mov dword [esp + 0x279c], edi
xor edi, edi
mov dword [esp + 0x2848], edi
xor edi, edi
mov dword [esp + 0x27a0], edi
xor edi, edi
mov dword [esp + 0x278c], edi
xor edi, edi
mov dword [esp + 0x283c], edi
xor edi, edi
mov dword [esp + 0x2790], edi
jmp 0x4f3cc0
lea eax, [0x54a35f]
mov dword [esp], eax
mov dword [esp + 4], 0x14
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x284c], eax
mov eax, dword [esp + 0x28a4]
add eax, 0x1040
mov dword [esp + 0x281c], eax
mov eax, dword [esp + 0x27dc]
inc eax
mov dword [esp + 0x27bc], ebx
mov dword [esp + 0x27c0], edx
mov dword [esp + 0x27e0], ecx
mov dword [esp + 0x2854], esi
mov dword [esp + 0x27e4], ebp
mov dword [esp + 0x27a0], edi
movzx ecx, byte [esp + 0x278b]
mov edx, dword [esp + 0x27c4]
mov ebx, dword [esp + 0x27c8]
mov esi, dword [esp + 0x2850]
mov edi, eax
mov ebp, dword [esp + 0x281c]
mov eax, dword [esp + 0x16a94]
cmp edi, edx
jge 0x4f4be7
mov dword [esp + 0x27dc], edi
mov dword [esp + 0x28a4], ebp
lea edi, [esp + 0x2e70]
mov esi, ebp
mov ecx, 0x410
rep movsd dword es:[edi], dword [esi]
movzx ecx, byte [eax + 0x12]
test cl, cl
jne 0x4f3dd8
mov dword [esp + 0x2920], 0
mov dword [esp + 0x2924], 0
mov dword [esp + 0x2928], 0
mov dword [esp + 0x292c], 0
mov eax, dword [esp + 0x2e70]
mov ecx, dword [esp + 0x2e74]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x2920], ecx
mov dword [esp + 0x2924], eax
mov eax, dword [esp + 0x27dc]
mov dword [esp], eax
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x2928], ecx
mov dword [esp + 0x292c], eax
mov eax, dword [0x68b9cc]
lea edx, [0x5d4354]
mov dword [esp], edx
mov dword [esp + 4], eax
lea eax, [0x54b923]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x17
lea ebx, [esp + 0x2920]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 2
call fcn.004a48b0
mov eax, dword [esp + 0x16a94]
mov edx, dword [esp + 0x27c4]
mov ebx, dword [esp + 0x27c8]
mov ebp, dword [esp + 0x28a4]
mov ecx, dword [esp + 0x27dc]
test ecx, ecx
jle 0x4f3e25
lea eax, [esp + 0x2e70]
mov dword [esp], eax
call fcn.004ee8b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x4f4afb
mov eax, dword [esp + 0x16a94]
mov ecx, dword [esp + 0x27dc]
mov edx, dword [esp + 0x27c4]
mov ebx, dword [esp + 0x27c8]
mov ebp, dword [esp + 0x28a4]
movzx esi, byte [esp + 0x278b]
xchg esi, eax
cmp byte [esp + 0x3eac], al
xchg esi, eax
jne 0x4f4a2e
mov edi, dword [esp + 0x2800]
test edi, edi
jne 0x4f3e5e
mov edi, dword [esp + 0x3ea0]
mov ebx, dword [esp + 0x3ea4]
mov esi, dword [esp + 0x3ea8]
jmp 0x4f3e6e
mov esi, dword [esp + 0x2804]
mov ebx, edi
mov edi, dword [esp + 0x286c]
mov dword [esp + 0x286c], edi
mov dword [esp + 0x2804], esi
mov dword [esp + 0x2800], ebx
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.0050cc90
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2838], eax
mov ecx, dword [esp + 0x3ea0]
mov edx, dword [esp + 0x3ea4]
mov ebx, dword [esp + 0x3ea8]
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x28a0], ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.0050cc90
mov eax, dword [esp + 0x2838]
cmp dword [esp + 0x10], eax
jne 0x4f479b
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x28a0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00403120
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f479b
movzx edx, byte [esp + 0x3eac]
cmp dl, 2
ja 0x4f41d6
cmp dl, 1
je 0x4f407d
cmp dl, 2
jne 0x4f466d
lea edi, [esp + 0x14320]
mov ecx, 0x9dc
xor eax, eax
rep stosd dword es:[edi], eax
lea edx, [esp + 0x2e70]
mov dword [esp], edx
call fcn.004fb390
mov edx, dword [esp + 0x2774]
mov ebx, dword [esp + 0x2774]
mov ebp, dword [esp + 0x2778]
lea edi, [esp + 0x14320]
lea esi, [esp + 4]
mov ecx, 0x9dc
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0xccd0]
lea esi, [esp + 0x14320]
mov ecx, 0x9dc
rep movsd dword es:[edi], dword [esi]
test edx, edx
jne 0x4f44c0
mov eax, dword [esp + 0x27bc]
inc eax
mov edx, dword [esp + 0x27c0]
cmp edx, eax
jb 0x4f3fab
mov ecx, eax
mov eax, dword [esp + 0x284c]
jmp 0x4f3fe0
mov ecx, dword [esp + 0x284c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x53d1e0]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [0x6b2320]
imul ebp, ecx, 0x2770
lea edi, [ebp + eax - 0x2770]
test ebx, ebx
je 0x4f404c
mov dword [esp + 0x289c], eax
mov dword [esp + 0x2834], ecx
mov dword [esp + 0x2830], edx
mov dword [esp + 0x2898], edi
lea eax, [0x53d1e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xccd0]
mov dword [esp + 8], eax
call fcn.004111d0
mov eax, dword [esp + 0x289c]
mov ecx, dword [esp + 0x2834]
mov edx, dword [esp + 0x2830]
mov edi, dword [esp + 0x2898]
lea esi, [esp + 0xccd0]
mov ebx, ecx
mov ecx, 0x9dc
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x27e0]
mov ebp, dword [esp + 0x27e4]
mov esi, dword [esp + 0x2854]
mov edi, dword [esp + 0x27a0]
jmp 0x4f3c47
lea edi, [esp + 0xa948]
mov ecx, 0x8e2
xor eax, eax
rep stosd dword es:[edi], eax
lea edx, [esp + 0x2e70]
mov dword [esp], edx
call fcn.004fba40
mov edx, dword [esp + 0x238c]
mov ebx, dword [esp + 0x238c]
mov ebp, dword [esp + 0x2390]
lea edi, [esp + 0xa948]
lea esi, [esp + 4]
mov ecx, 0x8e2
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x6238]
lea esi, [esp + 0xa948]
mov ecx, 0x8e2
rep movsd dword es:[edi], dword [esi]
test edx, edx
jne 0x4f454f
mov eax, dword [esp + 0x27e0]
inc eax
mov edx, dword [esp + 0x27e4]
cmp edx, eax
jb 0x4f40fe
mov ecx, eax
mov eax, dword [esp + 0x2854]
jmp 0x4f4133
mov ecx, dword [esp + 0x2854]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x53bf00]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [0x6b2320]
imul ebp, ecx, 0x2388
lea edi, [ebp + eax - 0x2388]
test ebx, ebx
je 0x4f419f
mov dword [esp + 0x2894], eax
mov dword [esp + 0x282c], ecx
mov dword [esp + 0x2828], edx
mov dword [esp + 0x2890], edi
lea eax, [0x53bf00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x6238]
mov dword [esp + 8], eax
call fcn.004111d0
mov eax, dword [esp + 0x2894]
mov ecx, dword [esp + 0x282c]
mov edx, dword [esp + 0x2828]
mov edi, dword [esp + 0x2890]
lea esi, [esp + 0x6238]
mov ebx, ecx
mov ecx, 0x8e2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebp, edx
mov esi, eax
mov edi, dword [esp + 0x27a0]
mov ebx, dword [esp + 0x27bc]
mov edx, dword [esp + 0x27c0]
mov eax, dword [esp + 0x284c]
jmp 0x4f3c47
cmp dl, 5
je 0x4f434e
cmp dl, 6
jne 0x4f466d
lea edi, [esp + 0x2e00]
xor eax, eax
call fcn.00468a94
lea ecx, [esp + 0x2e70]
mov dword [esp], ecx
call fcn.005013f0
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x27ec], ecx
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
lea edi, [esp + 0x2e00]
lea esi, [esp + 4]
call fcn.00468ea8
lea edi, [esp + 0x2d20]
lea esi, [esp + 0x2e00]
call fcn.00468ea8
mov ecx, dword [esp + 0x27ec]
test ecx, ecx
jne 0x4f45de
mov eax, dword [esp + 0x279c]
inc eax
mov ecx, dword [esp + 0x27a0]
cmp ecx, eax
jb 0x4f426f
mov ecx, eax
mov eax, dword [esp + 0x2848]
mov edx, dword [esp + 0x27a0]
jmp 0x4f42a4
mov edx, dword [esp + 0x2848]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x53d9c0]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x279c], ecx
mov ebx, dword [0x6b2320]
imul ebp, ecx, 0x70
lea edi, [ebp + eax - 0x70]
test ebx, ebx
je 0x4f430a
mov dword [esp + 0x288c], eax
mov dword [esp + 0x2824], edx
mov dword [esp + 0x2888], edi
lea eax, [0x53d9c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x2d20]
mov dword [esp + 8], eax
call fcn.004111d0
mov eax, dword [esp + 0x288c]
mov ecx, dword [esp + 0x279c]
mov edx, dword [esp + 0x2824]
mov edi, dword [esp + 0x2888]
lea esi, [esp + 0x2d20]
call fcn.00468ea8
mov ebx, dword [esp + 0x27bc]
mov ecx, dword [esp + 0x27e0]
mov ebp, dword [esp + 0x27e4]
mov esi, dword [esp + 0x2854]
mov edi, edx
mov dword [esp + 0x2848], eax
mov edx, dword [esp + 0x27c0]
mov eax, dword [esp + 0x284c]
jmp 0x4f3c47
lea edi, [esp + 0x2c44]
xor eax, eax
call fcn.00468a95
lea ecx, [esp + 0x2e70]
mov dword [esp], ecx
call fcn.005005e0
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x27e8], ecx
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
lea edi, [esp + 0x2c44]
lea esi, [esp + 4]
call fcn.00468eb2
lea edi, [esp + 0x2b6c]
lea esi, [esp + 0x2c44]
call fcn.00468eb2
mov ecx, dword [esp + 0x27e8]
test ecx, ecx
jne 0x4f470c
mov eax, dword [esp + 0x278c]
inc eax
mov ecx, dword [esp + 0x2790]
cmp ecx, eax
jb 0x4f43d5
mov ecx, eax
mov eax, dword [esp + 0x283c]
mov edx, dword [esp + 0x2790]
jmp 0x4f440a
mov edx, dword [esp + 0x283c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x53c200]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x278c], ecx
mov ebx, dword [0x6b2320]
imul ebp, ecx, 0x6c
lea edi, [ebp + eax - 0x6c]
test ebx, ebx
je 0x4f4470
mov dword [esp + 0x2884], eax
mov dword [esp + 0x2820], edx
mov dword [esp + 0x2880], edi
lea eax, [0x53c200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x2b6c]
mov dword [esp + 8], eax
call fcn.004111d0
mov eax, dword [esp + 0x2884]
mov ecx, dword [esp + 0x278c]
mov edx, dword [esp + 0x2820]
mov edi, dword [esp + 0x2880]
lea esi, [esp + 0x2b6c]
call fcn.00468eb2
mov ebx, dword [esp + 0x27bc]
mov ecx, dword [esp + 0x27e0]
mov ebp, dword [esp + 0x27e4]
mov esi, dword [esp + 0x2854]
mov edi, dword [esp + 0x27a0]
mov dword [esp + 0x2790], edx
mov dword [esp + 0x283c], eax
mov edx, dword [esp + 0x27c0]
mov eax, dword [esp + 0x284c]
jmp 0x4f3c47
mov dword [esp + 0x28b0], 0
mov dword [esp + 0x28b4], 0
test ebx, ebx
je 0x4f44dd
mov ebx, dword [ebx + 4]
mov dword [esp + 0x28b0], ebx
mov dword [esp + 0x28b4], ebp
lea eax, [0x54a373]
mov dword [esp], eax
mov dword [esp + 4], 0x14
lea eax, [esp + 0x28b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x28b0], 0
mov dword [esp + 0x28b4], 0
test ebx, ebx
je 0x4f456c
mov ebx, dword [ebx + 4]
mov dword [esp + 0x28b0], ebx
mov dword [esp + 0x28b4], ebp
lea eax, [0x54a387]
mov dword [esp], eax
mov dword [esp + 4], 0x14
lea eax, [esp + 0x28b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x28b0], 0
mov dword [esp + 0x28b4], 0
test edx, edx
je 0x4f45fb
mov edx, dword [edx + 4]
mov dword [esp + 0x28b0], edx
mov dword [esp + 0x28b4], ebx
lea eax, [0x54ee66]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x28b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x28b0], 0
mov dword [esp + 0x28b4], 0
movzx eax, byte [esp + 0x3eac]
lea ecx, [0x52fae0]
mov dword [esp + 0x28b0], ecx
lea ecx, [0x684860]
lea eax, [ecx + eax*8]
mov dword [esp + 0x28b4], eax
lea eax, [0x54ee86]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x28b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x28b0], 0
mov dword [esp + 0x28b4], 0
test edx, edx
je 0x4f4729
mov edx, dword [edx + 4]
mov dword [esp + 0x28b0], edx
mov dword [esp + 0x28b4], ebx
lea eax, [0x54f41f]
mov dword [esp], eax
mov dword [esp + 4], 0x21
lea eax, [esp + 0x28b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x2910], 0
mov dword [esp + 0x2914], 0
mov dword [esp + 0x2918], 0
mov dword [esp + 0x291c], 0
mov eax, dword [esp + 0x286c]
mov dword [esp], eax
mov ecx, dword [esp + 0x2800]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2804]
mov dword [esp + 8], edx
call fcn.00409c90
mov eax, dword [esp + 0xc]
lea ecx, [0x52d3e0]
mov dword [esp + 0x2910], ecx
mov dword [esp + 0x2914], eax
mov eax, dword [esp + 0x3ea0]
mov edx, dword [esp + 0x3ea4]
mov ebx, dword [esp + 0x3ea8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409c90
mov eax, dword [esp + 0xc]
lea ecx, [0x52d3e0]
mov dword [esp + 0x2918], ecx
mov dword [esp + 0x291c], eax
lea edi, [esp + 0x2950]
xor eax, eax
call fcn.00468aaa
lea eax, [0x4f6a90]
mov dword [esp + 0x2950], eax
mov dword [esp + 0x2958], 0x44
lea eax, [0x555569]
mov dword [esp + 0x2954], eax
mov dword [esp + 0x2960], 2
mov dword [esp + 0x2964], 2
lea eax, [esp + 0x2910]
mov dword [esp + 0x295c], eax
mov eax, dword [0x68b9c4]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea eax, [esp + 0x2950]
mov dword [esp + 0xc], eax
call fcn.004b1180
mov dword [esp + 0x28a8], 0
mov dword [esp + 0x28ac], 0
lea eax, [0x52a880]
mov dword [esp + 0x28a8], eax
lea eax, [0x5d3704]
mov dword [esp + 0x28ac], eax
mov dword [esp + 0x2930], 0
mov dword [esp + 0x2934], 0
mov dword [esp + 0x2938], 0
mov dword [esp + 0x293c], 0
lea eax, [0x4f6a20]
mov dword [esp + 0x2930], eax
mov dword [esp + 0x2938], 1
mov dword [esp + 0x293c], 1
lea eax, [esp + 0x28a8]
mov dword [esp + 0x2934], eax
mov eax, dword [0x68b9c4]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea eax, [esp + 0x2930]
mov dword [esp + 0xc], eax
call fcn.004b1180
mov dword [esp + 0x28b0], 0
mov dword [esp + 0x28b4], 0
mov eax, dword [esp + 0x286c]
mov dword [esp], eax
mov eax, dword [esp + 0x2800]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2804]
mov dword [esp + 8], eax
call fcn.00409c90
mov eax, dword [esp + 0xc]
lea ecx, [0x52d3e0]
mov dword [esp + 0x28b0], ecx
mov dword [esp + 0x28b4], eax
lea eax, [0x5551ce]
mov dword [esp], eax
mov dword [esp + 4], 0x41
lea eax, [esp + 0x28b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x2940], 0
mov dword [esp + 0x2944], 0
mov dword [esp + 0x2948], 0
mov dword [esp + 0x294c], 0
movzx eax, byte [esp + 0x3eac]
lea ecx, [0x52fae0]
mov dword [esp + 0x2940], ecx
lea edx, [0x684860]
lea eax, [edx + eax*8]
mov dword [esp + 0x2944], eax
mov dword [esp + 0x2948], ecx
xchg esi, ebx
movzx eax, bl
xchg esi, ebx
lea eax, [edx + eax*8]
mov dword [esp + 0x294c], eax
lea eax, [0x5505e6]
mov dword [esp], eax
mov dword [esp + 4], 0x25
lea eax, [esp + 0x2940]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x2860], ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x287c], eax
mov dword [esp + 0x2940], 0
mov dword [esp + 0x2944], 0
mov dword [esp + 0x2948], 0
mov dword [esp + 0x294c], 0
mov ecx, dword [esp + 0x27dc]
mov dword [esp], ecx
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x2940], ecx
mov dword [esp + 0x2944], eax
mov eax, dword [esp + 0x287c]
test eax, eax
je 0x4f4b6e
mov eax, dword [eax + 4]
mov dword [esp + 0x2948], eax
mov eax, dword [esp + 0x2860]
mov dword [esp + 0x294c], eax
lea eax, [0x5529dd]
mov dword [esp], eax
mov dword [esp + 4], 0x2e
lea eax, [esp + 0x2940]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
movzx ebp, byte [eax + 0x13]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4f578f
mov edx, dword [esp + 0x27bc]
test edx, edx
jne 0x4f5299
mov edx, dword [esp + 0x27e0]
test edx, edx
jne 0x4f4dec
mov ecx, dword [esp + 0x279c]
test ecx, ecx
jne 0x4f4d60
mov ecx, dword [esp + 0x278c]
test ecx, ecx
je 0x4f4cbd
lea eax, [0x5285a0]
mov dword [esp], eax
call fcn.0040c3d0
mov eax, dword [esp + 4]
mov byte [eax + 1], 0x20
mov dword [esp + 0x28b8], 0
mov dword [esp + 0x28bc], 0
mov dword [esp + 0x28c0], 0
mov dword [esp + 0x28bc], 2
mov dword [esp + 0x28c0], 2
mov dword [esp + 0x28b8], eax
mov esi, dword [esp + 0x283c]
mov eax, esi
mov ecx, dword [esp + 0x278c]
mov edx, dword [esp + 0x16a94]
xor ebx, ebx
mov ebp, 1
lea edi, [esp + 0x28b8]
mov ebx, 1
mov dword [esp + 0x27f0], ebx
xor ebx, ebx
jmp 0x4f64e0
mov dword [esp + 0x28b0], 0
mov dword [esp + 0x28b4], 0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x28b0], ecx
mov dword [esp + 0x28b4], eax
lea eax, [0x55224b]
mov dword [esp], eax
mov dword [esp + 4], 0x2c
lea eax, [esp + 0x28b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
lea eax, [0x5285a0]
mov dword [esp], eax
call fcn.0040c3d0
mov eax, dword [esp + 4]
mov byte [eax + 1], 0x20
mov dword [esp + 0x28c4], 0
mov dword [esp + 0x28c8], 0
mov dword [esp + 0x28cc], 0
mov dword [esp + 0x28c8], 2
mov dword [esp + 0x28cc], 2
mov dword [esp + 0x28c4], eax
mov esi, dword [esp + 0x2848]
mov eax, esi
mov ecx, dword [esp + 0x279c]
mov edx, dword [esp + 0x16a94]
xor ebx, ebx
mov ebp, 1
lea edi, [esp + 0x28c4]
mov ebx, 1
mov dword [esp + 0x27f4], ebx
xor ebx, ebx
jmp 0x4f5f35
lea edi, [esp + 0x85c0]
mov esi, dword [esp + 0x2854]
mov ecx, 0x8e2
rep movsd dword es:[edi], dword [esi]
lea edi, [esp]
lea esi, [esp + 0x85c0]
mov ecx, 0x8e2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x16a98]
mov dword [esp + 0x2388], eax
mov edx, dword [esp + 0x16a9c]
mov dword [esp + 0x238c], edx
call fcn.005121a0
mov eax, dword [esp + 0x2398]
mov edx, dword [esp + 0x239c]
mov ebx, dword [esp + 0x2390]
mov dword [esp + 0x27a4], ebx
mov ebp, dword [esp + 0x2394]
mov dword [esp + 0x27b0], ebp
test eax, eax
jne 0x4f519b
mov edx, dword [esp + 0x16a94]
movzx eax, byte [edx + 0x12]
test al, al
jne 0x4f4f5e
mov dword [esp + 0x28f0], 0
mov dword [esp + 0x28f4], 0
mov dword [esp + 0x28f8], 0
mov dword [esp + 0x28fc], 0
mov eax, dword [esp + 0x2854]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x28f0], ecx
mov dword [esp + 0x28f4], eax
mov eax, dword [esp + 0x16a94]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x28f8], ecx
mov dword [esp + 0x28fc], eax
mov eax, dword [0x68b9cc]
lea ecx, [0x5d4354]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x549d6b]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x13
lea eax, [esp + 0x28f0]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 2
call fcn.004a48b0
mov edx, dword [esp + 0x16a94]
mov ebx, dword [esp + 0x27a4]
mov ebp, dword [esp + 0x27b0]
lea edi, [esp + 0x3eb0]
mov esi, dword [esp + 0x2854]
mov ecx, 0x8e2
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x2968]
xor eax, eax
call fcn.00468aa7
mov dword [esp + 0x296c], 6
lea ebx, [0x546908]
mov dword [esp + 0x2968], ebx
mov dword [esp + 0x2970], 0x2000
mov dword [esp + 0x2978], 9
lea ebx, [0x546ff1]
mov dword [esp + 0x2974], ebx
mov dword [esp + 0x297c], 0x3f40
mov dword [esp + 0x2984], 9
lea ebx, [0x546ffa]
mov dword [esp + 0x2980], ebx
movzx ebx, byte [esp + 0x61e0]
mov dword [esp + 0x2988], ebx
mov ebx, dword [edx + 0x64]
lea ecx, [ebx + 3]
mov esi, dword [edx + 0x68]
mov edi, dword [edx + 0x60]
cmp esi, ecx
jae 0x4f503a
mov dword [esp + 0x2838], ebx
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 3
lea eax, [0x531b80]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2838]
mov dword [esp + 0x2838], esi
mov dword [esp + 0x2834], ecx
mov dword [esp + 0x2878], edi
lea eax, [0x531b80]
mov dword [esp], eax
lea edx, [ebx + ebx*2]
sub esi, ebx
sub ecx, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
shl edx, 2
sar esi, 0x1f
and esi, edx
lea edx, [edi + esi]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [esp + 0x2968]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 3
call fcn.00411270
mov eax, dword [esp + 0x2834]
mov ecx, dword [esp + 0x16a94]
mov dword [ecx + 0x64], eax
mov edx, dword [esp + 0x2838]
mov dword [ecx + 0x68], edx
mov ebx, dword [0x6b2320]
test ebx, ebx
jne 0x4f50be
mov ebx, dword [esp + 0x2878]
jmp 0x4f50d2
call fcn.00468870
mov ebx, dword [esp + 0x2878]
mov dword [edi], ebx
mov ebp, dword [ecx + 0x60]
mov dword [edi + 4], ebp
mov dword [ecx + 0x60], ebx
inc eax
cmp edx, eax
jae 0x4f5137
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x531b80]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x16a94]
mov dword [ebx + 0x68], eax
mov eax, dword [0x6b2320]
test eax, eax
je 0x4f5129
call fcn.00468870
mov dword [edi], ecx
mov eax, dword [ebx + 0x60]
mov dword [edi + 4], eax
mov dword [ebx + 0x60], ecx
mov ebx, ecx
mov eax, edx
mov ecx, dword [esp + 0x16a94]
mov dword [ecx + 0x64], eax
lea eax, [eax + eax*2]
mov dword [ebx + eax*4 - 8], 9
mov dword [ebx + eax*4 - 4], 0x4400
mov edx, dword [0x6b2320]
test edx, edx
je 0x4f5162
mov edx, dword [ebx + eax*4 - 0xc]
call fcn.00468860
mov dword [edi], edx
lea ecx, [0x54700c]
mov dword [ebx + eax*4 - 0xc], ecx
lea eax, [0x52e460]
mov dword [esp], eax
mov eax, dword [esp + 0x27e0]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044f1d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28a4], eax
xor ecx, ecx
jmp 0x4f5c1e
mov dword [esp + 0x2858], edx
mov eax, dword [esp + 0x2398]
mov dword [esp + 0x287c], eax
mov dword [esp + 0x2940], 0
mov dword [esp + 0x2944], 0
mov dword [esp + 0x2948], 0
mov dword [esp + 0x294c], 0
mov ecx, dword [esp + 0x16a94]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x2940], ecx
mov dword [esp + 0x2944], eax
mov eax, dword [esp + 0x287c]
test eax, eax
je 0x4f521a
mov eax, dword [eax + 4]
mov dword [esp + 0x2948], eax
mov eax, dword [esp + 0x2858]
mov dword [esp + 0x294c], eax
lea eax, [0x54aa08]
mov dword [esp], eax
mov dword [esp + 4], 0x15
lea eax, [esp + 0x2940]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x27b0]
mov dword [esp + 0x16aa4], edx
mov edx, dword [esp + 0x27a4]
mov dword [esp + 0x16aa0], edx
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
lea edi, [esp + 0x11bb0]
mov esi, dword [esp + 0x284c]
mov ecx, 0x9dc
rep movsd dword es:[edi], dword [esi]
lea edi, [esp]
lea esi, [esp + 0x11bb0]
mov ecx, 0x9dc
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x16a98]
mov dword [esp + 0x2770], eax
mov edx, dword [esp + 0x16a9c]
mov dword [esp + 0x2774], edx
call fcn.00511850
mov eax, dword [esp + 0x2780]
mov edx, dword [esp + 0x2784]
mov ebx, dword [esp + 0x2778]
mov dword [esp + 0x27a8], ebx
mov ebp, dword [esp + 0x277c]
mov dword [esp + 0x27b4], ebp
test eax, eax
jne 0x4f5691
mov edx, dword [esp + 0x16a94]
movzx eax, byte [edx + 0x12]
test al, al
jne 0x4f540b
mov dword [esp + 0x2900], 0
mov dword [esp + 0x2904], 0
mov dword [esp + 0x2908], 0
mov dword [esp + 0x290c], 0
mov eax, dword [esp + 0x284c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x2900], ecx
mov dword [esp + 0x2904], eax
mov eax, dword [esp + 0x16a94]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x2908], ecx
mov dword [esp + 0x290c], eax
mov eax, dword [0x68b9cc]
lea ecx, [0x5d4354]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x549d6b]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x13
lea eax, [esp + 0x2900]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 2
call fcn.004a48b0
mov edx, dword [esp + 0x16a94]
mov ebx, dword [esp + 0x27a8]
mov ebp, dword [esp + 0x27b4]
lea edi, [esp + 0xf440]
mov esi, dword [esp + 0x284c]
mov ecx, 0x9dc
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x29c8]
xor eax, eax
call fcn.00468aa1
mov dword [esp + 0x29cc], 6
lea ebx, [0x546908]
mov dword [esp + 0x29c8], ebx
mov dword [esp + 0x29d0], 0x2000
mov dword [esp + 0x29d8], 9
lea ebx, [0x546ff1]
mov dword [esp + 0x29d4], ebx
mov dword [esp + 0x29dc], 0x3f40
mov dword [esp + 0x29e4], 8
lea ebx, [0x546d2e]
mov dword [esp + 0x29e0], ebx
mov dword [esp + 0x29e8], 0x4328
mov dword [esp + 0x29f0], 9
lea ebx, [0x546ffa]
mov dword [esp + 0x29ec], ebx
movzx ebx, byte [esp + 0x11b59]
mov dword [esp + 0x29f4], ebx
mov dword [esp + 0x29fc], 9
lea ebx, [0x547003]
mov dword [esp + 0x29f8], ebx
movzx ebx, byte [esp + 0x11b58]
mov dword [esp + 0x2a00], ebx
mov ebx, dword [edx + 0x64]
lea ecx, [ebx + 5]
mov esi, dword [edx + 0x68]
mov edi, dword [edx + 0x60]
cmp esi, ecx
jae 0x4f5531
mov dword [esp + 0x2838], ebx
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 5
lea eax, [0x531b80]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2838]
mov dword [esp + 0x2838], esi
mov dword [esp + 0x2834], ecx
mov dword [esp + 0x2878], edi
lea eax, [0x531b80]
mov dword [esp], eax
lea edx, [ebx + ebx*2]
sub esi, ebx
sub ecx, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
shl edx, 2
sar esi, 0x1f
and edx, esi
add edx, edi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [esp + 0x29c8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 5
call fcn.00411270
mov eax, dword [esp + 0x2834]
mov ecx, dword [esp + 0x16a94]
mov dword [ecx + 0x64], eax
mov edx, dword [esp + 0x2838]
mov dword [ecx + 0x68], edx
mov ebx, dword [0x6b2320]
test ebx, ebx
jne 0x4f55b4
mov ebx, dword [esp + 0x2878]
jmp 0x4f55c8
call fcn.00468870
mov ebx, dword [esp + 0x2878]
mov dword [edi], ebx
mov ebp, dword [ecx + 0x60]
mov dword [edi + 4], ebp
mov dword [ecx + 0x60], ebx
inc eax
cmp edx, eax
jae 0x4f562d
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x531b80]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x16a94]
mov dword [ebx + 0x68], eax
mov eax, dword [0x6b2320]
test eax, eax
je 0x4f561f
call fcn.00468870
mov dword [edi], ecx
mov eax, dword [ebx + 0x60]
mov dword [edi + 4], eax
mov dword [ebx + 0x60], ecx
mov ebx, ecx
mov eax, edx
mov ecx, dword [esp + 0x16a94]
mov dword [ecx + 0x64], eax
lea eax, [eax + eax*2]
mov dword [ebx + eax*4 - 8], 9
mov dword [ebx + eax*4 - 4], 0x4800
mov edx, dword [0x6b2320]
test edx, edx
je 0x4f5658
mov edx, dword [ebx + eax*4 - 0xc]
call fcn.00468860
mov dword [edi], edx
lea ecx, [0x54700c]
mov dword [ebx + eax*4 - 0xc], ecx
lea eax, [0x52e460]
mov dword [esp], eax
mov eax, dword [esp + 0x27bc]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044f1d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28a4], eax
xor ecx, ecx
jmp 0x4f5930
mov dword [esp + 0x285c], edx
mov eax, dword [esp + 0x2780]
mov dword [esp + 0x287c], eax
mov dword [esp + 0x2940], 0
mov dword [esp + 0x2944], 0
mov dword [esp + 0x2948], 0
mov dword [esp + 0x294c], 0
mov ecx, dword [esp + 0x16a94]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x2940], ecx
mov dword [esp + 0x2944], eax
mov eax, dword [esp + 0x287c]
test eax, eax
je 0x4f5710
mov eax, dword [eax + 4]
mov dword [esp + 0x2948], eax
mov eax, dword [esp + 0x285c]
mov dword [esp + 0x294c], eax
lea eax, [0x54aa08]
mov dword [esp], eax
mov dword [esp + 4], 0x15
lea eax, [esp + 0x2940]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x27b4]
mov dword [esp + 0x16aa4], edx
mov edx, dword [esp + 0x27a8]
mov dword [esp + 0x16aa0], edx
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp], eax
mov eax, dword [esp + 0x16a98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x16a9c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x284c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x27bc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x27c0]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2854]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x27e0]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x27e4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x283c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x278c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2790]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2848]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x279c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x27a0]
mov dword [esp + 0x44], eax
call fcn.004f6b10
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
test eax, eax
je 0x4f58fc
mov dword [esp + 0x27ac], ebx
mov dword [esp + 0x27b8], edx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x28b0], 0
mov dword [esp + 0x28b4], 0
test eax, eax
je 0x4f5884
mov eax, dword [eax + 4]
mov dword [esp + 0x28b0], eax
mov dword [esp + 0x28b4], ecx
lea eax, [0x5501a1]
mov dword [esp], eax
mov dword [esp + 4], 0x24
lea eax, [esp + 0x28b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x27b8]
mov dword [esp + 0x16aa4], edx
mov edx, dword [esp + 0x27ac]
mov dword [esp + 0x16aa0], edx
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x16aa4], edx
mov dword [esp + 0x16aa0], ebx
mov dword [esp + 0x16aa8], 0
mov dword [esp + 0x16aac], 0
add esp, 0x16a90
ret
mov dword [edx], ebx
lea edx, [eax + 1]
mov eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x27bc]
cmp ecx, edx
jge 0x4f59ad
mov dword [esp + 0x27d8], ecx
lea edx, [0x53d1e0]
mov dword [esp], edx
lea ebx, [eax + ecx*8]
mov dword [esp + 0x2874], ebx
imul ebp, ecx, 0x2770
mov esi, dword [esp + 0x284c]
add ebp, esi
mov dword [esp + 4], ebp
call fcn.004099d0
mov eax, dword [esp + 0x27d8]
mov ecx, dword [esp + 0x28a4]
lea edx, [ecx + eax*8 + 4]
mov ebx, dword [esp + 8]
lea ebp, [0x5d44bc]
mov esi, dword [esp + 0x2874]
mov dword [esi], ebp
mov esi, dword [0x6b2320]
test esi, esi
je 0x4f5927
call fcn.00468870
mov dword [edi], ebx
mov esi, dword [edx]
mov dword [edi + 4], esi
jmp 0x4f5927
lea edi, [esp + 0x2aac]
mov esi, dword [esp + 0x16a94]
call fcn.00468eee
lea edi, [esp]
lea esi, [esp + 0x2aac]
call fcn.00468eee
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edx
call fcn.004f84e0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
test eax, eax
je 0x4f5a89
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28b0], 0
mov dword [esp + 0x28b4], 0
test eax, eax
je 0x4f5a11
mov eax, dword [eax + 4]
mov dword [esp + 0x28b0], eax
mov dword [esp + 0x28b4], ecx
lea eax, [0x54d507]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
lea eax, [esp + 0x28b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x27b4]
mov dword [esp + 0x16aa4], edx
mov edx, dword [esp + 0x27a8]
mov dword [esp + 0x16aa0], edx
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov eax, dword [esp + 0x64]
mov dword [esp + 0x2798], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x2844], ecx
xor edx, edx
mov ebx, dword [esp + 0x27b4]
mov ebp, dword [esp + 0x27a8]
jmp 0x4f5acb
mov esi, dword [esp + 0x27d4]
lea edx, [esi + 1]
mov eax, dword [esp + 0x2798]
mov ebx, ecx
mov ecx, dword [esp + 0x2844]
cmp edx, eax
jge 0x4f5bea
mov dword [esp + 0x27d4], edx
mov dword [esp + 0x2818], ebp
mov dword [esp + 0x2814], ebx
mov eax, dword [esp + 0x16a98]
mov ebx, dword [eax + 0x10]
lea ebp, [edx + edx*2]
mov esi, dword [ecx + ebp*4]
mov edi, dword [ecx + ebp*4 + 4]
mov ebp, dword [ecx + ebp*4 + 8]
mov ecx, dword [esp + 0x16a9c]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
call ebx
mov eax, dword [esp + 0x10]
mov ecx, eax
sar eax, 0x1f
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x2818]
add ebp, ecx
mov ecx, dword [esp + 0x2814]
adc ecx, eax
test edx, edx
je 0x4f5ab1
mov dword [esp + 0x2810], ebp
mov dword [esp + 0x280c], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28b0], 0
mov dword [esp + 0x28b4], 0
test eax, eax
je 0x4f5b72
mov eax, dword [eax + 4]
mov dword [esp + 0x28b0], eax
mov dword [esp + 0x28b4], ebx
lea eax, [0x548bd1]
mov dword [esp], eax
mov dword [esp + 4], 0x10
lea eax, [esp + 0x28b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x280c]
mov dword [esp + 0x16aa4], edx
mov edx, dword [esp + 0x2810]
mov dword [esp + 0x16aa0], edx
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x16aa4], ebx
mov dword [esp + 0x16aa0], ebp
mov dword [esp + 0x16aa8], 0
mov dword [esp + 0x16aac], 0
add esp, 0x16a90
ret
mov dword [edx], ebx
lea edx, [eax + 1]
mov eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x27e0]
cmp ecx, edx
jge 0x4f5c9b
mov dword [esp + 0x27d0], ecx
lea edx, [0x53bf00]
mov dword [esp], edx
lea ebx, [eax + ecx*8]
mov dword [esp + 0x2874], ebx
imul ebp, ecx, 0x2388
mov esi, dword [esp + 0x2854]
add ebp, esi
mov dword [esp + 4], ebp
call fcn.004099d0
mov eax, dword [esp + 0x27d0]
mov ecx, dword [esp + 0x28a4]
lea edx, [ecx + eax*8 + 4]
mov ebx, dword [esp + 8]
lea ebp, [0x5d44a8]
mov esi, dword [esp + 0x2874]
mov dword [esi], ebp
mov esi, dword [0x6b2320]
test esi, esi
je 0x4f5c15
call fcn.00468870
mov dword [edi], ebx
mov esi, dword [edx]
mov dword [edi + 4], esi
jmp 0x4f5c15
lea edi, [esp + 0x2a58]
mov esi, dword [esp + 0x16a94]
call fcn.00468eee
lea edi, [esp]
lea esi, [esp + 0x2a58]
call fcn.00468eee
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edx
call fcn.004f84e0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
test eax, eax
je 0x4f5d77
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28b0], 0
mov dword [esp + 0x28b4], 0
test eax, eax
je 0x4f5cff
mov eax, dword [eax + 4]
mov dword [esp + 0x28b0], eax
mov dword [esp + 0x28b4], ecx
lea eax, [0x54eea6]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x28b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x27b0]
mov dword [esp + 0x16aa4], edx
mov edx, dword [esp + 0x27a4]
mov dword [esp + 0x16aa0], edx
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov eax, dword [esp + 0x64]
mov dword [esp + 0x2794], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x2840], ecx
xor edx, edx
mov ebx, dword [esp + 0x27b0]
mov ebp, dword [esp + 0x27a4]
jmp 0x4f5db9
mov esi, dword [esp + 0x27cc]
lea edx, [esi + 1]
mov eax, dword [esp + 0x2794]
mov ebx, ecx
mov ecx, dword [esp + 0x2840]
cmp edx, eax
jge 0x4f5ed8
mov dword [esp + 0x2818], ebp
mov dword [esp + 0x2814], ebx
mov dword [esp + 0x27cc], edx
mov eax, dword [esp + 0x16a98]
mov ebx, dword [eax + 0x10]
lea ebp, [edx + edx*2]
mov esi, dword [ecx + ebp*4]
mov edi, dword [ecx + ebp*4 + 4]
mov ebp, dword [ecx + ebp*4 + 8]
mov ecx, dword [esp + 0x16a9c]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
call ebx
mov eax, dword [esp + 0x10]
mov ecx, eax
sar eax, 0x1f
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x2818]
add ebp, ecx
mov ecx, dword [esp + 0x2814]
adc ecx, eax
test edx, edx
je 0x4f5d9f
mov dword [esp + 0x280c], ecx
mov dword [esp + 0x2810], ebp
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28b0], 0
mov dword [esp + 0x28b4], 0
test eax, eax
je 0x4f5e60
mov eax, dword [eax + 4]
mov dword [esp + 0x28b0], eax
mov dword [esp + 0x28b4], ebx
lea eax, [0x548bd1]
mov dword [esp], eax
mov dword [esp + 4], 0x10
lea eax, [esp + 0x28b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x280c]
mov dword [esp + 0x16aa4], edx
mov edx, dword [esp + 0x2810]
mov dword [esp + 0x16aa0], edx
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x16aa4], ebx
mov dword [esp + 0x16aa0], ebp
mov dword [esp + 0x16aa8], 0
mov dword [esp + 0x16aac], 0
add esp, 0x16a90
ret
add eax, 0x70
mov ecx, dword [esp + 0x2838]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x279c]
mov esi, dword [esp + 0x27f4]
mov edi, dword [esp + 0x27fc]
mov esi, dword [esp + 0x2848]
mov ebp, edi
mov edi, dword [esp + 0x2868]
mov dword [esp + 0x2868], edi
cmp ebx, ecx
jge 0x4f612a
mov dword [esp + 0x2838], ebx
mov dword [esp + 0x28a4], eax
lea edi, [esp + 0x2cb0]
mov esi, eax
call fcn.00468ea8
mov ecx, dword [esp + 0x27f4]
inc ecx
mov esi, dword [esp + 0x2cb8]
mov edi, dword [esp + 0x2cbc]
mov ebx, dword [esp + 0x2cc0]
cmp ebp, ecx
jae 0x4f5ff5
mov dword [esp + 0x2870], esi
mov dword [esp + 0x2834], edi
mov dword [esp + 0x2830], ebx
mov eax, dword [esp + 0x2868]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x525ae0]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x28a4]
mov edx, dword [esp + 0x16a94]
mov ebx, dword [esp + 0x2830]
mov esi, dword [esp + 0x2870]
mov dword [esp + 0x2868], edi
mov edi, dword [esp + 0x2834]
mov dword [esp + 0x27f4], ecx
mov dword [esp + 0x27fc], ebp
lea ecx, [ecx + ecx*2]
mov ebp, dword [esp + 0x2868]
mov dword [ebp + ecx*4 - 8], edi
mov dword [ebp + ecx*4 - 4], ebx
mov ebx, dword [0x6b2320]
test ebx, ebx
je 0x4f602d
call fcn.00468870
mov dword [edi], esi
mov ebx, dword [ebp + ecx*4 - 0xc]
mov dword [edi + 4], ebx
mov dword [ebp + ecx*4 - 0xc], esi
movzx ecx, byte [edx + 0x12]
test cl, cl
jne 0x4f5f03
mov dword [esp + 0x28e0], 0
mov dword [esp + 0x28e4], 0
mov dword [esp + 0x28e8], 0
mov dword [esp + 0x28ec], 0
mov eax, dword [esp + 0x2cb0]
mov ecx, dword [esp + 0x2cb4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x28e0], ecx
mov dword [esp + 0x28e4], eax
mov eax, dword [esp + 0x16a94]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x28e8], ecx
mov dword [esp + 0x28ec], eax
mov eax, dword [0x68b9cc]
lea edx, [0x5d4354]
mov dword [esp], edx
mov dword [esp + 4], eax
lea eax, [0x549d6b]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x13
lea ebx, [esp + 0x28e0]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 2
call fcn.004a48b0
mov eax, dword [esp + 0x28a4]
mov edx, dword [esp + 0x16a94]
mov ebp, dword [esp + 0x2868]
jmp 0x4f5f03
mov dword [esp + 0x2808], ebp
lea edi, [esp + 0x2d90]
call fcn.00468ea8
lea edi, [esp + 0x2a04]
xor eax, eax
call fcn.00468a9b
mov dword [esp + 0x2a08], 6
lea ecx, [0x546908]
mov dword [esp + 0x2a04], ecx
mov dword [esp + 0x2a0c], 0x2000
mov dword [esp + 0x2a14], 7
lea ecx, [0x546af8]
mov dword [esp + 0x2a10], ecx
movzx ecx, byte [esp + 0x2da8]
mov dword [esp + 0x2a18], ecx
mov dword [esp + 0x2a20], 4
lea ecx, [0x546626]
mov dword [esp + 0x2a1c], ecx
movzx ecx, byte [esp + 0x2da9]
mov dword [esp + 0x2a24], ecx
mov dword [esp + 0x2a2c], 0xb
lea ecx, [0x5476f2]
mov dword [esp + 0x2a28], ecx
movzx ecx, byte [esp + 0x2da4]
mov dword [esp + 0x2a30], ecx
mov dword [esp + 0x2a38], 9
lea ecx, [0x547003]
mov dword [esp + 0x2a34], ecx
movzx ecx, byte [esp + 0x2da5]
mov dword [esp + 0x2a3c], ecx
mov dword [esp + 0x2a44], 9
lea ecx, [0x547015]
mov dword [esp + 0x2a40], ecx
movzx ecx, byte [esp + 0x2da6]
mov dword [esp + 0x2a48], ecx
mov dword [esp + 0x2a50], 9
lea ecx, [0x54701e]
mov dword [esp + 0x2a4c], ecx
movzx ecx, byte [esp + 0x2da7]
mov dword [esp + 0x2a54], ecx
mov ecx, dword [edx + 0x64]
lea ebx, [ecx + 7]
mov eax, dword [edx + 0x68]
mov esi, dword [edx + 0x60]
cmp eax, ebx
jae 0x4f62a4
mov dword [esp + 0x2838], ecx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 7
lea eax, [0x531b80]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2838]
mov dword [esp + 0x2838], eax
mov dword [esp + 0x2834], ebx
mov dword [esp + 0x2878], esi
lea edx, [0x531b80]
mov dword [esp], edx
sub eax, ecx
sub ebx, ecx
lea ecx, [ecx + ecx*2]
neg eax
shl ecx, 2
sar eax, 0x1f
and ecx, eax
lea eax, [esi + ecx]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
lea eax, [esp + 0x2a04]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 7
call fcn.00411270
mov eax, dword [esp + 0x2834]
mov ecx, dword [esp + 0x16a94]
mov dword [ecx + 0x64], eax
mov eax, dword [esp + 0x2838]
mov dword [ecx + 0x68], eax
mov eax, dword [0x6b2320]
test eax, eax
jne 0x4f6324
mov eax, dword [esp + 0x2878]
jmp 0x4f6338
call fcn.00468870
mov eax, dword [esp + 0x2878]
mov dword [edi], eax
mov edx, dword [ecx + 0x60]
mov dword [edi + 4], edx
mov dword [ecx + 0x60], eax
mov eax, dword [esp + 0x16a98]
mov dword [esp], eax
mov eax, dword [esp + 0x16a9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2868]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x27f4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2808]
mov dword [esp + 0x10], eax
call fcn.00513860
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test eax, eax
je 0x4f647b
mov dword [esp + 0x28a0], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x287c], eax
mov dword [esp + 0x2940], 0
mov dword [esp + 0x2944], 0
mov dword [esp + 0x2948], 0
mov dword [esp + 0x294c], 0
mov ecx, dword [esp + 0x16a94]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x2940], ecx
mov dword [esp + 0x2944], eax
mov eax, dword [esp + 0x287c]
test eax, eax
je 0x4f6402
mov eax, dword [eax + 4]
mov dword [esp + 0x2948], eax
mov eax, dword [esp + 0x28a0]
mov dword [esp + 0x294c], eax
lea eax, [0x54b93a]
mov dword [esp], eax
mov dword [esp + 4], 0x17
lea eax, [esp + 0x2940]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], 0
mov dword [esp + 0x16aac], 0
add esp, 0x16a90
ret
add eax, 0x6c
mov ecx, dword [esp + 0x2838]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x278c]
mov esi, dword [esp + 0x27f0]
mov edi, dword [esp + 0x27f8]
mov esi, dword [esp + 0x283c]
mov ebp, edi
mov edi, dword [esp + 0x2864]
mov dword [esp + 0x2864], edi
cmp ebx, ecx
jge 0x4f66d5
mov dword [esp + 0x2838], ebx
mov dword [esp + 0x28a4], eax
lea edi, [esp + 0x2b00]
mov esi, eax
call fcn.00468eb2
mov ecx, dword [esp + 0x27f0]
inc ecx
mov esi, dword [esp + 0x2b08]
mov edi, dword [esp + 0x2b0c]
mov ebx, dword [esp + 0x2b10]
cmp ebp, ecx
jae 0x4f65a0
mov dword [esp + 0x2870], esi
mov dword [esp + 0x2834], edi
mov dword [esp + 0x2830], ebx
mov eax, dword [esp + 0x2864]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x525ae0]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x28a4]
mov edx, dword [esp + 0x16a94]
mov ebx, dword [esp + 0x2830]
mov esi, dword [esp + 0x2870]
mov dword [esp + 0x2864], edi
mov edi, dword [esp + 0x2834]
mov dword [esp + 0x27f0], ecx
mov dword [esp + 0x27f8], ebp
lea ecx, [ecx + ecx*2]
mov ebp, dword [esp + 0x2864]
mov dword [ebp + ecx*4 - 8], edi
mov dword [ebp + ecx*4 - 4], ebx
mov ebx, dword [0x6b2320]
test ebx, ebx
je 0x4f65d8
call fcn.00468870
mov dword [edi], esi
mov ebx, dword [ebp + ecx*4 - 0xc]
mov dword [edi + 4], ebx
mov dword [ebp + ecx*4 - 0xc], esi
movzx ecx, byte [edx + 0x12]
test cl, cl
jne 0x4f64ae
mov dword [esp + 0x28d0], 0
mov dword [esp + 0x28d4], 0
mov dword [esp + 0x28d8], 0
mov dword [esp + 0x28dc], 0
mov eax, dword [esp + 0x2b00]
mov ecx, dword [esp + 0x2b04]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x28d0], ecx
mov dword [esp + 0x28d4], eax
mov eax, dword [esp + 0x16a94]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x28d8], ecx
mov dword [esp + 0x28dc], eax
mov eax, dword [0x68b9cc]
lea edx, [0x5d4354]
mov dword [esp], edx
mov dword [esp + 4], eax
lea eax, [0x549d6b]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x13
lea ebx, [esp + 0x28d0]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 2
call fcn.004a48b0
mov eax, dword [esp + 0x28a4]
mov edx, dword [esp + 0x16a94]
mov ebp, dword [esp + 0x2864]
jmp 0x4f64ae
mov dword [esp + 0x2808], ebp
lea edi, [esp + 0x2bd8]
call fcn.00468eb2
lea edi, [esp + 0x298c]
xor eax, eax
call fcn.00468aa1
mov dword [esp + 0x2990], 6
lea ecx, [0x546908]
mov dword [esp + 0x298c], ecx
mov dword [esp + 0x2994], 0x2000
mov dword [esp + 0x299c], 7
lea ecx, [0x546af8]
mov dword [esp + 0x2998], ecx
movzx ecx, byte [esp + 0x2bee]
mov dword [esp + 0x29a0], ecx
mov dword [esp + 0x29a8], 4
lea ecx, [0x546626]
mov dword [esp + 0x29a4], ecx
movzx ecx, byte [esp + 0x2bef]
mov dword [esp + 0x29ac], ecx
mov dword [esp + 0x29b4], 0xb
lea ecx, [0x5476f2]
mov dword [esp + 0x29b0], ecx
movzx ecx, byte [esp + 0x2bec]
mov dword [esp + 0x29b8], ecx
mov dword [esp + 0x29c0], 9
lea ecx, [0x547003]
mov dword [esp + 0x29bc], ecx
movzx ecx, byte [esp + 0x2bed]
mov dword [esp + 0x29c4], ecx
mov ecx, dword [edx + 0x64]
lea ebx, [ecx + 5]
mov eax, dword [edx + 0x68]
mov esi, dword [edx + 0x60]
cmp eax, ebx
jae 0x4f6801
mov dword [esp + 0x2838], ecx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
lea eax, [0x531b80]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2838]
mov dword [esp + 0x2838], ebx
mov dword [esp + 0x2878], esi
mov dword [esp + 0x2834], eax
lea edx, [0x531b80]
mov dword [esp], edx
lea edx, [ecx + ecx*2]
sub eax, ecx
sub ebx, ecx
neg eax
shl edx, 2
sar eax, 0x1f
and edx, eax
lea eax, [esi + edx]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
lea eax, [esp + 0x298c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 5
call fcn.00411270
mov eax, dword [esp + 0x2838]
mov ecx, dword [esp + 0x16a94]
mov dword [ecx + 0x64], eax
mov eax, dword [esp + 0x2834]
mov dword [ecx + 0x68], eax
mov eax, dword [0x6b2320]
test eax, eax
jne 0x4f6881
mov eax, dword [esp + 0x2878]
jmp 0x4f6895
call fcn.00468870
mov eax, dword [esp + 0x2878]
mov dword [edi], eax
mov edx, dword [ecx + 0x60]
mov dword [edi + 4], edx
mov dword [ecx + 0x60], eax
mov eax, dword [esp + 0x16a98]
mov dword [esp], eax
mov eax, dword [esp + 0x16a9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2864]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x27f0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2808]
mov dword [esp + 0x10], eax
call fcn.00513860
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test eax, eax
je 0x4f69d8
mov dword [esp + 0x28a0], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x287c], eax
mov dword [esp + 0x2940], 0
mov dword [esp + 0x2944], 0
mov dword [esp + 0x2948], 0
mov dword [esp + 0x294c], 0
mov ecx, dword [esp + 0x16a94]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00409c10
mov eax, dword [esp + 8]
lea ecx, [0x52a880]
mov dword [esp + 0x2940], ecx
mov dword [esp + 0x2944], eax
mov eax, dword [esp + 0x287c]
test eax, eax
je 0x4f695f
mov eax, dword [eax + 4]
mov dword [esp + 0x2948], eax
mov eax, dword [esp + 0x28a0]
mov dword [esp + 0x294c], eax
lea eax, [0x54b93a]
mov dword [esp], eax
mov dword [esp + 4], 0x17
lea eax, [esp + 0x2940]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], eax
mov dword [esp + 0x16aac], ecx
add esp, 0x16a90
ret
mov dword [esp + 0x16aa4], 0
mov dword [esp + 0x16aa0], 0
mov dword [esp + 0x16aa8], 0
mov dword [esp + 0x16aac], 0
add esp, 0x16a90
ret
call fcn.00467460
jmp fcn.004f3af0