Function at 0x4e3e00
Capabilities:
Contain obfuscated stackstrings
Encrypt data using speck
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x4d0
mov ebx, edx
mov dword [esp + 0x3a8], ebx
mov edi, ecx
mov dword [esp + 0x164], edi
mov esi, 0xf
mov byte [esp + 0x35b], 0x68
mov byte [esp + 0x21b], 0x22
mov byte [esp + 0x1ab], 0x35
mov dword [esp + 0x494], 0
mov dword [esp + 0x490], 0
mov dword [esp + 0x498], 0
mov dword [esp + 0x48c], 0
mov dword [esp + 0x488], 0
mov dword [esp + 0x484], 0
mov dword [esp + 0x480], 0
mov dword [esp + 0x47c], 0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x450], xmm0
mov dword [esp + 0x464], 0
mov dword [esp + 0x460], 0
mov dword [esp + 0x469], 0
mov dword [esp + 0x465], 0
mov eax, dword [0x7dc5e8]
mov dword [esp + 0x448], eax
movsd xmm1, qword [0x7dc5e0]
movsd qword [esp + 0x440], xmm1
movsd xmm1, qword [0x7dc5d8]
movsd qword [esp + 0x438], xmm1
movapd xmmword [esp + 0x420], xmm0
mov dword [esp + 0x41c], 0
lea eax, [esp + 0x490]
mov dword [esp], eax
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0
call fcn.007c51a0
mov dword [esp + 0x490], 0x2a
mov dword [ebx + 0x64], 0xc
test edi, edi
mov byte [esp + 0x313], al
mov byte [esp + 0x13a], al
mov byte [esp + 0x12b], al
mov byte [esp + 0x7f], al
mov byte [esp + 0x12a], al
mov byte [esp + 0x1be], al
mov byte [esp + 0x2a3], al
mov byte [esp + 0x2d4], al
mov byte [esp + 0x1c6], al
mov byte [esp + 0x273], al
mov byte [esp + 0x1e7], al
mov byte [esp + 0xeb], al
mov byte [esp + 0x2ef], al
mov byte [esp + 0x2b7], al
mov dword [esp + 0x178], ecx
mov dword [esp + 0x174], ecx
mov dword [esp + 0x290], ecx
mov dword [esp + 0x28c], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x330], ecx
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0xec], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x258], ecx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x27c], ecx
mov dword [esp + 0x34c], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x398], ecx
mov dword [esp + 0x388], ecx
mov dword [esp + 0x3b0], ecx
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x378], ecx
mov dword [esp + 0x384], ecx
mov dword [esp + 0x26c], ecx
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x400], ecx
mov dword [esp + 0x2a8], ecx
mov dword [esp + 0x2a4], ecx
mov dword [esp + 0x2f8], ecx
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x38c], ecx
mov dword [esp + 0x380], ecx
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x3b8], ecx
mov dword [esp + 0x230], ecx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x40c], ecx
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x264], ecx
mov dword [esp + 0x29c], ecx
mov dword [esp + 0x340], ecx
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x240], ecx
mov dword [esp + 0x364], ecx
mov dword [esp + 0x2f0], ecx
mov dword [esp + 0x210], ecx
mov dword [esp + 0x348], ecx
mov dword [esp + 0x360], ecx
mov dword [esp + 0x320], ecx
mov dword [esp + 0x3a0], ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x134], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x150], ecx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x224], ecx
mov dword [esp + 0x238], ecx
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x334], ecx
mov dword [esp + 0x36c], ecx
mov dword [esp + 0x2f4], ecx
mov dword [esp + 0x2dc], ecx
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x200], ecx
mov dword [esp + 0x158], ecx
mov dword [esp + 0x154], ecx
mov dword [esp + 0x208], ecx
mov dword [esp + 0x32c], ecx
mov dword [esp + 0x234], ecx
mov dword [esp + 0x124], ecx
mov dword [esp + 0x104], ecx
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x35c], ecx
mov dword [esp + 0x39c], ecx
mov dword [esp + 0x248], ecx
mov dword [esp + 0x160], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x2e8], ecx
mov dword [esp + 0x170], ecx
mov dword [esp + 0x278], ecx
mov dword [esp + 0x144], ecx
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x2b0], ecx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x328], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x294], ecx
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x308], ecx
mov dword [esp + 0x25c], ecx
mov dword [esp + 0x118], ecx
mov dword [esp + 0x368], ecx
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x3c8], ecx
mov dword [esp + 0x3cc], ecx
mov dword [esp + 0x3c0], ecx
mov dword [esp + 0x3d0], ecx
mov dword [esp + 0x148], ecx
mov dword [esp + 0x284], ecx
mov dword [esp + 0x314], ecx
mov dword [esp + 0x338], ecx
mov dword [esp + 0x3d4], ecx
mov dword [esp + 0x3b4], ecx
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x298], ecx
mov dword [esp + 0x1f0], ecx
mov dword [esp + 0x190], ecx
mov dword [esp + 0x350], ecx
mov dword [esp + 0x244], ecx
mov dword [esp + 0x344], ecx
mov dword [esp + 0x354], ecx
mov dword [esp + 0x3e4], ecx
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x3dc], ecx
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x2c0], ecx
mov dword [esp + 0x3ac], ecx
mov dword [esp + 0x3c4], ecx
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x300], ecx
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x214], ecx
mov dword [esp + 0x2fc], ecx
mov dword [esp + 0x188], ecx
mov dword [esp + 0x184], ecx
mov dword [esp + 0x180], ecx
mov dword [esp + 0x20c], ecx
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x250], ecx
mov dword [esp + 0x2b8], ecx
mov dword [esp + 0x2e4], ecx
mov dword [esp + 0x370], ecx
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x30c], ecx
mov dword [esp + 0x37c], ecx
mov dword [esp + 0x318], ecx
mov dword [esp + 0x390], ecx
mov dword [esp + 0x254], ecx
mov dword [esp + 0x2ac], ecx
mov dword [esp + 0x194], ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x2c8], ecx
mov dword [esp + 0x3bc], ecx
mov byte [esp + 0x2d7], cl
mov byte [esp + 0x1cf], cl
mov byte [esp + 0x263], cl
mov byte [esp + 0x19a], cl
mov byte [esp + 0x6f], cl
mov byte [esp + 0x2d5], cl
mov byte [esp + 0xbb], cl
mov byte [esp + 0x19b], cl
mov byte [esp + 0x1c4], cl
mov byte [esp + 0x207], cl
mov byte [esp + 0x1a3], cl
mov byte [esp + 0xdb], cl
mov byte [esp + 0x307], cl
mov byte [esp + 0x16b], cl
mov byte [esp + 0x1c7], cl
mov byte [esp + 0x2bf], cl
mov byte [esp + 0x143], cl
mov byte [esp + 0x10b], cl
mov byte [esp + 0x2d2], cl
mov byte [esp + 0x24f], cl
mov byte [esp + 0x2e3], cl
mov byte [esp + 0xaf], cl
mov byte [esp + 0x18e], cl
mov byte [esp + 0x22a], cl
mov byte [esp + 0x6e], cl
mov byte [esp + 0x5a], cl
mov byte [esp + 0x33f], cl
mov byte [esp + 0x1a2], cl
mov byte [esp + 0x1bc], cl
mov byte [esp + 0x6c], cl
mov byte [esp + 0x1db], cl
mov byte [esp + 0x23f], cl
mov byte [esp + 0x6d], cl
mov byte [esp + 0x1bd], cl
mov byte [esp + 0xcf], cl
mov byte [esp + 0x22b], cl
mov byte [esp + 0x1b3], cl
mov byte [esp + 0x142], cl
mov byte [esp + 0x28b], cl
mov byte [esp + 0x2d3], cl
mov byte [esp + 0x1ff], cl
mov byte [esp + 0x1ef], cl
mov byte [esp + 0x2d1], cl
mov byte [esp + 0x18f], cl
mov byte [esp + 0x26b], cl
mov byte [esp + 0x123], cl
mov byte [esp + 0x129], cl
mov byte [esp + 0x1e6], cl
mov byte [esp + 0x2d6], cl
mov byte [esp + 0x77], cl
mov byte [esp + 0x282], cl
mov byte [esp + 0x14f], cl
mov byte [esp + 0x28a], cl
mov byte [esp + 0x117], cl
mov byte [esp + 0x116], cl
mov byte [esp + 0x223], cl
mov byte [esp + 0x2c7], cl
mov byte [esp + 0x283], cl
mov byte [esp + 0x2b6], cl
mov byte [esp + 0x16a], cl
mov byte [esp + 0x15f], cl
mov byte [esp + 0x59], cl
mov byte [esp + 0x1bf], cl
mov byte [esp + 0xce], cl
mov byte [esp + 0x289], cl
mov byte [esp + 0x13b], cl
mov byte [esp + 0x31e], cl
mov byte [esp + 0x10a], cl
mov byte [esp + 0xa3], cl
mov byte [esp + 0x31f], cl
mov byte [esp + 0x5b], cl
mov byte [esp + 0x1c5], cl
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x274], ecx
mov dword [esp + 0x394], ecx
jne 0x4ea889
cmp esi, 0xf
mov edi, dword [esp + 0x318]
mov ebx, dword [esp + 0x3b4]
jne 0x4e4691
mov edx, 0x10
mov ecx, 0x1b
movzx esi, byte [esp + 0x1ab]
cmp esi, 0x35
mov dword [esp + 0x2c8], edi
mov dword [esp + 0x3bc], ebx
mov esi, dword [esp + 0x40c]
jne 0x4f08c3
jmp 0x4eb3cc
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov dword [esp + 0x2c8], edi
mov edi, ebx
jmp 0x4eada8
mov byte [esp + 0x1ab], 0x47
mov eax, dword [esp + 0x3a8]
mov ecx, dword [eax + 0x9c]
mov dword [esp + 0x390], 0x700002bb
mov dword [esp + 0x394], 0
test ecx, ecx
jne 0x4e4713
mov eax, 0xa
mov edx, 3
sub edx, ecx
xor edx, ecx
jne 0x4edeee
mov dword [esp + 0x40c], esi
mov eax, 0xc
movzx ecx, byte [esp + 0x21b]
cmp ecx, 0x22
jne 0x4ef4e0
mov esi, 1
mov byte [esp + 0x21b], 0x48
lea eax, [esp + 0x498]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x494]
mov ecx, dword [esp + 0x498]
mov dword [esp + 0x210], ecx
lea ecx, [ecx + ecx*2]
lea ecx, [ecx*8 + 0x18]
lea edx, [esp + 0x494]
mov dword [esp + 0x348], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x4e47b4
mov dword [esp + 0x390], 0x70000003
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov ecx, dword [esp + 0x394]
mov dword [esp + 0x368], ecx
jne 0x4e4853
jmp 0x4e7d5e
mov dword [esp + 0x390], 0x70000003
mov eax, dword [esp + 0x394]
mov dword [esp + 0x368], eax
jmp 0x4e7d5e
mov esi, 0xc
mov dword [esp + 0x494], eax
mov ecx, dword [esp + 0x498]
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
add edx, ecx
mov dword [esp + 0x498], edx
mov ecx, dword [esp + 0x210]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx], 0x10
mov eax, dword [esp + 0x494]
mov dword [eax + ecx + 4], 0
mov eax, dword [esp + 0x494]
mov byte [eax + ecx + 8], 0
mov eax, dword [esp + 0x494]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x494]
mov dword [eax + ecx + 0x10], 8
mov eax, dword [esp + 0x494]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], 8
call fcn.00492770
mov dword [esp + 0xec], eax
mov dword [esp + 0x390], 0x70000003
test eax, eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov ebx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x368], eax
jne 0x4e70ff
jmp 0x4e4963
cmp esi, 0xb
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], eax
mov edi, ebx
mov dword [esp + 0x3e0], edi
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e8], eax
je 0x4ef589
jmp 0x4f0933
mov esi, 0xb
mov byte [esp + 0x2d4], 0x4a
mov byte [esp + 0x117], 0x78
lea eax, [esp + 0x4a0]
mov dword [esp + 0xb0], eax
call fcn.0044c050
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], edx
mov dword [esp + 0x4a4], edx
mov dword [esp + 0x4a0], eax
mov eax, dword [esp + 0x2f0]
mov eax, dword [eax]
mov dword [esp + 0x110], eax
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x18]
mov ecx, dword [esp + 0x348]
mov ecx, dword [ecx]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esp + 0xc8], eax
test eax, eax
je 0x4e4a31
mov ecx, 0xd
xor eax, eax
test al, al
je 0x4ee331
cmp esi, 5
jne 0x4e6089
mov eax, 3
sub eax, esi
xor eax, esi
mov ebx, dword [esp + 0x3b8]
jne 0x4e9ff2
jmp 0x4e6089
movzx eax, byte [esp + 0x117]
cmp eax, 0x78
jne 0x4e4b19
mov esi, dword [esp + 0x348]
mov edi, dword [esp + 0xc8]
mov dword [esi], edi
mov edx, dword [esp + 0x2f0]
mov eax, dword [edx]
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
add ecx, eax
mov dword [edx], ecx
mov eax, dword [esp + 0x110]
lea eax, [eax*8]
lea eax, [eax + eax*2]
mov dword [edi + eax], 4
mov ecx, dword [esi]
mov dword [ecx + eax + 4], 0
mov ecx, dword [esi]
mov byte [ecx + eax + 8], 0
mov ecx, dword [esi]
mov dword [ecx + eax + 0xc], 0
mov ecx, dword [esi]
mov dword [ecx + eax + 0x10], 8
mov ecx, dword [esi]
mov dword [ecx + eax + 0x14], 0
mov esi, 0x19
mov dword [esp], 8
call fcn.00492770
test eax, eax
je 0x4e4bc4
mov byte [esp + 0x117], 0x78
mov edi, 0x18
mov ecx, eax
mov dword [esp + 0x68], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jne 0x4e705a
jmp 0x4e5fed
mov edi, dword [esp + 0x348]
mov ebx, dword [esp + 0xc8]
mov dword [edi], ebx
mov esi, dword [esp + 0x2f0]
mov eax, dword [esi]
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
add ecx, eax
mov dword [esi], ecx
mov eax, dword [esp + 0x110]
lea eax, [eax*8]
lea eax, [eax + eax*2]
mov dword [ebx + eax], 4
mov ecx, dword [edi]
mov dword [ecx + eax + 4], 0
mov ecx, dword [edi]
mov byte [ecx + eax + 8], 0
mov ecx, dword [edi]
mov dword [ecx + eax + 0xc], 0
mov ecx, dword [edi]
mov dword [ecx + eax + 0x10], 8
mov ecx, dword [edi]
mov dword [ecx + eax + 0x14], 0
mov esi, 0xe
mov dword [esp], 8
call fcn.00492770
test eax, eax
jne 0x4e4bd5
mov byte [esp + 0x117], 0x66
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0x68], eax
jne 0x4e6089
jmp 0x4f1082
mov byte [esp + 0x117], 0x78
mov dword [esp + 0x68], eax
jmp 0x4e5fed
mov byte [esp + 0x117], 0x66
mov dword [esp + 0x68], eax
jmp 0x4f1082
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x68]
mov dword [esp], esi
mov dword [esp + 8], 8
call fcn.007c51d0
mov eax, dword [esp + 0x348]
mov eax, dword [eax]
mov ecx, dword [esp + 0x110]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*8 + 0x14], esi
mov eax, dword [esp + 0x360]
mov eax, dword [eax]
mov ecx, dword [esp + 0x320]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x3a0]
mov edx, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 4], eax
mov dword [esp], ecx
lea ecx, [esp + 0x490]
call fcn.004b44f0
mov ecx, dword [esp + 0x3a8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 0xffcb
call fcn.00427270
test eax, eax
jne 0x4e4c97
mov esi, 0xc
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jae 0x4e4c97
mov dword [esp + 0xe4], eax
jmp 0x4e4db6
mov dword [esp + 0xe4], eax
mov byte [esp + 0x1c6], 0x71
mov eax, dword [esp + 0x360]
mov eax, dword [eax]
mov ecx, dword [esp + 0x3a0]
mov ecx, dword [ecx]
mov dword [esp + 0x4c0], 0
mov dword [esp + 0x4bc], 0
mov dword [esp + 0x4a8], 4
mov dword [esp + 0x4ac], 2
mov dword [esp + 0x4b0], ecx
mov dword [esp + 0x4b4], eax
mov dword [esp + 0x4b8], 0xfffffff9
test eax, eax
jne 0x4e4d11
lea eax, [esp + 0x4a8]
mov dword [esp + 0x54], eax
jmp 0x4eca5a
mov al, 0x6d
movzx eax, al
cmp eax, 0x61
je 0x4e4d64
cmp eax, 0x6d
jne 0x4e4d9a
lea ecx, [esp + 0x4a8]
mov dword [esp + 0x54], ecx
lea eax, [esp + 0x4bc]
mov dword [esp + 8], eax
lea eax, [esp + 0x4c0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00593400
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4eca5a
jmp 0x4e4e44
lea ecx, [esp + 0x4a8]
mov dword [esp + 0x54], ecx
lea eax, [esp + 0x4bc]
mov dword [esp + 8], eax
lea eax, [esp + 0x4c0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00593400
test eax, eax
jne 0x4eca5a
jmp 0x4e4e44
lea eax, [esp + 0x4a8]
mov dword [esp + 0x54], eax
mov eax, 0x18
mov ecx, dword [esp + 0x40c]
jmp 0x4f1163
cmp esi, 0xc
je 0x4e4dc5
xor eax, eax
test al, al
je 0x4e710a
mov esi, 0xd
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10
mov dword [esp], 0
lea ecx, [esp + 0x490]
xor edx, edx
call fcn.00522bc0
mov dword [esp + 0x390], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x4f07d2
jmp 0x4f0933
mov esi, 9
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x4c0]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x2f0]
mov eax, dword [eax]
mov dword [esp + 0x80], eax
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x18]
mov ecx, dword [esp + 0x348]
mov ecx, dword [ecx]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x4ecfe9
jmp 0x4eca5a
mov esi, dword [esp + 0x348]
mov edi, dword [esp + 0x4c]
mov dword [esi], edi
mov edx, dword [esp + 0x2f0]
mov eax, dword [edx]
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
add ecx, eax
mov dword [edx], ecx
mov eax, dword [esp + 0x80]
lea eax, [eax*8]
lea eax, [eax + eax*2]
mov dword [edi + eax], 0x22
mov ecx, dword [esi]
mov dword [ecx + eax + 4], 0xfffffff9
mov ecx, dword [esi]
mov byte [ecx + eax + 8], 0xff
mov ecx, dword [esi]
mov dword [ecx + eax + 0xc], 0
mov ecx, dword [esi]
mov edi, dword [esp + 0x50]
mov dword [ecx + eax + 0x10], edi
mov ecx, dword [esi]
mov dword [ecx + eax + 0x14], 0
mov dword [esp], edi
call fcn.00492770
mov dword [esp + 0x70], eax
test eax, eax
je 0x4eca5a
mov eax, edi
and eax, 1
inc eax
xor eax, edi
sete al
movzx eax, al
cmp edi, eax
je 0x4ec9d2
mov esi, 0x16
mov dword [esp + 8], edi
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.007c51d0
jmp 0x4ec9c2
mov byte [esp + 0x10a], 0x77
mov eax, dword [esp + 0x3a0]
mov eax, dword [eax]
lea ecx, [esp + 0x420]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0059a7b0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov dword [esp + 0x390], 0x70000030
cmp eax, ecx
jne 0x4f0933
lea eax, [esp + 0x424]
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x424]
shl eax, 8
lea ecx, [esp + 0x428]
mov dword [esp + 0x2ac], ecx
or eax, dword [esp + 0x428]
mov ecx, dword [esp + 0x3a8]
mov dword [ecx + 0xd0], eax
mov eax, dword [esp + 0x360]
mov ecx, dword [eax]
mov dword [esp + 0x194], ecx
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp ecx, eax
je 0x4e556a
mov cl, 2
mov eax, 0xf
movzx ecx, cl
cmp ecx, 0x67
jne 0x4ee079
mov byte [esp + 0x31f], 0x15
mov eax, dword [esp + 0x3a0]
mov eax, dword [eax]
mov dword [esp + 0x4c8], 0
mov dword [esp + 0x4c4], 0
mov dword [esp + 0x4a8], 4
mov dword [esp + 0x4ac], 2
mov dword [esp + 0x4b0], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0x4b4], eax
mov dword [esp + 0x4b8], 0xfffffffd
lea eax, [esp + 0x4c4]
mov dword [esp + 8], eax
lea eax, [esp + 0x4c8]
mov dword [esp + 4], eax
lea eax, [esp + 0x4a8]
mov dword [esp], eax
call fcn.00593400
test eax, eax
jne 0x4ee17a
mov edi, dword [esp + 0x4c4]
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2f0]
mov eax, dword [eax]
mov dword [esp + 0xb4], eax
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x18]
mov ecx, dword [esp + 0x348]
mov ecx, dword [ecx]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
test eax, eax
jne 0x4e5127
mov ecx, 0xb
mov edx, 3
sub edx, eax
xor edx, eax
je 0x4e5127
mov dword [esp + 0xe0], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov esi, dword [esp + 0x2e4]
mov eax, dword [esp + 0x370]
mov dword [esp + 0x3f4], eax
jmp 0x4e51c3
mov edx, dword [esp + 0x348]
mov dword [edx], eax
mov ecx, dword [esp + 0x2f0]
inc dword [ecx]
mov ecx, dword [esp + 0xb4]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx], 5
mov eax, dword [edx]
mov dword [eax + ecx + 4], 0xfffffffd
mov eax, dword [edx]
mov byte [eax + ecx + 8], 0xff
mov eax, dword [edx]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [edx]
mov dword [eax + ecx + 0x10], edi
mov eax, dword [edx]
mov dword [eax + ecx + 0x14], 0
mov esi, 0xb
mov byte [esp + 0xa3], 0x1a
mov dword [esp], edi
mov dword [esp + 0xe0], edi
call fcn.00492770
test eax, eax
jne 0x4e51b7
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x8c], eax
jne 0x4ee17a
jmp 0x4ea02c
mov dword [esp + 0x8c], eax
jmp 0x4ea02c
cmp ecx, 4
je 0x4e51f6
xor eax, eax
test al, al
jne 0x4e51f6
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
mov dword [esp + 0x2e4], esi
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x370], eax
jmp 0x4ee17a
mov byte [esp + 0x207], 0xb
mov eax, dword [esp + 0x3f4]
shl eax, 6
mov edx, dword [esp + 0x300]
lea ecx, [edx + eax + 0x24]
mov dword [esp + 0x200], ecx
mov eax, dword [edx + eax + 0x24]
test eax, eax
je 0x4e524f
mov ecx, 0x13
mov edx, eax
and edx, 1
inc edx
xor edx, eax
mov dword [esp + 0x2e4], esi
mov dword [esp + 0x344], esi
mov dword [esp + 0x3ec], esi
jne 0x4eccbe
jmp 0x4f0eed
mov dword [esp + 0x2e4], esi
mov dword [esp + 0x3ec], esi
jmp 0x4f0eed
mov byte [esp + 0xa3], 0x1a
mov edi, dword [esp + 0xe0]
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp edi, eax
mov esi, dword [esp + 0x8c]
je 0x4e52a1
mov dword [esp + 8], edi
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.007c51d0
mov dword [esp + 0xe0], edi
mov dword [esp + 0x8c], esi
mov eax, dword [esp + 0x348]
mov eax, dword [eax]
mov ecx, dword [esp + 0xb4]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*8 + 0x14], esi
jmp 0x4ee17a
mov byte [esp + 0x273], 0x22
mov byte [esp + 0x1e7], 0x3e
mov eax, dword [esp + 0x480]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x484]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x2f0]
mov eax, dword [eax]
mov dword [esp + 0x12c], eax
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x18]
mov ecx, dword [esp + 0x348]
mov ecx, dword [ecx]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esp + 0xc0], eax
mov dword [esp + 0x21c], 0x70000003
test eax, eax
je 0x4ef19d
mov esi, dword [esp + 0x348]
mov edi, dword [esp + 0xc0]
mov dword [esi], edi
mov edx, dword [esp + 0x2f0]
mov eax, dword [edx]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add ecx, eax
mov dword [edx], ecx
mov eax, dword [esp + 0x12c]
lea eax, [eax*8]
lea eax, [eax + eax*2]
mov dword [edi + eax], 0x21
mov ecx, dword [esi]
mov dword [ecx + eax + 4], 0xfffffff8
mov ecx, dword [esi]
mov byte [ecx + eax + 8], 0xff
mov ecx, dword [esi]
mov dword [ecx + eax + 0xc], 0
mov ecx, dword [esi]
mov edx, dword [esp + 0x134]
mov dword [ecx + eax + 0x10], edx
mov ecx, dword [esi]
mov dword [ecx + eax + 0x14], 0
mov dword [esp], edx
call fcn.00492770
mov edx, eax
test edx, edx
mov dword [esp + 0x21c], 0x70000003
je 0x4e53fc
mov eax, edx
and eax, 1
inc eax
xor eax, edx
je 0x4e5408
mov ecx, dword [esp + 0x134]
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
sete al
movzx eax, al
cmp ecx, eax
jne 0x4e5414
mov dword [esp + 0x1ac], edx
jmp 0x4e54c3
mov dword [esp + 0x1ac], edx
jmp 0x4ef19d
mov dword [esp + 0x1ac], edx
jmp 0x4ef19d
mov al, 0x31
movzx eax, al
cmp eax, 0x74
jne 0x4e5485
mov ebx, dword [esp + 0x3b8]
mov eax, dword [esp + 0x348]
mov eax, dword [eax]
mov ecx, dword [esp + 0x12c]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x1ac]
mov dword [eax + ecx*8 + 0x14], edx
mov eax, 0x19
mov dword [esp + 0x21c], 0
mov ecx, dword [esp + 0x3f0]
mov esi, dword [esp + 0x400]
mov dword [esp + 0x3b8], ebx
mov edi, dword [esp + 0x40c]
mov ebx, dword [esp + 0x3bc]
jmp 0x4ea92d
mov byte [esp + 0x1e7], 0x64
mov eax, dword [esp + 0x484]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x484], 0
mov edx, dword [esp + 0x21c]
test edx, edx
je 0x4e556a
mov eax, 7
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x390], edx
jne 0x4eab9d
mov eax, dword [esp + 0x3a0]
mov eax, dword [eax]
lea ecx, [esp + 0x48c]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x490]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0059a8d0
test eax, eax
je 0x4e5622
mov edx, 4
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x4e5622
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
cmp edx, 4
jne 0x4ead88
mov ecx, edx
and ecx, 1
xor ecx, edx
not ecx
test ecx, ecx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
jne 0x4f0933
jmp 0x4ead88
mov dword [esp + 0x390], eax
mov dword [esp + 0x408], 0xb
mov byte [esp + 0x2b6], 1
mov byte [esp + 0xeb], 0x3b
mov ecx, dword [esp + 0x3a8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00412c70
mov eax, dword [esp + 0x48c]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x38c], 0
cmp dword [eax + 4], 0
mov dword [esp + 0x380], 0
mov esi, dword [esp + 0x3c0]
mov edi, dword [esp + 0x378]
mov edx, dword [esp + 0x3e4]
mov ebx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3e8]
je 0x4e7b2d
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3e0], ebx
mov dword [esp + 0x3e4], edx
mov dword [esp + 0x378], edi
mov ecx, dword [esp + 0x408]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp ecx, eax
jne 0x4e56fe
mov dword [esp + 0x3c0], esi
jmp 0x4e54c3
movzx ecx, byte [esp + 0xeb]
cmp ecx, 0x12
je 0x4e58a3
mov eax, 3
cmp ecx, 0x3b
jne 0x4e5a0f
mov dword [esp + 0x3c0], esi
mov byte [esp + 0xeb], 0x5e
mov byte [esp + 0x2d2], 0x67
mov byte [esp + 0x10b], 0x31
mov byte [esp + 0x283], 0x3c
mov byte [esp + 0x143], 0x61
mov byte [esp + 0x2c7], 0x6d
mov byte [esp + 0x1c7], 0x1d
mov byte [esp + 0x16b], 0x52
mov byte [esp + 0x307], 0x4f
mov byte [esp + 0xdb], 0x14
mov byte [esp + 0x1a3], 0x60
mov byte [esp + 0x207], 0xb
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov byte [esp + 0x223], 0x3e
mov byte [esp + 0x1c4], 0x13
mov eax, 7
lea ecx, [esp + 0x41c]
mov dword [esp + 0x150], ecx
mov edx, dword [esp + 0x3a8]
lea ecx, [edx + 0xe8]
mov dword [esp + 0xfc], ecx
lea ecx, [edx + 0xa8]
mov dword [esp + 0x224], ecx
lea ecx, [edx + 0xa4]
mov dword [esp + 0x238], ecx
lea ecx, [esp + 0x418]
mov dword [esp + 0x1a4], ecx
lea ecx, [edx + 0xb0]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x388], 0
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x398], ecx
xor ebx, ebx
mov dword [esp + 0x3a4], 0
xor edi, edi
mov dword [esp + 0x384], 0
mov byte [esp + 0x19b], 0x6e
mov byte [esp + 0x6f], 2
mov byte [esp + 0x2d5], 0x27
mov byte [esp + 0x19a], 0x2d
mov byte [esp + 0x263], 0x33
mov byte [esp + 0x1cf], 0x58
mov byte [esp + 0x2d7], 0x43
mov byte [esp + 0x2b7], 0x6b
mov byte [esp + 0x2ef], 0x2b
mov byte [esp + 0xbb], 0x27
mov byte [esp + 0x116], 2
mov byte [esp + 0x2bf], 0xd
mov cl, 0xd
mov dword [esp + 0x1c8], ecx
mov esi, dword [esp + 0x370]
jmp 0x4f0a3e
mov dword [esp + 0x3c0], esi
mov byte [esp + 0xeb], 0x12
mov byte [esp + 0x2d2], 0x67
mov byte [esp + 0x10b], 0x31
mov byte [esp + 0x283], 0x3c
mov byte [esp + 0x143], 0x61
mov byte [esp + 0x2c7], 0x6d
mov byte [esp + 0x1c7], 0x1d
mov byte [esp + 0x16b], 0x52
mov byte [esp + 0x307], 0x4f
mov byte [esp + 0xdb], 0x14
mov byte [esp + 0x1a3], 0x60
mov byte [esp + 0x207], 0xb
mov byte [esp + 0x223], 0x3e
mov byte [esp + 0x1c4], 0x13
lea eax, [esp + 0x41c]
mov dword [esp + 0x150], eax
mov ecx, dword [esp + 0x3a8]
lea eax, [ecx + 0xe8]
mov dword [esp + 0xfc], eax
lea eax, [ecx + 0xa8]
mov dword [esp + 0x224], eax
lea eax, [ecx + 0xa4]
mov dword [esp + 0x238], eax
lea eax, [esp + 0x418]
mov dword [esp + 0x1a4], eax
lea eax, [ecx + 0xb0]
mov dword [esp + 0xbc], eax
mov dword [esp + 0x388], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x398], eax
xor ebx, ebx
mov dword [esp + 0x3a4], 0
xor edi, edi
mov dword [esp + 0x384], 0
mov byte [esp + 0x19b], 0x6e
mov byte [esp + 0x6f], 2
mov byte [esp + 0x2d5], 0x27
mov byte [esp + 0x19a], 0x2d
mov byte [esp + 0x263], 0x33
mov byte [esp + 0x1cf], 0x58
mov byte [esp + 0x2d7], 0x43
mov byte [esp + 0x2b7], 0x6b
mov byte [esp + 0x2ef], 0x2b
mov byte [esp + 0xbb], 0x27
mov byte [esp + 0x116], 2
mov byte [esp + 0x2bf], 0xd
mov al, 0xd
mov dword [esp + 0x1c8], eax
jmp 0x4e7f00
mov dword [esp + 0x3c0], esi
mov edi, dword [esp + 0x40c]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x39c]
jmp 0x4ebaa6
mov eax, 0x14
mov byte [esp + 0x2b7], 0x6b
imul ecx, dword [esp + 0x3c0], 0x1c
mov edx, dword [esp + 0x36c]
mov edx, dword [edx + ecx + 0x14]
cmp edx, 4
je 0x4e5a87
mov dword [esp + 0x3ac], 0x30000003
mov ecx, 0x17
imul edx, edx
and edx, 3
cmp edx, 3
mov edx, dword [esp + 0x3d8]
mov dword [esp + 0x3c4], edx
jne 0x4e63a5
jmp 0x4e5b8a
mov dword [esp + 0x3ac], 0x30000003
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3c4], ecx
jmp 0x4e5b8a
mov eax, 0xd
mov byte [esp + 0x2d7], 0x43
mov ecx, dword [esp + 0x2f4]
mov edx, dword [ecx]
cmp edx, 3
je 0x4e5ace
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
jne 0x4e5b59
mov dword [esp + 0x1f4], edx
mov edi, dword [esp + 0x40c]
mov edx, dword [esp + 0x3f0]
mov ebx, dword [esp + 0x400]
mov esi, dword [esp + 0x330]
mov ecx, dword [esp + 0x298]
cmp eax, 0xd
jne 0x4e5b1e
mov dword [esp + 0x298], ecx
mov dword [esp + 0x40c], edi
mov dword [esp + 0x3f0], edx
mov dword [esp + 0x400], ebx
jmp 0x4f00df
mov dword [esp + 0x408], edi
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x330], esi
mov byte [esp + 0x1b3], 0x65
mov eax, dword [esp + 0x34c]
mov eax, dword [eax]
mov dword [ecx], eax
mov dword [esp + 0x298], ecx
jmp 0x4eada3
mov dword [esp + 0x1f4], edx
mov ecx, 8
mov esi, dword [esp + 0x2dc]
cmp esi, 0x3e
jne 0x4ec1b4
mov eax, 9
mov edx, esi
or edx, 2
xor esi, 2
add esi, edx
je 0x4ec1b4
cmp eax, 9
je 0x4e5b9d
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x4f0044
movzx ecx, byte [esp + 0x263]
cmp ecx, 0x33
mov edx, dword [esp + 0x3c0]
je 0x4e5bf9
mov eax, 5
mov dword [esp + 0x408], 0x12
cmp ecx, 0x71
mov esi, dword [esp + 0x3e4]
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x374], ecx
mov ecx, dword [esp + 0x3dc]
mov edi, dword [esp + 0x3e8]
mov ebx, dword [esp + 0x3b8]
je 0x4eb739
jmp 0x4eaeba
mov byte [esp + 0x263], 0x33
imul eax, edx, 0x1c
mov dword [esp + 0x3ac], 0x30000003
mov ecx, dword [esp + 0x36c]
cmp dword [ecx + eax + 0x14], 8
mov ebx, dword [esp + 0x3b8]
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3c4], eax
je 0x4e5cc8
jmp 0x4e8212
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x4eaeca
mov byte [esp + 0x263], 7
imul eax, edx, 0x1c
mov dword [esp + 0x3c0], edx
mov ecx, dword [esp + 0x36c]
mov ecx, dword [ecx + eax + 0x14]
cmp ecx, 8
mov dword [esp + 0x3ac], 0x30000003
je 0x4e5cc1
mov eax, 0xf
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov dword [esp + 0x3c4], esi
jne 0x4eeaf4
jmp 0x4e5cc8
mov dword [esp + 0x3c4], esi
mov edx, 0x17
imul eax, dword [esp + 0x3c0], 0x1c
mov ecx, dword [esp + 0x36c]
mov eax, dword [ecx + eax + 0x18]
mov ecx, dword [eax]
mov dword [esp + 0x3e0], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3b8], ebx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3e8], eax
cmp edx, 0xc
jne 0x4e5d98
mov eax, 0xd
mov byte [esp + 0x1ff], 0x68
mov ecx, dword [esp + 0x27c]
cmp dword [ecx], 0
mov ebx, dword [esp + 0x3b8]
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x40c], ecx
je 0x4ef387
jmp 0x4ee979
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
jmp 0x4ecb35
mov byte [esp + 0x19a], 0x3b
mov edx, dword [esp + 0x1f4]
mov eax, edx
or eax, 2
mov ecx, edx
xor ecx, 2
add ecx, eax
setne al
movzx ecx, al
mov eax, edx
sub eax, ecx
cmp eax, 1
mov esi, dword [esp + 0x3d4]
ja 0x4ec434
imul eax, eax
and eax, 3
cmp eax, 1
ja 0x4ec434
mov eax, dword [esp + 0x2dc]
cmp eax, 3
je 0x4e5e6a
mov ecx, eax
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, ecx
je 0x4e5e6a
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x26c], eax
jmp 0x4e5f6b
movzx ecx, byte [esp + 0x6f]
cmp ecx, 2
je 0x4e5e90
mov dword [esp + 0x2dc], eax
mov eax, 5
cmp ecx, 0x56
jne 0x4e5f20
mov byte [esp + 0x6f], 0x56
jmp 0x4e5e9c
mov dword [esp + 0x2dc], eax
mov byte [esp + 0x6f], 0x28
mov ecx, dword [esp + 0x3a8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x14], edx
mov esi, dword [esp + 0x3cc]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x3c8]
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], 0x80dc4c
call fcn.0043ab10
mov eax, dword [esp + 0x48c]
mov eax, dword [eax + 8]
mov dword [esp + 0x26c], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, edi
mov dword [esp + 0x3fc], esi
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
jmp 0x4e5f6b
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x404], ecx
mov ebx, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], ecx
mov ecx, dword [esp + 0x36c]
mov dword [esp + 0x26c], ecx
mov esi, dword [esp + 0x330]
jmp 0x4f0303
mov esi, 9
movzx ecx, byte [esp + 0x2d5]
cmp ecx, 0x27
je 0x4e5fbc
mov dword [esp + 0x374], edx
mov esi, dword [esp + 0x3a0]
cmp ecx, 0x2e
je 0x4e60a9
mov eax, 0xe
cmp ecx, 0x59
jne 0x4e619b
mov edx, dword [esp + 0x3c0]
mov edi, dword [esp + 0x3f8]
mov ebx, dword [esp + 0x3fc]
jmp 0x4ebec4
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3c8], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d0], eax
cmp esi, 9
jne 0x4e6089
mov byte [esp + 0x2d5], 0x59
imul eax, dword [esp + 0x3c0], 0x1c
add eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x360]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x320]
mov esi, dword [edx]
mov edx, dword [esp + 0x3a0]
mov edx, dword [edx]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x368]
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0x11
xor ecx, ecx
call fcn.00522bc0
mov dword [esp + 0x3ac], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jmp 0x4f015d
mov esi, 2
mov ecx, 7
movzx eax, byte [esp + 0x2d4]
cmp eax, 0x4a
je 0x4eefd3
jmp 0x4ec871
mov edi, 5
mov byte [esp + 0x2d5], 0x27
imul eax, dword [esp + 0x3c0], 0x1c
add eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x360]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x320]
mov ebx, dword [edx]
mov edx, dword [esi]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x368]
mov dword [esp + 8], eax
mov dword [esp], ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0x11
xor ecx, ecx
call fcn.00522bc0
mov dword [esp + 0x3ac], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov esi, dword [esp + 0x404]
mov dword [esp + 0x3c4], esi
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], eax
mov edx, dword [esp + 0x374]
mov dword [esp + 0x3e0], edx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], ecx
mov dword [esp + 0x3e8], esi
mov dword [esp + 0x3d8], esi
mov dword [esp + 0x3c8], edx
mov dword [esp + 0x3cc], ecx
mov dword [esp + 0x3d0], eax
jne 0x4e82e1
jmp 0x4e7a7d
mov dword [esp + 0x408], 0xf
mov ebx, 0x15
mov byte [esp + 0x2d5], 0x2e
imul eax, dword [esp + 0x3c0], 0x1c
add eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x360]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x320]
mov edi, dword [edx]
mov edx, dword [esi]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x368]
mov dword [esp + 8], eax
mov dword [esp], edi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0x11
xor ecx, ecx
call fcn.00522bc0
mov dword [esp + 0x3ac], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], eax
mov edx, dword [esp + 0x374]
mov dword [esp + 0x3e0], edx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], ecx
mov esi, dword [esp + 0x404]
mov dword [esp + 0x3e8], esi
mov dword [esp + 0x3c4], esi
mov dword [esp + 0x3d8], esi
mov dword [esp + 0x3c8], edx
mov dword [esp + 0x3cc], ecx
mov dword [esp + 0x3d0], eax
jne 0x4e6af0
jmp 0x4e9044
mov edi, 0x10
mov byte [esp + 0xbb], 0xf
mov eax, dword [esp + 0x2dc]
cmp eax, 0x21
jg 0x4e630a
cmp eax, 0x11
je 0x4e63e4
mov dword [esp + 0x3d4], esi
cmp eax, 0x21
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3e8], eax
je 0x4ec64a
jmp 0x4eec6c
mov ecx, 0xc
cmp eax, 0x22
je 0x4e6366
mov dword [esp + 0x3d4], esi
mov ecx, 4
cmp eax, 0x27
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3e8], eax
je 0x4ea208
jmp 0x4eec6c
mov dword [esp + 0x3d4], esi
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3e8], eax
cmp ecx, 0xc
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
jne 0x4e8212
jmp 0x4e6481
mov dword [esp + 0x3d4], esi
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
mov ebx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov dl, byte [esp + 0x1a2]
mov esi, dword [esp + 0x40c]
mov byte [esp + 0x1a2], dl
mov eax, 0x1a
mov ecx, dword [esp + 0x254]
mov edi, dword [ecx]
cmp edi, 3
jb 0x4e646e
mov dword [esp + 0x40c], esi
mov ecx, 0xd
mov edx, edi
or edx, 2
mov esi, edi
mov dword [esp + 0x98], edi
xor esi, 2
add esi, edx
jne 0x4ef50b
jmp 0x4ef904
mov dword [esp + 0x40c], esi
mov dword [esp + 0x98], edi
jmp 0x4ef904
mov edi, 0xe
mov dword [esp + 0x414], 0
mov eax, dword [esp + 0x334]
mov eax, dword [eax]
imul ecx, dword [esp + 0x3c0], 0x1c
mov edx, dword [eax + ecx + 0x14]
mov eax, dword [eax + ecx + 0x18]
lea ecx, [esp + 0x414]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006274b0
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4e6ef3
cmp edi, 5
je 0x4e652a
mov eax, 0x19
mov ecx, dword [esp + 0x2ac]
mov edx, dword [ecx]
cmp edx, 0x21
seta cl
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
mov edi, dword [esp + 0x98]
cmp edi, 2
jne 0x4e666c
mov eax, dword [esp + 0x254]
mov eax, dword [eax]
cmp eax, 6
ja 0x4e682e
mov esi, 8
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jae 0x4e682e
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3c8], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x284], eax
jmp 0x4e693e
mov esi, edx
mov ecx, dword [esp + 0x2ac]
mov edx, dword [ecx]
cmp edx, 0x64
setb cl
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
cmp eax, 7
jne 0x4e68b2
or cl, dl
mov edx, dword [esp + 0x3f8]
mov edi, dword [esp + 0x3fc]
je 0x4e68ff
mov eax, dword [esp + 0x178]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x284], eax
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], ecx
mov edx, esi
mov dword [esp + 0x3e0], edx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], ecx
mov dword [esp + 0x3e8], eax
jmp 0x4e7a7d
cmp esi, 3
mov eax, dword [esp + 0x3e4]
mov ecx, dword [esp + 0x3e0]
mov edx, dword [esp + 0x3dc]
je 0x4e6a1c
imul esi, esi
and esi, 3
cmp esi, 2
je 0x4e6a1c
movzx eax, byte [esp + 0x116]
cmp eax, 0x19
je 0x4e6a2e
mov esi, 0x17
cmp eax, 0x5d
jne 0x4e7243
mov ecx, 0xf
mov eax, 1
mov byte [esp + 0x116], 2
mov esi, dword [esp + 0x148]
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp esi, edx
mov ebx, dword [esp + 0x3f0]
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3f4], edx
mov edi, dword [esp + 0x40c]
mov edx, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], edx
mov edx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], edx
mov edx, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], edx
mov edx, dword [esp + 0x284]
mov dword [esp + 0x3e8], edx
mov esi, dword [esp + 0x330]
jne 0x4ea42f
jmp 0x4f01be
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x3fc], edx
mov edx, ecx
jmp 0x4e6a8b
mov esi, 0xa
mov eax, 5
mov byte [esp + 0x116], 0x19
cmp dword [esp + 0x148], 0
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x3e8], ecx
jne 0x4ef0b9
jmp 0x4e9e1a
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
jmp 0x4e8212
mov eax, dword [esp + 0x408]
cmp eax, 8
jne 0x4ee6d1
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
jb 0x4e6b85
jmp 0x4e8212
mov ecx, dword [esp + 0x3a8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0042d060
mov ecx, dword [esp + 0x130]
mov edx, dword [ecx]
test edx, edx
jne 0x4e6bca
mov eax, edx
and eax, 1
xor eax, edx
not eax
test eax, eax
je 0x4e6bca
mov esi, dword [esp + 0x344]
mov dword [esp + 0x100], ecx
jmp 0x4e6ecf
mov esi, edx
lea eax, [ecx + 4]
mov dword [esp + 0x11c], eax
xor ebx, ebx
mov dword [esp + 0x100], ecx
jmp 0x4f0fee
mov eax, 7
mov byte [esp + 0x223], 0x3e
mov ecx, dword [esp + 0x11c]
mov ecx, dword [ecx]
mov dword [esp + 0x300], ecx
mov edx, ebx
shl edx, 6
add edx, ecx
jne 0x4e6c48
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x3d4], esi
mov esi, 3
mov byte [esp + 0x1a3], 5
call fcn.0042b980
mov dword [esp + 0x1d4], eax
mov edx, dword [esp + 0x370]
mov dword [eax + 0x34], edx
mov ecx, dword [esp + 0x3a8]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
mov ecx, dword [esp + 0x3a0]
mov ecx, dword [ecx]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 0
mov ecx, dword [esp + 0x1d0]
movsd xmm0, qword [ecx]
movsd qword [eax + 0x10], xmm0
mov edi, edx
shl edi, 6
mov ebx, dword [esp + 0x300]
movsd xmm0, qword [ebx + edi + 8]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [ebx + edi + 0x10]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [ebx + edi + 0x18]
movsd qword [eax + 0x28], xmm0
mov ecx, dword [esp + 0x200]
mov edx, dword [ecx]
mov ecx, eax
add ecx, 0x38
mov dword [esp + 8], edx
mov dword [esp], ecx
mov dword [esp + 4], pe_nt_image_headers32
call fcn.004959f0
lea eax, [ebx + edi + 0x28]
mov dword [esp + 0xf4], eax
mov ecx, dword [ebx + edi + 0x28]
test ecx, ecx
jne 0x4e6d65
mov eax, ecx
not eax
and eax, 1
add eax, ecx
mov dword [esp + 0xf0], ecx
mov edi, dword [esp + 0x408]
jne 0x4e6e0f
jmp 0x4eb336
mov dword [esp + 0xf0], ecx
mov edi, dword [esp + 0x408]
jmp 0x4eb336
mov dword [esp + 0x408], edi
mov edi, dword [esp + 0x370]
mov eax, edi
shl eax, 6
mov ecx, dword [esp + 0x300]
mov eax, dword [ecx + eax + 0x2c]
mov esi, dword [esp + 0x1d4]
mov dword [esi + 0x1c8], eax
mov dword [esp], esi
call fcn.00412100
mov dword [esp], esi
call fcn.0042b9c0
mov eax, dword [esp + 0x100]
mov eax, dword [eax]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f4], edi
jmp 0x4f0eed
mov ebx, dword [esp + 0x3f4]
lea edx, [ebx + 1]
mov esi, dword [esp + 0x3ec]
cmp edx, esi
jae 0x4e6eb2
mov byte [esp + 0x307], 7
mov ecx, 0xf
mov eax, edx
mov dword [esp + 0x400], edx
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x370], ebx
mov edx, ebx
mov dword [esp + 0x3f0], esi
jb 0x4ed71c
jmp 0x4e6ecf
mov dword [esp + 0x400], edx
mov byte [esp + 0x307], 7
mov dword [esp + 0x370], ebx
mov dword [esp + 0x3f0], esi
mov eax, dword [esp + 0x414]
mov dword [esp], eax
call fcn.006275f0
mov dword [esp + 0x344], esi
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
mov ecx, dword [esp + 0x3c8]
mov esi, ecx
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov edx, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], edx
mov dword [esp + 0x3e4], edx
mov edx, esi
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov dword [esp + 0x3e8], eax
mov eax, 2
cmp eax, 2
je 0x4e7a7d
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3c8], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d0], eax
jne 0x4f06a4
mov eax, 0x1d
mov dword [esp + 0x410], 0
mov ecx, dword [esp + 0x254]
mov esi, dword [ecx]
cmp esi, 2
jb 0x4e6fec
mov ecx, esi
imul ecx, ecx
and ecx, 3
cmp ecx, 2
je 0x4e6fec
mov ecx, 0x13
movzx edx, byte [esp + 0x16b]
cmp edx, 0x59
je 0x4e6ff5
mov eax, 8
mov ecx, 0xa
cmp edx, 0x5f
je 0x4ea063
jmp 0x4ef1c3
mov dword [esp + 0x214], esi
jmp 0x4e7001
mov dword [esp + 0x214], esi
jmp 0x4eb27d
cmp eax, 0xf
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
jne 0x4e7072
jmp 0x4ef994
mov edi, 0xa
mov byte [esp + 0x16b], 0x59
mov eax, dword [esp + 0x2ac]
mov ecx, dword [eax]
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
sete dl
mov eax, dword [esp + 0x214]
cmp eax, 2
jne 0x4e705a
mov esi, eax
and esi, 1
xor esi, eax
not esi
test esi, esi
je 0x4e705a
movzx edx, dl
cmp ecx, edx
je 0x4e7072
cmp edi, 0xa
je 0x4e74ef
xor eax, eax
test al, al
je 0x4e4be6
jmp 0x4e74ef
mov eax, dword [esp + 0x334]
mov eax, dword [eax]
imul ecx, dword [esp + 0x3c0], 0x1c
mov esi, dword [eax + ecx + 0x18]
mov dword [esp + 4], 0x40
mov dword [esp], 1
call fcn.00493840
mov ecx, eax
test ecx, ecx
je 0x4e70d3
mov al, byte [esp + 0x1c7]
movzx eax, al
cmp eax, 0x12
je 0x4e72c1
cmp eax, 0x14
je 0x4e740b
cmp eax, 0x1b
jne 0x4e7415
mov byte [esp + 0x1c7], 0x12
jmp 0x4e741d
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], esi
mov esi, 0x12
mov dword [esp + 0x2cc], 0x70000003
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x2f8], eax
cmp esi, 0xc
je 0x4e715c
xor eax, eax
test al, al
jne 0x4e715c
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x3c4], eax
jmp 0x4e8212
mov esi, 0x10
mov ebx, dword [esp + 0x3a8]
mov dword [esp + 4], ebx
mov edi, dword [esp + 0xec]
mov dword [esp], edi
mov dword [esp + 8], 8
call fcn.007c51d0
mov eax, dword [esp + 0x348]
mov eax, dword [eax]
mov ecx, dword [esp + 0x210]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*8 + 0x14], edi
lea eax, [ebx + 0x1a0]
mov dword [esp + 0x360], eax
mov eax, dword [ebx + 0x1a0]
lea ecx, [ebx + 0x9c]
mov dword [esp + 0x320], ecx
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0x9c]
lea edi, [ebx + 8]
mov dword [esp + 0x3a0], edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
lea eax, [esp + 0x490]
mov dword [esp], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 3
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
call fcn.00508b80
mov dword [esp + 0x390], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4f0933
cmp esi, 0x10
je 0x4e49a4
mov eax, esi
and eax, 1
inc eax
xor eax, esi
je 0x4e49a4
mov eax, 5
mov byte [esp + 0x116], 0x5d
mov edx, dword [esp + 0x148]
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
sete cl
movzx ecx, cl
cmp edx, ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x3e8], ecx
jne 0x4f0e89
jmp 0x4f0528
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], esi
mov dword [esp + 0x2cc], 0x70000003
mov eax, 0xd
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x2f8], ecx
cmp eax, 0xd
jne 0x4e74a8
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x4e74a8
mov ecx, dword [esp + 0x158]
movsd xmm0, qword [ecx]
mov edx, dword [esp + 0x154]
movsd qword [edx], xmm0
movsd xmm0, qword [ecx + 8]
movsd qword [edx + 8], xmm0
movsd xmm0, qword [ecx + 0x10]
movsd qword [edx + 0x10], xmm0
movsd xmm0, qword [ecx + 0x18]
movsd qword [edx + 0x18], xmm0
mov eax, dword [ecx + 0x20]
mov dword [edx + 0x20], eax
mov eax, dword [ecx + 0x24]
mov dword [edx + 0x24], eax
mov eax, dword [ecx + 0x28]
mov dword [edx + 0x28], eax
mov eax, dword [ecx + 0x2c]
mov dword [edx + 0x2c], eax
mov dword [edx + 0x30], 0
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x34], eax
mov eax, dword [ecx + 0x34]
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov ecx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
mov byte [esp + 0x1c7], 0x1d
mov esi, 0x11
mov dword [esp + 0x2a8], edx
mov dword [esp + 0x2a4], edx
jmp 0x4ecd90
mov byte [esp + 0x1c7], 0x14
jmp 0x4e741d
mov byte [esp + 0x1c7], 0x1b
movsd xmm0, qword [esi]
movsd qword [ecx], xmm0
movsd xmm0, qword [esi + 8]
movsd qword [ecx + 8], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esi + 0x18]
movsd qword [ecx + 0x18], xmm0
mov eax, dword [esi + 0x20]
mov dword [ecx + 0x20], eax
mov eax, dword [esi + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x28], eax
mov eax, dword [esi + 0x2c]
mov dword [ecx + 0x2c], eax
mov dword [ecx + 0x30], 0
mov eax, dword [esi + 0x30]
mov dword [ecx + 0x34], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x158], esi
mov dword [ecx + 0x38], eax
mov dword [esp + 0x2cc], 0x70000003
mov dword [esp + 0x2a8], ecx
mov dword [esp + 0x2a4], ecx
mov dword [esp + 0x154], ecx
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x2f8], eax
jmp 0x4e7562
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
jmp 0x4ee735
mov dword [esp + 0x214], esi
mov eax, dword [esp + 0x2ac]
mov eax, dword [eax]
test eax, eax
je 0x4e7072
mov esi, 0xf
mov eax, dword [esp + 0x334]
mov eax, dword [eax]
imul ecx, dword [esp + 0x3c0], 0x1c
mov edx, dword [eax + ecx + 0x14]
mov eax, dword [eax + ecx + 0x18]
lea ecx, [esp + 0x410]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00627650
mov dword [esp + 0x2cc], eax
test eax, eax
mov ecx, dword [esp + 0x3d8]
je 0x4e7542
mov esi, 5
mov al, byte [esp + 0x2c7]
movzx eax, al
cmp eax, 0x14
je 0x4ef230
cmp eax, 0x29
jne 0x4e75c2
mov ecx, dword [esp + 0x2a8]
lea eax, [ecx + 0x34]
mov dword [esp + 0x2fc], eax
cmp dword [ecx + 0x34], 0
je 0x4e7615
mov byte [esp + 0x2c7], 0x14
xor eax, eax
test al, al
mov dword [esp + 0x22c], ecx
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0x30c], eax
je 0x4e7659
jmp 0x4e78d4
mov esi, 0x19
mov edx, dword [esp + 0x2a8]
lea eax, [edx + 0x34]
mov dword [esp + 0x2fc], eax
mov ecx, dword [edx + 0x34]
test ecx, ecx
jne 0x4e7637
mov byte [esp + 0x2c7], 0x6d
mov eax, 0xd
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x22c], edx
mov ecx, dword [esp + 0x2a4]
mov dword [esp + 0x30c], ecx
jb 0x4f1020
jmp 0x4e8c9a
mov byte [esp + 0x2c7], 0x14
mov dword [esp + 0x22c], ecx
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0x30c], eax
jmp 0x4e78d4
mov byte [esp + 0x2c7], 0x6d
mov dword [esp + 0x22c], edx
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0x30c], eax
jmp 0x4e8c9a
mov eax, dword [esp + 0x22c]
lea eax, [eax + 0x38]
mov dword [esp + 0x208], eax
mov dword [esp + 0x354], 0
mov esi, 0xf
movzx eax, byte [esp + 0x2bf]
cmp eax, 0x4b
jne 0x4e769a
cmp dword [ebx + 0x1c], 0
je 0x4e779c
xor eax, eax
test al, al
mov edx, dword [esp + 0x3e0]
jne 0x4e778c
mov eax, 8
movzx ecx, byte [esp + 0x143]
cmp ecx, 0x60
jne 0x4e77ba
mov byte [esp + 0x143], 0x60
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 0x39
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
mov esi, edx
xor edx, edx
call fcn.00509b10
mov edx, esi
mov dword [esp + 0x314], edi
mov al, byte [esp + 0x283]
jmp 0x4e77b1
mov dword [esp + 0x314], edi
mov al, byte [esp + 0x283]
mov edx, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3e8]
jmp 0x4e77fe
mov dword [esp + 0x32c], ebx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x404], ecx
mov dword [esp + 0x314], edi
mov dword [esp + 0x354], edi
jmp 0x4e8abf
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0x3e0], edx
movzx eax, al
cmp eax, 0x3c
jne 0x4e7826
mov byte [esp + 0x283], 0x3c
mov dword [esp], ebx
call fcn.004234b0
jmp 0x4e7881
mov esi, 1
mov byte [esp + 0x283], 0x14
mov dword [esp], ebx
call fcn.004234b0
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
je 0x4e7881
mov dword [esp + 0x32c], ebx
mov dword [esp + 0x354], edi
mov eax, 0x11
mov byte [esp + 0x142], 0x1d
mov ecx, dword [esp + 0x278]
mov dword [ecx], 0
mov ecx, 1
jmp 0x4e9c07
mov eax, 3
mov ecx, dword [esp + 0x314]
sub eax, ecx
xor eax, ecx
setne al
movzx edx, al
add edx, ecx
mov eax, dword [esp + 0x2fc]
cmp edx, dword [eax]
jae 0x4e78c6
mov dword [esp + 0x32c], ebx
mov eax, edx
or eax, 2
mov ecx, edx
mov dword [esp + 0x354], edx
xor ecx, 2
add ecx, eax
jne 0x4e7675
jmp 0x4e78d4
mov dword [esp + 0x32c], ebx
mov dword [esp + 0x354], edx
cmp dword [esp + 0x30c], 0
je 0x4f088f
mov eax, 0xf
xor ecx, ecx
test cl, cl
jne 0x4f088f
cmp eax, 0xf
je 0x4e7905
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x4ef6af
mov esi, 0x14
mov eax, 8
movzx ecx, byte [esp + 0x10b]
cmp ecx, 0x31
jne 0x4f0852
cmp eax, 7
jne 0x4e7966
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x4e7966
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
jmp 0x4e67bc
mov esi, 9
mov byte [esp + 0x10b], 0x10
mov eax, dword [esp + 0x30c]
mov dword [esp], eax
call fcn.004936c0
jmp 0x4ebe63
mov dword [esp + 0x40c], esi
mov dword [esp + 0x318], edi
mov esi, 3
mov byte [esp + 0x2d2], 0x67
mov edx, dword [esp + 0x410]
test edx, edx
jne 0x4e79c5
mov byte [esp + 0x2d2], 4
mov eax, dword [esp + 0x410]
mov dword [esp + 0x258], eax
test eax, eax
mov eax, dword [esp + 0x394]
je 0x4e7a13
mov eax, dword [esp + 0x258]
mov dword [esp], eax
call fcn.00627720
mov dword [esp + 0x410], 0
mov eax, dword [esp + 0x394]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3c8]
mov ebx, eax
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], ecx
mov dword [esp + 0x3e4], ecx
mov ecx, eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov edx, eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov dword [esp + 0x3e8], eax
mov esi, 0xb
mov dword [esp + 0x3dc], edx
mov dword [esp + 0x3e0], ecx
cmp esi, 0xb
mov edx, ebx
jne 0x4e5f6b
mov dword [esp + 0x408], 0xb
mov esi, dword [esp + 0x3c0]
mov ecx, esi
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov edi, esi
adc edi, 0
mov eax, dword [esp + 0x48c]
mov dword [esp + 0x398], eax
cmp edi, dword [eax + 4]
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3c8], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d0], eax
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x388], ecx
mov ebx, dword [esp + 0x3e0]
mov dword [esp + 0x3b0], ebx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3a4], eax
mov edx, dword [esp + 0x3e4]
mov dword [esp + 0x384], edx
mov dword [esp + 0x38c], ecx
mov dword [esp + 0x380], edx
jb 0x4e7eb1
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3e0], ebx
mov dword [esp + 0x3e4], edx
mov dword [esp + 0x378], edi
mov edi, 5
mov al, byte [esp + 0x2b6]
movzx eax, al
cmp eax, 3
jne 0x4e7b70
mov dword [esp + 0x3c0], esi
jmp 0x4e64d7
mov dword [esp + 0x3c0], esi
mov byte [esp + 0x2b6], 1
mov ecx, dword [esp + 0x3a8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00412cb0
mov eax, dword [esp + 0x3a0]
mov eax, dword [eax]
lea ecx, [esp + 0x440]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x440], eax
mov eax, dword [esp + 0x360]
mov eax, dword [eax]
lea ecx, [esp + 0x444]
mov dword [esp + 0x184], ecx
mov dword [esp + 0x444], eax
lea eax, [esp + 0x448]
mov dword [esp + 0x180], eax
mov dword [esp + 0x448], 0xfffffffe
lea ecx, [esp + 0x438]
mov dword [esp + 0x20c], ecx
lea eax, [esp + 0x480]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x450]
mov dword [esp + 0xc], eax
mov dword [esp], ecx
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 0
call fcn.005938f0
mov dword [esp + 0x3ac], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x37c], eax
mov dword [esp + 0x3c4], eax
jne 0x4e8212
cmp dword [esp + 0x450], 0x636f6964
jne 0x4e7e0a
mov edi, 0x13
mov esi, 3
mov byte [esp + 0x16a], 0x6d
lea eax, [esp + 0x464]
mov ecx, dword [esp + 0x3a8]
lea ecx, [ecx + 0x1b0]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 8
call fcn.007c51d0
mov eax, dword [esp + 0x380]
test eax, eax
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x37c], eax
jne 0x4e693e
cmp edi, 0xe
mov ecx, dword [esp + 0x3e0]
mov edx, dword [esp + 0x3dc]
je 0x4e9bef
xor eax, eax
test al, al
jne 0x4e9bef
mov esi, 0xc
movzx eax, byte [esp + 0x16a]
cmp eax, 0x73
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x3fc], edx
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
je 0x4e7dec
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
je 0x4f0933
mov esi, 0x14
mov byte [esp + 0x16a], 0x73
mov byte [esp + 0x18e], 0x1c
mov byte [esp + 0x24f], 0x74
mov ecx, dword [esp + 0x3a8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004124f0
mov eax, dword [esp + 0x320]
cmp dword [eax], 0
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov ecx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
je 0x4e8e0d
mov edi, ecx
cmp esi, 0xc
je 0x4e7e60
imul esi, esi
and esi, 3
cmp esi, 3
je 0x4e7e60
mov esi, dword [esp + 0x20c]
jmp 0x4e7f2e
mov dword [esp + 0x3ac], 0x7000002f
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x37c], eax
mov dword [esp + 0x3c4], eax
jmp 0x4e8212
mov esi, 7
mov ebx, 1
mov byte [esp + 0x16a], 0x6d
mov byte [esp + 0x18e], 0x1c
mov byte [esp + 0x24f], 0x74
mov ecx, dword [esp + 0x3a8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004124f0
mov eax, dword [esp + 0x320]
cmp dword [eax], 0
mov edx, edi
jne 0x4ee77b
jmp 0x4e8dc4
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3e0], ebx
mov dword [esp + 0x3e4], edx
mov dword [esp + 0x378], edi
mov dword [esp + 0x3c0], esi
mov eax, dword [esp + 0x408]
cmp eax, 8
je 0x4e7f0c
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4e7f0c
mov edi, dword [esp + 0x378]
mov ebx, dword [esp + 0x3b0]
mov esi, dword [esp + 0x40c]
jmp 0x4efc12
mov eax, 0xe
mov byte [esp + 0xcf], 0x10
mov ecx, dword [esp + 0x34c]
cmp dword [ecx], 0
jne 0x4ea2be
jmp 0x4f0034
mov eax, dword [esp + 0x3a0]
mov eax, dword [eax]
mov ecx, dword [esp + 0x188]
mov dword [ecx], eax
mov eax, dword [esp + 0x360]
mov eax, dword [eax]
mov ecx, dword [esp + 0x184]
mov dword [ecx], eax
mov eax, dword [esp + 0x180]
mov dword [eax], 0xffffffce
lea eax, [esp + 0x474]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.005953b0
mov dword [esp + 0x364], eax
test eax, eax
jne 0x4e7fe2
mov byte [esp + 0x2e3], 8
mov eax, dword [esp + 0x368]
mov ecx, dword [eax]
test ecx, ecx
jne 0x4e8053
mov esi, 0x15
mov eax, ecx
and eax, 1
xor eax, ecx
mov dword [esp + 0x1dc], ecx
not eax
test eax, eax
jne 0x4eea69
jmp 0x4e8063
mov dword [esp + 0x1dc], ecx
mov edx, dword [esp + 0x1dc]
jmp 0x4e8070
mov edx, dword [esp + 0x1dc]
nop word [eax + eax]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x3b8], eax
mov ecx, dword [eax]
cmp ecx, 0xffffffce
jne 0x4e8091
mov eax, 2
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jb 0x4e80b8
mov edx, dword [edx + 4]
test edx, edx
je 0x4e80a5
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x4e8070
mov dword [esp + 0x1dc], edx
mov ebx, dword [esp + 0x338]
jmp 0x4e818a
mov dword [esp + 0x1dc], edx
mov ebx, dword [esp + 0x3b8]
cmp eax, 2
jne 0x4e9ff2
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x4e9ff2
mov byte [esp + 0xaf], 0x75
test ebx, ebx
je 0x4e810d
mov eax, 0xa
mov ecx, ebx
and ecx, 1
inc ecx
xor ecx, ebx
mov dword [esp + 0x3b8], ebx
mov dword [esp + 0x338], ebx
jne 0x4edb03
mov dword [esp + 0x3b8], ebx
jmp 0x4e818a
mov byte [esp + 0x13a], 0x51
mov eax, dword [esp + 0x480]
mov esi, dword [esp + 0x338]
mov ecx, dword [esi + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.007c51d0
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov dword [esp + 0x3b8], ebx
mov dword [esp + 0xd0], esi
jmp 0x4e8cd4
mov eax, dword [esp + 0x3a8]
mov dword [eax + 0x1c0], 1
mov dword [esp + 0x364], 0
mov dword [esp + 0x338], ebx
mov ecx, dword [esp + 0x3a8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00412560
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
mov ecx, dword [esp + 0x3c4]
test ecx, ecx
jne 0x4e82c2
mov esi, 7
mov eax, 3
sub eax, ecx
xor eax, ecx
je 0x4e82c2
mov eax, dword [esp + 0x3ac]
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], ecx
mov dword [esp + 0x3e0], edx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0x390], eax
cmp esi, 7
jne 0x4ecb35
imul esi, esi
and esi, 3
cmp esi, 2
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
jb 0x4f0933
jmp 0x4e7a7d
mov edi, 2
mov dword [esp], ecx
mov esi, edx
call fcn.004936c0
mov edx, esi
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x390], eax
cmp edi, 2
jne 0x4e8212
mov eax, edi
and eax, 1
xor eax, edi
not eax
test eax, eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], eax
mov dword [esp + 0x3e0], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e8], eax
jne 0x4f0933
jmp 0x4e8212
cmp eax, 0xf
jne 0x4e864d
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov dword [esp + 0x3f0], ebx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov dword [esp + 0x40c], edi
mov dword [esp + 0x408], edi
jne 0x4e81ad
jmp 0x4e9452
mov dword [esp + 0x408], edi
mov dword [esp + 0x3f0], ebx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
jmp 0x4e9452
mov byte [esp + 0x22a], 0x39
mov eax, dword [esp + 0x41c]
mov dword [esp + 0x234], eax
test eax, eax
je 0x4e86bb
mov dword [esp + 0x3c0], edx
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x374]
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x3cc], ebx
mov dword [esp + 0x3d0], edi
jmp 0x4e871f
mov eax, 9
mov dword [esp + 0x3ac], 0x70000031
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3d8], ecx
mov ecx, dword [esp + 0x374]
mov dword [esp + 0x3c8], ecx
mov dword [esp + 0x3cc], ebx
mov dword [esp + 0x3d0], edi
mov ecx, dword [esp + 0x37c]
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x324]
mov esi, ecx
mov edi, dword [esp + 0x40c]
mov dword [esp + 0x3b4], edi
jmp 0x4ec236
mov eax, dword [esp + 0x230]
mov esi, dword [eax + 8]
mov ecx, dword [esp + 0x324]
shl ecx, 6
mov eax, dword [esi + ecx + 0x10]
mov dword [esp + 0x3ac], 0x70000031
test eax, eax
jne 0x4e87af
mov edx, eax
or edx, 2
xor eax, 2
add eax, edx
je 0x4e87af
mov eax, dword [esi + ecx + 0x18]
mov dword [esp + 0x104], eax
test eax, eax
je 0x4e87ec
mov al, byte [esp + 0x6e]
movzx eax, al
cmp eax, 0x3f
jne 0x4e882d
mov dword [esp + 0x124], esi
mov esi, 0x1f
mov dword [esp + 0x3ac], 0x70000031
mov ecx, dword [esp + 0x40c]
mov edi, ecx
mov eax, dword [esp + 0x324]
mov dword [esp + 0x3d4], eax
mov dword [esp + 0x3b4], ecx
jmp 0x4ed68f
mov dword [esp + 0x124], esi
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
mov esi, dword [esp + 0x324]
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3b4], eax
mov ecx, dword [esp + 0x274]
mov edx, dword [esp + 0x3c0]
jmp 0x4e88bf
mov dword [esp + 0x3ac], 0x70000031
mov dword [esp + 0x124], esi
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x324]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3b4], eax
jmp 0x4ef6af
mov eax, 5
mov byte [esp + 0x6e], 0x3f
mov ecx, dword [esi + ecx + 0x1c]
mov dword [esp + 0x124], esi
mov dword [esp + 0x3ac], 0x70000031
test ecx, ecx
jne 0x4e8890
mov edx, ecx
or edx, 2
xor ecx, 2
add ecx, edx
mov ecx, dword [esp + 0x37c]
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x324]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3b4], ecx
jne 0x4ef6af
jmp 0x4e98f2
mov ecx, dword [esp + 0x37c]
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x324]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3b4], ecx
jmp 0x4e98f2
mov eax, 6
test cl, cl
je 0x4e892b
movzx eax, cl
cmp eax, 0x10
je 0x4e8965
mov dword [esp + 0x3d4], esi
mov esi, 0xf
cmp eax, 0x73
jne 0x4e89a9
mov esi, 5
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x4e8a4f
mov dword [esp + 0x3c0], edx
mov cl, 0x73
mov dword [esp + 0x274], ecx
mov dword [esp + 0x1b4], eax
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x4ef6af
jmp 0x4ec306
mov dword [esp + 0x3d4], esi
mov dword [esp + 0x3c0], edx
mov dword [esp + 0x274], ecx
cmp eax, 2
jne 0x4e89ed
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x4e89ed
mov edi, dword [esp + 0x40c]
jmp 0x4ed2ee
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x4e8a6b
mov dword [esp + 0x3d4], esi
mov dword [esp + 0x3c0], edx
mov cl, 9
mov dword [esp + 0x274], ecx
mov ecx, eax
mov dword [esp + 0x1b4], ecx
not eax
and eax, 1
add eax, ecx
jne 0x4ef6af
jmp 0x4ec31a
mov dword [esp + 0x3c0], edx
mov dword [esp + 0x274], ecx
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
jmp 0x4e8bf2
mov eax, 0xf
mov dword [esp + 0x274], 0
mov ecx, dword [esp + 0x234]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x1b4], ecx
test ecx, ecx
je 0x4e8a8e
xor ecx, ecx
test cl, cl
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], ecx
mov edx, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x404], ecx
je 0x4ec31a
jmp 0x4e8abf
mov dword [esp + 0x3c0], edx
mov cl, 0x73
mov dword [esp + 0x274], ecx
mov dword [esp + 0x1b4], eax
jmp 0x4ec306
mov dword [esp + 0x3d4], esi
mov dword [esp + 0x3c0], edx
mov cl, 9
mov dword [esp + 0x274], ecx
mov dword [esp + 0x1b4], eax
jmp 0x4ec31a
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], ecx
mov edx, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x404], ecx
cmp eax, 8
je 0x4e8b05
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4e8b05
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], eax
mov dword [esp + 0x3e0], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e8], eax
jmp 0x4ef6af
mov esi, 0xb
mov byte [esp + 0x143], 0x61
mov ebx, dword [esp + 0x32c]
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 0x39
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
mov edi, edx
xor edx, edx
call fcn.00509b10
mov ecx, edi
cmp esi, 0xb
je 0x4e8d2a
xor eax, eax
test al, al
jne 0x4e8d2a
mov dword [esp + 0x32c], ebx
mov esi, 0x13
mov byte [esp + 0xaf], 0x75
mov byte [esp + 0x13a], 0x51
mov eax, dword [esp + 0x338]
mov eax, dword [eax + 8]
mov dword [esp + 0x480], eax
mov dword [esp], eax
mov dword [esp + 4], 1
mov edi, ecx
call fcn.00493840
mov edx, edi
mov dword [esp + 0xdc], eax
mov dword [esp + 0x484], eax
mov dword [esp + 0x3ac], 0x70000003
test eax, eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
je 0x4e8212
cmp esi, 0xf
je 0x4e8d62
xor eax, eax
test al, al
jne 0x4e8d62
mov eax, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3e8], ecx
mov ebx, dword [esp + 0x3b8]
mov dword [esp + 0x3e0], edx
mov dword [esp + 0x3e4], eax
movzx eax, byte [esp + 0x13a]
cmp eax, 0x42
je 0x4e8116
cmp eax, 0x54
jne 0x4e8e92
mov esi, 0xa
mov byte [esp + 0x13a], 0x54
mov eax, dword [esp + 0x480]
mov edi, dword [esp + 0x338]
mov ecx, dword [edi + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.007c51d0
mov dword [esp + 0x3b8], ebx
mov dword [esp + 0xd0], edi
cmp esi, 0xa
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
jne 0x4e7659
movzx eax, byte [esp + 0x18e]
mov edi, edx
cmp eax, 0x1c
jne 0x4e8331
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], eax
mov edx, ecx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], eax
mov ecx, dword [esp + 0x404]
mov al, byte [esp + 0x283]
mov edi, dword [esp + 0x354]
jmp 0x4e77fe
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x10]
test eax, eax
mov edi, dword [esp + 0x3f8]
mov ebx, dword [esp + 0x3fc]
mov cl, 0x10
je 0x4e8eb9
mov dword [esp + 0x274], ecx
mov dword [esp + 0x1b4], eax
mov esi, 3
xor eax, eax
test al, al
mov dword [esp + 0x3e4], edi
mov dword [esp + 0x3e0], edx
mov dword [esp + 0x3dc], ebx
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e8], eax
jne 0x4ef6af
cmp esi, 3
je 0x4e8ee1
mov esi, 2
movzx eax, byte [esp + 0x24f]
cmp eax, 0x15
mov edx, dword [esp + 0x368]
mov ecx, dword [esp + 0x3e8]
je 0x4ec97f
cmp eax, 0x19
jne 0x4e8e63
mov byte [esp + 0x13a], 0x42
jmp 0x4e811e
mov dword [esp + 0x274], ecx
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x3e4], edi
mov dword [esp + 0x3e0], edx
mov dword [esp + 0x3dc], ebx
jmp 0x4e8af2
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov edi, dword [esp + 0x3bc]
jae 0x4eada8
mov eax, 0xa
mov ecx, dword [esp + 0x104]
mov ecx, dword [ecx]
cmp ecx, 5
jne 0x4e8f79
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jb 0x4ef6af
cmp eax, 0xa
je 0x4e908e
imul eax, eax
and eax, 3
cmp eax, 3
mov edx, dword [esp + 0x3c0]
je 0x4e90a8
mov ebx, 9
mov dword [esp + 0x418], 0
mov eax, dword [esp + 0x334]
mov eax, dword [eax]
imul ecx, edx, 0x1c
mov edx, dword [eax + ecx + 0x14]
mov eax, dword [eax + ecx + 0x18]
mov cl, 0x23
mov dword [esp + 0x1c8], ecx
mov byte [esp + 0x313], 0x21
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], 0x2d
call fcn.0064be40
mov dword [esp + 0x290], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
jne 0x4ede87
cmp ebx, 9
je 0x4e90bb
imul ebx, ebx
and ebx, 3
cmp ebx, 3
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3c8], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d0], eax
jne 0x4e7a7d
jmp 0x4ec768
mov ecx, dword [esp + 0x274]
mov edx, dword [esp + 0x3c0]
mov esi, dword [esp + 0x3d4]
jmp 0x4e88bf
mov ecx, dword [esp + 0x274]
mov esi, dword [esp + 0x3d4]
jmp 0x4e88bf
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3c8], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d0], eax
jmp 0x4ec768
mov esi, 0xb
mov eax, dword [esp + 0x3d4]
shl eax, 6
mov edx, dword [esp + 0x124]
mov ecx, dword [edx + eax + 4]
mov eax, dword [edx + eax + 0xc]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp], eax
call fcn.00410fa0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4ef614
movzx eax, byte [esp + 0x5a]
cmp eax, 0x1a
jne 0x4e919a
mov eax, 0x13
mov byte [esp + 0x5a], 0x1a
mov ecx, dword [esp + 0x41c]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x3d4]
mov dword [ecx + edx*4], 0
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x408], ecx
jmp 0x4ed186
mov eax, 0xd
mov byte [esp + 0x5a], 0x34
mov ecx, dword [esp + 0x41c]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x3d4]
mov dword [ecx + edx*4], 0
cmp eax, 0xd
je 0x4ef6af
jmp 0x4eddd1
mov esi, 0x10
mov byte [esp + 0x33f], 0x2b
call fcn.00449410
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x41c]
mov eax, dword [eax + 0x10]
mov ecx, 3
sub ecx, eax
xor edx, edx
xor ecx, eax
mov edi, dword [esp + 0x3d4]
lea ecx, [eax + edi*4]
cmove edx, ecx
test eax, eax
cmovne edx, ecx
mov eax, dword [esp + 0x488]
mov ecx, dword [eax + 8]
mov eax, edi
shl eax, 6
mov eax, dword [ecx + eax + 0x10]
test eax, eax
je 0x4e924a
mov dword [esp + 0x248], eax
mov dword [esp + 0x39c], ecx
mov dword [esp + 0x35c], edx
mov eax, 0xf
xor ecx, ecx
test cl, cl
je 0x4e7001
jmp 0x4ed84c
mov dword [esp + 0x248], eax
mov dword [esp + 0x39c], ecx
mov dword [esp + 0x35c], edx
jmp 0x4ed84c
mov dword [esp + 0x3e8], ecx
mov eax, 0x1d
mov byte [esp + 0x1a2], 0x3a
mov ecx, dword [esi]
mov dword [esp + 0x160], ecx
test ecx, ecx
setne dl
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete dh
cmp dword [esp + 0x35c], 0
je 0x4e92b5
mov dword [esp + 0x248], esi
mov ecx, 0xb
or dl, dh
jne 0x4e976b
jmp 0x4e860f
mov dword [esp + 0x248], esi
jmp 0x4e860f
mov eax, 0xd
mov ecx, dword [edx]
test ecx, ecx
jne 0x4e92e9
mov dword [esp + 0x35c], edx
mov edx, ecx
and edx, 1
xor edx, ecx
not edx
test edx, edx
jne 0x4e9452
jmp 0x4f076a
mov dword [esp + 0x35c], edx
jmp 0x4f076a
mov esi, dword [esp + 0x3d4]
mov eax, esi
shl eax, 6
mov ebx, dword [esp + 0x39c]
mov ecx, dword [ebx + eax + 0x14]
test ecx, ecx
je 0x4e931c
mov dword [esp + 0xd4], ecx
jmp 0x4e93cc
lea edi, [ebx + eax + 0x14]
movzx eax, byte [esp + 0x59]
cmp eax, 0x38
je 0x4e9369
cmp eax, 0x4c
jne 0x4e93aa
mov esi, 8
mov byte [esp + 0x59], 0x38
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [esp + 0xd4], eax
mov dword [edi], eax
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 0x408]
jmp 0x4eba83
mov esi, 0xf
mov byte [esp + 0x59], 0x48
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [esp + 0xd4], eax
mov dword [edi], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x318]
jmp 0x4e9cbb
mov byte [esp + 0x59], 0x4c
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [esp + 0xd4], eax
mov dword [edi], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3d4], esi
mov dword [esp + 0x39c], ebx
mov ecx, dword [esp + 0xd4]
cmp dword [ecx], 0
jne 0x4e9423
mov esi, 0x14
mov eax, dword [esp + 0x35c]
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, 1
mov ebx, dword [esp + 0x3b8]
mov eax, dword [esp + 0x2c0]
jmp 0x4ea0bd
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f4], edx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov edi, dword [esp + 0x3b4]
jmp 0x4eada8
mov eax, 6
mov edx, dword [esp + 0x160]
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
sete cl
movzx ecx, cl
cmp edx, ecx
jne 0x4e94e5
mov edx, dword [esp + 0x408]
mov edi, 0xb
movzx eax, byte [esp + 0x1bc]
cmp eax, 0x1b
jne 0x4e9522
mov dword [esp + 0x40c], edx
cmp edi, 8
mov ecx, dword [esp + 0x3d8]
mov edx, dword [esp + 0x3cc]
mov esi, dword [esp + 0x3c8]
je 0x4e950d
xor eax, eax
test al, al
jne 0x4e950d
mov eax, 8
mov byte [esp + 0x1bc], 0x34
mov ecx, dword [esp + 0x34c]
mov ecx, dword [ecx]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp ecx, edx
je 0x4ef3c7
jmp 0x4e9553
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3f4], ecx
mov edi, dword [esp + 0x3bc]
jmp 0x4e97b1
mov dword [esp + 0x404], ecx
mov dword [esp + 0x3fc], edx
mov edx, esi
jmp 0x4ecb58
mov byte [esp + 0x1bc], 0x1b
mov eax, dword [esp + 0x34c]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x40c], edx
je 0x4e9657
mov edi, 0x15
mov eax, dword [esp + 0x3d4]
shl eax, 6
mov edx, dword [esp + 0x39c]
lea ecx, [edx + eax + 0x14]
mov dword [esp + 0x78], ecx
mov eax, dword [edx + eax + 0x14]
mov dword [esp + 0x16c], eax
test eax, eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov esi, dword [esp + 0x3b0]
mov ebx, dword [esp + 0x3a4]
je 0x4ee48c
mov eax, 0x17
mov ecx, dword [esp + 0x16c]
mov ecx, dword [ecx]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp ecx, edx
jne 0x4e95fe
mov eax, 9
mov esi, dword [esp + 0x3d4]
mov ecx, esi
shl ecx, 6
mov edx, dword [esp + 0x39c]
mov ecx, dword [edx + ecx + 0x14]
mov dword [esp + 0x2e8], ecx
test ecx, ecx
je 0x4e971e
xor ecx, ecx
test cl, cl
mov edi, dword [esp + 0x408]
jne 0x4e972e
mov ecx, 8
movzx edx, byte [esp + 0x1db]
cmp edx, 0x41
je 0x4e9748
mov eax, 5
cmp edx, 0x48
jne 0x4e9823
mov ecx, 3
mov byte [esp + 0x1db], 0x41
mov eax, dword [esp + 0x2e8]
mov eax, dword [eax]
test eax, eax
jne 0x4e9844
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3b4]
mov edx, eax
mov dword [esp + 0x40c], edi
mov edi, edx
mov dword [esp + 0x3bc], eax
jb 0x4eada8
jmp 0x4edd0c
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x40c], ecx
jmp 0x4e9735
mov dword [esp + 0x40c], edi
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x3bc], ecx
jmp 0x4ef74f
mov ebx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x408], edi
cmp ecx, 8
jne 0x4e97e1
mov dword [esp + 0x3ec], ebx
mov eax, 0x11
mov byte [esp + 0x1db], 0x48
mov ecx, dword [esp + 0x2e8]
mov ecx, dword [ecx]
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
sete dl
movzx edx, dl
cmp ecx, edx
mov edi, dword [esp + 0x3b4]
jne 0x4e98ab
cmp eax, 6
je 0x4e9802
xor eax, eax
test al, al
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
je 0x4eada8
jmp 0x4e9657
mov dword [esp + 0x3f0], ebx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov edx, dword [esp + 0x35c]
jmp 0x4e92c1
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
jmp 0x4e9657
mov edx, dword [esp + 0x3f0]
mov ebx, dword [esp + 0x400]
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x3bc], ecx
jmp 0x4eba2b
mov dword [esp + 0x40c], edi
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3bc], eax
jmp 0x4edd0c
mov dword [esp + 0x408], edi
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x3d4], esi
mov byte [esp + 0x1db], 0x68
mov eax, dword [esp + 0x2e8]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov edi, dword [esp + 0x3b4]
je 0x4eada8
mov eax, 9
mov ecx, dword [esp + 0x2e8]
mov dword [ecx], 0
mov dword [esp + 0x3bc], 1
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x40c], ecx
cmp eax, 5
je 0x4e8f17
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov edi, dword [esp + 0x3bc]
jmp 0x4eada8
mov byte [esp + 0x23f], 0x1a
shl ecx, 6
mov ecx, dword [edx + ecx + 0x18]
test ecx, ecx
jne 0x4e995c
mov dword [esp + 0x170], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jb 0x4e9a3a
mov dword [esp + 0x170], ecx
mov ecx, 0xf
mov edx, 0xa
movzx esi, byte [esp + 0x1bf]
cmp esi, 0x3f
mov dword [esp + 0x3b4], eax
je 0x4ed128
cmp edx, 0xa
je 0x4e99df
imul edx, edx
and edx, 3
cmp edx, 2
je 0x4e99df
mov dword [esp + 0x40c], 5
mov byte [esp + 0x1c5], 0x21
mov esi, dword [esp + 0x318]
mov ecx, dword [esi]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
cmp ecx, edx
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x2c8], esi
mov edi, eax
jne 0x4eb085
jmp 0x4ee37c
mov byte [esp + 0x1bf], 0xc
mov ecx, dword [esp + 0x3d4]
shl ecx, 6
mov edx, dword [esp + 0x39c]
mov edx, dword [edx + ecx + 0x1c]
test edx, edx
jne 0x4e9a2a
mov ecx, edx
and ecx, 1
xor ecx, edx
mov dword [esp + 0xf8], edx
not ecx
test ecx, ecx
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3b4], eax
mov edi, eax
jne 0x4eada8
jmp 0x4e9a48
mov dword [esp + 0xf8], edx
mov dword [esp + 0x3bc], eax
jmp 0x4e9a48
mov ecx, 7
mov edx, dword [esp + 0x35c]
test edx, edx
mov ebx, dword [esp + 0x3ec]
mov edi, dword [esp + 0x408]
jne 0x4e9a9f
cmp ecx, 3
je 0x4e98fb
xor eax, eax
test al, al
jne 0x4e98fb
movzx eax, byte [esp + 0xce]
cmp eax, 0x48
jne 0x4e9b5b
mov dl, 0x48
mov ecx, dword [esp + 0x1b8]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ecx, eax
je 0x4e9b7e
mov byte [esp + 0xce], 0x48
mov ebx, dword [esp + 0x3b8]
jmp 0x4ee912
mov edi, 8
mov dl, 0x54
mov ecx, dword [esp + 0x1b8]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp ecx, eax
jne 0x4e9bb4
movzx ecx, byte [esp + 0x5b]
cmp ecx, 3
je 0x4e9bc1
mov eax, 0xb
cmp ecx, 0x7a
jne 0x4e9e13
mov byte [esp + 0xce], dl
mov byte [esp + 0x5b], 3
mov eax, dword [esp + 0x170]
cmp dword [eax], 0
jne 0x4e9e59
jmp 0x4e9bef
mov byte [esp + 0xce], 0x54
jmp 0x4ee21c
mov byte [esp + 0xce], dl
mov byte [esp + 0x5b], 0x7a
mov eax, dword [esp + 0x170]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4e9e59
mov eax, 0xc
mov ecx, dword [esp + 0x34c]
cmp dword [ecx], 0
jne 0x4e9c4f
mov ecx, dword [esp + 0x3bc]
mov edx, dword [esp + 0x400]
mov esi, dword [esp + 0x40c]
mov dword [esp + 0x40c], esi
mov dword [esp + 0x400], edx
cmp eax, 0xc
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f4], edx
mov dword [esp + 0x408], esi
mov edi, ecx
je 0x4e9e6e
jmp 0x4eada8
mov esi, dword [esp + 0x3d4]
mov eax, esi
shl eax, 6
mov ebx, dword [esp + 0x39c]
mov edx, dword [ebx + eax + 0x14]
test edx, edx
je 0x4e9c9c
mov cl, 1
test cl, cl
je 0x4e9c9c
mov dword [esp + 0x318], edx
mov edi, dword [esp + 0x40c]
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
jmp 0x4e9d05
lea edi, [ebx + eax + 0x14]
mov esi, 7
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [edi], eax
cmp esi, 7
mov edx, dword [esp + 0x400]
jne 0x4e9e00
mov dword [esp + 0x318], eax
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
mov edi, dword [esp + 0x40c]
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f4], edx
mov esi, dword [esp + 0x3d4]
je 0x4e93e1
mov edx, 0x10
movzx ecx, byte [esp + 0x1c5]
cmp ecx, 0xc
je 0x4e9d6c
mov eax, 6
cmp ecx, 0x21
je 0x4e9d8d
mov dword [esp + 0x408], edi
mov dword [esp + 0x3d4], esi
mov dword [esp + 0x39c], ebx
cmp ecx, 0x53
jne 0x4e9dca
mov byte [esp + 0x1c5], 0x53
mov edx, dword [esp + 0x318]
mov eax, dword [edx]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x2c8], edx
jmp 0x4e9de3
mov dword [esp + 0x408], edi
mov dword [esp + 0x3d4], esi
mov dword [esp + 0x39c], ebx
mov eax, dword [esp + 0x3b4]
jmp 0x4e9985
mov dword [esp + 0x3d4], esi
mov dword [esp + 0x39c], ebx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x400], ecx
mov dword [esp + 0x40c], edi
mov dl, byte [esp + 0x31f]
jmp 0x4ee2d4
mov byte [esp + 0x1c5], 0x32
mov eax, dword [esp + 0x318]
cmp dword [eax], 0
mov dword [esp + 0x2c8], eax
mov ecx, dword [esp + 0x3b4]
mov edi, ecx
mov eax, ecx
mov dword [esp + 0x3bc], ecx
jne 0x4eada8
jmp 0x4ee37c
mov dword [esp + 0x318], eax
mov esi, dword [esp + 0x3d4]
jmp 0x4e93e1
mov byte [esp + 0xce], dl
cmp eax, 5
je 0x4f0528
xor eax, eax
test al, al
jne 0x4f0528
mov edi, 0xe
mov byte [esp + 0x5b], 0x12
mov eax, dword [esp + 0x170]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x4e7d04
mov esi, 6
mov eax, dword [esp + 0x35c]
cmp dword [eax], 0
jne 0x4ee162
movzx eax, byte [esp + 0x289]
cmp eax, 6
mov esi, dword [esp + 0x39c]
je 0x4e9ecd
cmp eax, 0x4b
jne 0x4e9f19
mov eax, 8
mov ecx, 0xd
mov byte [esp + 0x289], 0xd
mov edx, dword [esp + 0x3d4]
shl edx, 6
mov edx, dword [esi + edx + 0x14]
mov dword [esp + 0x250], edx
test edx, edx
mov edx, dword [esp + 0x3b4]
mov dword [esp + 0x3bc], edx
jne 0x4ea6b7
jmp 0x4ec4ea
mov eax, dword [esp + 0x3d4]
shl eax, 6
mov edx, dword [esi + eax + 0x14]
test edx, edx
jne 0x4e9f74
mov byte [esp + 0x289], 0x4b
mov ecx, 3
mov eax, edx
not eax
and eax, 1
add eax, edx
mov dword [esp + 0x250], edx
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3bc], eax
jne 0x4e9b09
jmp 0x4ea6e9
mov byte [esp + 0x289], 6
mov eax, dword [esp + 0x3d4]
shl eax, 6
mov eax, dword [esi + eax + 0x14]
mov dword [esp + 0x250], eax
test eax, eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov edi, dword [esp + 0x3b4]
jne 0x4ea6e9
jmp 0x4eada8
mov byte [esp + 0x289], 0x4b
mov dword [esp + 0x250], edx
jmp 0x4ea6e9
cmp ecx, 6
jne 0x4e9fb5
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je 0x4e9fb5
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
jmp 0x4ef994
mov byte [esp + 0x6d], 0x35
mov eax, dword [esp + 0x35c]
cmp dword [eax], 0
mov ebx, dword [esp + 0x408]
je 0x4ea56e
mov eax, dword [esp + 0x3d4]
shl eax, 6
mov edi, dword [esp + 0x39c]
mov edx, dword [edi + eax + 0x14]
test edx, edx
je 0x4ea090
mov esi, 4
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
je 0x4ea090
mov dword [esp + 0x2c0], edx
mov dword [esp + 0x3b8], ebx
cmp esi, 4
je 0x4ea13d
imul esi, esi
and esi, 3
cmp esi, 2
je 0x4ea146
mov eax, 4
mov cl, byte [esp + 0xa3]
movzx ecx, cl
cmp ecx, 0x1a
jne 0x4e5262
mov esi, dword [esp + 0x214]
cmp eax, 4
jne 0x4ea256
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x4ea256
mov dword [esp + 0x214], esi
mov byte [esp + 0xa3], 0x16
jmp 0x4e526a
lea edi, [edi + eax + 0x14]
mov esi, 0xd
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [edi], eax
mov ecx, dword [esp + 0x3bc]
mov edx, dword [esp + 0x400]
mov dword [esp + 0x2c0], eax
cmp esi, 0xd
jne 0x4ea10c
mov eax, 3
sub eax, esi
xor eax, esi
mov dword [esp + 0x3b8], ebx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f4], edx
mov dword [esp + 0x400], edx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov edi, ecx
jne 0x4ea14d
jmp 0x4eada8
mov dword [esp + 0x3b8], ebx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f4], edx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov edi, ecx
jmp 0x4eada8
mov ebx, dword [esp + 0x3b8]
jmp 0x4ea14d
mov ebx, dword [esp + 0x3b8]
mov edx, dword [esp + 0x2c0]
cmp dword [edx], 0
mov esi, dword [esp + 0x40c]
jne 0x4ea19a
mov eax, 7
movzx ecx, byte [esp + 0x1bd]
cmp ecx, 0x29
jne 0x4ea1d7
mov dword [esp + 0x408], esi
mov dword [esp + 0x3b8], ebx
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x1f8], edx
jmp 0x4efa07
mov dword [esp + 0x3b8], ebx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x408], esi
mov dword [esp + 0x1f8], edx
mov edi, dword [esp + 0x3b4]
jmp 0x4eada8
mov ecx, 7
mov byte [esp + 0x1bd], 0x29
mov eax, dword [esp + 0x35c]
mov eax, dword [eax]
mov dword [edx], eax
mov dword [esp + 0x3bc], 1
mov dword [esp + 0x3b8], ebx
mov dword [esp + 0x1f8], edx
cmp ecx, 4
je 0x4e6f97
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov edi, dword [esp + 0x3bc]
jne 0x4eada8
jmp 0x4e6f97
mov byte [esp + 0x16b], 0x5f
cmp esi, 2
je 0x4e74d7
mov dword [esp + 0x214], esi
jmp 0x4e74ef
mov ecx, 0x10
mov eax, dword [esp + 0x34c]
cmp dword [eax], 0
jne 0x4ea28e
mov byte [esp + 0xcf], 0x42
jmp 0x4ea298
mov byte [esp + 0xcf], 0x42
jmp 0x4ea2b7
cmp ecx, 0xd
jne 0x4ea56e
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
jne 0x4e9ff2
jmp 0x4ea56e
mov dword [esp + 0x3b8], ebx
mov eax, 7
mov ecx, dword [esp + 0x3d4]
shl ecx, 6
mov edi, dword [esp + 0x39c]
mov esi, dword [edi + ecx + 0x14]
test esi, esi
jne 0x4ea326
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 1
ja 0x4ea326
lea esi, [edi + ecx + 0x14]
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [esi], eax
mov esi, eax
mov ebx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov edi, dword [esp + 0x40c]
jmp 0x4ea3c0
mov dword [esp + 0x330], esi
mov edi, dword [esp + 0x40c]
mov ecx, dword [esp + 0x3bc]
mov edx, dword [esp + 0x400]
cmp eax, 5
jne 0x4ea3a4
mov dword [esp + 0x3bc], ecx
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x4ea3ab
mov byte [esp + 0x1c4], 6
mov ecx, dword [esp + 0x414]
test ecx, ecx
je 0x4ea528
mov dword [esp + 0x400], edx
mov eax, ecx
mov dword [esp + 0x130], ecx
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x40c], edi
mov dword [esp + 0x408], edi
jne 0x4e6b85
jmp 0x4e6ef3
mov dword [esp + 0x3bc], ecx
mov ebx, dword [esp + 0x3f0]
mov dword [esp + 0x3f4], edx
mov esi, dword [esp + 0x330]
mov eax, 0xd
movzx ecx, byte [esp + 0x22b]
cmp ecx, 0x63
jne 0x4ea42f
mov eax, 5
mov byte [esp + 0x22b], 0x3a
cmp dword [esi], 0
mov dword [esp + 0x3f0], ebx
mov dword [esp + 0x3ec], ebx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x400], ecx
mov dword [esp + 0x40c], edi
mov dword [esp + 0x408], edi
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x298], esi
mov dword [esp + 0x330], esi
je 0x4ea4a1
jmp 0x4ed006
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
cmp eax, ecx
jne 0x4ea46d
mov dword [esp + 0x330], esi
mov dword [esp + 0x3f0], ebx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov dword [esp + 0x40c], edi
jmp 0x4ecb35
mov dword [esp + 0x408], edi
mov dword [esp + 0x3ec], ebx
mov byte [esp + 0x22b], 0x63
cmp dword [esi], 0
mov dword [esp + 0x298], esi
mov dword [esp + 0x330], esi
mov edi, dword [esp + 0x3b4]
jne 0x4eada8
mov eax, 0x1b
movzx ecx, byte [esp + 0x1b3]
cmp ecx, 0x65
mov esi, dword [esp + 0x330]
mov edx, dword [esp + 0x3ec]
mov ebx, dword [esp + 0x3f4]
mov edi, dword [esp + 0x408]
jne 0x4ea513
mov eax, 8
mov byte [esp + 0x1b3], 2
mov ecx, dword [esp + 0x34c]
mov ecx, dword [ecx]
mov dword [esi], ecx
mov dword [esp + 0x3bc], 1
mov dword [esp + 0x3f0], edx
mov dword [esp + 0x400], ebx
mov dword [esp + 0x40c], edi
mov dword [esp + 0x298], esi
jmp 0x4f09a5
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x3bc], ecx
mov ecx, esi
jmp 0x4e5af8
mov dword [esp + 0x400], edx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x40c], edi
jmp 0x4e6ef3
mov eax, 0xc
mov byte [esp + 0x6d], 0x3e
mov ecx, dword [esp + 0x35c]
mov ecx, dword [ecx]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp ecx, edx
jne 0x4e80c6
mov eax, dword [esp + 0x3d4]
shl eax, 6
mov ecx, dword [esp + 0x39c]
mov eax, dword [ecx + eax + 0x14]
mov dword [esp + 0x278], eax
test eax, eax
mov edx, dword [esp + 0x400]
mov esi, dword [esp + 0x40c]
je 0x4ea5c0
xor eax, eax
test al, al
jne 0x4ea5c0
mov eax, dword [esp + 0x278]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4ea5ef
mov dword [esp + 0x3b8], ebx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f4], edx
mov dword [esp + 0x408], esi
mov edi, dword [esp + 0x3b4]
jmp 0x4eada8
mov esi, 0xe
movzx ecx, byte [esp + 0x142]
cmp ecx, 0x1d
mov eax, dword [esp + 0x3b4]
je 0x4ea628
cmp ecx, 0x33
mov esi, dword [esp + 0x40c]
je 0x4ea649
mov eax, 0x13
cmp ecx, 0x3f
jne 0x4ea68b
mov dword [esp + 0x3b8], ebx
mov dword [esp + 0x3bc], eax
mov edi, dword [esp + 0x354]
mov ebx, dword [esp + 0x32c]
jmp 0x4e783b
mov byte [esp + 0x142], 0x3f
mov eax, dword [esp + 0x278]
mov dword [eax], 0
mov edi, 1
mov dword [esp + 0x3b8], ebx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f4], edx
mov dword [esp + 0x408], esi
jmp 0x4eada8
cmp eax, 8
je 0x4ea6e9
xor eax, eax
test al, al
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov esi, dword [esp + 0x40c]
je 0x4eb7e3
mov eax, 0x1c
mov ecx, dword [esp + 0x250]
cmp dword [ecx], 0
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x3b4]
mov edi, ecx
mov dword [esp + 0x3bc], ecx
je 0x4eada8
jmp 0x4ed907
mov eax, 0x14
mov byte [esp + 0x12b], 0x5f
mov ecx, dword [esp + 0x3d4]
shl ecx, 6
lea edx, [esi + ecx + 0x14]
mov dword [esp + 0x90], edx
mov edx, dword [esi + ecx + 0x14]
test edx, edx
je 0x4ea799
mov dword [esp + 0x408], edi
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x39c], esi
mov ecx, edx
mov dword [esp + 0x2d8], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jne 0x4eeba7
jmp 0x4e7317
mov dword [esp + 0x408], edi
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x39c], esi
mov dword [esp + 0x2d8], edx
jmp 0x4e7317
mov byte [esp + 0x28b], 0x31
mov eax, dword [esp + 0x2d8]
mov eax, dword [eax]
test eax, eax
je 0x4ea815
imul eax, eax
and eax, 3
cmp eax, 2
mov edi, dword [esp + 0x3b4]
jne 0x4eada8
mov esi, 0x13
mov eax, dword [esp + 0x1e0]
test al, al
je 0x4ea851
cmp esi, 0xf
mov esi, dword [esp + 0x40c]
jne 0x4ea8ab
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x394], eax
jmp 0x4e4713
mov eax, 0x10
mov dword [esp + 0x1e0], 0
mov ecx, dword [esp + 0x35c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x2d8]
mov dword [edx], ecx
mov ecx, 1
mov edx, dword [esp + 0x398]
mov edi, dword [esp + 0x378]
mov ebx, dword [esp + 0x3b0]
jmp 0x4efe48
mov dword [esp + 0x1ac], edx
cmp eax, 0x10
jne 0x4ea980
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x3ec], ecx
mov dword [esp + 0x400], esi
mov dword [esp + 0x3f4], esi
mov dword [esp + 0x40c], edi
mov dword [esp + 0x408], edi
mov edi, ebx
mov dword [esp + 0x3bc], edi
jb 0x4eada8
jmp 0x4ef19d
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x400], esi
mov dword [esp + 0x40c], edi
mov dword [esp + 0x3bc], ebx
jmp 0x4ef19d
mov byte [esp + 0x2d3], 0x6e
mov ecx, dword [esp + 0x34c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x2c8]
mov dword [edx], ecx
mov edi, 1
mov dword [esp + 0x3b4], eax
jmp 0x4eada8
mov eax, dword [esp + 0x250]
mov dword [eax], 0
mov edi, 1
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
jmp 0x4eada8
mov eax, 0xc
mov byte [esp + 0x1ef], 0x4b
mov ecx, dword [esp + 0x3d4]
shl ecx, 6
mov esi, dword [esp + 0x39c]
lea edx, [esi + ecx + 0x14]
mov dword [esp + 0x144], edx
mov esi, dword [esi + ecx + 0x14]
test esi, esi
je 0x4eaa5d
mov ecx, 0xf
mov edx, esi
mov dword [esp + 0x264], esi
imul edx, edx
and edx, 3
cmp edx, 2
jne 0x4ed3a2
jmp 0x4eaa64
mov dword [esp + 0x264], esi
cmp eax, 7
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
je 0x4f071e
jmp 0x4eea14
mov byte [esp + 0x2d1], 0x24
mov edx, dword [esp + 0x264]
mov eax, dword [edx]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x1f0], edx
jmp 0x4eb36a
mov byte [esp + 0x18f], 0x38
mov eax, dword [esp + 0x27c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1f0]
mov dword [ecx], eax
jmp 0x4eada3
mov eax, dword [esp + 0x34c]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
mov edx, dword [esp + 0x3d4]
shl edx, 6
mov edi, dword [esp + 0x39c]
mov esi, dword [edi + edx + 0x14]
mov dword [esp + 0x2b0], esi
test esi, esi
setne ch
imul esi, esi
and esi, 3
cmp esi, 2
sete bl
or bl, ch
mov byte [esp + 0x2a3], bl
movzx ecx, cl
cmp eax, ecx
mov byte [esp + 0x26b], 0x34
lea eax, [edi + edx + 0x14]
mov dword [esp + 0x1c0], eax
je 0x4ef496
mov eax, 0x17
test byte [esp + 0x2a3], 1
mov esi, dword [esp + 0x3ec]
mov ebx, dword [esp + 0x3f4]
mov edi, dword [esp + 0x408]
je 0x4eabbb
mov dword [esp + 0x3f0], esi
mov dword [esp + 0x400], ebx
mov dword [esp + 0x40c], edi
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 0x29c], ecx
cmp eax, 7
jne 0x4eac84
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x4f0933
mov eax, 0x12
movzx ecx, byte [esp + 0x123]
cmp ecx, 0x2d
jne 0x4eac12
mov byte [esp + 0x123], 0x50
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov ecx, eax
mov dword [esp + 0x29c], ecx
mov eax, dword [esp + 0x1c0]
mov dword [eax], ecx
mov dword [esp + 0x3f0], esi
mov dword [esp + 0x400], ebx
mov dword [esp + 0x40c], edi
jmp 0x4eac84
mov dword [esp + 0x3f0], esi
mov dword [esp + 0x400], ebx
mov dword [esp + 0x40c], edi
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 0x29c], ecx
mov esi, dword [esp + 0x3b0]
mov ebx, dword [esp + 0x3a4]
jmp 0x4f0d38
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0x3b0], esi
mov byte [esp + 0x123], 0x2d
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov ecx, eax
mov dword [esp + 0x29c], ecx
mov eax, dword [esp + 0x1c0]
mov dword [eax], ecx
mov edx, dword [esp + 0x29c]
mov eax, dword [edx]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov esi, dword [esp + 0x40c]
jne 0x4ead11
mov eax, 1
movzx ecx, byte [esp + 0x12a]
cmp ecx, 0x45
jne 0x4ead44
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3f4], ecx
mov dword [esp + 0x408], esi
mov edi, dword [esp + 0x350]
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x190], edx
mov esi, dword [esp + 0x3b0]
mov ebx, dword [esp + 0x3a4]
jmp 0x4eae2b
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x408], esi
mov dword [esp + 0x190], edx
mov edi, dword [esp + 0x3b4]
jmp 0x4eada8
mov byte [esp + 0x12a], 0x1f
mov eax, dword [esp + 0x34c]
mov eax, dword [eax]
mov dword [edx], eax
mov edi, 1
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x408], esi
mov dword [esp + 0x190], edx
jmp 0x4eada8
mov eax, 5
mov ecx, dword [esp + 0x2b0]
cmp dword [ecx], 0
je 0x4eb367
mov dword [ecx], 0
mov edi, 1
mov eax, 0x14
mov esi, dword [esp + 0x488]
mov ebx, dword [esi + 8]
add esi, 8
mov ecx, dword [esp + 0x3d4]
shl ecx, 6
mov edx, dword [ebx + ecx + 0x10]
test edx, edx
je 0x4eaedd
movzx eax, byte [esp + 0x1be]
cmp eax, 0x36
jne 0x4eaefe
mov byte [esp + 0x1be], 0x36
mov edx, dword [edx]
test edx, edx
je 0x4eaf9c
mov dword [esp + 0x328], ebx
mov dword [esp + 0x1e8], esi
mov eax, 7
cmp edx, 3
mov dword [esp + 0x350], edi
mov dword [esp + 0x3bc], edi
mov esi, dword [esp + 0x3b0]
mov ebx, dword [esp + 0x3a4]
je 0x4eb452
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
jne 0x4eb0c9
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0x3b0], esi
mov eax, 0x13
mov ecx, dword [esp + 0x34c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x190]
mov dword [edx], ecx
mov byte [esp + 0x12a], 0x45
mov ebx, dword [esp + 0x3b8]
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x40c], ecx
mov dword [esp + 0x350], edi
mov dword [esp + 0x3bc], 1
mov edx, dword [esp + 0x3c0]
cmp eax, 5
mov esi, dword [esp + 0x3d8]
je 0x4e5c68
mov dword [esp + 0x3c0], edx
mov dword [esp + 0x3b8], ebx
jmp 0x4e98fb
mov dword [esp + 0x1e8], esi
mov dword [esp + 0x3bc], edi
mov dword [esp + 0x350], edi
mov dl, byte [esp + 0x2d1]
jmp 0x4eb13e
mov byte [esp + 0x1be], 0x6d
mov eax, dword [edx]
test eax, eax
mov edx, dword [esp + 0x408]
je 0x4eaf9c
mov dword [esp + 0x328], ebx
mov dword [esp + 0x1e8], esi
mov esi, 6
cmp eax, 3
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov dword [esp + 0x40c], edx
mov eax, edx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], ecx
mov edx, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x404], ecx
mov dword [esp + 0x3bc], edi
mov dword [esp + 0x350], edi
je 0x4ee501
jmp 0x4eb4fc
mov dword [esp + 0x404], edi
mov dword [esp + 0x1e8], esi
mov eax, dword [esp + 0x34c]
mov esi, dword [eax]
mov eax, dword [esp + 0x3a0]
mov edx, dword [eax]
mov eax, dword [ebx + ecx]
mov dword [esp + 0x400], eax
mov edi, dword [ebx + ecx + 4]
mov ecx, dword [ebx + ecx + 0xc]
mov dword [esp + 0x328], ebx
mov dword [esp + 0x40c], 0xe
mov eax, dword [esp + 0x3a8]
mov ebx, dword [eax]
mov dword [esp + 0x3fc], ebx
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0
call fcn.0042fd40
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3b4]
mov edi, dword [esp + 0x404]
mov dword [esp + 0x350], edi
cmp dword [esp + 0x40c], 5
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3bc], edi
mov ebx, dword [esp + 0x350]
je 0x4eada8
jmp 0x4ebdc9
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0x3b0], esi
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov dword [esp + 0x350], edi
jmp 0x4eb4fc
mov edi, dword [esp + 0x408]
cmp eax, 5
jne 0x4eb1a2
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x4eb1a2
mov dword [esp + 0x408], edi
mov dword [esp + 0x328], ebx
mov eax, 4
mov byte [esp + 0x2d1], 0x23
mov esi, dword [esp + 0x264]
mov ecx, dword [esi]
test ecx, ecx
je 0x4eb360
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
mov dword [esp + 0x1f0], esi
mov edi, dword [esp + 0x3b4]
jne 0x4eada8
jmp 0x4eb367
mov esi, 0xd
mov al, byte [esp + 0x1e6]
movzx eax, al
cmp eax, 0x2d
je 0x4eb1f1
cmp eax, 0x41
jne 0x4eb2ce
mov esi, edi
mov byte [esp + 0x2d1], dl
mov byte [esp + 0x1e6], 0x41
mov eax, dword [esp + 0x3d4]
shl eax, 6
cmp dword [ebx + eax + 0x18], 0
mov dword [esp + 0x328], ebx
jne 0x4eb7e3
jmp 0x4eb858
mov dword [esp + 0x328], ebx
mov byte [esp + 0x2d1], dl
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov dword [esp + 0x40c], edi
mov edi, dword [esp + 0x354]
mov ebx, dword [esp + 0x32c]
mov dword [esp + 0x32c], ebx
mov dword [esp + 0x354], edi
cmp esi, 0xd
mov edi, dword [esp + 0x328]
jne 0x4eb2b6
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
je 0x4eb2c2
mov eax, 0x18
mov ecx, 9
mov byte [esp + 0x1e6], 0x2d
mov edx, dword [esp + 0x3d4]
shl edx, 6
cmp dword [edi + edx + 0x18], 0
jne 0x4ea6b7
cmp ecx, 9
jne 0x4e7019
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je 0x4e7019
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
jmp 0x4eb858
mov ebx, dword [esp + 0x32c]
jmp 0x4e7881
mov ebx, dword [esp + 0x32c]
jmp 0x4e7881
mov byte [esp + 0x2d1], dl
mov eax, 0xf
mov byte [esp + 0x1e6], 0x4e
mov ecx, dword [esp + 0x3d4]
shl ecx, 6
mov ecx, dword [ebx + ecx + 0x18]
mov dword [esp + 0x328], ebx
test ecx, ecx
jne 0x4eb42a
mov esi, 0x10
mov edx, 3
sub edx, ecx
xor edx, ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x400], ecx
mov dword [esp + 0x40c], edi
je 0x4edd7e
cmp esi, 3
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
jne 0x4eb858
jmp 0x4f10a0
mov dword [esp + 0x1f0], esi
cmp eax, 4
mov edi, dword [esp + 0x3b4]
jne 0x4eada8
mov ecx, 0xd
movzx eax, byte [esp + 0x18f]
cmp eax, 0x38
jne 0x4eaacc
mov eax, dword [esp + 0x394]
mov edx, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], edx
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x400], edx
mov esi, dword [esp + 0x408]
mov edx, dword [esp + 0x3b4]
mov dword [esp + 0x3bc], edx
mov edi, dword [esp + 0x318]
mov dword [esp + 0x318], edi
cmp ecx, 0xd
jne 0x4e46d0
mov byte [esp + 0x18f], 0xe
mov ecx, dword [esp + 0x27c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x1f0]
mov dword [edx], ecx
mov edi, 1
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x408], esi
jmp 0x4eada8
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x400], ecx
mov dword [esp + 0x40c], edi
jmp 0x4edd7e
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0x3b0], esi
mov eax, dword [esp + 0x84]
mov dword [eax], 3
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
mov dword [esp + 0x3bc], edi
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov ebx, 2
mov eax, dword [esp + 0x390]
cmp ebx, 2
jne 0x4e8212
mov dword [esp + 0x374], edx
mov eax, dword [esp + 0x41c]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4eb63b
xor ecx, ecx
test cl, cl
jne 0x4eb63b
mov edx, dword [esp + 0x3d4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x1e8]
mov ecx, dword [eax]
shl edx, 6
mov esi, dword [ecx + edx + 0x10]
mov eax, dword [esi]
mov dword [esp + 0x3ec], eax
mov ebx, dword [esp + 0x3a8]
mov eax, dword [esp + 0x3a0]
mov edi, dword [eax]
mov eax, dword [ecx + edx]
mov dword [esp + 0x408], eax
mov esi, dword [ecx + edx + 4]
mov ecx, dword [ecx + edx + 0xc]
mov eax, dword [ebx]
mov dword [esp + 0x3f4], eax
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x408]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x3f4]
mov dword [esp], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c], 0xffffffff
call fcn.0042fd40
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x374]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e8], eax
jmp 0x4ebdc2
mov dword [esp + 0x408], 4
mov eax, dword [esp + 0x27c]
mov eax, dword [eax]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x1e8]
mov ecx, dword [eax]
mov edx, dword [esp + 0x3d4]
shl edx, 6
mov edi, dword [ecx + edx + 0x10]
mov edi, dword [edi]
mov eax, dword [ecx + edx]
mov dword [esp + 0x3ec], eax
mov esi, dword [ecx + edx + 4]
mov ecx, dword [ecx + edx + 0xc]
mov eax, dword [esp + 0x3a0]
mov edx, dword [eax]
mov eax, dword [esp + 0x3a8]
mov ebx, dword [eax]
mov dword [esp + 0x3e8], ebx
mov eax, dword [eax + 4]
mov ebx, dword [esp + 0x3f4]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c], 0xffffffff
call fcn.0042fd40
mov dword [esp + 0x340], eax
mov edx, dword [esp + 0x3c0]
mov esi, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x3fc]
mov edi, dword [esp + 0x404]
mov ebx, dword [esp + 0x408]
cmp ebx, 4
jne 0x4eb780
mov eax, ebx
or eax, 2
xor ebx, 2
add ebx, eax
je 0x4eb780
mov dword [esp + 0x3c0], edx
mov dword [esp + 0x3e4], esi
mov eax, dword [esp + 0x374]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x3dc], ecx
mov dword [esp + 0x3e8], edi
jmp 0x4ebdc2
mov dword [esp + 0x404], edi
mov dword [esp + 0x3fc], ecx
mov dword [esp + 0x3f8], esi
mov eax, 2
mov byte [esp + 0x263], 0x71
imul ecx, edx, 0x1c
mov dword [esp + 0x3c0], edx
mov dword [esp + 0x3ac], 0x30000003
mov edx, dword [esp + 0x36c]
cmp dword [edx + ecx + 0x14], 8
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3c4], ecx
mov edx, dword [esp + 0x374]
jne 0x4e8212
jmp 0x4ed4d6
mov eax, 0x10
mov ecx, dword [esp + 0x3d4]
shl ecx, 6
mov edx, dword [esp + 0x328]
cmp dword [edx + ecx + 0x1c], 0
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x400], ecx
mov dword [esp + 0x40c], esi
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x404], ecx
mov edi, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], ecx
jne 0x4ec7af
movzx eax, byte [esp + 0x282]
cmp eax, 0x61
mov eax, dword [esp + 0x3d4]
mov edx, dword [esp + 0x328]
mov ebx, dword [esp + 0x3ec]
jne 0x4eb884
mov byte [esp + 0x282], 0x27
jmp 0x4eb88c
mov byte [esp + 0x282], 0x61
mov ecx, dword [esp + 0x3a0]
mov ecx, dword [ecx]
mov dword [esp + 0x40c], ecx
mov ecx, eax
shl ecx, 6
mov eax, dword [edx + ecx]
mov dword [esp + 0x408], eax
mov esi, dword [edx + ecx + 4]
mov ecx, dword [edx + ecx + 0xc]
mov eax, dword [esp + 0x3a8]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
call fcn.0042fd40
mov dword [esp + 0x340], eax
mov dword [esp + 0x3f0], ebx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
jmp 0x4ebdc2
mov dword [esp + 0x408], esi
mov dword [esp + 0x3cc], eax
mov dword [esp + 0x3d8], edi
mov byte [esp + 0x2d6], 0x3e
call fcn.00449410
mov edx, dword [esp + 0x488]
mov ecx, dword [edx + 8]
mov dword [esp + 0xc4], ecx
add edx, 8
mov dword [esp + 0x94], edx
test eax, eax
jne 0x4eb9de
mov esi, dword [esp + 0x3d4]
mov eax, esi
shl eax, 6
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax + 0x18]
cmp dword [eax], 3
jne 0x4eb9c4
mov eax, dword [esp + 0x84]
mov dword [eax], 3
mov dword [esp + 0x3f0], ebx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
jmp 0x4f0c33
mov eax, 0xf
mov esi, dword [esp + 0x3d4]
mov ecx, esi
shl ecx, 6
mov edx, dword [esp + 0xc4]
mov ecx, dword [edx + ecx + 0x1c]
cmp dword [ecx], 3
je 0x4eba1b
xor ecx, ecx
test cl, cl
mov edx, ebx
mov ebx, dword [esp + 0x3f4]
mov edi, dword [esp + 0x408]
je 0x4f0c05
jmp 0x4eba2b
mov edx, ebx
mov ebx, dword [esp + 0x3f4]
mov edi, dword [esp + 0x408]
cmp eax, 5
je 0x4e985e
mov eax, dword [esp + 0x84]
mov dword [eax], 3
mov dword [esp + 0x3f0], edx
mov dword [esp + 0x400], ebx
mov ebx, dword [esp + 0x39c]
mov eax, dword [esp + 0x41c]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x4ebc33
mov dword [esp + 0x3d4], esi
mov esi, 0xf
mov eax, 5
movzx ecx, byte [esp + 0x77]
cmp ecx, 0x78
jne 0x4ebaa6
cmp esi, 8
jne 0x4ebc6a
mov dword [esp + 0x88], edx
mov dword [esp + 0x40c], edi
mov esi, dword [esp + 0x3d4]
jmp 0x4e93da
cmp eax, 3
jne 0x4ebc55
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x4ebc55
mov dword [esp + 0x39c], ebx
mov dword [esp + 0x88], edx
mov byte [esp + 0xeb], 0x3b
mov byte [esp + 0x2d2], 0x67
mov byte [esp + 0x10b], 0x31
mov byte [esp + 0x283], 0x3c
mov byte [esp + 0x143], 0x61
mov byte [esp + 0x2c7], 0x6d
mov byte [esp + 0x1c7], 0x1d
mov byte [esp + 0x16b], 0x52
mov byte [esp + 0x307], 0x4f
mov byte [esp + 0xdb], 0x14
mov byte [esp + 0x1a3], 0x60
mov byte [esp + 0x207], 0xb
mov esi, edi
mov byte [esp + 0x223], 0x3e
mov byte [esp + 0x1c4], 0x13
lea eax, [esp + 0x41c]
mov dword [esp + 0x150], eax
mov ecx, dword [esp + 0x3a8]
lea eax, [ecx + 0xe8]
mov dword [esp + 0xfc], eax
lea eax, [ecx + 0xa8]
mov dword [esp + 0x224], eax
lea eax, [ecx + 0xa4]
mov dword [esp + 0x238], eax
lea eax, [esp + 0x418]
mov dword [esp + 0x1a4], eax
lea eax, [ecx + 0xb0]
mov dword [esp + 0xbc], eax
mov dword [esp + 0x388], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x398], eax
xor ebx, ebx
mov dword [esp + 0x3a4], 0
xor edi, edi
mov dword [esp + 0x384], 0
mov byte [esp + 0x19b], 0x6e
mov byte [esp + 0x6f], 2
mov byte [esp + 0x2d5], 0x27
mov byte [esp + 0x19a], 0x2d
mov byte [esp + 0x263], 0x33
mov byte [esp + 0x1cf], 0x58
mov byte [esp + 0x2d7], 0x43
mov byte [esp + 0x2b7], 0x6b
mov byte [esp + 0x2ef], 0x2b
mov byte [esp + 0xbb], 0x27
mov byte [esp + 0x116], 2
mov byte [esp + 0x2bf], 0xd
mov al, 0xd
mov dword [esp + 0x1c8], eax
jmp 0x4efc12
mov dword [esp + 0x39c], ebx
mov dword [esp + 0x88], edx
mov edi, dword [esp + 0x3a0]
mov dword [esp + 0x324], 0
jmp 0x4ebc95
mov dword [esp + 0x39c], ebx
mov edi, dword [esp + 0x3a0]
mov byte [esp + 0x77], 0x5e
jmp 0x4ebc7d
mov dword [esp + 0x39c], ebx
mov edi, dword [esp + 0x3a0]
mov byte [esp + 0x77], 0x78
mov esi, dword [esp + 0x3d4]
mov eax, dword [edx + esi*4]
mov dword [esp + 0x324], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x3a0], edi
mov dword [esp + 0x3d4], esi
mov eax, dword [esp + 0x94]
mov ecx, dword [eax]
mov edx, esi
shl edx, 6
mov eax, dword [ecx + edx + 0x3c]
mov dword [esp + 0x40c], eax
mov eax, dword [ecx + edx + 0x34]
mov dword [esp + 0x408], eax
mov eax, dword [ecx + edx + 0x2c]
mov dword [esp + 0x404], eax
mov eax, dword [ecx + edx + 0x28]
mov dword [esp + 0x3fc], eax
mov eax, dword [ecx + edx + 0x24]
mov dword [esp + 0x3f8], eax
mov eax, dword [ecx + edx + 0x20]
mov dword [esp + 0x3f4], eax
mov esi, dword [ecx + edx + 0x1c]
mov eax, dword [ecx + edx + 0x18]
mov ebx, dword [ecx + edx]
mov dword [esp + 0x3ec], ebx
mov ebx, dword [ecx + edx + 4]
mov dword [esp + 0x374], ebx
mov ecx, dword [ecx + edx + 0xc]
mov dword [esp + 0x340], ecx
mov edx, dword [esi]
mov ecx, dword [eax]
mov esi, dword [edi]
mov eax, dword [esp + 0x3a8]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x324]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x374]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
mov dword [esp + 0x18], 0xffffffff
call fcn.0042fd40
mov dword [esp + 0x340], eax
mov ebx, dword [esp + 0x350]
mov esi, 1
mov edi, dword [esp + 0x340]
mov dword [esp], edi
call fcn.00411e90
mov dword [esp], edi
call fcn.004302d0
mov ecx, dword [esp + 0x3d4]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
adc ecx, 0
mov eax, dword [esp + 0x488]
cmp ecx, dword [eax]
jb 0x4ebe40
mov dword [esp + 0x230], eax
mov edx, 0xc
mov eax, ecx
mov dword [esp + 0x324], ecx
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x350], ebx
jne 0x4ed109
jmp 0x4ebe63
mov dword [esp + 0x324], ecx
mov dword [esp + 0x230], eax
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x350], ebx
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp esi, eax
jne 0x4f088f
mov eax, 0x13
movzx ecx, byte [esp + 0x22a]
cmp ecx, 0x39
jne 0x4ebfbf
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x374], ecx
mov ebx, dword [esp + 0x3cc]
mov edi, dword [esp + 0x3d0]
mov edx, dword [esp + 0x3c0]
cmp eax, 0xe
je 0x4ebed7
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x4e866e
mov byte [esp + 0x2d5], 0x3a
imul eax, edx, 0x1c
mov dword [esp + 0x3c0], edx
add eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x360]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x320]
mov esi, dword [edx]
mov edx, dword [esp + 0x3a0]
mov edx, dword [edx]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x368]
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0x11
xor ecx, ecx
call fcn.00522bc0
mov dword [esp + 0x3ac], eax
test eax, eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x3e4], edi
mov edx, dword [esp + 0x374]
mov dword [esp + 0x3e0], edx
mov dword [esp + 0x3dc], ebx
mov dword [esp + 0x3e8], eax
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3c8], edx
mov dword [esp + 0x3cc], ebx
mov dword [esp + 0x3fc], ebx
mov dword [esp + 0x3d0], edi
mov dword [esp + 0x3f8], edi
je 0x4e7a7d
jmp 0x4e8212
mov byte [esp + 0x22a], 0xb
mov eax, dword [esp + 0x41c]
mov dword [esp + 0x234], eax
mov dword [esp + 0x3ac], 0x70000031
test eax, eax
mov eax, dword [esp + 0x324]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
jne 0x4e871f
jmp 0x4e8212
mov eax, edi
not eax
and eax, 1
add eax, edi
setne al
movzx eax, al
cmp edi, eax
jne 0x4ec2cd
mov dword [esp + 0x400], edx
mov dword [esp + 0x3bc], ecx
mov eax, 0x19
mov esi, dword [esp + 0x47c]
mov dword [esp + 0x480], esi
mov ecx, dword [esp + 0x320]
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4ece0f
mov edx, ecx
and edx, 1
xor edx, ecx
not edx
test edx, edx
je 0x4ece0f
mov eax, 9
mov ecx, 0x16
mov byte [esp + 0x14f], 3
mov dword [esp + 0x3ac], 0x700002bb
cmp dword [esp + 0x10c], 0
je 0x4ece01
mov dword [esp + 0x294], esi
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
mov esi, 3
cmp ecx, 8
jne 0x4ec29b
mov edx, 3
sub edx, ecx
xor edx, ecx
je 0x4ec29b
movzx eax, byte [esp + 0x19a]
cmp eax, 0x2d
je 0x4e5dc7
mov ecx, dword [esp + 0x1f4]
mov eax, ecx
and eax, 1
xor eax, ecx
cmp eax, 0xffffffff
setne al
movzx eax, al
sub ecx, eax
cmp ecx, 1
mov esi, dword [esp + 0x3d4]
ja 0x4ec42c
mov byte [esp + 0x19a], 0x2d
mov eax, 0x12
mov edx, ecx
or edx, 2
xor ecx, 2
add ecx, edx
je 0x4ec434
mov edx, dword [esp + 0x3c0]
mov ecx, dword [esp + 0x324]
mov dword [esp + 0x324], ecx
cmp eax, 9
jne 0x4ec419
mov dword [esp + 0x3d4], esi
mov dword [esp + 0x3c0], edx
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
jne 0x4e8212
jmp 0x4e5e0b
mov ecx, 5
movzx edx, byte [esp + 0x14f]
cmp edx, 0x24
je 0x4ec383
cmp edx, 0x29
jne 0x4ec3b9
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
jmp 0x4ed481
mov dword [esp + 0x400], edx
mov dword [esp + 0x3bc], ecx
mov esi, 0xb
mov byte [esp + 0x1c6], 0x71
mov eax, dword [esp + 0x4c0]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.004234b0
cmp esi, 5
je 0x4ec31a
imul esi, esi
and esi, 3
cmp esi, 2
jne 0x4e4dc5
mov eax, 6
mov cl, byte [esp + 0x15f]
movzx ecx, cl
cmp ecx, 0x1b
jne 0x4ec369
mov byte [esp + 0x15f], 0x1b
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x3d4]
cmp dword [eax + ecx*4], 3
je 0x4e90f1
mov eax, 4
xor ecx, ecx
test cl, cl
mov edi, dword [esp + 0x40c]
je 0x4ed75b
jmp 0x4e90f1
mov cl, byte [esp + 0x2d6]
mov dl, byte [esp + 0x2d3]
mov esi, dword [esp + 0x3d8]
jmp 0x4eed4e
mov ebx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov esi, dword [esp + 0x40c]
mov dl, byte [esp + 0x2d6]
mov edi, dword [esp + 0x3d8]
mov eax, dword [esp + 0x3cc]
jmp 0x4ecbee
mov byte [esp + 0x14f], 0x24
mov byte [esp + 0x28a], 0x12
mov ecx, dword [esp + 0x10c]
lea eax, [ecx + 8]
mov dword [esp + 0x13c], eax
lea eax, [ecx + 4]
mov dword [esp + 0x308], eax
mov edx, dword [esp + 0x294]
cmp edx, dword [ecx + 8]
jbe 0x4ece8c
mov eax, edx
or eax, 2
mov ecx, edx
xor ecx, 2
add ecx, eax
mov dword [esp + 0x240], edx
mov edi, dword [esp + 0x40c]
jne 0x4ed2ee
jmp 0x4eda3d
mov dword [esp + 0x3d4], esi
mov dword [esp + 0x3c0], edx
jmp 0x4e5e0b
mov byte [esp + 0x19a], 0x2d
movzx ecx, byte [esp + 0xbb]
cmp ecx, 0xf
je 0x4ec538
mov eax, 3
cmp ecx, 0x27
je 0x4efbf3
cmp ecx, 0x2f
jne 0x4ec5ab
mov byte [esp + 0xbb], 0x27
mov eax, dword [esp + 0x2dc]
cmp eax, 0x21
jg 0x4ecf2c
mov edx, eax
mov eax, 7
cmp edx, 0x11
je 0x4ed22e
mov dword [esp + 0x3d4], esi
mov ecx, 0xe
cmp edx, 0x21
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov esi, dword [esp + 0x3c8]
mov ebx, esi
mov edx, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], edx
mov edi, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], edi
mov dword [esp + 0x3e4], edi
mov dword [esp + 0x3e0], esi
mov dword [esp + 0x3dc], edx
mov edx, ebx
mov dword [esp + 0x3e8], eax
jne 0x4e7a7d
cmp ecx, 0xd
jne 0x4ec64a
mov eax, ecx
not eax
and eax, 1
add eax, ecx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov edi, dword [esp + 0x3bc]
jne 0x4eada8
jmp 0x4ec64a
mov eax, 0x11
mov byte [esp + 0xbb], 0x2f
mov ecx, dword [esp + 0x2dc]
cmp ecx, 0x21
jg 0x4ecf97
cmp ecx, 0x11
je 0x4e63e4
mov dword [esp + 0x3d4], esi
cmp ecx, 0x21
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3e8], ecx
je 0x4ec64a
jmp 0x4ed006
mov ecx, 6
mov byte [esp + 0xbb], 0x1a
mov eax, dword [esp + 0x2dc]
cmp eax, 0x21
jg 0x4ed086
cmp eax, 0x11
mov edx, dword [esp + 0x400]
je 0x4e63e4
mov dword [esp + 0x3d4], esi
cmp eax, 0x21
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f4], edx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3bc]
jne 0x4ed128
mov eax, dword [esp + 0x1c8]
movzx ecx, al
cmp ecx, 0xd
mov edx, dword [esp + 0x3c0]
je 0x4ec6f7
mov eax, 0x13
cmp ecx, 0x23
jne 0x4e8f79
mov esi, 0xb
mov dword [esp + 0x418], 0
mov eax, dword [esp + 0x334]
mov eax, dword [eax]
imul ecx, edx, 0x1c
mov edx, dword [eax + ecx + 0x14]
mov eax, dword [eax + ecx + 0x18]
mov dword [esp + 0x1c8], 0
mov byte [esp + 0x313], 0x21
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], 0x2d
call fcn.0064be40
mov dword [esp + 0x290], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x28c], eax
je 0x4ec768
mov esi, 6
mov dword [esp + 0x418], 0
mov eax, dword [esp + 0x334]
mov eax, dword [eax]
imul ecx, edx, 0x1c
mov edx, dword [eax + ecx + 0x14]
mov eax, dword [eax + ecx + 0x18]
mov cl, 0xd
mov dword [esp + 0x1c8], ecx
mov byte [esp + 0x313], 0x21
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], 0x2d
call fcn.0064be40
mov dword [esp + 0x290], eax
test eax, eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x28c], eax
jne 0x4ec871
mov eax, 0xa
movzx ecx, byte [esp + 0x19b]
cmp ecx, 0x6e
jne 0x4ec912
cmp eax, 0xa
je 0x4ec8aa
xor eax, eax
test al, al
jne 0x4ec8aa
mov ecx, 7
mov bl, byte [esp + 0x2d6]
movzx eax, bl
cmp eax, 0x11
je 0x4ecb9d
cmp eax, 0x3d
jne 0x4ecd05
mov esi, 0x16
mov byte [esp + 0x2d6], 0x11
call fcn.00449410
mov ecx, dword [esp + 0x488]
test eax, eax
mov eax, dword [ecx + 8]
mov dword [esp + 0xc4], eax
lea eax, [ecx + 8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3c8], edi
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d0], eax
mov ebx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
je 0x4eb99b
jmp 0x4ee657
cmp esi, 2
jne 0x4ede87
cmp edi, 5
je 0x4e81ad
xor eax, eax
test al, al
je 0x4f0933
jmp 0x4e81ad
mov byte [esp + 0x19b], 0x58
mov eax, dword [esp + 0x418]
mov ecx, dword [eax]
movsd xmm0, qword [ecx]
mov ecx, dword [esp + 0xbc]
movsd qword [ecx], xmm0
mov dword [esp], eax
mov dword [esp + 4], 0x2d
call fcn.0064bf00
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], eax
mov edx, edi
mov dword [esp + 0x3e0], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e8], eax
jmp 0x4e7a7d
cmp esi, 2
jne 0x4ecb27
cmp esi, 0xa
mov ebx, dword [esp + 0x338]
je 0x4e818a
mov esi, 4
mov eax, dword [esp + 0x348]
mov ecx, dword [eax]
mov eax, dword [esp + 0x80]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x70]
mov dword [ecx + edx*8 + 0x14], eax
mov ebx, dword [esp + 0x3b8]
mov eax, dword [esp + 0x3e4]
mov edx, dword [esp + 0x3e0]
cmp esi, 4
jne 0x4ecb6b
mov ecx, esi
or ecx, 2
xor esi, 2
add esi, ecx
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x3e4], eax
mov eax, edx
mov dword [esp + 0x3e0], edx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov dword [esp + 0x3b8], ebx
je 0x4e8212
mov edi, 0x11
mov eax, 0xb
movzx ecx, byte [esp + 0x1c6]
cmp ecx, 0x71
mov esi, dword [esp + 0x3f0]
mov edx, dword [esp + 0x400]
mov ebx, edx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x3bc]
mov dword [esp + 0x404], ecx
jne 0x4ec11a
cmp eax, 0xb
jne 0x4ecb77
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3ec], esi
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x4ecb91
mov dword [esp + 0x3fc], 0xc
mov byte [esp + 0x1c6], 0x74
mov eax, dword [esp + 0x4c0]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.004234b0
mov eax, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3cc]
mov edx, dword [esp + 0x3c8]
mov esi, dword [esp + 0x3d0]
mov edi, dword [esp + 0x3ec]
mov ebx, dword [esp + 0x3f4]
jmp 0x4f05ae
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
jmp 0x4e7a7d
mov dword [esp + 0x3f8], eax
jmp 0x4eeb23
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3ec], esi
mov edi, dword [esp + 0x404]
jmp 0x4eada8
mov edi, dword [esp + 0x404]
jmp 0x4eada8
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov esi, dword [esp + 0x40c]
mov edx, dword [esp + 0x404]
mov dword [esp + 0x3c8], edi
mov eax, dword [esp + 0x3fc]
mov edi, dword [esp + 0x3f8]
mov dword [esp + 0x3d0], edi
mov edi, edx
mov dl, bl
mov ebx, dword [esp + 0x3ec]
cmp ecx, 5
jne 0x4eb95a
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jae 0x4eb95a
mov dword [esp + 0x408], esi
mov dword [esp + 0x3cc], eax
mov dword [esp + 0x3d8], edi
mov byte [esp + 0x2d6], dl
mov eax, 2
mov byte [esp + 0x14f], 0x29
mov byte [esp + 0x28a], 0x12
mov edx, dword [esp + 0x10c]
lea ecx, [edx + 8]
mov dword [esp + 0x13c], ecx
lea ecx, [edx + 4]
mov dword [esp + 0x308], ecx
mov esi, dword [esp + 0x294]
cmp esi, dword [edx + 8]
mov edi, dword [esp + 0x370]
ja 0x4ecefd
mov ecx, 0xf
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 3
mov dword [esp + 0x3f0], ebx
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x400], edx
mov edx, dword [esp + 0x408]
mov dword [esp + 0x40c], edx
mov dword [esp + 0x240], esi
mov edx, dword [esp + 0x2e4]
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x3f4], edi
je 0x4e8940
cmp ecx, 0xf
je 0x4ecece
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
jne 0x4f0ad4
jmp 0x4eda3d
mov esi, 0xf
mov byte [esp + 0x2d6], 0x3d
call fcn.00449410
mov ecx, dword [esp + 0x488]
test eax, eax
mov eax, dword [ecx + 8]
mov dword [esp + 0xc4], eax
lea eax, [ecx + 8]
mov dword [esp + 0x94], eax
mov ebx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3d8], eax
mov ecx, edi
mov dword [esp + 0x3c8], ecx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d0], eax
jne 0x4eb9de
cmp esi, 0xf
jne 0x4ece98
mov eax, 3
sub eax, esi
xor eax, esi
mov ebx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3c8], ecx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d0], eax
jne 0x4eb99b
jmp 0x4e7562
mov ecx, dword [esp + 0x37c]
mov dword [esp + 0x3c4], ecx
mov dword [esp + 0x294], esi
cmp eax, 9
je 0x4ee6d1
mov esi, 0xe
mov edi, 5
mov eax, dword [esp + 0x484]
mov ecx, dword [esp + 0x294]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20c]
mov dword [esp], eax
call fcn.00593cf0
mov dword [esp + 0x3ac], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov dword [esp + 0x364], 0
cmp eax, ecx
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
je 0x4ec892
jmp 0x4ee5aa
mov dword [esp + 0x240], edx
jmp 0x4eda3d
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3c8], ecx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d0], eax
jmp 0x4e7562
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
jmp 0x4eda3d
mov dword [esp + 0x3f0], ebx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x40c], ecx
mov dword [esp + 0x240], esi
jmp 0x4e8940
cmp eax, 0x22
je 0x4ed1ea
mov dword [esp + 0x3d4], esi
cmp eax, 0x27
mov esi, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], esi
mov edx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], edx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], ecx
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3e8], eax
mov dword [esp + 0x404], eax
mov dword [esp + 0x3fc], ecx
mov dword [esp + 0x3f8], esi
je 0x4e6f97
jmp 0x4e7a7d
cmp ecx, 0x22
je 0x4ed1ea
mov dword [esp + 0x3d4], esi
mov esi, 0x10
cmp ecx, 0x27
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3e8], ecx
jne 0x4ed006
cmp esi, 9
je 0x4e4e9f
imul esi, esi
and esi, 3
cmp esi, 2
jne 0x4e6f97
jmp 0x4e4e9f
cmp eax, 5
jne 0x4ecb35
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov edi, dword [esp + 0x3bc]
jne 0x4eada8
jmp 0x4e7a7d
cmp eax, 0x22
je 0x4ed1ea
mov dword [esp + 0x3d4], esi
mov edx, 0xf
cmp eax, 0x27
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3bc]
jne 0x4ed128
cmp edx, 0xc
jne 0x4e6f97
mov eax, edx
and eax, 1
xor eax, edx
not eax
test eax, eax
jne 0x4ec048
cmp ecx, 6
jne 0x4ed145
mov edx, ecx
or edx, 2
xor ecx, 2
add ecx, edx
je 0x4ed145
mov dword [esp + 0x3bc], eax
jmp 0x4e5d98
mov eax, 0xe
mov byte [esp + 0x1bf], 0x3f
mov ecx, dword [esp + 0x3d4]
shl ecx, 6
mov edx, dword [esp + 0x39c]
mov ecx, dword [edx + ecx + 0x1c]
mov dword [esp + 0xf8], ecx
test ecx, ecx
mov ecx, dword [esp + 0x3b4]
mov edi, ecx
mov dword [esp + 0x3bc], ecx
je 0x4eada8
cmp eax, 0xe
mov ecx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x3f4]
mov esi, dword [esp + 0x408]
jne 0x4ed1d0
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x40c], esi
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x400], edx
jb 0x4e9a48
jmp 0x4ef6af
mov dword [esp + 0x40c], esi
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x400], edx
jmp 0x4ef6af
mov dword [esp + 0x3d4], esi
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3e8], eax
jmp 0x4e6481
mov dword [esp + 0x3d4], esi
mov ebx, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3f4], ecx
mov edi, dword [esp + 0x40c]
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x3d8]
mov dl, byte [esp + 0x1a2]
mov esi, dword [esp + 0x248]
jmp 0x4efa85
mov eax, 0x14
mov byte [esp + 0x14f], 3
mov byte [esp + 0x28a], 0x12
mov edx, dword [esp + 0x10c]
lea ecx, [edx + 8]
mov dword [esp + 0x13c], ecx
lea ecx, [edx + 4]
mov dword [esp + 0x308], ecx
mov esi, dword [esp + 0x294]
cmp esi, dword [edx + 8]
jbe 0x4ed754
mov ecx, esi
or ecx, 2
mov edx, esi
xor edx, 2
add edx, ecx
mov dword [esp + 0x240], esi
je 0x4ed75b
movzx ecx, byte [esp + 0x28a]
cmp ecx, 0x12
mov edx, dword [esp + 0x3e0]
je 0x4ed41a
mov eax, 0xb
cmp ecx, 0x21
je 0x4ed4a5
cmp ecx, 0x5e
jne 0x4ed583
mov byte [esp + 0x28a], 0x12
mov eax, dword [esp + 0x308]
mov eax, dword [eax]
mov ecx, dword [esp + 0x294]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
jne 0x4ed605
mov dword [esp + 0x408], edi
mov dword [esp + 0x3ac], 0x70000003
mov ecx, 7
mov edx, eax
and edx, 1
xor edx, eax
mov dword [esp + 0x25c], eax
not edx
test edx, edx
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
je 0x4ed9bc
cmp ecx, 7
je 0x4ed667
mov byte [esp + 0x28a], 0x5e
mov eax, dword [esp + 0x308]
mov eax, dword [eax]
mov ecx, dword [esp + 0x294]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
jne 0x4ed605
mov dword [esp + 0x408], edi
mov dword [esp + 0x3ac], 0x70000003
mov esi, 0x11
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
je 0x4ed9bc
cmp esi, 3
jne 0x4ee6c3
mov ecx, esi
not ecx
and ecx, 1
add ecx, esi
mov edi, dword [esp + 0x408]
jne 0x4ed295
jmp 0x4edf31
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x404], ecx
mov dword [esp + 0x40c], edi
cmp eax, 2
mov ebx, dword [esp + 0x3f8]
je 0x4ed5ed
mov edi, edx
xor eax, eax
test al, al
jne 0x4ed5f9
mov esi, 6
mov byte [esp + 0x28a], 0x21
mov eax, dword [esp + 0x308]
mov eax, dword [eax]
mov ecx, dword [esp + 0x294]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
mov dword [esp + 0x3ac], 0x70000003
test eax, eax
jne 0x4ed623
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x3e4], ebx
mov edx, edi
mov dword [esp + 0x3e0], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e8], eax
jne 0x4e8212
jmp 0x4ed9a5
mov esi, 0xf
mov byte [esp + 0x28a], 0xe
mov eax, dword [esp + 0x308]
mov eax, dword [eax]
mov ecx, dword [esp + 0x294]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
mov dword [esp + 0x3ac], 0x70000003
test eax, eax
jne 0x4ed688
mov edx, 0x10
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
jne 0x4edf19
jmp 0x4ed68f
mov ebx, dword [esp + 0x3b8]
jmp 0x4e5cc8
mov ebx, dword [esp + 0x3b8]
jmp 0x4e5cc8
mov dword [esp + 0x408], edi
mov dword [esp + 0x3ac], 0x70000003
mov dword [esp + 0x25c], eax
jmp 0x4ed6a6
mov dword [esp + 0x25c], eax
mov dword [esp + 0x3e4], ebx
mov dword [esp + 0x3e0], edi
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
jmp 0x4ed9a5
mov dword [esp + 0x25c], eax
cmp esi, 0xf
jne 0x4ed6b9
mov eax, 3
sub eax, esi
xor eax, esi
je 0x4ed6b9
mov dword [esp + 0x408], edi
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
jmp 0x4ed9bc
mov ebx, edi
mov eax, 5
mov byte [esp + 0x6e], 0x6d
mov ecx, dword [esp + 0x3d4]
shl ecx, 6
mov edx, dword [esp + 0x124]
mov edx, dword [edx + ecx + 0x1c]
test edx, edx
mov edi, dword [esp + 0x370]
jne 0x4ed787
mov ecx, 0x1e
mov esi, edx
or esi, 2
xor edx, 2
add edx, esi
mov edx, dword [esp + 0x37c]
mov dword [esp + 0x3c4], edx
mov esi, dword [esp + 0x344]
mov edx, edi
mov dword [esp + 0x408], ebx
je 0x4ed974
cmp ecx, 0xf
mov dword [esp + 0x344], esi
mov dword [esp + 0x370], edx
mov esi, dword [esp + 0x3f0]
mov ebx, dword [esp + 0x400]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
je 0x4f0fee
mov dword [esp + 0x240], esi
cmp eax, 4
jne 0x4ed77b
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x40c], edi
jne 0x4ef6af
jmp 0x4eda3d
mov dword [esp + 0x40c], edi
jmp 0x4eda3d
mov ecx, dword [esp + 0x37c]
mov dword [esp + 0x3c4], ecx
mov dword [esp + 0x408], ebx
jmp 0x4ed974
mov byte [esp + 0x35b], 0x68
mov byte [esp + 0x31e], 0x14
mov ecx, dword [esp + 0x424]
cmp ecx, 3
jb 0x4ed7ce
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x4edcd3
mov esi, 0x16
mov byte [esp + 0x13b], 2
cmp ecx, 2
mov edx, dword [esp + 0x390]
jne 0x4ed99e
mov eax, 0x1e
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x244], edx
jae 0x4ed9a5
cmp eax, 0xf
jne 0x4ed89a
movzx eax, byte [esp + 0x2e3]
cmp eax, 7
je 0x4e801f
mov esi, 0xe
mov byte [esp + 0x2e3], 7
mov eax, dword [esp + 0x368]
mov eax, dword [eax]
mov dword [esp + 0x1dc], eax
test eax, eax
mov ebx, dword [esp + 0x338]
je 0x4e818a
cmp esi, 0xe
jne 0x4efaff
mov eax, 0x10
movzx ecx, byte [esp + 0x13b]
cmp ecx, 0x38
je 0x4ed907
cmp ecx, 0x39
je 0x4edab8
mov eax, 4
cmp ecx, 0x50
jne 0x4edafc
mov byte [esp + 0x13b], 0x39
mov eax, dword [esp + 0x428]
mov edx, dword [esp + 0x41c]
cmp eax, 0x22
sbb cl, cl
imul eax, eax
and eax, 3
cmp eax, 2
sbb al, al
and al, cl
test al, 1
jne 0x4edc70
test edx, edx
mov dword [esp + 0x17c], edx
jne 0x4eddba
jmp 0x4eddd1
cmp eax, 0x10
je 0x4ed91b
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x4ea9cc
mov byte [esp + 0x13b], 0x38
mov eax, dword [esp + 0x428]
mov edx, dword [esp + 0x41c]
cmp eax, 0x22
jb 0x4edc45
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x4edc51
test edx, edx
mov dword [esp + 0x17c], edx
je 0x4eddd1
mov eax, 0xe
xor ecx, ecx
test cl, cl
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x408], ecx
jne 0x4eddd1
cmp eax, 5
je 0x4edbab
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
jne 0x4eddba
jmp 0x4e8f57
mov dword [esp + 0x244], edx
cmp esi, 6
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
jne 0x4eddd1
mov esi, 0x11
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x25c]
mov dword [eax], ecx
mov eax, dword [esp + 0x480]
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.007c51a0
mov eax, dword [esp + 0x480]
mov ecx, dword [esp + 0x13c]
mov dword [ecx], eax
mov eax, dword [esp + 0x480]
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x40c], ecx
cmp esi, 3
je 0x4edaac
mov ecx, esi
and ecx, 1
inc ecx
xor ecx, esi
mov dword [esp + 0x394], eax
je 0x4e79f2
mov esi, 8
mov eax, dword [esp + 0x484]
mov ecx, dword [esp + 0x308]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x240]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.007c51d0
mov dword [esp + 0x364], 0
cmp esi, 8
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
je 0x4e81ad
jmp 0x4eeba7
mov dword [esp + 0x394], eax
jmp 0x4e79f2
mov eax, 0x10
mov byte [esp + 0x13b], 0x50
mov edx, dword [esp + 0x41c]
cmp dword [esp + 0x428], 0x22
jb 0x4edc7c
test edx, edx
je 0x4edcc7
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
mov dword [esp + 0x17c], edx
jne 0x4eddba
jmp 0x4e91bc
mov ebx, dword [esp + 0x3b8]
cmp eax, 4
jne 0x4edb55
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x4edb55
mov byte [esp + 0x13b], 2
mov eax, dword [esp + 0x41c]
cmp dword [esp + 0x428], 0x22
jb 0x4edc5d
test eax, eax
mov dword [esp + 0x17c], eax
je 0x4edc88
xor eax, eax
test al, al
mov dword [esp + 0x3b8], ebx
je 0x4eddba
jmp 0x4eddd1
mov esi, 0xe
movzx eax, byte [esp + 0xaf]
cmp eax, 0x75
jne 0x4edbbe
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov ecx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov dword [esp + 0x3b8], ebx
mov ebx, dword [esp + 0x32c]
jmp 0x4e8b6f
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
jmp 0x4e8f57
mov byte [esp + 0xaf], 0x52
mov byte [esp + 0x13a], 0x51
mov eax, dword [esp + 0x338]
mov eax, dword [eax + 8]
mov dword [esp + 0x480], eax
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00493840
mov dword [esp + 0x484], eax
test eax, eax
jne 0x4edc94
mov dword [esp + 0x3ac], 0x70000003
mov esi, 9
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e4]
mov edx, dword [esp + 0x3e0]
jne 0x4eca07
jmp 0x4e8c2f
mov dword [esp + 0x17c], edx
jmp 0x4eddd1
mov dword [esp + 0x17c], edx
jmp 0x4eddd1
mov dword [esp + 0x17c], eax
mov dword [esp + 0x3b8], ebx
jmp 0x4eddd1
mov dword [esp + 0x17c], edx
jmp 0x4eddd1
mov dword [esp + 0x17c], edx
jmp 0x4e91bc
mov dword [esp + 0x3b8], ebx
jmp 0x4eddd1
mov dword [esp + 0x3ac], 0x70000003
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e4]
mov edx, dword [esp + 0x3e0]
jmp 0x4e8c2f
mov dword [esp + 0x17c], edx
jmp 0x4e91bc
mov eax, 3
mov esi, dword [esp + 0x41c]
test esi, esi
jne 0x4edd69
mov ecx, 0xc
mov edx, 3
sub edx, esi
xor edx, esi
mov dword [esp + 0x17c], esi
mov edx, dword [esp + 0x390]
mov dword [esp + 0x244], edx
je 0x4edd7e
cmp ecx, 3
mov eax, dword [esp + 0x400]
mov edx, dword [esp + 0x3f0]
mov esi, dword [esp + 0x40c]
je 0x4edd4f
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x408], esi
jne 0x4eddd1
jmp 0x4e98ab
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x408], esi
jmp 0x4e98ab
mov dword [esp + 0x17c], esi
mov ecx, dword [esp + 0x390]
mov dword [esp + 0x244], ecx
cmp eax, 3
jne 0x4ee8d0
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov esi, dword [esp + 0x40c]
je 0x4eb7e3
mov eax, dword [esp + 0x17c]
mov dword [esp], eax
mov dword [esp + 4], 0x34
call fcn.0064bf00
movzx eax, byte [esp + 0x31e]
cmp eax, 0xb
je 0x4ede06
cmp eax, 0x3a
je 0x4edf97
cmp eax, 0x60
jne 0x4edfce
mov byte [esp + 0x31e], 0x3a
mov ecx, dword [esp + 0x498]
test ecx, ecx
jmp 0x4edfb9
mov esi, 2
mov byte [esp + 0x31e], 0xb
mov ecx, dword [esp + 0x498]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ecx, eax
lea eax, [esp + 0x494]
mov dword [esp + 0x2b8], eax
jne 0x4ee02a
cmp esi, 2
mov ecx, dword [esp + 0x3d8]
mov edx, dword [esp + 0x3cc]
mov esi, dword [esp + 0x3c8]
mov edi, dword [esp + 0x3d0]
je 0x4ee5f8
xor eax, eax
test al, al
mov dword [esp + 0x404], ecx
mov dword [esp + 0x3fc], edx
mov edx, esi
mov dword [esp + 0x3f8], edi
jne 0x4eece8
mov eax, 0x15
movzx ecx, byte [esp + 0x313]
cmp ecx, 0x17
je 0x4edee7
mov edx, 0xa
cmp ecx, 0x21
je 0x4edf12
mov eax, 9
cmp ecx, 0x46
jne 0x4edf3d
mov esi, dword [esp + 0x40c]
cmp eax, 0xa
je 0x4ee82f
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x4e6a9e
mov edi, dword [esp + 0x40c]
cmp edx, 0xa
je 0x4ee627
mov dword [esp + 0x40c], edi
jmp 0x4ee6d1
mov byte [esp + 0x31e], 0x60
mov ecx, dword [esp + 0x498]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp ecx, eax
lea eax, [esp + 0x494]
mov dword [esp + 0x2b8], eax
jne 0x4ee02a
jmp 0x4ee08c
mov esi, 7
mov byte [esp + 0x31e], 0x14
mov ecx, dword [esp + 0x498]
test ecx, ecx
lea eax, [esp + 0x494]
mov dword [esp + 0x2b8], eax
jne 0x4ee02a
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
jmp 0x4f0656
mov esi, 0x14
mov edi, 1
nop word cs:[eax + eax]
mov eax, dword [esp + 0x494]
mov eax, dword [eax + esi]
test eax, eax
je 0x4ee05d
mov dword [esp], eax
call fcn.004936c0
mov ecx, dword [esp + 0x498]
mov edx, edi
imul edx, edx
and edx, 3
add esi, 0x18
cmp edi, ecx
lea edi, [edi + 1]
jb 0x4ee040
mov eax, 1
cmp edx, 2
je 0x4ee040
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jne 0x4ee0c2
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
jmp 0x4eece8
mov esi, 5
mov byte [esp + 0x31f], 0x15
mov eax, dword [esp + 0x3a0]
mov eax, dword [eax]
mov dword [esp + 0x4c8], 0
mov dword [esp + 0x4c4], 0
mov dword [esp + 0x4a8], 4
mov dword [esp + 0x4ac], 2
mov dword [esp + 0x4b0], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0x4b4], eax
mov dword [esp + 0x4b8], 0xfffffffd
lea eax, [esp + 0x4c4]
mov dword [esp + 8], eax
lea eax, [esp + 0x4c8]
mov dword [esp + 4], eax
lea eax, [esp + 0x4a8]
mov dword [esp], eax
call fcn.00593400
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x4e50a3
cmp esi, 5
jne 0x4ee240
mov eax, 3
sub eax, esi
xor eax, esi
je 0x4ee240
mov eax, 9
mov dl, byte [esp + 0x31f]
movzx ecx, dl
cmp ecx, 0x2f
je 0x4ee2d4
cmp ecx, 0x59
jne 0x4ee52e
mov edi, 0x12
mov esi, 9
mov byte [esp + 0x31f], 0x15
mov byte [esp + 0x273], 0x23
mov eax, dword [esp + 0x4c8]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x3a0]
mov eax, dword [eax]
mov dword [esp + 0x440], eax
mov eax, dword [esp + 0x360]
mov eax, dword [eax]
mov dword [esp + 0x444], eax
mov dword [esp + 0x448], 0xfffffff8
lea eax, [esp + 0x480]
mov dword [esp + 8], eax
lea eax, [esp + 0x484]
mov dword [esp + 4], eax
lea eax, [esp + 0x438]
mov dword [esp], eax
call fcn.00593400
test eax, eax
jne 0x4f0284
cmp edi, 8
je 0x4ee90b
imul edi, edi
and edi, 3
cmp edi, 2
mov ebx, dword [esp + 0x3b8]
jne 0x4efb72
jmp 0x4ee912
movzx ecx, byte [esp + 0x12b]
cmp ecx, 0x33
je 0x4ee6f9
mov eax, 0xb
cmp ecx, 0x5f
mov esi, dword [esp + 0x39c]
jne 0x4ee7a1
mov byte [esp + 0x12b], 0x62
mov eax, dword [esp + 0x3d4]
shl eax, 6
lea ecx, [esi + eax + 0x14]
mov dword [esp + 0x90], ecx
mov eax, dword [esi + eax + 0x14]
test eax, eax
jne 0x4eeb76
mov dword [esp + 0x2d8], eax
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
jb 0x4ee735
jmp 0x4eeba7
mov byte [esp + 0x31f], dl
cmp eax, 6
jne 0x4ee3f7
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x4ee3f7
mov ecx, 1
mov esi, 0x19
mov byte [esp + 0x1c5], 0xc
mov edx, dword [esp + 0x318]
cmp dword [edx], 0
mov eax, dword [esp + 0x394]
mov edi, dword [esp + 0x3b4]
mov dword [esp + 0x3bc], edi
mov dword [esp + 0x2c8], edx
jne 0x4e4649
mov eax, ecx
or eax, 2
mov edx, ecx
xor edx, 2
add edx, eax
setne al
movzx eax, al
cmp ecx, eax
jne 0x4e4a55
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3b4]
mov ecx, 0x12
mov dl, byte [esp + 0x2d3]
movzx edx, dl
cmp edx, 8
jne 0x4ea9a1
mov edx, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], edx
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x400], edx
mov edx, dword [esp + 0x408]
mov dword [esp + 0x40c], edx
mov dword [esp + 0x3b4], eax
cmp ecx, 0xc
je 0x4ee8b8
xor eax, eax
test al, al
jne 0x4ee8c4
mov byte [esp + 0x2d3], 8
mov eax, dword [esp + 0x34c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c8]
mov dword [ecx], eax
jmp 0x4ea9d9
mov dword [esp + 0x408], 0x17
mov edi, 5
mov byte [esp + 0x31f], 0x2f
mov byte [esp + 0x273], 0x23
mov eax, dword [esp + 0x4c8]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x3a0]
mov eax, dword [eax]
mov dword [esp + 0x440], eax
mov eax, dword [esp + 0x360]
mov eax, dword [eax]
mov dword [esp + 0x444], eax
mov dword [esp + 0x448], 0xfffffff8
lea eax, [esp + 0x480]
mov dword [esp + 8], eax
lea eax, [esp + 0x484]
mov dword [esp + 4], eax
lea eax, [esp + 0x438]
mov dword [esp], eax
call fcn.00593400
test eax, eax
mov esi, dword [esp + 0x3b0]
mov ebx, dword [esp + 0x3a4]
je 0x4f0d64
cmp edi, 5
je 0x4ee614
mov eax, edi
and eax, 1
inc eax
xor eax, edi
je 0x4ee614
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0x3b0], esi
mov esi, 8
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [esp + 0x16c], eax
mov ecx, dword [esp + 0x78]
mov dword [ecx], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov edi, dword [esp + 0x3bc]
mov dword [esp + 0x408], eax
cmp esi, 6
je 0x4ee8f8
xor eax, eax
test al, al
mov esi, dword [esp + 0x3b0]
mov ebx, dword [esp + 0x3a4]
je 0x4e95bc
jmp 0x4eb452
mov esi, 9
mov byte [esp + 0x31f], 0x59
mov byte [esp + 0x273], 0x23
mov eax, dword [esp + 0x4c8]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x3a0]
mov eax, dword [eax]
mov dword [esp + 0x440], eax
mov eax, dword [esp + 0x360]
mov eax, dword [eax]
mov dword [esp + 0x444], eax
mov dword [esp + 0x448], 0xfffffff8
lea eax, [esp + 0x480]
mov dword [esp + 8], eax
lea eax, [esp + 0x484]
mov dword [esp + 4], eax
lea eax, [esp + 0x438]
mov dword [esp], eax
call fcn.00593400
test eax, eax
jne 0x4e556a
cmp esi, 9
jne 0x4ee6d1
imul esi, esi
and esi, 3
cmp esi, 2
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
jb 0x4efb72
jmp 0x4e8212
mov dword [esp + 0x404], ecx
mov dword [esp + 0x3fc], edx
mov edx, esi
mov dword [esp + 0x3f8], edi
jmp 0x4eece8
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0x3b0], esi
jmp 0x4e556a
cmp esi, 6
je 0x4ee6c3
mov eax, esi
and eax, 1
inc eax
xor eax, esi
mov ebx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
jne 0x4eb9de
jmp 0x4e8212
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
jmp 0x4e6a8b
mov esi, 0x12
mov byte [esp + 0x12b], 0x33
mov eax, dword [esp + 0x3d4]
shl eax, 6
mov edx, dword [esp + 0x39c]
lea ecx, [edx + eax + 0x14]
mov dword [esp + 0x90], ecx
mov eax, dword [edx + eax + 0x14]
mov dword [esp + 0x2d8], eax
test eax, eax
jne 0x4eda74
mov ebx, 9
mov al, byte [esp + 0x7f]
movzx eax, al
cmp eax, 0x5e
je 0x4ea7ba
mov edi, edx
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp ebx, eax
jne 0x4ee83b
mov esi, dword [esp + 0x20c]
jmp 0x4e7f2e
mov ebx, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3f4], ecx
mov edi, dword [esp + 0x40c]
cmp eax, 0xb
je 0x4ea73d
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x4ea73d
mov dword [esp + 0x39c], esi
mov eax, dword [esp + 0x35c]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov esi, 5
mov byte [esp + 0x6d], 0x10
mov dword [esp + 0x3f0], ebx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov ebx, dword [esp + 0x3b8]
mov dword [esp + 0x40c], edi
jne 0x4e4a31
jmp 0x4ea56e
mov dword [esp + 0x40c], esi
jmp 0x4f0933
mov byte [esp + 0x7f], 0xe
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov ecx, eax
mov dword [esp + 0x2d8], ecx
mov eax, dword [esp + 0x90]
mov dword [eax], ecx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], eax
mov dword [esp + 0x3e0], edi
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e8], eax
jmp 0x4eeb99
mov ebx, dword [esp + 0x338]
jmp 0x4e818a
mov ebx, dword [esp + 0x338]
jmp 0x4e818a
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov esi, dword [esp + 0x40c]
jmp 0x4eb7e3
mov esi, dword [esp + 0x3b0]
mov ebx, dword [esp + 0x3a4]
jmp 0x4eb452
mov ebx, dword [esp + 0x3b8]
mov eax, dword [esp + 0xf8]
cmp dword [eax], 0
jne 0x4eeac1
mov cl, byte [esp + 0xcf]
movzx ecx, cl
cmp ecx, 0x10
je 0x4eebec
cmp ecx, 0x59
jne 0x4ea273
mov esi, 0xa
mov eax, 4
mov byte [esp + 0xcf], 0x59
mov ecx, dword [esp + 0x34c]
cmp dword [ecx], 0
jne 0x4ee979
cmp esi, 7
jne 0x4ea56e
imul esi, esi
and esi, 3
cmp esi, 2
jb 0x4e54ca
jmp 0x4ea56e
cmp eax, 4
mov ecx, dword [esp + 0x400]
mov edx, dword [esp + 0x3f0]
mov esi, dword [esp + 0x40c]
je 0x4ea2b7
xor eax, eax
test al, al
mov dword [esp + 0x3b8], ebx
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x3f4], ecx
mov dword [esp + 0x408], esi
jne 0x4ea2be
movzx eax, byte [esp + 0x1ef]
cmp eax, 0x4e
jne 0x4eaa0d
mov byte [esp + 0x1ef], 0x4e
mov eax, dword [esp + 0x3d4]
shl eax, 6
mov edx, dword [esp + 0x39c]
lea ecx, [edx + eax + 0x14]
mov dword [esp + 0x144], ecx
mov ecx, dword [edx + eax + 0x14]
test ecx, ecx
jne 0x4eeb4b
mov eax, ecx
not eax
and eax, 1
add eax, ecx
mov dword [esp + 0x264], ecx
je 0x4eeb52
mov esi, 0xe
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov ecx, eax
mov dword [esp + 0x264], ecx
mov eax, dword [esp + 0x144]
mov dword [eax], ecx
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
cmp esi, 0xe
jne 0x4eeab5
mov dword [esp + 0x408], ebx
movzx ecx, byte [esp + 0x6d]
cmp ecx, 0x10
je 0x4eec2d
mov eax, 0x14
cmp ecx, 0x35
je 0x4eecb2
cmp ecx, 0x3e
jne 0x4e9fd6
mov ebx, dword [esp + 0x408]
cmp eax, 0xf
jne 0x4ea542
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x4ea542
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
mov dword [esp + 0x3b8], ebx
jmp 0x4e8212
mov dword [esp + 0x264], ecx
mov eax, 5
mov dl, byte [esp + 0x2d1]
movzx ecx, dl
cmp ecx, 0x23
je 0x4eaa9c
mov ebx, dword [esp + 0x328]
jmp 0x4eb13e
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, 9
movzx ecx, byte [esp + 0x28b]
cmp ecx, 3
jne 0x4ea7ea
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], ecx
mov edx, dword [esp + 0x3f4]
mov esi, dword [esp + 0x408]
mov edi, dword [esp + 0x378]
mov ebx, dword [esp + 0x3b0]
jmp 0x4efc4b
mov dword [esp + 0x3b8], ebx
mov esi, dword [esp + 0x3c0]
mov edi, dword [esp + 0x378]
mov edx, dword [esp + 0x3e4]
mov ebx, dword [esp + 0x3e0]
mov dword [esp + 0x408], 8
mov eax, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3e8]
jmp 0x4e7eb1
mov edi, 0x12
mov ecx, 0xd
mov byte [esp + 0x6d], 0x46
mov eax, dword [esp + 0x35c]
mov edx, dword [eax]
mov esi, edx
imul esi, esi
and esi, 3
cmp esi, 3
sete bl
movzx esi, bl
cmp edx, esi
mov ebx, dword [esp + 0x408]
jne 0x4ea298
mov dword [esp + 0x3b8], ebx
cmp edi, 0x10
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
mov ebx, dword [esp + 0x3b8]
je 0x4e7a7d
jmp 0x4ea56e
mov ebx, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3f4], ecx
mov edi, dword [esp + 0x40c]
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x3b8], ecx
mov esi, dword [esp + 0x39c]
jmp 0x4ee7bd
mov ebx, edx
mov eax, dword [esp + 0x2b8]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004936c0
mov ecx, dword [esp + 0x48c]
test ecx, ecx
jne 0x4eed73
mov eax, 9
mov edx, 3
sub edx, ecx
xor edx, ecx
je 0x4eed73
cmp eax, 6
je 0x4eeda7
xor eax, eax
test al, al
jne 0x4eeda7
mov byte [esp + 0x2d3], dl
mov byte [esp + 0x2d6], cl
mov dword [esp + 0x404], esi
jmp 0x4eee60
mov al, 0x55
movzx eax, al
cmp eax, 0xd
jne 0x4eedeb
mov dword [esp + 0x3d8], esi
mov byte [esp + 0x2d3], dl
mov byte [esp + 0x2d6], cl
mov esi, 0x11
mov eax, 0x16
mov byte [esp + 0x15f], 0x62
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x3d4]
cmp dword [ecx + edx*4], 3
jne 0x4e78f1
jmp 0x4ef967
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov ebx, dword [esp + 0x3d0]
mov edi, dword [esp + 0x354]
mov esi, 0x11
mov eax, dword [esp + 0x484]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x488]
test eax, eax
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3d8], ecx
mov ecx, dword [esp + 0x374]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x3cc], ecx
mov dword [esp + 0x3d0], ebx
je 0x4eef3e
cmp esi, 0xf
jne 0x4eef36
mov dword [esp + 0x118], eax
mov byte [esp + 0x2bf], 0xd
mov eax, dword [esp + 0x208]
mov eax, dword [eax]
mov eax, dword [eax + edi*4]
mov edx, dword [esp + 0x3a8]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00427270
mov ebx, eax
test ebx, ebx
je 0x4eef77
mov eax, ebx
and eax, 1
inc eax
xor eax, ebx
mov dword [esp + 0x314], edi
jne 0x4e7701
jmp 0x4e7881
mov dword [esp], eax
call fcn.0062ddc0
mov eax, dword [esp + 0x244]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x314], edi
jmp 0x4e7881
mov esi, 0xe
mov byte [esp + 0x10a], 0x6b
mov eax, dword [esp + 0x3a0]
mov eax, dword [eax]
lea ecx, [esp + 0x420]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0059a7b0
mov dword [esp + 0x390], 0x70000030
test eax, eax
jne 0x4f11b6
cmp ecx, 3
je 0x4e4fa3
mov dword [esp + 0x390], 0x70000003
mov byte [esp + 0x2d4], 7
jmp 0x4f0933
mov esi, 5
mov byte [esp + 0x273], 0x23
mov byte [esp + 0x1e7], 0x3e
mov eax, dword [esp + 0x480]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x484]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x2f0]
mov eax, dword [eax]
mov dword [esp + 0x12c], eax
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x18]
mov ecx, dword [esp + 0x348]
mov ecx, dword [ecx]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esp + 0x21c], 0x70000003
test eax, eax
jne 0x4ef096
mov ecx, eax
mov dword [esp + 0xc0], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x3f0], ebx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov dword [esp + 0x40c], edi
jb 0x4ef19d
jmp 0x4ef0b9
mov dword [esp + 0xc0], eax
mov dword [esp + 0x3f0], ebx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov dword [esp + 0x40c], edi
cmp esi, 5
jne 0x4ecb35
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
jne 0x4e533d
jmp 0x4e7a7d
mov dword [esp + 0x3d4], esi
mov byte [esp + 0x273], 0x54
mov byte [esp + 0x1e7], 0x3e
mov eax, dword [esp + 0x480]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x484]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x2f0]
mov eax, dword [eax]
mov dword [esp + 0x12c], eax
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x18]
mov ecx, dword [esp + 0x348]
mov ecx, dword [ecx]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
test eax, eax
mov dword [esp + 0x21c], 0x70000003
je 0x4ef196
mov esi, 0xe
mov ecx, eax
mov dword [esp + 0xc0], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x4ef661
jmp 0x4ef19d
mov dword [esp + 0xc0], eax
movzx eax, byte [esp + 0x1e7]
cmp eax, 0x29
je 0x4ef2c1
mov ecx, 0x1a
cmp eax, 0x64
je 0x4e5520
mov esi, dword [esp + 0x214]
cmp ecx, 0xa
je 0x4ef2fe
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x4ef2fe
mov dword [esp + 0x214], esi
mov esi, 0x15
mov byte [esp + 0x1e7], 0x3e
mov eax, dword [esp + 0x484]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x484], 0
mov ecx, dword [esp + 0x21c]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ecx, eax
mov dword [esp + 0x390], ecx
jne 0x4f0933
cmp esi, 5
je 0x4ef23f
mov byte [esp + 0x1e7], 0x29
mov eax, dword [esp + 0x484]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x484], 0
mov eax, dword [esp + 0x21c]
test eax, eax
mov dword [esp + 0x390], eax
je 0x4e556a
jmp 0x4f0933
mov eax, 2
mov byte [esp + 0x16b], 0x52
cmp esi, 2
sete cl
mov edx, esi
mov dword [esp + 0x214], esi
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
or dl, cl
movzx ecx, dl
cmp ecx, 1
jne 0x4ef4e0
mov ecx, 7
mov edx, dword [esp + 0x2ac]
mov edx, dword [edx]
test edx, edx
jne 0x4ef4e0
cmp ecx, 7
mov ecx, dword [esp + 0x400]
mov edx, dword [esp + 0x3f0]
mov esi, dword [esp + 0x40c]
je 0x4e7072
mov eax, 2
movzx ecx, byte [esp + 0x26b]
cmp ecx, 0x34
jne 0x4eaaeb
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x40c], ecx
cmp eax, 2
jne 0x4ef4f8
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x4ef4f8
mov ecx, 0xa
mov byte [esp + 0x26b], 0x38
mov eax, dword [esp + 0x34c]
mov eax, dword [eax]
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
mov esi, dword [esp + 0x3d4]
shl esi, 6
mov ebx, dword [esp + 0x39c]
mov edi, dword [ebx + esi + 0x14]
mov dword [esp + 0x2b0], edi
test edi, edi
setne byte [esp + 0x2a3]
cmp eax, edx
lea eax, [ebx + esi + 0x14]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov ebx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
jne 0x4ef50b
movzx eax, byte [esp + 0x129]
cmp eax, 0xe
je 0x4ef892
cmp eax, 0x2d
jne 0x4ef89c
mov edx, 8
mov byte [esp + 0x129], 0x54
cmp byte [esp + 0x2a3], 0
mov ecx, dword [esp + 0x3b4]
mov edi, ecx
mov dword [esp + 0x3bc], ecx
je 0x4eada8
jmp 0x4e55d9
cmp eax, 2
je 0x4e74ef
xor eax, eax
test al, al
je 0x4e47d2
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
jmp 0x4e9657
mov dword [esp + 0x374], ebx
cmp ecx, 0xa
mov ecx, dword [esp + 0x400]
mov edx, dword [esp + 0x3f0]
mov esi, dword [esp + 0x40c]
mov ebx, dword [esp + 0x3f8]
mov edi, dword [esp + 0x3fc]
je 0x4ef84e
xor eax, eax
test al, al
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x3f4], ecx
mov dword [esp + 0x408], esi
mov dword [esp + 0x3e4], ebx
mov eax, dword [esp + 0x374]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x3dc], edi
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3e8], ecx
mov edi, eax
jne 0x4eab56
mov esi, 0xa
imul eax, dword [esp + 0x3c0], 0x1c
mov edx, dword [esp + 0x36c]
mov ecx, dword [edx + eax + 0x14]
mov eax, dword [edx + eax + 0x18]
mov edx, dword [esp + 0x150]
mov dword [esp + 0xc], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 0x34
call fcn.0064be40
mov edx, edi
mov dword [esp + 0x3ac], eax
test eax, eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], eax
mov dword [esp + 0x3e0], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e8], eax
jne 0x4e8212
cmp esi, 0xa
jne 0x4ef6af
mov esi, 0x1d
mov ecx, dword [esp + 0x41c]
mov edx, dword [ecx]
mov eax, dword [esp + 0xfc]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x224]
mov dword [eax], edx
mov ecx, dword [ecx + 8]
mov dword [esp + 0x178], ecx
mov eax, dword [esp + 0x238]
mov dword [eax], ecx
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x174], eax
cmp esi, 0xe
je 0x4e533d
imul esi, esi
and esi, 3
cmp esi, 3
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
jne 0x4e67bc
jmp 0x4e533d
movzx eax, byte [esp + 0x33f]
cmp eax, 0x7b
je 0x4ef795
cmp eax, 0x7f
jne 0x4e91ca
mov esi, 4
mov byte [esp + 0x33f], 0x7b
call fcn.00449410
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x41c]
mov eax, dword [eax + 0x10]
mov ecx, eax
imul ecx, ecx
and ecx, 3
xor edx, edx
cmp ecx, 3
mov edi, dword [esp + 0x3d4]
lea ecx, [eax + edi*4]
cmove ecx, edx
test eax, eax
cmove ecx, eax
mov eax, dword [esp + 0x488]
mov edx, dword [eax + 8]
mov eax, edi
shl eax, 6
mov edi, dword [edx + eax + 0x10]
test edi, edi
jne 0x4ef952
mov dword [esp + 0x39c], edx
mov dword [esp + 0x35c], ecx
mov eax, 0xd
mov ecx, 3
sub ecx, edi
xor ecx, edi
mov dword [esp + 0x248], edi
je 0x4ef967
cmp eax, 9
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov edi, dword [esp + 0x3bc]
mov eax, dword [esp + 0x3b4]
je 0x4eada8
mov byte [esp + 0x33f], 0x7f
call fcn.00449410
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x41c]
mov eax, dword [eax + 0x10]
mov ecx, eax
imul ecx, ecx
and ecx, 3
xor edx, edx
cmp ecx, 3
mov esi, dword [esp + 0x3d4]
lea ecx, [eax + esi*4]
cmove ecx, edx
test eax, eax
cmove ecx, eax
mov eax, dword [esp + 0x488]
mov edx, dword [eax + 8]
mov eax, esi
shl eax, 6
mov esi, dword [edx + eax + 0x10]
test esi, esi
je 0x4efaea
mov dword [esp + 0x39c], edx
mov dword [esp + 0x35c], ecx
mov ecx, 0x13
mov eax, esi
mov dword [esp + 0x248], esi
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3b4]
jne 0x4e9f88
jmp 0x4efb30
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x3f4], ecx
mov dword [esp + 0x408], esi
mov dword [esp + 0x3e4], ebx
mov eax, dword [esp + 0x374]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x3dc], edi
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e8], eax
jmp 0x4eab56
mov byte [esp + 0x129], 0xe
jmp 0x4ef8a4
mov byte [esp + 0x129], 0x2d
cmp byte [esp + 0x2a3], 0
mov edi, dword [esp + 0x3b4]
jne 0x4ead88
jmp 0x4eada8
cmp eax, 0x10
jne 0x4e6626
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x4e6626
mov dword [esp + 0x248], edi
mov dword [esp + 0x39c], edx
mov dword [esp + 0x35c], ecx
cmp esi, 4
je 0x4ef986
xor eax, eax
test al, al
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
je 0x4e90f1
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, 0x10
mov dl, byte [esp + 0x1a2]
movzx ecx, dl
cmp ecx, 0x3a
jne 0x4efa5b
cmp eax, 7
mov edx, dword [esp + 0x35c]
je 0x4efa22
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x4e92c1
mov byte [esp + 0x1bd], 0x15
mov eax, dword [edx]
mov ecx, dword [esp + 0x1f8]
mov dword [ecx], eax
mov edi, 1
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
jmp 0x4eada8
cmp eax, 7
jne 0x4e9264
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x4e9264
mov dword [esp + 0x248], esi
mov dword [esp + 0x3f0], ebx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x400], eax
mov esi, edi
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov ebx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x404], ecx
jmp 0x4e642a
mov dword [esp + 0x248], esi
mov dword [esp + 0x39c], edx
mov dword [esp + 0x35c], ecx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3b4]
movzx ecx, byte [esp + 0x23f]
cmp ecx, 0x1f
mov edx, dword [esp + 0x39c]
mov ecx, dword [esp + 0x3d4]
jne 0x4e9931
mov byte [esp + 0x23f], 0x1f
shl ecx, 6
mov ecx, dword [edx + ecx + 0x18]
mov dword [esp + 0x170], ecx
test ecx, ecx
jne 0x4e9963
jmp 0x4e9a3a
mov eax, 9
movzx edx, byte [esp + 0x273]
cmp edx, 0x22
je 0x4efbec
mov ecx, 0x10
cmp edx, 0x54
mov ebx, dword [esp + 0x3f0]
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3f4], edx
mov esi, dword [esp + 0x40c]
mov edi, esi
je 0x4f0914
cmp eax, 9
jne 0x4efbc4
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x4eeff4
mov dword [esp + 0x408], edi
mov dword [esp + 0x3ec], ebx
mov byte [esp + 0x142], 0x33
mov eax, dword [esp + 0x278]
mov dword [eax], 0
jmp 0x4eada3
mov esi, dword [esp + 0x3d4]
cmp eax, 3
jne 0x4ef109
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x4e629b
jmp 0x4ef109
movzx edx, byte [esp + 0x2ef]
cmp edx, 3
je 0x4efd3e
cmp eax, 9
jne 0x4efc9c
cmp eax, 8
jne 0x4eff27
mov dword [esp + 0x3bc], ecx
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x4eff5d
mov dword [esp + 0x40c], esi
mov eax, 0x11
mov byte [esp + 0x2ef], 0x20
lea ecx, [edx + 8]
mov dword [esp + 0x334], ecx
mov dword [esp + 0x398], edx
mov edx, dword [edx + 8]
mov dword [esp + 0x36c], edx
imul ecx, edi, 0x1c
lea esi, [edx + ecx]
mov dword [esp + 0x2f4], esi
mov edx, dword [edx + ecx + 4]
mov dword [esp + 0x2dc], edx
mov ecx, edx
and ecx, 1
xor ecx, edx
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
cmp edx, ecx
mov ecx, dword [esp + 0x388]
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x3c8], ebx
mov edx, dword [esp + 0x3a4]
mov dword [esp + 0x3cc], edx
mov dword [esp + 0x3c0], edi
mov dword [esp + 0x378], edi
mov esi, dword [esp + 0x384]
mov dword [esp + 0x3d0], esi
mov dword [esp + 0x404], ecx
mov ecx, ebx
mov dword [esp + 0x3b0], ebx
mov dword [esp + 0x3fc], edx
mov edx, ecx
mov dword [esp + 0x3f8], esi
jne 0x4e6f49
jmp 0x4effa1
mov dword [esp + 0x3b0], ebx
mov dword [esp + 0x378], edi
mov dword [esp + 0x398], edx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
jmp 0x4f0a0d
mov dword [esp + 0x3b0], ebx
mov dword [esp + 0x378], edi
mov dword [esp + 0x398], edx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x408], esi
mov edi, dword [esp + 0x3bc]
jmp 0x4eada8
mov eax, 0x10
mov cl, byte [esp + 0x2b7]
movzx ecx, cl
cmp ecx, 0x16
jne 0x4effc3
cmp eax, 0x10
je 0x4e5a30
jmp 0x4f06a4
mov eax, 0x18
mov byte [esp + 0x2b7], 0x16
imul ecx, dword [esp + 0x3c0], 0x1c
mov dword [esp + 0x3ac], 0x30000003
mov edx, dword [esp + 0x36c]
cmp dword [edx + ecx + 0x14], 4
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], ecx
mov edx, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3c4], ecx
jne 0x4e8212
cmp eax, 0xe
mov ebx, dword [esp + 0x3b8]
je 0x4ea56e
imul eax, dword [esp + 0x3c0], 0x1c
mov ecx, dword [esp + 0x36c]
mov eax, dword [ecx + eax + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x3e4], eax
mov ecx, dword [esp + 0x3c8]
mov edx, ecx
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov esi, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], esi
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov dword [esp + 0x3e8], eax
jmp 0x4e7a7d
mov byte [esp + 0x2d7], 1
mov eax, dword [esp + 0x2f4]
mov edx, dword [eax]
cmp edx, 3
je 0x4f00d1
mov eax, edx
and eax, 1
inc eax
xor eax, edx
jne 0x4e5b59
mov dword [esp + 0x1f4], edx
mov esi, dword [esp + 0x330]
mov eax, 7
movzx edx, byte [esp + 0x1cf]
cmp edx, 0x2e
je 0x4f02d2
mov ecx, 0x16
cmp edx, 0x3b
je 0x4f01be
cmp edx, 0x74
jne 0x4f03dc
mov dword [esp + 0x330], esi
mov byte [esp + 0x1cf], 0x2e
mov eax, dword [esp + 0x360]
mov eax, dword [eax]
mov ecx, dword [esp + 0x320]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x3a0]
mov ecx, dword [ecx]
mov esi, dword [esp + 0x2f4]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x368]
mov dword [esp], eax
call fcn.004dd150
mov dword [esp + 0x3ac], eax
test eax, eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov edi, edx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], ecx
mov esi, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], esi
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x3e4], esi
mov dword [esp + 0x3e0], edx
mov dword [esp + 0x3dc], ecx
mov dword [esp + 0x3e8], eax
je 0x4e7a7d
jmp 0x4e8212
cmp ecx, 0xf
je 0x4f0521
mov dword [esp + 0x330], esi
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x4f0528
mov edi, 8
mov esi, 2
mov byte [esp + 0x1cf], 0x58
mov eax, dword [esp + 0x360]
mov eax, dword [eax]
mov ecx, dword [esp + 0x320]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x3a0]
mov ecx, dword [ecx]
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x368]
mov dword [esp], eax
call fcn.004dd150
mov dword [esp + 0x3ac], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3e8], eax
mov dword [esp + 0x3c4], eax
je 0x4e9494
cmp esi, 2
jne 0x4e556a
mov eax, 3
sub eax, esi
xor eax, esi
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x404], eax
jne 0x4e8212
jmp 0x4e556a
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x404], ecx
mov ebx, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], ecx
mov dword [esp + 0x330], esi
cmp eax, 5
je 0x4f04ae
imul eax, eax
and eax, 3
cmp eax, 3
je 0x4f04ae
mov esi, 0x17
mov byte [esp + 0x1cf], 0x3b
mov eax, dword [esp + 0x360]
mov eax, dword [eax]
mov ecx, dword [esp + 0x320]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x3a0]
mov ecx, dword [ecx]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x368]
mov dword [esp], eax
call fcn.004dd150
mov dword [esp + 0x3ac], eax
test eax, eax
je 0x4f061c
xor eax, eax
test al, al
mov edi, dword [esp + 0x404]
mov dword [esp + 0x3d8], edi
mov edx, ebx
mov dword [esp + 0x3c8], edx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x3cc], ecx
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3c4], edi
mov dword [esp + 0x3e4], eax
mov dword [esp + 0x3e0], edx
mov dword [esp + 0x3dc], ecx
mov dword [esp + 0x3e8], edi
je 0x4e8212
jmp 0x4f0656
mov dword [esp + 0x330], esi
mov ebx, 5
mov esi, 0x17
mov byte [esp + 0x1cf], 0x74
mov eax, dword [esp + 0x360]
mov eax, dword [eax]
mov ecx, dword [esp + 0x320]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x3a0]
mov ecx, dword [ecx]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x368]
mov dword [esp], eax
call fcn.004dd150
mov dword [esp + 0x3ac], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov edi, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], edi
mov edx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], edx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], ecx
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3e8], eax
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x3f8], edi
mov dword [esp + 0x3fc], ecx
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x390]
jne 0x4eb4db
jmp 0x4e826d
mov esi, 0x18
mov byte [esp + 0x6f], 2
mov ecx, dword [esp + 0x3a8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x3fc]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], 0x80dc4c
call fcn.0043ab10
mov eax, dword [esp + 0x48c]
mov eax, dword [eax + 8]
mov dword [esp + 0x26c], eax
mov ecx, dword [esp + 0x3e0]
mov edx, dword [esp + 0x3dc]
jmp 0x4e7a64
mov dword [esp + 0x330], esi
mov dword [esp + 0x3fc], 7
mov eax, dword [esp + 0x224]
mov eax, dword [eax]
mov ecx, dword [esp + 0x238]
mov dword [ecx], eax
mov edi, dword [esp + 0x3f0]
mov ebx, dword [esp + 0x400]
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x404], eax
mov esi, dword [esp + 0x3d0]
mov dword [esp + 0x3e4], esi
mov edx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], edx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3dc], ecx
mov eax, dword [esp + 0x284]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3d0], esi
mov dword [esp + 0x3c8], edx
mov dword [esp + 0x3cc], ecx
mov dword [esp + 0x3d8], eax
cmp dword [esp + 0x3fc], 7
mov dword [esp + 0x3f0], edi
mov dword [esp + 0x400], ebx
mov edi, dword [esp + 0x408]
mov dword [esp + 0x40c], edi
mov edi, dword [esp + 0x404]
mov dword [esp + 0x3bc], edi
mov dword [esp + 0x404], eax
mov dword [esp + 0x3fc], ecx
mov dword [esp + 0x3f8], esi
jne 0x4e4dc5
jmp 0x4e7a7d
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3e4], eax
mov edx, ebx
mov dword [esp + 0x3e0], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e8], eax
mov dword [esp + 0x3c4], eax
cmp esi, 7
jne 0x4e7a7d
imul esi, esi
and esi, 3
cmp esi, 2
jb 0x4eece8
jmp 0x4e7a7d
mov byte [esp + 0x2d7], 0x65
mov eax, dword [esp + 0x2f4]
mov edx, dword [eax]
cmp edx, 3
jne 0x4e5b59
mov eax, edx
or eax, 2
mov ecx, edx
xor ecx, 2
add ecx, eax
jne 0x4f00d1
jmp 0x4e5b59
movzx eax, byte [esp + 0x2d7]
cmp eax, 0x43
je 0x4f00ad
cmp eax, 0x65
je 0x4e5aa5
jmp 0x4f0673
mov eax, 0x14
movzx edx, byte [esp + 0x207]
cmp edx, 0xb
je 0x4f0a1b
cmp eax, 0xd
je 0x4e92f5
imul eax, eax
and eax, 3
cmp eax, 3
je 0x4e92f5
mov esi, 1
mov byte [esp + 0x207], 0x22
mov eax, dword [esp + 0x370]
shl eax, 6
mov edx, dword [esp + 0x300]
lea ecx, [edx + eax + 0x24]
mov dword [esp + 0x200], ecx
cmp dword [edx + eax + 0x24], 0
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x344], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x40c], eax
jne 0x4f0ad4
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jne 0x4f0814
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x370]
mov dword [esp + 0x3f4], eax
jmp 0x4f0eed
mov esi, 7
mov byte [esp + 0x10a], 0x6b
mov eax, dword [esp + 0x3a0]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0059ab80
mov dword [esp + 0x390], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4f0933
cmp esi, 7
jne 0x4f0878
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x4f0878
movzx eax, byte [esp + 0x10a]
cmp eax, 0x77
je 0x4e4f5b
jmp 0x4eef83
mov byte [esp + 0x10b], 0x31
mov eax, dword [esp + 0x30c]
mov dword [esp], eax
call fcn.004936c0
movzx eax, byte [esp + 0x2d2]
cmp eax, 4
je 0x4f0973
mov edx, 0xf
cmp eax, 0x67
je 0x4e79d1
mov eax, dword [esp + 0x394]
mov edi, dword [esp + 0x318]
mov esi, dword [esp + 0x40c]
cmp edx, 0xf
je 0x4e7987
xor ecx, ecx
test cl, cl
mov dword [esp + 0x394], 0
jne 0x4e7987
mov dword [esp + 0x40c], esi
cmp ecx, 0x10
je 0x4e52cb
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x4e52cb
movzx eax, byte [esp + 0x35b]
cmp eax, 0x68
je 0x4ed7a1
mov byte [esp + 0x35b], 0x10
mov byte [esp + 0x31e], 0x14
mov ecx, dword [esp + 0x424]
cmp ecx, 2
ja 0x4edcd3
xor eax, eax
test al, al
je 0x4ed7ce
jmp 0x4edcd3
mov byte [esp + 0x2d2], 0x2c
mov edx, dword [esp + 0x410]
test edx, edx
jne 0x4f0fc8
mov eax, 0xb
mov ecx, 3
sub ecx, edx
xor ecx, edx
mov dword [esp + 0x258], edx
je 0x4e79f2
cmp eax, 8
mov ecx, dword [esp + 0x3bc]
mov edx, dword [esp + 0x400]
mov esi, dword [esp + 0x40c]
je 0x4f09f8
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x394]
mov edi, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], edi
mov dword [esp + 0x3f4], edx
mov dword [esp + 0x408], esi
mov edi, ecx
jne 0x4e7a13
jmp 0x4eada8
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f4], edx
mov dword [esp + 0x408], esi
mov edi, ecx
jmp 0x4eada8
cmp eax, 7
jne 0x4f0a56
mov dword [esp + 0x370], esi
mov esi, dword [esp + 0x408]
jmp 0x4efc12
mov dword [esp + 0x3b0], ebx
mov dword [esp + 0x378], edi
mov byte [esp + 0x207], 0x7d
mov eax, esi
shl eax, 6
mov edx, dword [esp + 0x300]
lea ecx, [edx + eax + 0x24]
mov dword [esp + 0x200], ecx
mov eax, dword [edx + eax + 0x24]
test eax, eax
jne 0x4f0abf
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x344], eax
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f4], esi
mov dword [esp + 0x370], esi
jb 0x4f0eed
jmp 0x4f0ad4
mov dword [esp + 0x370], esi
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x344], eax
mov eax, 0x1f
movzx edx, byte [esp + 0x1a3]
cmp edx, 5
je 0x4f0be9
cmp edx, 0x65
je 0x4f0c46
mov ecx, 0x10
cmp edx, 0x6f
mov esi, dword [esp + 0x408]
jne 0x4f0c5a
mov byte [esp + 0x1a3], 0x60
call fcn.0042b980
mov dword [esp + 0x1d4], eax
mov edx, dword [esp + 0x370]
mov dword [eax + 0x34], edx
mov ecx, dword [esp + 0x3a8]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
mov ecx, dword [esp + 0x3a0]
mov ecx, dword [ecx]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 0
mov ecx, dword [esp + 0x1d0]
movsd xmm0, qword [ecx]
movsd qword [eax + 0x10], xmm0
mov edi, edx
shl edi, 6
mov ebx, dword [esp + 0x300]
movsd xmm0, qword [ebx + edi + 8]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [ebx + edi + 0x10]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [ebx + edi + 0x18]
movsd qword [eax + 0x28], xmm0
mov ecx, dword [esp + 0x200]
mov edx, dword [ecx]
mov ecx, eax
add ecx, 0x38
mov dword [esp + 8], edx
mov dword [esp], ecx
mov dword [esp + 4], pe_nt_image_headers32
call fcn.004959f0
lea eax, [ebx + edi + 0x28]
mov dword [esp + 0xf4], eax
mov ecx, dword [ebx + edi + 0x28]
test ecx, ecx
jne 0x4f106f
mov edx, dword [esp + 0x3f0]
mov ebx, dword [esp + 0x400]
mov esi, dword [esp + 0x3d4]
mov edi, dword [esp + 0x408]
mov dword [esp + 0x408], edi
cmp eax, 0xf
jne 0x4e6c77
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x4e6c77
mov dword [esp + 0x3f0], edx
mov dword [esp + 0x400], ebx
mov ebx, dword [esp + 0x39c]
mov edi, dword [esp + 0x408]
jmp 0x4eba56
mov ebx, dword [esp + 0x408]
mov byte [esp + 0x1a3], 0x6f
jmp 0x4f0d99
mov edi, dword [esp + 0x378]
mov ebx, dword [esp + 0x3b0]
mov edx, dword [esp + 0x400]
mov dword [esp + 0x400], edx
mov dword [esp + 0x3b0], ebx
mov dword [esp + 0x378], edi
cmp ecx, 0xe
jne 0x4f0d8f
cmp eax, 0xf
jne 0x4eac48
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x4eac48
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0x3b0], esi
jmp 0x4effa1
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0x3b0], esi
cmp dword [esp + 0x408], 0xe
je 0x4f06a4
xor eax, eax
test al, al
je 0x4efb72
jmp 0x4f06a4
call fcn.0042b980
mov dword [esp + 0x1d4], eax
mov edx, dword [esp + 0x370]
mov dword [eax + 0x34], edx
mov ecx, dword [esp + 0x3a8]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
mov ecx, dword [esp + 0x3a0]
mov ecx, dword [ecx]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 0
mov ecx, dword [esp + 0x1d0]
movsd xmm0, qword [ecx]
movsd qword [eax + 0x10], xmm0
mov esi, edx
shl esi, 6
mov edi, dword [esp + 0x300]
movsd xmm0, qword [edi + esi + 8]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [edi + esi + 0x10]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [edi + esi + 0x18]
movsd qword [eax + 0x28], xmm0
mov ecx, dword [esp + 0x200]
mov edx, dword [ecx]
mov ecx, eax
add ecx, 0x38
mov dword [esp + 8], edx
mov dword [esp], ecx
mov dword [esp + 4], pe_nt_image_headers32
call fcn.004959f0
lea eax, [edi + esi + 0x28]
mov dword [esp + 0xf4], eax
mov ecx, dword [edi + esi + 0x28]
test ecx, ecx
je 0x4f1061
cmp eax, 5
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x370]
mov dword [esp + 0x3f4], eax
je 0x4e7a7d
movzx eax, byte [esp + 0x307]
cmp eax, 0x20
je 0x4f0f68
cmp eax, 0x4f
jne 0x4e6e66
mov eax, 3
mov ebx, dword [esp + 0x3f4]
sub eax, ebx
xor eax, ebx
setne al
movzx ecx, al
add ecx, ebx
mov edx, dword [esp + 0x3ec]
cmp ecx, edx
jb 0x4f0fd4
mov byte [esp + 0x307], 0x20
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x370], ebx
mov dword [esp + 0x3f0], edx
mov dword [esp + 0x344], edx
mov esi, edx
mov ebx, ecx
mov dword [esp + 0x400], ecx
jne 0x4e6ecf
jmp 0x4f0fee
mov esi, dword [esp + 0x3f4]
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx ecx, al
add ecx, esi
mov edx, dword [esp + 0x3ec]
cmp ecx, edx
jae 0x4f103d
mov byte [esp + 0x307], 0x4f
mov eax, ecx
not eax
and eax, 1
add eax, ecx
mov dword [esp + 0x370], esi
mov dword [esp + 0x3f0], edx
mov dword [esp + 0x344], edx
mov esi, edx
mov ebx, ecx
mov dword [esp + 0x400], ecx
jne 0x4f0fee
jmp 0x4e6ecf
mov dword [esp + 0x258], edx
jmp 0x4e79f2
mov byte [esp + 0x307], 0x20
mov dword [esp + 0x344], edx
mov esi, edx
mov dword [esp + 0x370], ebx
mov ebx, ecx
mov eax, 0x1a
movzx ecx, byte [esp + 0x223]
cmp ecx, 0x3e
je 0x4e6be4
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x40c], ecx
mov dword [esp + 0x3f0], esi
mov dword [esp + 0x400], ebx
cmp eax, 0xd
je 0x4e78d4
mov dword [esp + 0x400], ecx
mov byte [esp + 0x307], 0x4f
mov dword [esp + 0x370], esi
mov dword [esp + 0x3f0], edx
mov esi, edx
jmp 0x4e6ecf
cmp esi, 0xe
je 0x4e4be6
mov eax, esi
and eax, 1
inc eax
xor eax, esi
mov edi, dword [esp + 0x40c]
je 0x4e4be6
movzx eax, byte [esp + 0xdb]
cmp eax, 0x14
je 0x4e6d78
cmp eax, 0x10
jne 0x4f116f
mov edi, ecx
jmp 0x4e6e0f
mov dword [esp + 0x40c], ecx
mov esi, 0xb
lea eax, [esp + 0x4bc]
mov dword [esp + 8], eax
lea eax, [esp + 0x4c0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.00593400
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x4e4e44
cmp esi, 0xb
jne 0x4f0933
mov eax, esi
not eax
and eax, 1
add eax, esi
jne 0x4eca5a
jmp 0x4f0933