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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x560
mov esi, dword [ebp + 8]
mov byte [esp + 0x143], 0x1e
mov dword [esp + 0x558], 0
mov dword [esp + 0x54c], 0
mov dword [esp + 0x548], 0
mov dword [esp + 0x544], 0
mov dword [esp + 0x540], 0
mov dword [esp + 0x53c], 0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x520], xmm0
movapd xmmword [esp + 0x510], xmm0
movapd xmmword [esp + 0x500], xmm0
movapd xmmword [esp + 0x4f0], xmm0
movapd xmmword [esp + 0x4e0], xmm0
movapd xmmword [esp + 0x4d0], xmm0
movapd xmmword [esp + 0x4c0], xmm0
movapd xmmword [esp + 0x4b0], xmm0
mov dword [esp + 0x4ac], 0
mov dword [esp + 0x4a8], 0
movapd xmmword [esp + 0x490], xmm0
mov dword [esp + 0x4a4], 0
mov dword [esp + 0x4a0], 0
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
xor edi, edi
cmp eax, ecx
jne 0x6d9220
mov dword [esp + 0x248], 0
mov byte [esp + 0x1e2], al
mov byte [esp + 0x1a2], al
mov byte [esp + 0x53], al
mov byte [esp + 0xb3], al
mov byte [esp + 0x2c5], al
mov byte [esp + 0x2ff], al
mov byte [esp + 0x26f], al
mov byte [esp + 0x2cc], al
mov byte [esp + 0x2ce], al
mov byte [esp + 0x2f4], al
mov byte [esp + 0x2cf], al
mov byte [esp + 0x2e0], al
mov byte [esp + 0x196], al
mov byte [esp + 0x2f7], al
mov dword [esp + 0x4c], eax
mov dword [esp + 0x27c], eax
mov dword [esp + 0x254], eax
mov dword [esp + 0x25c], eax
mov dword [esp + 0x278], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0x200], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x330], eax
mov dword [esp + 0x354], eax
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x224], eax
mov dword [esp + 0x2b4], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x284], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x350], eax
mov dword [esp + 0x268], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x314], eax
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x3b8], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x264], eax
mov dword [esp + 0x260], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x150], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x228], eax
mov dword [esp + 0x274], eax
mov dword [esp + 0x270], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x258], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x348], eax
mov dword [esp + 0x34c], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x204], eax
mov dword [esp + 0x29c], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x280], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x398], eax
mov dword [esp + 0x388], eax
mov dword [esp + 0x394], eax
mov dword [esp + 0x384], eax
mov dword [esp + 0x380], eax
mov dword [esp + 0x390], eax
mov dword [esp + 0x38c], eax
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x39c], eax
mov dword [esp + 0x3a8], eax
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x368], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x294], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x370], eax
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x298], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x290], eax
mov dword [esp + 0x36c], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x24c], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x184], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x190], eax
mov dword [esp + 0x300], eax
mov dword [esp + 0x364], eax
mov dword [esp + 0x360], eax
mov dword [esp + 0x340], eax
mov dword [esp + 0x338], eax
mov dword [esp + 0x3b4], eax
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x400], eax
mov dword [esp + 0x404], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x214], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x33c], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x328], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x374], eax
mov dword [esp + 0x198], 0
mov dword [esp + 0x244], 0
mov dword [esp + 0x240], 0
mov dword [esp + 0x23c], 0
mov dword [esp + 0x238], 0
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 0
mov dword [esp + 0x22c], 0
mov byte [esp + 0x2f5], al
mov byte [esp + 0x2ef], al
mov byte [esp + 0x2dd], al
mov byte [esp + 0x2ec], al
mov byte [esp + 0x35f], al
mov byte [esp + 0x2e3], al
mov byte [esp + 0x2e2], al
mov byte [esp + 0x2a3], al
mov byte [esp + 0xe3], al
mov byte [esp + 0x1e1], al
mov byte [esp + 0xb2], al
mov byte [esp + 0x167], al
mov byte [esp + 0x197], al
mov byte [esp + 0xb1], al
mov byte [esp + 0x157], al
mov byte [esp + 0x2ab], al
mov byte [esp + 0x1e3], al
mov byte [esp + 0x1a3], al
mov byte [esp + 0xc3], al
mov byte [esp + 0x2c7], al
mov byte [esp + 0x2ee], al
mov byte [esp + 0x2f6], al
mov byte [esp + 0x123], al
mov byte [esp + 0x2c6], al
mov byte [esp + 0xcf], al
mov byte [esp + 0x2cd], al
mov byte [esp + 0x14f], al
mov byte [esp + 0x347], al
mov byte [esp + 0x2d7], al
mov byte [esp + 0x2d6], al
mov byte [esp + 0x2e1], al
mov byte [esp + 0x2de], al
mov byte [esp + 0x2df], al
mov byte [esp + 0x2ed], al
mov byte [esp + 0xa3], al
mov byte [esp + 0x2d4], al
mov byte [esp + 0x2d5], al
mov byte [esp + 0x20b], al
mov dword [esp + 0x19c], eax
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x334], eax
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x30c], eax
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x32c], eax
mov dword [esp + 0x37c], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x318], eax
jmp 0x6d9a82
mov byte [esp + 0x2c6], al
mov byte [esp + 0x2d4], al
mov byte [esp + 0x2d5], al
mov byte [esp + 0x2c7], al
mov byte [esp + 0x2cd], al
mov byte [esp + 0x347], al
mov byte [esp + 0x2c5], al
mov byte [esp + 0x2d7], al
mov byte [esp + 0x2cc], al
mov byte [esp + 0x2ce], al
mov eax, 0x7a
lea ecx, [esp + 0x488]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x48c]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x47c]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x480]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x484]
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x460]
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x41c]
mov dword [esp + 0x8c], ecx
lea ecx, [esp + 0x46c]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x464]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x430]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x42c]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x450]
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x458]
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0x454]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x410]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x468]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x424]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x420]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x428]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x3b8], ecx
mov byte [esp + 0x2f4], cl
mov byte [esp + 0x2cf], cl
mov byte [esp + 0x2e0], cl
mov byte [esp + 0x2d6], cl
mov byte [esp + 0x2e1], cl
mov byte [esp + 0x2f7], cl
mov byte [esp + 0x2f5], cl
mov byte [esp + 0x2ef], cl
mov byte [esp + 0x2dd], cl
mov byte [esp + 0x2ec], cl
mov byte [esp + 0x2de], cl
mov byte [esp + 0x35f], cl
mov byte [esp + 0x2e3], cl
mov byte [esp + 0x2df], cl
mov byte [esp + 0x2e2], cl
mov byte [esp + 0x2f6], cl
mov byte [esp + 0x2ee], cl
mov byte [esp + 0x2ed], cl
mov dword [esp + 0x2f0], ecx
mov dword [esp + 0x2c8], ecx
mov dword [esp + 0x334], ecx
mov dword [esp + 0x2e8], ecx
mov dword [esp + 0x30c], ecx
mov dword [esp + 0x32c], ecx
mov dword [esp + 0x318], ecx
jmp 0x6d9550
mov ecx, 0x7a
add cl, 0x94
mov dword [esp + 0x318], ecx
movzx edx, cl
sub edx, eax
mov cl, dl
add cl, 0x70
mov dword [esp + 0x32c], ecx
add dl, 0xcb
mov dword [esp + 0x30c], edx
mov byte [esp + 0x2ed], 5
mov byte [esp + 0x2ee], 0xb
mov dword [esp + 0x2c8], 0
mov ecx, edi
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov byte [esp + 0x2f6], 0x41
mov byte [esp + 0x2e2], 0xc
adc edi, 0
mov byte [esp + 0x2df], 0x18
mov byte [esp + 0x2e3], 0x26
lea ecx, [esi + 4]
mov dword [esp + 0x3b8], ecx
mov byte [esp + 0x35f], 0x48
mov byte [esp + 0x2de], 0x20
mov byte [esp + 0x2ec], 0x16
mov byte [esp + 0x2dd], 0x4d
mov byte [esp + 0x2ef], 0x6a
mov byte [esp + 0x2f5], 0x5f
mov byte [esp + 0x2f7], 0x6b
mov byte [esp + 0x2e0], 0x79
mov byte [esp + 0x2e1], 0x6d
mov byte [esp + 0x2d6], 0x6f
mov byte [esp + 0x2cf], 0x3f
mov dl, 0x73
mov byte [esp + 0x2f4], 0x47
mov byte [esp + 0x2ce], 0x29
mov byte [esp + 0x2cc], 0x61
mov byte [esp + 0x2d7], 6
mov bh, 0x68
mov dh, 8
mov byte [esp + 0x2c5], 7
mov byte [esp + 0x347], 0x15
mov byte [esp + 0x2cd], 0x71
mov byte [esp + 0x2c7], 0x24
mov byte [esp + 0x2d5], 0x54
mov byte [esp + 0x2d4], 0x60
mov bl, 0x59
mov byte [esp + 0x2c6], 0x35
mov cl, 0x32
mov dword [esp + 0x2e8], ecx
mov cl, 0x64
mov dword [esp + 0x334], ecx
mov cl, 0x67
mov dword [esp + 0x2f0], ecx
mov ecx, edi
not ecx
and ecx, 1
add ecx, edi
setne cl
movzx ecx, cl
cmp edi, ecx
jb 0x6d9400
mov byte [esp + 0xc3], dh
mov byte [esp + 0x26f], bh
mov byte [esp + 0x53], bl
mov byte [esp + 0x1e2], al
mov byte [esp + 0xb1], al
mov byte [esp + 0x1a2], al
mov byte [esp + 0x123], al
mov byte [esp + 0xb3], al
mov byte [esp + 0x2ff], al
mov byte [esp + 0x2a3], al
mov byte [esp + 0xa3], al
mov byte [esp + 0xe3], al
mov byte [esp + 0x1e1], al
mov byte [esp + 0xb2], al
mov byte [esp + 0x167], al
mov byte [esp + 0x197], al
mov byte [esp + 0x157], al
mov dword [esp + 0x3dc], 0
mov dword [esp + 0xf4], eax
mov dword [esp + 0x200], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x27c], eax
mov dword [esp + 0x254], eax
mov dword [esp + 0x25c], eax
mov dword [esp + 0x278], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x190], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x330], eax
mov dword [esp + 0x354], eax
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x224], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x2b4], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x284], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x350], eax
mov dword [esp + 0x268], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x314], eax
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x264], eax
mov dword [esp + 0x260], eax
mov dword [esp + 0x280], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x150], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x274], eax
mov dword [esp + 0x270], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x258], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x348], eax
mov dword [esp + 0x34c], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x204], eax
mov dword [esp + 0x29c], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x228], eax
mov dword [esp + 0x3ec], 0
mov dword [esp + 0x3e8], 0
mov dword [esp + 0x3f4], 0
mov dword [esp + 0x3e4], 0
mov dword [esp + 0x3f0], 0
mov dword [esp + 0x3c8], 0
mov dword [esp + 0x3d4], 0
mov dword [esp + 0x3cc], 0
mov dword [esp + 0x3d0], 0
mov dword [esp + 0x3e0], 0
mov dword [esp + 0x368], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x214], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x294], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x370], eax
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x248], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x244], 0
mov dword [esp + 0x240], 0
mov dword [esp + 0x23c], 0
mov dword [esp + 0x238], 0
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 0
mov dword [esp + 0x22c], 0
mov dword [esp + 0x374], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x290], eax
mov dword [esp + 0x36c], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x24c], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x184], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x158], eax
mov byte [esp + 0x2ab], al
mov byte [esp + 0x1e3], al
mov byte [esp + 0x1a3], al
mov al, byte [esp + 0x2e0]
mov byte [esp + 0x196], al
mov byte [esp + 0x20b], al
mov byte [esp + 0xcf], dl
mov byte [esp + 0x14f], dl
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x37c], eax
mov dword [esp + 0x1c8], eax
mov al, dl
mov dword [esp + 0x1c0], eax
jmp 0x6d9bcb
mov edx, 0x18
movzx ecx, byte [esp + 0x143]
cmp ecx, 0x20
jne 0x6e38a8
mov byte [esp + 0x143], 0x20
mov byte [esp + 0x2a3], 0x25
cmp dword [esp + 0x4ac], 0
je 0x6d9b48
mov eax, 0xb
xor ecx, ecx
test cl, cl
mov ecx, dword [esp + 0x248]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0x244]
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x240]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x23c]
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x238]
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x234]
mov dword [esp + 0x124], ecx
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x220], ecx
mov ecx, dword [esp + 0x22c]
mov dword [esp + 0x204], ecx
je 0x6def2d
jmp 0x6e52c5
mov eax, dword [esp + 0x248]
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x244]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x240]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x23c]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x238]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x234]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x230]
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x204], eax
jmp 0x6e52c5
mov ecx, dword [esp + 0x3b8]
mov ecx, dword [ecx]
mov dword [esp + 0x298], ecx
mov eax, dword [esp + 0x3dc]
lea esi, [eax + eax*2]
lea edx, [ecx + esi*8]
mov dword [esp + 0x88], edx
mov edx, dword [ecx + esi*8]
cmp edx, 0x17
mov ebx, dword [esp + 0x3d4]
jle 0x6d9d87
cmp edx, 0x38
jg 0x6da106
lea eax, [edx - 0x22]
cmp eax, 6
ja case.default.0x6d9d53
mov dword [esp + 0x3a4], esi
mov dword [esp + 0x3ac], 0x13
mov edx, dword [esp + 0x3cc]
mov dword [esp + 0x3b0], edx
mov dword [esp + 0x3bc], ebx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x378], ecx
mov esi, dword [esp + 0x3ec]
mov dword [esp + 0x364], esi
mov esi, dword [esp + 0x3e8]
mov dword [esp + 0x360], esi
mov esi, dword [esp + 0x3f4]
mov dword [esp + 0x340], esi
mov ebx, dword [esp + 0x3e4]
mov dword [esp + 0x338], ebx
mov edi, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], edi
mov dword [esp + 0x3a0], 0xa
mov esi, dword [esp + 0x3d0]
mov dword [esp + 0x400], esi
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x33c], esi
mov dword [esp + 0x324], edx
mov esi, dword [esp + 0x3d4]
mov dword [esp + 0x310], esi
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x328], edi
mov dword [esp + 0x2e4], ebx
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x300], eax
mov dword [esp + 0x3c4], ecx
mov dword [esp + 0x3d8], esi
mov dword [esp + 0x3c0], edx
mov edx, dword [esp + 0x378]
mov eax, dword [esp + 0x3a8]
jmp dword [eax*4 + 0x7ec130]
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x3a4]
mov eax, dword [eax + ecx*8 + 0x14]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x3bc], ecx
mov eax, dword [eax + 8]
mov dword [esp + 0x3b0], eax
jmp 0x6db986
cmp edx, 0xf
jg 0x6d9f13
cmp edx, 3
mov ecx, dword [esp + 0x3f0]
je 0x6da6c4
cmp edx, 4
je 0x6da9d6
cmp edx, 8
mov esi, dword [esp + 0x3cc]
mov dword [esp + 0x3b0], esi
mov dword [esp + 0x3bc], ebx
mov edx, dword [esp + 0x3c8]
mov dword [esp + 0x378], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov dword [esp + 0x3b4], ecx
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov edi, dword [esp + 0x3e0]
mov dword [esp + 0x404], edi
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov dword [esp + 0x38c], edx
mov edx, dword [esp + 0x378]
mov dword [esp + 0x3a0], ebx
mov ebx, 0xa
mov dword [esp + 0x39c], esi
mov dword [esp + 0x3a8], eax
mov dword [esp + 0x3a4], edi
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x3ac], ecx
mov dword [esp + 0x2d0], edi
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
je 0x6e5c52
jmp case.0x6d9d53.35
lea eax, [edx - 0x15]
cmp eax, 2
mov ebx, dword [esp + 0x3d0]
jae 0x6da23e
mov eax, dword [esp + 0x4ac]
test eax, eax
je 0x6dab9a
imul eax, eax
and eax, 3
cmp eax, 3
je 0x6dab9a
mov edi, 0x15
mov eax, dword [esp + 0x44]
mov dword [eax], 1
lea eax, [esp + 0x47c]
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
mov eax, dword [esp + 0x3c]
mov dword [eax], 0
mov edx, dword [esp + 0x298]
mov eax, dword [edx + esi*8 + 0x10]
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov eax, dword [edx + esi*8 + 0x14]
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
mov eax, dword [edx + esi*8 + 0x10]
mov ecx, dword [edx + esi*8 + 0x14]
mov edx, dword [edx + esi*8 + 4]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.0068f340
mov dword [esp + 0x558], eax
test eax, eax
je 0x6db7a6
xor eax, eax
test al, al
mov ecx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x3f4]
jne 0x6db7b6
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov dword [esp + 0x300], eax
mov dword [esp + 0x388], ecx
mov dword [esp + 0x2c0], ecx
mov dword [esp + 0x364], ecx
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x360], eax
mov dword [esp + 0x384], edx
mov dword [esp + 0x308], edx
mov dword [esp + 0x340], edx
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov dword [esp + 0x328], eax
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x3a8], ebx
mov dword [esp + 0x224], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x33c], ebx
mov dword [esp + 0x400], ebx
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x404], eax
jmp 0x6de8bd
mov ecx, ebx
cmp edx, 0x39
je 0x6dad61
mov ebx, 0x16
cmp edx, 0x3a
mov esi, dword [esp + 0x3cc]
mov dword [esp + 0x3b0], esi
mov edx, ecx
mov dword [esp + 0x3bc], edx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x378], ecx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], eax
mov edi, dword [esp + 0x3d0]
mov dword [esp + 0x400], edi
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x33c], edi
mov dword [esp + 0x324], esi
mov dword [esp + 0x310], edx
mov dword [esp + 0x31c], ecx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x300], eax
mov dword [esp + 0x3c4], ecx
mov dword [esp + 0x3d8], edx
mov edx, dword [esp + 0x378]
mov dword [esp + 0x3c0], esi
je 0x6dc420
jmp case.0x6d9d53.35
cmp edx, 0x10
jne 0x6db7cd
movzx eax, byte [esp + 0x2c6]
cmp eax, 0x35
mov esi, dword [esp + 0x3e0]
jne 0x6db10c
mov byte [esp + 0x2c6], 0x35
lea eax, [esp + 0x540]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.00789450
mov dword [esp + 0x558], eax
test eax, eax
mov ecx, ebx
mov ebx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ebx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov ebx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ebx
mov edx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], edx
mov edi, dword [esp + 0x3cc]
mov dword [esp + 0x39c], edi
mov dword [esp + 0x3a8], ecx
mov dword [esp + 0x3a4], esi
mov eax, ecx
mov dword [esp + 0x358], eax
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], ecx
mov dword [esp + 0x33c], eax
mov dword [esp + 0x324], edi
mov dword [esp + 0x310], edx
mov dword [esp + 0x31c], ebx
mov edi, dword [esp + 0x3f0]
mov dword [esp + 0x328], edi
mov edx, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], edx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x304], ecx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x308], eax
mov esi, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], esi
mov ebx, dword [esp + 0x3dc]
mov dword [esp + 0x300], ebx
mov dword [esp + 0x364], esi
mov dword [esp + 0x360], ecx
mov dword [esp + 0x340], eax
mov esi, dword [esp + 0x358]
mov dword [esp + 0x338], edx
mov dword [esp + 0x3b4], edi
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3b0], eax
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov dword [esp + 0x374], ecx
jne 0x6de8f5
jmp case.0x6d9d53.35
cmp edx, 0x18
jne 0x6db96a
mov dword [esp + 0x478], 1
mov dword [esp + 0x474], 0
mov dword [esp + 0x45c], 0
mov dword [esp + 0x40c], 1
mov dword [esp + 0x408], 4
mov eax, dword [esp + 0x8c]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x10], 0
lea eax, [esp + 0x478]
mov ecx, dword [esp + 0x30]
mov dword [ecx], eax
mov ecx, dword [esp + 0x4ac]
test ecx, ecx
mov ebx, dword [esp + 0x3f0]
jne 0x6db49c
mov edx, ecx
not edx
and edx, 1
add edx, ecx
je 0x6db49c
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x31c], eax
mov dword [esp + 0x328], ebx
mov esi, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], esi
mov edx, dword [esp + 0x3e8]
mov dword [esp + 0x304], edx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x308], ecx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov edi, dword [esp + 0x3dc]
mov dword [esp + 0x300], edi
mov dword [esp + 0x364], eax
mov dword [esp + 0x360], edx
mov dword [esp + 0x340], ecx
mov eax, 0xd
mov dword [esp + 0x338], esi
mov dword [esp + 0x3b4], ebx
mov ebx, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x378], ecx
mov ecx, dword [esp + 0x3d4]
mov edi, dword [esp + 0x3cc]
mov dword [esp + 0x320], ebx
mov edx, dword [esp + 0x3e0]
mov dword [esp + 0x404], edx
mov edx, dword [esp + 0x2e8]
mov esi, dword [esp + 0x268]
jmp 0x6ed159
mov eax, 0xc
mov cl, byte [esp + 0x53]
movzx ecx, cl
cmp ecx, 0x5e
jne 0x6dafe9
mov edi, 9
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x3a4]
mov eax, dword [eax + ecx*8 + 0x10]
cmp eax, 8
jne 0x6dbc80
mov byte [esp + 0x53], 0x59
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov eax, dword [esp + 0x3ec]
je 0x6dbc85
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x33c], ecx
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], eax
mov ebx, dword [esp + 0x3c8]
mov dword [esp + 0x3c4], ebx
mov esi, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], esi
mov edi, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], edi
mov dword [esp + 0x400], ecx
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov ecx, dword [esp + 0x3dc]
jmp 0x6ea7ea
mov dword [esp + 0x3a4], esi
mov ebx, 0xe
mov dword [esp + 0x3a0], 7
movzx ecx, byte [esp + 0x2d4]
cmp ecx, 0x71
jne case.0x6d9d53.38
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov dword [esp + 0x308], eax
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov dword [esp + 0x328], eax
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x31c], eax
mov edx, eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x310], eax
mov edi, eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov dword [esp + 0x33c], eax
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x404], eax
mov ecx, dword [esp + 0x2bc]
jmp 0x6de723
mov eax, dword [esp + 0x3a0]
cmp eax, 7
jne 0x6daeb5
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x6daeb5
mov dword [esp + 0x3b0], 0xc
mov byte [esp + 0x2d4], 0x71
mov edx, dword [esp + 0x298]
mov esi, dword [esp + 0x3a4]
mov eax, dword [edx + esi*8 + 0x10]
mov ecx, dword [edx + esi*8 + 0x14]
mov edx, dword [edx + esi*8 + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.0068ee80
mov dword [esp + 0x558], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov ebx, dword [esp + 0x3d0]
mov dword [esp + 0x374], ebx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x378], eax
mov edx, dword [esp + 0x3d4]
mov dword [esp + 0x3bc], edx
mov esi, dword [esp + 0x3cc]
mov ecx, esi
mov dword [esp + 0x320], ebx
mov edi, dword [esp + 0x3e0]
mov dword [esp + 0x404], edi
mov dword [esp + 0x2d0], edi
mov dword [esp + 0x33c], ebx
mov dword [esp + 0x324], esi
mov dword [esp + 0x310], edx
mov edi, eax
mov dword [esp + 0x31c], edi
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x3c4], edi
mov edi, dword [esp + 0x3bc]
mov dword [esp + 0x3d8], edx
mov edx, dword [esp + 0x378]
mov dword [esp + 0x3c0], esi
mov esi, 0x1a
mov dword [esp + 0x400], ebx
mov ebx, dword [esp + 0x320]
je 0x6e97cf
jmp 0x6e06c2
mov ebx, ecx
lea eax, [esp + 0x548]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.00789690
mov dword [esp + 0x558], eax
test eax, eax
jne 0x6db842
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov edi, dword [esp + 0x3e4]
mov dword [esp + 0x380], edi
mov dword [esp + 0x390], ebx
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov ecx, eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov edx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], edx
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov esi, eax
mov dword [esp + 0x358], edx
mov dword [esp + 0x2d0], esi
mov dword [esp + 0x33c], edx
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x310], eax
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x328], ebx
mov dword [esp + 0x2e4], edi
mov esi, dword [esp + 0x3e8]
mov dword [esp + 0x304], esi
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x308], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x300], ecx
mov dword [esp + 0x364], eax
mov dword [esp + 0x360], esi
mov dword [esp + 0x340], edx
mov dword [esp + 0x338], edi
mov dword [esp + 0x3b4], ebx
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x404], ecx
mov esi, dword [esp + 0x358]
mov dword [esp + 0x374], eax
jb case.0x6d9d53.35
jmp 0x6de8f5
mov cl, 0x50
mov eax, 0xa
movzx ecx, cl
cmp ecx, 0x49
jne 0x6db25f
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov dword [esp + 0x300], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov dword [esp + 0x2c0], ecx
mov dword [esp + 0x364], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov dword [esp + 0x304], ecx
mov dword [esp + 0x360], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov dword [esp + 0x308], ecx
mov dword [esp + 0x340], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov dword [esp + 0x2e4], ecx
mov dword [esp + 0x338], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov dword [esp + 0x328], ecx
mov dword [esp + 0x3b4], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov dword [esp + 0x310], ecx
mov dword [esp + 0x3d8], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x3c0], ecx
mov dword [esp + 0x3a8], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x33c], ebx
mov dword [esp + 0x400], ebx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x2d0], ecx
mov dword [esp + 0x404], ecx
cmp eax, 1
je 0x6df15b
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x6df15b
xor eax, eax
mov edi, 9
xor edi, 0x1c
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x374]
jmp 0x6dad46
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x558], 0x30000003
mov dword [esp + 0x224], esi
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6dad20
mov esi, ebx
jmp 0x6ddde5
mov al, byte [esp + 0x2c7]
movzx eax, al
cmp eax, 0x54
jne 0x6db396
mov eax, dword [esp + 0x298]
mov eax, dword [eax + esi*8 + 0x10]
cmp eax, 4
je 0x6dc10f
mov byte [esp + 0x2c7], 0x24
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov edx, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], edx
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x324], eax
mov dword [esp + 0x310], ecx
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x31c], eax
mov edi, dword [esp + 0x3f0]
mov dword [esp + 0x328], edi
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], ecx
mov ebx, dword [esp + 0x3e8]
mov dword [esp + 0x304], ebx
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x308], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov esi, dword [esp + 0x3dc]
mov dword [esp + 0x300], esi
mov esi, dword [esp + 0x2d0]
mov dword [esp + 0x364], eax
mov dword [esp + 0x360], ebx
mov dword [esp + 0x340], edx
mov edx, dword [esp + 0x308]
mov dword [esp + 0x338], ecx
mov dword [esp + 0x3b4], edi
mov edi, dword [esp + 0x33c]
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov ebx, dword [esp + 0x2f0]
jne 0x6dcd2b
jmp 0x6e3de7
cmp dword [esp + 0x4ac], 0
je 0x6db64c
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], ecx
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x328], eax
mov edi, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], edi
mov ebx, dword [esp + 0x3e8]
mov dword [esp + 0x304], ebx
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x308], edx
mov esi, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], esi
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x300], ecx
mov ecx, esi
mov dword [esp + 0x364], ecx
mov dword [esp + 0x360], ebx
mov dword [esp + 0x340], edx
mov dword [esp + 0x338], edi
mov edi, ebx
mov ebx, dword [esp + 0x33c]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0x3c8]
mov dword [esp + 0x3c4], edx
mov edx, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], edx
mov edx, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], edx
mov edx, dword [esp + 0x3d0]
mov dword [esp + 0x400], edx
mov esi, 0xb
mov edx, dword [esp + 0x3e0]
mov dword [esp + 0x404], edx
jmp 0x6e92e4
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov dword [esp + 0x300], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov dword [esp + 0x2c0], ecx
mov dword [esp + 0x364], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ebx, ecx
mov dword [esp + 0x360], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov dword [esp + 0x308], ecx
mov dword [esp + 0x340], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov esi, ecx
mov dword [esp + 0x338], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov edi, ecx
mov dword [esp + 0x3b4], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov dword [esp + 0x310], ecx
mov dword [esp + 0x3d8], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x3c0], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov dword [esp + 0x33c], ecx
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x2d0], ecx
mov dword [esp + 0x404], ecx
jmp 0x6e04af
mov dword [esp + 0x3bc], 6
mov byte [esp + 0x2c6], 0xd
lea eax, [esp + 0x540]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.00789450
mov dword [esp + 0x558], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x374], ebx
mov dword [esp + 0x2d0], esi
mov dword [esp + 0x33c], ebx
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x310], eax
mov edx, dword [esp + 0x3c8]
mov dword [esp + 0x31c], edx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x328], eax
mov ebx, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], ebx
mov edi, dword [esp + 0x3e8]
mov dword [esp + 0x304], edi
mov esi, dword [esp + 0x3f4]
mov dword [esp + 0x308], esi
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x364], eax
mov dword [esp + 0x360], edi
mov dword [esp + 0x340], esi
mov esi, 0xf
mov dword [esp + 0x338], ebx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], eax
mov dword [esp + 0x3c4], edx
mov edx, dword [esp + 0x2d0]
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
jne 0x6e2649
jmp 0x6e0c84
mov dword [esp + 0x3bc], 5
mov dword [esp + 0x558], 0x30000003
mov dword [esp + 0x224], ebx
mov dword [esp + 0x4c], ebx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x400], ecx
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x33c], ebx
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x310], eax
mov edi, dword [esp + 0x3c8]
mov dword [esp + 0x31c], edi
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x328], eax
mov edx, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], edx
mov esi, dword [esp + 0x3e8]
mov dword [esp + 0x304], esi
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x308], eax
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], ecx
mov ebx, dword [esp + 0x3dc]
mov dword [esp + 0x300], ebx
mov dword [esp + 0x364], ecx
mov dword [esp + 0x360], esi
mov dword [esp + 0x340], eax
mov dword [esp + 0x338], edx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], eax
mov dword [esp + 0x3c4], edi
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov ebx, dword [esp + 0x3d0]
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
jmp 0x6dd4b1
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x324], eax
mov dword [esp + 0x310], ecx
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x31c], eax
mov ebx, dword [esp + 0x3f0]
mov dword [esp + 0x328], ebx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], ecx
mov edx, dword [esp + 0x3e8]
mov dword [esp + 0x304], edx
mov esi, dword [esp + 0x3f4]
mov dword [esp + 0x308], esi
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov edi, dword [esp + 0x3dc]
mov dword [esp + 0x300], edi
mov dword [esp + 0x364], eax
mov dword [esp + 0x360], edx
mov dword [esp + 0x340], esi
mov esi, 0xd
mov dword [esp + 0x338], ecx
mov dword [esp + 0x3b4], ebx
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
jmp 0x6ea117
mov dword [esp + 4], 1
mov dword [esp], 0x10
call fcn.00493840
mov dword [esp + 0x36c], eax
test eax, eax
je 0x6db9ed
mov eax, dword [esp + 0x3b8]
mov eax, dword [eax]
mov ecx, dword [eax + esi*8 + 4]
mov dword [esp + 0x138], ecx
lea eax, [esp + 0x45c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x554]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00788af0
mov dword [esp + 0x558], eax
test eax, eax
jne 0x6dbbcc
mov ecx, 9
mov edx, 3
sub edx, eax
xor edx, eax
je 0x6dbbcc
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov dword [esp + 0x308], eax
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x338], eax
mov dword [esp + 0x390], ebx
mov eax, ebx
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3d0]
mov esi, eax
mov edi, eax
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x404], eax
mov dl, byte [esp + 0x1e2]
jmp 0x6ecc69
mov cl, 7
mov eax, 3
movzx ecx, cl
cmp ecx, 0x31
mov edx, dword [esp + 0x3ec]
mov edi, dword [esp + 0x3e4]
mov esi, dword [esp + 0x3f0]
mov ebx, dword [esp + 0x3d4]
jne 0x6dbb29
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov dword [esp + 0x300], ecx
mov dword [esp + 0x388], edx
mov dword [esp + 0x2c0], edx
mov dword [esp + 0x364], edx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov dword [esp + 0x304], ecx
mov dword [esp + 0x360], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov dword [esp + 0x308], ecx
mov dword [esp + 0x340], ecx
mov dword [esp + 0x380], edi
mov dword [esp + 0x2e4], edi
mov dword [esp + 0x338], edi
mov dword [esp + 0x390], esi
mov dword [esp + 0x328], esi
mov dword [esp + 0x3b4], esi
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x3c4], ecx
mov dword [esp + 0x3a0], ebx
mov dword [esp + 0x310], ebx
mov dword [esp + 0x3d8], ebx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x3c0], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x33c], ecx
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x2d0], ecx
mov dword [esp + 0x404], ecx
jmp 0x6ed2d0
mov dword [esp + 0x224], ebx
mov dword [esp + 0x4c], ebx
jmp 0x6dbc93
mov dword [esp + 0x224], ebx
mov dword [esp + 0x4c], ebx
mov ecx, dword [esp + 0x2c8]
jmp 0x6dbca1
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3bc], eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], eax
mov dword [esp + 0x400], ebx
jmp 0x6db9da
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov dword [esp + 0x308], eax
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x338], eax
mov dword [esp + 0x390], ebx
mov dword [esp + 0x328], ebx
mov dword [esp + 0x3b4], ebx
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x31c], eax
mov edx, eax
mov esi, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], esi
mov dword [esp + 0x310], esi
mov dword [esp + 0x3bc], esi
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov esi, eax
mov dword [esp + 0x33c], eax
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x404], eax
jmp 0x6de8f5
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x3bc], ebx
mov edx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
jmp case.0x6d9d53.35
mov al, byte [esp + 0x2cc]
movzx ecx, al
cmp ecx, 0x43
mov edi, dword [esp + 0x3ec]
je 0x6dc234
cmp ecx, 0x61
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x33c], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x324], ecx
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x310], eax
mov esi, dword [esp + 0x3c8]
mov dword [esp + 0x31c], esi
mov edi, dword [esp + 0x3f0]
mov dword [esp + 0x328], edi
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], eax
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x304], ecx
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x308], edx
mov ebx, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], ebx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x300], eax
mov eax, 0x1a
mov ebx, dword [esp + 0x3ec]
mov dword [esp + 0x364], ebx
mov dword [esp + 0x360], ecx
mov dword [esp + 0x340], edx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x338], ecx
mov dword [esp + 0x3b4], edi
mov dword [esp + 0x3c4], esi
mov esi, 0x10
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x404], ecx
je 0x6e48a9
jmp 0x6dfcef
mov dword [esp + 0x3bc], 0x12
mov dword [esp + 0x558], 0x30000003
mov ecx, dword [esp + 0x3d0]
mov edx, edi
mov edi, ecx
mov dword [esp + 0xe4], ecx
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov dword [esp + 0x400], ecx
mov eax, dword [esp + 0x3cc]
mov ecx, ebx
mov ebx, dword [esp + 0x3c8]
mov dword [esp + 0x3c4], ebx
mov dword [esp + 0x3b4], esi
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x3ec]
mov dword [esp + 0x338], edi
mov ebx, dword [esp + 0x3e8]
mov dword [esp + 0x360], ebx
mov ebx, dword [esp + 0x3f4]
mov dword [esp + 0x340], ebx
mov dword [esp + 0x364], edx
mov ebx, dword [esp + 0x3dc]
mov dword [esp + 0x300], ebx
jmp 0x6e7f30
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x37c], 0
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x370], ecx
mov edx, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], edx
mov dword [esp + 0x3fc], ebx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov dword [esp + 0x3b4], ebx
mov eax, dword [esp + 0x3c8]
mov esi, dword [esp + 0x3d4]
mov dword [esp + 0x3bc], esi
mov esi, dword [esp + 0x3cc]
mov dword [esp + 0x3b0], esi
mov ebx, edx
jmp 0x6dc2e5
mov byte [esp + 0x53], 0x59
mov ebx, dword [esp + 0x3d0]
mov dword [esp + 0x9c], ebx
mov ecx, dword [esp + 0x2c8]
mov edx, dword [esp + 0x3f4]
cmp edi, 9
je 0x6dbeb9
xor eax, eax
test al, al
jne 0x6dbeb9
mov ebx, 6
movzx eax, cl
cmp eax, 0x6f
jne 0x6dbfe4
mov ebx, edx
mov dword [esp + 0x2c8], 0
mov byte [esp + 0xb3], 0x50
mov dword [esp + 4], 1
mov dword [esp], 0x10
call fcn.00493840
test eax, eax
jne 0x6dc2f3
mov dword [esp + 0x358], 0x10
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x384], ebx
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov ebx, eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov esi, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], esi
mov edx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], edx
mov ecx, edx
mov edi, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], edi
mov edx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], edx
mov dword [esp + 0x378], edi
mov dword [esp + 0x2d0], edx
mov dword [esp + 0x33c], edi
mov dword [esp + 0x324], ecx
mov dword [esp + 0x310], esi
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x31c], ecx
mov edx, dword [esp + 0x3f0]
mov dword [esp + 0x328], edx
mov dword [esp + 0x2e4], ebx
mov edx, dword [esp + 0x3e8]
mov dword [esp + 0x304], edx
mov edi, dword [esp + 0x3f4]
mov dword [esp + 0x308], edi
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov ebx, dword [esp + 0x3dc]
mov dword [esp + 0x300], ebx
mov dword [esp + 0x364], eax
mov dword [esp + 0x360], edx
mov dword [esp + 0x340], edi
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov edx, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], edx
mov dword [esp + 0x3c4], ecx
mov eax, ecx
mov dword [esp + 0x3d8], esi
mov ecx, esi
mov edx, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], edx
mov esi, edx
mov edx, dword [esp + 0x3e0]
mov dword [esp + 0x404], edx
mov edi, dword [esp + 0x3d0]
mov dword [esp + 0x2bc], edi
mov edx, eax
mov ebx, esi
mov dword [esp + 0x400], edi
mov edi, dword [esp + 0x378]
jne 0x6eaade
jmp 0x6ddea2
mov dword [esp + 0x2c8], ecx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x360], eax
mov dword [esp + 0x384], edx
mov dword [esp + 0x308], edx
mov dword [esp + 0x340], edx
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov dword [esp + 0x328], eax
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x3a8], ebx
mov dword [esp + 0x33c], ebx
mov dword [esp + 0x400], ebx
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x404], eax
jmp 0x6dc61e
mov dword [esp + 0x2c8], ecx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x360], eax
mov dword [esp + 0x384], edx
mov dword [esp + 0x308], edx
mov dword [esp + 0x340], edx
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov dword [esp + 0x328], eax
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x3c0], eax
mov edi, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], edi
mov dword [esp + 0x33c], edi
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x404], eax
jmp 0x6e844b
mov byte [esp + 0x2c7], 0x24
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x324], eax
mov dword [esp + 0x310], ecx
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x31c], eax
mov edi, dword [esp + 0x3f0]
mov dword [esp + 0x328], edi
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], ecx
mov ebx, dword [esp + 0x3e8]
mov dword [esp + 0x304], ebx
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x308], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov esi, dword [esp + 0x3dc]
mov dword [esp + 0x300], esi
mov esi, dword [esp + 0x2d0]
mov dword [esp + 0x364], eax
mov dword [esp + 0x360], ebx
mov dword [esp + 0x340], edx
mov edx, dword [esp + 0x308]
mov dword [esp + 0x338], ecx
mov dword [esp + 0x3b4], edi
mov edi, dword [esp + 0x33c]
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov ebx, dword [esp + 0x2f0]
jmp 0x6e3de7
mov byte [esp + 0x2cc], 0x43
mov dword [esp + 0x558], 0x70000003
mov dword [esp + 0x37c], 0
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x370], ecx
mov ebx, dword [esp + 0x3d0]
mov dword [esp + 0x3f8], ebx
mov esi, dword [esp + 0x3f0]
mov dword [esp + 0x3fc], esi
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x300], eax
mov dword [esp + 0x364], edi
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov dword [esp + 0x3b4], esi
mov eax, dword [esp + 0x3c8]
mov esi, dword [esp + 0x3d4]
mov dword [esp + 0x3bc], esi
mov esi, dword [esp + 0x3cc]
mov dword [esp + 0x3b0], esi
mov edx, eax
mov dword [esp + 0x404], ecx
jmp 0x6ed45f
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov edi, eax
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x360], eax
mov dword [esp + 0x384], ebx
mov dword [esp + 0x308], ebx
mov dword [esp + 0x340], ebx
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov dword [esp + 0x328], eax
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x404], eax
jmp 0x6ddea2
cmp ebx, 0xc
jne 0x6dc4e5
mov eax, ebx
not eax
and eax, 1
add eax, ebx
je 0x6dc4e5
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
jmp 0x6e9dd7
mov edx, 0xa
mov eax, dword [esp + 0x300]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x298]
mov eax, dword [ecx + eax*8 + 0x10]
cmp eax, 0x80
je 0x6dc538
mov ebx, 0x10
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, dword [esp + 0x400]
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0x20c]
mov edi, dword [esp + 0x29c]
jne 0x6de02c
jmp 0x6e7e52
mov eax, dword [esp + 0x400]
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0x20c]
mov edi, dword [esp + 0x29c]
jmp 0x6e7e52
mov eax, 7
mov ecx, dword [esp + 0x300]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x298]
mov edx, dword [edx + ecx*8 + 0x10]
cmp edx, 8
jne 0x6dc5b6
mov dword [esp + 0x304], ebx
mov dword [esp + 0x328], edi
mov dword [esp + 0x2e4], esi
mov byte [esp + 0x53], 0x5e
mov ecx, 1
imul edx, edx
and edx, 3
cmp edx, 2
mov edx, dword [esp + 0x400]
mov dword [esp + 0x9c], edx
jb 0x6ea755
mov dword [esp + 0x304], ebx
mov dword [esp + 0x328], edi
mov dword [esp + 0x2e4], esi
mov byte [esp + 0x53], 0x5e
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x9c], ecx
jmp 0x6ebe2d
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
je 0x6de8f5
mov eax, 0x11
mov dword [esp + 0x558], 0x30000003
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x358], ecx
mov edx, dword [esp + 0x3c4]
mov esi, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3c0]
cmp eax, 0xa
jne 0x6dc7a6
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x6dc7a6
mov dword [esp + 0x3b0], ecx
mov dword [esp + 0x378], edx
xor eax, eax
mov ecx, esi
mov dword [esp + 0x3bc], esi
not ecx
and ecx, 1
mov edx, dword [esp + 0x300]
lea edx, [edx + edx*2]
mov dword [esp + 0x3f4], edx
mov bl, byte [esp + 0x1e2]
mov esi, dword [esp + 0x104]
mov edx, dword [esp + 0xf8]
jmp 0x6dc72e
mov edi, eax
or edi, 2
mov ebx, eax
xor ebx, 2
add ebx, edi
setne bl
movzx edi, bl
add eax, edi
mov esi, dword [esp + 0x3bc]
mov edi, esi
add edi, ecx
setne bl
movzx edi, bl
sub esi, edi
mov dword [esp + 0x254], esi
mov edi, dword [esp + 0x3b8]
mov edi, dword [edi]
mov dword [esp + 0x25c], edi
mov edx, dword [esp + 0x3f4]
mov edi, dword [edi + edx*8 + 4]
mov dword [esp + 0x278], edi
test edi, edi
sete bl
mov edx, dword [esp + 0x24c]
mov edx, dword [edx + 4]
mov dword [esp + 0x250], edx
mov edi, esi
shl edi, 6
lea esi, [edx + edi + 0x34]
lea edx, [edx + edi + 0x38]
mov dword [esp + 0x284], 0
mov edi, eax
imul edi, edi
and edi, 3
cmp edi, 2
sbb edi, edi
and edi, 1
cmp eax, edi
jb 0x6dc6b0
mov dword [esp + 0xf8], edx
mov dword [esp + 0x104], esi
mov byte [esp + 0x1e2], bl
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3c0], eax
jmp 0x6eca39
mov dword [esp + 0x3bc], esi
mov dword [esp + 0x3b0], ecx
mov esi, dword [esp + 0x358]
jmp 0x6de8f5
mov edx, eax
or edx, 2
mov esi, eax
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
add eax, edx
mov edx, dword [esp + 0x298]
mov edx, dword [edx + ecx*8 + 0x14]
mov esi, dword [edx]
mov dword [esp + 0x3e8], esi
mov edx, dword [edx + 4]
mov dword [esp + 0x3f4], edx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x3e0], edx
mov edx, dword [esp + 0x400]
mov dword [esp + 0x33c], edx
mov edi, dword [esp + 0x3c0]
mov esi, dword [esp + 0x3d8]
mov ebx, dword [esp + 0x3c4]
mov edx, dword [esp + 0x3b4]
mov dword [esp + 0x3f0], edx
mov edx, dword [esp + 0x338]
mov dword [esp + 0x3e4], edx
mov edx, dword [esp + 0x364]
mov dword [esp + 0x3ec], edx
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
cmp eax, edx
jb 0x6dc7c0
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov edx, ebx
mov dword [esp + 0x3bc], esi
mov dword [esp + 0x3b0], edi
jmp case.0x6d9d53.35
mov byte [esp + 0x20b], 0x34
mov dword [esp + 0x558], 0x7000002f
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x244], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x210]
mov dword [esp + 0x238], eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x22c], eax
jmp 0x6d9a82
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
mov ebx, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x3e4]
mov edi, dword [esp + 0x3e8]
je 0x6dff75
mov eax, dword [esp + 0x300]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x298]
mov ecx, dword [ecx + eax*8 + 0x10]
cmp ecx, 4
jne 0x6dcd07
mov byte [esp + 0x2c7], 0x54
mov eax, 0xb
mov edx, 3
sub edx, ecx
xor edx, ecx
mov ebx, dword [esp + 0x2f0]
mov edi, dword [esp + 0x33c]
mov esi, dword [esp + 0x2d0]
mov edx, dword [esp + 0x308]
jne 0x6e3dcf
jmp 0x6dcd2b
mov byte [esp + 0x2c7], 0x54
mov ebx, dword [esp + 0x2f0]
mov edi, dword [esp + 0x33c]
mov esi, dword [esp + 0x2d0]
mov edx, dword [esp + 0x308]
mov dword [esp + 0x308], edx
mov dword [esp + 0x2d0], esi
mov dword [esp + 0x2f0], ebx
xor eax, eax
mov esi, dword [esp + 0x374]
mov ebx, dword [esp + 0x400]
jmp 0x6dcd7b
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
adc eax, 0
mov dword [esp + 0x558], 0x30000003
mov esi, ebx
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6dcd60
mov dword [esp + 0x33c], edi
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
jmp 0x6de8d2
mov dword [esp + 0x3fc], edx
mov dword [esp + 0x370], ecx
mov dword [esp + 0x37c], eax
mov dword [esp + 0x36c], edi
mov al, 0x22
mov dword [esp + 0x2f0], eax
mov edx, dword [esp + 0x300]
lea eax, [edx + edx*2]
mov ecx, dword [esp + 0x298]
mov eax, dword [ecx + eax*8 + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x400], ebx
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3dc], edx
mov eax, dword [esp + 0x360]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3ec], eax
mov edx, dword [esp + 0x378]
mov dword [esp + 0x3c8], edx
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3cc], eax
jmp case.0x6d9d53.35
mov eax, 0x90
add eax, 0xffffff85
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
add ecx, edx
mov dword [esp + 0x558], 0x30000003
mov dword [esp + 0x374], edi
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x6dcf10
mov dword [esp + 0x400], ebx
mov dword [esp + 0x48], edi
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
jmp 0x6e35fb
mov dword [esp + 0x29c], edi
mov dword [esp + 0x20c], esi
mov byte [esp + 0xcf], 0x73
mov esi, dword [esp + 0x300]
lea eax, [esi + esi*2]
mov ecx, dword [esp + 0x298]
mov eax, dword [ecx + eax*8 + 0x14]
mov dword [esp + 4], eax
lea eax, [esp + 0x4b0]
mov dword [esp], eax
mov dword [esp + 8], pe_nt_image_headers32
call fcn.007ce510
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov ecx, dword [esp + 0x3c4]
mov edx, ecx
mov dword [esp + 0x3dc], esi
mov dword [esp + 0x3c8], ecx
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x360]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3ec], eax
jmp case.0x6d9d53.35
cmp ecx, 2
adc eax, 0
mov dword [esp + 0x558], 0x30000003
mov ebx, edi
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb esi, esi
and esi, 1
cmp eax, esi
jb 0x6dd0f0
mov dword [esp + 0x374], ebx
cmp edx, 3
je 0x6dd16a
xor eax, eax
test al, al
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
je 0x6df15b
jmp 0x6de8f5
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov esi, dword [esp + 0x374]
jmp 0x6de8d2
mov esi, eax
mov dword [esp + 0x3e8], edi
mov eax, ebx
mov ebx, ecx
mov dword [esp + 0x33c], eax
mov dword [esp + 4], 1
mov dword [esp], 0x10
call fcn.00493840
mov dword [esp + 0x358], eax
test eax, eax
mov ecx, dword [esp + 0x3d4]
je 0x6dd239
mov dword [esp + 0x3ec], ebx
xor eax, eax
test al, al
mov edi, dword [esp + 0x36c]
mov eax, dword [esp + 0x348]
mov edx, dword [esp + 0x37c]
mov ecx, dword [esp + 0x3c4]
mov ebx, dword [esp + 0x3dc]
jne 0x6dd331
movzx eax, byte [esp + 0x2cd]
cmp eax, 0xd
je 0x6dd414
mov ebx, 0xc
cmp eax, 0x71
jne 0x6dd5a2
mov dword [esp + 0xe4], esi
mov eax, dword [esp + 0x400]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
jmp 0x6e4a0e
mov dword [esp + 0xe4], esi
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov dword [esp + 0x388], ebx
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x3a0], ecx
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x94], ebx
mov edi, dword [esp + 0x36c]
mov eax, dword [esp + 0x348]
mov edx, dword [esp + 0x37c]
mov esi, 0x10
jmp 0x6e2da2
mov dword [esp + 0xe4], esi
mov dword [esp + 0x398], ebx
mov ebx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ebx
mov ebx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ebx
mov ebx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ebx
mov ebx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ebx
mov ebx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ebx
mov ebx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ebx
mov ebx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ebx
mov ebx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ebx
mov ebx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ebx
mov ebx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0x378], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], ecx
mov ecx, dword [esp + 0x358]
mov dword [esp + 0x1d4], ecx
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x94], ebx
mov esi, 0x10
jmp 0x6e2da2
mov dword [esp + 0xe4], esi
mov byte [esp + 0x2cd], 0xd
mov esi, dword [esp + 0x358]
mov dword [esi], 0
mov dword [esi + 0xc], 0
mov edx, dword [esp + 0x3b8]
mov eax, dword [edx]
mov ecx, dword [esp + 0x300]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx + 0x14]
mov dword [esi + 4], eax
mov eax, dword [edx]
mov eax, dword [eax + ecx + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x4ac]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0xc]
add eax, 0xc
mov dword [esp + 0x288], eax
test edx, edx
jne 0x6dd70f
mov dword [esp + 0x3bc], 4
mov ecx, edx
and ecx, 1
xor ecx, edx
mov dword [esp + 0xb4], edx
not ecx
test ecx, ecx
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x94], ebx
je 0x6dd765
mov eax, dword [esp + 0x3bc]
cmp eax, 4
jne 0x6dd63f
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x400], ebx
jne 0x6dd9ae
jmp 0x6de8bd
mov dword [esp + 0xe4], esi
mov eax, 0x10
mov byte [esp + 0x2cd], 0x71
mov edi, dword [esp + 0x358]
mov dword [edi], 0
mov dword [edi + 0xc], 0
mov esi, dword [esp + 0x3b8]
mov ecx, dword [esi]
mov edx, dword [esp + 0x300]
lea edx, [edx*8]
lea edx, [edx + edx*2]
mov ecx, dword [ecx + edx + 0x14]
mov dword [edi + 4], ecx
mov ecx, dword [esi]
mov ecx, dword [ecx + edx + 0x10]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x4ac]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx + 0xc]
add ecx, 0xc
mov dword [esp + 0x288], ecx
test edx, edx
jne 0x6dd726
mov ecx, edx
or ecx, 2
mov dword [esp + 0xb4], edx
xor edx, 2
add edx, ecx
mov ecx, dword [esp + 0x400]
mov ebx, ecx
mov dword [esp + 0x94], ecx
jne 0x6dd9ae
jmp 0x6e74fc
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x400], ebx
jmp 0x6de8bd
mov dword [esp + 0xb4], edx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x94], eax
jmp 0x6dd765
mov dword [esp + 0xb4], edx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x94], ecx
jmp 0x6e74fc
mov dword [esp + 0x400], ebx
mov dword [esp + 0x558], 0x70000003
mov esi, dword [esp + 0x94]
mov edx, dword [esp + 0x378]
jmp 0x6de8f5
movzx eax, byte [esp + 0x14f]
cmp eax, 0x1f
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x400]
je 0x6dd7ce
cmp eax, 0x39
je 0x6dd85b
cmp eax, 0x62
jne 0x6dd888
mov byte [esp + 0x14f], 0x73
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shl eax, 4
add eax, 0x10
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
test eax, eax
jne 0x6dd96c
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x290], eax
jmp 0x6dd945
mov esi, 9
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shl eax, 4
add eax, 0x10
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
test eax, eax
je 0x6dd91c
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
je 0x6dd926
mov dword [esp + 0x290], eax
mov byte [esp + 0x14f], 0x1f
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov edx, dword [esp + 0x3c8]
mov edi, dword [esp + 0x3d4]
mov ecx, dword [esp + 0x3cc]
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x15c], ebx
mov eax, 0xe
jmp 0x6ed82a
mov esi, 0x18
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shl eax, 4
add eax, 0x10
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
test eax, eax
je 0x6dd8f3
mov byte [esp + 0x14f], 0x62
jmp 0x6dd92e
mov esi, 0xa
mov byte [esp + 0x14f], 0x39
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shl eax, 4
add eax, 0x10
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
test eax, eax
jne 0x6dd98d
mov edi, 0x10
mov ecx, eax
or ecx, 2
mov dword [esp + 0x290], eax
mov edx, eax
xor edx, 2
add edx, ecx
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x15c], ebx
jne 0x6e171d
jmp 0x6e1295
mov dword [esp + 0x290], eax
mov byte [esp + 0x14f], 0x62
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x15c], ebx
jmp 0x6ddcb6
mov byte [esp + 0x14f], 0x1f
jmp 0x6dd92e
mov byte [esp + 0x14f], 0x1f
cmp esi, 9
jne 0x6dd96c
mov dword [esp + 0x290], eax
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x15c], ebx
mov dword [esp + 0x1d0], eax
jne 0x6ddcb6
jmp 0x6dda33
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x15c], ebx
jmp 0x6dda33
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x15c], ebx
jmp 0x6e1295
mov edi, 0x14
mov dword [esp + 4], 1
mov dword [esp], 8
call fcn.00493840
mov ecx, eax
mov eax, dword [esp + 0x288]
mov dword [eax], ecx
test ecx, ecx
jne 0x6dda12
mov esi, 3
mov eax, ecx
not eax
and eax, 1
add eax, ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x15c], ebx
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
mov ecx, dword [esp + 0x3d8]
jne 0x6e32cf
jmp 0x6e3165
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x15c], ebx
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
jmp 0x6e315e
mov al, byte [esp + 0x347]
movzx eax, al
cmp eax, 0x2c
jne 0x6ddbd2
xor ecx, ecx
mov edx, 0xdf
mov eax, 0xdf
xor eax, 0xd6
mov dword [esp + 0x2c], eax
add edx, eax
mov dword [esp + 0x3bc], edx
mov eax, dword [esp + 0x300]
lea eax, [eax*8]
lea esi, [eax + eax*2]
jmp 0x6ddb14
mov eax, dword [esp + 0x3bc]
add al, 0x44
mov byte [esp + 0x347], al
cmp edi, 2
adc ecx, 0
mov eax, dword [esp + 0x288]
mov edi, dword [eax]
mov edx, dword [esp + 0x290]
mov dword [edi + 4], edx
mov edi, dword [eax]
mov ebx, dword [edi]
mov edi, dword [edi + 4]
shl ebx, 4
mov dword [edi + ebx], 0xffce
mov word [edi + ebx + 4], 9
mov dword [edi + ebx + 8], 0
mov edx, dword [esp + 0x358]
mov dword [edi + ebx + 0xc], edx
mov edi, dword [eax]
mov edx, dword [edi]
mov ebx, edx
or ebx, 2
mov eax, edx
xor eax, 2
add eax, ebx
setne al
movzx eax, al
add eax, edx
mov dword [edi], eax
mov dword [esp + 0x558], 0
mov edx, dword [esp + 0x3b8]
mov eax, dword [edx]
mov dword [eax + esi + 0x14], 0
mov eax, dword [edx]
mov dword [eax + esi + 0x10], 0
mov edi, ecx
imul edi, edi
and edi, 3
cmp edi, 2
sbb ebx, ebx
and ebx, 1
cmp ecx, ebx
jb 0x6dda80
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x320], ecx
mov eax, dword [esp + 0x404]
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x33c], ecx
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x378], eax
mov esi, dword [esp + 0x3b4]
mov edx, dword [esp + 0x338]
mov ebx, dword [esp + 0x360]
mov eax, dword [esp + 0x340]
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x2c0], eax
mov edi, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x300]
mov eax, dword [esp + 0x368]
jmp 0x6df7fe
mov edx, dword [esp + 0x288]
mov eax, dword [edx]
mov ecx, dword [esp + 0x290]
mov dword [eax + 4], ecx
mov eax, dword [edx]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shl ecx, 4
mov dword [eax + ecx], 0xffce
mov word [eax + ecx + 4], 9
mov dword [eax + ecx + 8], 0
mov edi, dword [esp + 0x358]
mov dword [eax + ecx + 0xc], edi
mov eax, dword [edx]
mov ecx, dword [eax]
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
add edx, ecx
mov dword [eax], edx
mov dword [esp + 0x558], 0
mov esi, dword [esp + 0x300]
lea eax, [esi*8]
lea eax, [eax + eax*2]
mov edx, dword [esp + 0x3b8]
mov ecx, dword [edx]
mov dword [ecx + eax + 0x14], 0
mov ecx, dword [edx]
mov dword [ecx + eax + 0x10], 0
mov dword [esp + 0x1d4], edi
mov eax, dword [esp + 0x3c4]
mov edx, eax
mov dword [esp + 0x3dc], esi
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x3cc], eax
mov byte [esp + 0x347], 0x15
jmp 0x6dd082
xor edi, edi
mov ebx, dword [esp + 0x374]
mov esi, dword [esp + 0x15c]
jmp 0x6ddcfd
mov eax, edi
not eax
and eax, 1
add eax, edi
setne al
movzx eax, al
add edi, eax
mov dword [esp + 0x558], 0x70000003
mov eax, dword [esp + 0x358]
mov dword [esp], eax
call fcn.004936c0
mov ebx, esi
mov eax, edi
or eax, 2
mov ecx, edi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp edi, eax
jb 0x6ddcd0
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d0], eax
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov esi, ebx
jmp 0x6de8f5
cmp edi, 5
je 0x6dde2f
imul edi, edi
and edi, 3
cmp edi, 3
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
jne 0x6de8bd
jmp 0x6de8f5
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
jmp 0x6de8d2
mov eax, 3
sub eax, ebx
xor eax, ebx
je 0x6e8454
mov esi, 9
mov al, 0x6f
mov dword [esp + 0x2c8], eax
mov byte [esp + 0xb3], 0x50
mov dword [esp + 4], 1
mov dword [esp], 0x10
call fcn.00493840
test eax, eax
je 0x6de106
mov ecx, eax
mov dword [esp + 0x20c], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov dword [esp + 0x2bc], edi
je 0x6e6eef
movzx eax, byte [esp + 0x2c5]
cmp eax, 7
je 0x6de119
cmp eax, 0x17
jne 0x6de1cc
mov ebx, 0x1e
mov eax, dword [esp + 0x3b8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x300]
lea ecx, [ecx + ecx*2]
mov esi, dword [eax + ecx*8]
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
or edx, 4
cmp esi, 0x15
mov si, 4
cmove si, dx
mov dword [esp + 0x264], esi
mov byte [esp + 0x2c5], 0x7d
mov byte [esp + 0x2ff], 4
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x260], eax
mov esi, dword [esp + 0x20c]
mov dword [esi], 0
mov dword [esi + 0xc], 0
lea eax, [esi + 8]
lea ecx, [esi + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x488]
mov dword [esp], eax
call fcn.00626bc0
mov dword [esp + 0x558], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov ecx, 4
mov dword [esp + 0x400], edi
mov dword [esp + 0x188], esi
mov dword [esp + 0xdc], edi
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x2bc], edi
mov eax, edi
mov edi, dword [esp + 0x29c]
jne 0x6deb41
xor ecx, ecx
cmp ebx, 0x10
je 0x6de274
mov dword [esp + 0x29c], edi
mov dword [esp + 0x20c], esi
mov eax, ebx
and eax, 1
inc eax
xor eax, ebx
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x400]
je 0x6dcf3b
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov edi, dword [esp + 0x2bc]
mov esi, ebx
jmp 0x6de333
mov dword [esp + 0x20c], eax
mov dword [esp + 0x2bc], edi
jmp 0x6e6eef
mov byte [esp + 0x2c5], 0x17
mov byte [esp + 0x2ff], 4
mov eax, dword [esp + 0x3b8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x300]
lea ecx, [ecx + ecx*2]
cmp dword [eax + ecx*8], 0x15
sete dl
movzx edx, dl
or edx, 4
mov dword [esp + 0x264], edx
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x260], eax
mov esi, dword [esp + 0x20c]
mov dword [esi], 0
mov dword [esi + 0xc], 0
lea eax, [esi + 8]
lea ecx, [esi + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x488]
mov dword [esp], eax
call fcn.00626bc0
mov dword [esp + 0x558], eax
test eax, eax
jne 0x6de292
mov ecx, 1
mov edx, eax
or edx, 2
xor eax, 2
add eax, edx
mov dword [esp + 0x400], edi
mov dword [esp + 0x188], esi
mov dword [esp + 0xdc], edi
mov esi, edi
jne 0x6df26b
jmp 0x6dec2f
mov eax, dword [esp + 0x3b8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x300]
lea ecx, [ecx + ecx*2]
mov dx, 5
mov dword [esp + 0x264], edx
cmp dword [eax + ecx*8], 0x15
mov esi, dword [esp + 0x20c]
je 0x6de202
mov dx, 4
mov dword [esp + 0x264], edx
mov byte [esp + 0x2c5], 7
mov byte [esp + 0x2ff], 4
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x260], eax
mov dword [esi], 0
mov dword [esi + 0xc], 0
lea eax, [esi + 8]
lea ecx, [esi + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x488]
mov dword [esp], eax
call fcn.00626bc0
mov dword [esp + 0x558], eax
test eax, eax
mov eax, edi
mov dword [esp + 0x188], esi
mov esi, eax
mov dword [esp + 0xdc], edi
mov dword [esp + 0x400], edi
je 0x6de333
jmp 0x6dec2f
mov dword [esp + 0x29c], edi
mov dword [esp + 0x20c], esi
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x400]
jmp 0x6dcf3b
mov dword [esp + 0x400], edi
mov dword [esp + 0x188], esi
mov dword [esp + 0xdc], edi
jmp 0x6dec2f
mov al, bl
xor al, 0x24
mov byte [esp + 0x2ff], al
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add esi, eax
mov dword [esp], edi
call fcn.004936c0
mov dword [esp + 0x558], 0x700002bb
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
jb 0x6de2b0
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x2bc], eax
mov esi, dword [esp + 0x33c]
mov edi, dword [esp + 0x324]
jmp 0x6e5b63
mov dword [esp + 0x358], esi
mov dword [esp + 0x378], edi
mov al, 0x30
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x4ac]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0xc]
add eax, 0xc
mov dword [esp + 0x280], eax
test edx, edx
mov esi, dword [esp + 0x3c0]
mov edi, dword [esp + 0x3d8]
je 0x6de59f
mov eax, edx
and eax, 1
inc eax
xor eax, edx
je 0x6de59f
mov dword [esp + 0x168], edx
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x2bc], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x360]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3f0], eax
mov edx, dword [esp + 0x3c4]
mov ecx, edi
mov ebx, esi
mov eax, dword [esp + 0x358]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x300], eax
mov esi, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x168]
mov eax, dword [ecx]
shl eax, 4
add eax, 0x10
mov dword [esp + 0x3bc], 0xa
mov ecx, dword [ecx + 4]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov edi, edx
call fcn.00492a60
mov dword [esp + 0x27c], eax
test eax, eax
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3c4], edi
mov dword [esp + 0x3d8], ebx
mov dword [esp + 0x3c0], esi
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov edi, dword [esp + 0x314]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x17c], eax
mov eax, 0xd
jne 0x6e945e
jmp 0x6e08c7
mov ecx, 0xb
mov al, byte [esp + 0xc3]
movzx eax, al
cmp eax, 0x26
jne 0x6de679
mov dword [esp + 0x168], edx
mov eax, dword [esp + 0x378]
mov dword [esp + 0x2bc], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x360]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x378], eax
mov dword [esp + 0x3bc], edi
mov dword [esp + 0x3b0], esi
mov edi, dword [esp + 0x358]
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e0], eax
mov ebx, dword [esp + 0x374]
mov esi, dword [esp + 0x394]
mov edx, dword [esp + 0x390]
jmp 0x6e90b7
mov ebx, 0xc
mov byte [esp + 0xc3], 8
mov dword [esp + 4], 1
mov dword [esp], 8
call fcn.00493840
mov edx, eax
mov eax, dword [esp + 0x280]
mov dword [eax], edx
test edx, edx
je 0x6de6f2
mov eax, 0xd
mov ecx, edx
mov dword [esp + 0x168], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov ecx, dword [esp + 0x378]
mov edx, dword [esp + 0x358]
mov dword [esp + 0x17c], edx
mov edx, dword [esp + 0x3c4]
mov edi, dword [esp + 0x3d8]
mov dword [esp + 0x3b0], esi
jne 0x6e6161
jmp 0x6de723
mov dword [esp + 0x168], edx
mov ecx, dword [esp + 0x378]
mov eax, dword [esp + 0x358]
mov dword [esp + 0x17c], eax
mov edx, dword [esp + 0x3c4]
mov edi, dword [esp + 0x3d8]
mov dword [esp + 0x3b0], esi
mov dword [esp + 0x2bc], ecx
cmp ebx, 0xc
jne 0x6de7ea
mov eax, ebx
or eax, 2
xor ebx, 2
add ebx, eax
je 0x6de7ea
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3c4], edx
mov dword [esp + 0x3d8], edi
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x400], eax
mov eax, 5
mov ecx, dword [esp + 0x1a4]
movzx ecx, cl
cmp ecx, 0x30
je 0x6de864
mov esi, 0xd
mov eax, 0x14
cmp ecx, 0x7f
mov ebx, dword [esp + 0x3d8]
mov edi, dword [esp + 0x398]
mov ecx, dword [esp + 0x3a4]
je 0x6e3a15
jmp 0x6ea141
mov byte [esp + 0x2d4], 0x60
mov eax, dword [esp + 0x300]
lea eax, [eax + eax*2]
mov esi, dword [esp + 0x298]
mov ecx, dword [esi + eax*8 + 0x10]
mov dword [esp + 0x3bc], edi
mov edi, edx
mov edx, dword [esi + eax*8 + 0x14]
mov eax, dword [esi + eax*8 + 4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0068ee80
mov edx, edi
mov dword [esp + 0x558], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov esi, dword [esp + 0x358]
mov dword [esp + 0x400], esi
mov dword [esp + 0x374], esi
jne 0x6de8f5
jmp 0x6eaca6
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov esi, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x3ac], ecx
mov dl, byte [esp + 0x1e2]
mov edi, dword [esp + 0x33c]
mov ebx, dword [esp + 0x328]
jmp 0x6ec338
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov esi, dword [esp + 0x224]
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x378], edx
mov dword [esp + 0x358], 0x1a
mov byte [esp + 0x2ab], 7
mov eax, dword [esp + 0x49c]
mov dword [esp + 0x330], eax
test eax, eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov dword [esp + 0x374], esi
mov dword [esp + 0x2a4], esi
mov dword [esp + 0x3c4], edx
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov edi, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], edi
mov edx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], edx
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], ecx
mov esi, dword [esp + 0x400]
mov ebx, esi
jne 0x6ed0ec
jmp 0x6e8ecf
mov byte [esp + 0x26f], 0x68
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
mov ebx, dword [esp + 0x280]
mov ecx, dword [ebx]
mov edx, dword [esp + 0x27c]
mov dword [ecx + 4], edx
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
shl edx, 4
mov edi, dword [esp + 0x260]
mov dword [ecx + edx], edi
mov edi, dword [esp + 0x264]
mov word [ecx + edx + 4], di
mov dword [ecx + edx + 8], 0
mov dword [ecx + edx + 0xc], esi
mov ecx, dword [ebx]
inc dword [ecx]
mov dword [esp + 0x558], 0
mov ecx, dword [esp + 0x404]
mov edx, ecx
mov edi, dword [esp + 0x400]
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x324], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x310], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x31c], ecx
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x328], ecx
mov ecx, dword [esp + 0x338]
mov dword [esp + 0x2e4], ecx
mov ecx, dword [esp + 0x360]
mov dword [esp + 0x304], ecx
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x308], ecx
mov ebx, dword [esp + 0x364]
mov ecx, eax
imul ecx, ecx
and ecx, 3
test eax, eax
je 0x6dea10
cmp ecx, 3
je 0x6dea10
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x2d0], edx
mov dword [esp + 0x33c], edi
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x2bc]
mov edi, dword [esp + 0x29c]
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x29c], edi
mov dword [esp + 0x20c], esi
cmp ecx, 4
mov ebx, ecx
mov edx, dword [esp + 0x33c]
mov ecx, dword [esp + 0x2d0]
mov esi, dword [esp + 0x324]
mov edi, eax
jne 0x6decfd
mov eax, ebx
not eax
and eax, 1
add eax, ebx
mov dword [esp + 0x2bc], edi
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x3d0], edx
mov dword [esp + 0x3b0], esi
mov eax, dword [esp + 0x310]
mov dword [esp + 0x3bc], eax
mov edx, dword [esp + 0x31c]
mov eax, dword [esp + 0x328]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
je case.0x6d9d53.35
mov dword [esp + 0x378], edi
xor esi, esi
movzx eax, byte [esp + 0x2ff]
cmp eax, 4
mov edi, dword [esp + 0x188]
je 0x6dec8b
cmp eax, 0x19
jne 0x6dec98
mov esi, 0xc
mov byte [esp + 0x2ff], 4
mov dword [esp], edi
call fcn.004936c0
mov dword [esp + 0x558], 0x700002bb
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x224], eax
mov bl, byte [esp + 0x2ef]
jmp 0x6e7839
mov ebx, 0x44
add ebx, 0xffffffbe
jmp 0x6de2e2
mov ebx, 0x34
add ebx, 0xffffffe3
jmp 0x6deccf
mov al, bl
add al, 2
mov byte [esp + 0x2ff], al
inc esi
mov dword [esp], edi
call fcn.004936c0
mov dword [esp + 0x558], 0x700002bb
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp esi, eax
jb 0x6decb0
mov esi, dword [esp + 0xdc]
mov eax, dword [esp + 0x378]
mov dword [esp + 0x2bc], eax
jmp 0x6ebf72
mov dword [esp + 0x2bc], edi
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x3d0], edx
mov dword [esp + 0x3b0], esi
mov eax, dword [esp + 0x310]
mov dword [esp + 0x3bc], eax
mov edx, dword [esp + 0x31c]
mov eax, dword [esp + 0x328]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
jmp case.0x6d9d53.35
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x268], esi
mov dword [esp + 0x2e8], edx
mov byte [esp + 0x2d7], 6
mov dword [esp + 0x558], 0x30000003
mov dword [esp + 0x37c], 0
mov eax, dword [esp + 0x404]
mov dword [esp + 0x370], eax
mov ebx, dword [esp + 0x320]
mov dword [esp + 0x3f8], ebx
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3fc], eax
mov edx, dword [esp + 0x378]
jmp 0x6ed45f
mov eax, 0xee
add eax, 0xffffff16
mov bl, al
xor bl, 0x67
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
add ecx, edx
mov dword [esp + 0x558], 0x70000003
mov dword [esp + 0x37c], 0
mov edx, dword [esp + 0x404]
mov dword [esp + 0x370], edx
mov esi, dword [esp + 0x400]
mov edx, dword [esp + 0x3b4]
mov dword [esp + 0x3fc], edx
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x6dee20
mov dword [esp + 0x3f8], esi
mov byte [esp + 0x2cc], bl
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov dword [esp + 0x388], edi
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
cmp eax, 4
je 0x6df009
xor eax, eax
test al, al
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov ebx, dword [esp + 0x400]
je 0x6e482d
jmp 0x6ed45f
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov ebx, dword [esp + 0x400]
jmp 0x6ed45f
mov dword [esp + 0x328], ebx
mov dword [esp + 0x330], edx
mov dword [esp + 0x348], esi
mov dword [esp + 0x36c], ecx
mov byte [esp + 0x2ce], 0x28
mov eax, dword [esp + 0x548]
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x54c]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x45c]
mov dword [esp + 0x148], eax
mov eax, dword [eax]
mov dword [esp + 0xc8], eax
mov edi, dword [eax]
dec edi
cmp edi, 3
mov dword [esp + 0x2b4], 0x70000006
ja case.default.0x6df154
mov eax, 0xb
mov ecx, 3
mov edx, 6
mov esi, 0x13
jmp dword [edi*4 + 0x7ec14c]
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 3
sete bl
cmp edx, dword [esp + 0x21c]
mov eax, esi
sbb eax, dword [esp + 0x218]
setb al
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
mov ecx, 0x13
sete ah
or ah, al
mov dword [esp + 0x2b4], 0x70000029
je 0x6e6dc9
mov eax, 6
movzx edi, bl
xor edx, edi
or edx, esi
je 0x6e6dc9
cmp eax, 6
jne 0x6df1d6
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne case.default.0x6df154
mov ecx, 0xf
mov eax, dword [esp + 0x2f8]
movzx edx, al
cmp edx, 0x19
je 0x6df24f
mov eax, 0xa
cmp edx, 0x60
jne 0x6e2ffa
xor esi, esi
mov ebx, 0xfe
add ebx, 0xffffff91
jmp 0x6df235
mov cl, bl
add cl, 0x8a
mov dword [esp + 0x2f8], ecx
xor eax, esi
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x258]
mov dword [esp], eax
call fcn.00689a80
mov eax, 3
sub eax, esi
mov ecx, esi
xor ecx, eax
setne cl
movzx ecx, cl
cmp esi, ecx
jb 0x6df210
jmp 0x6e94ec
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov edi, dword [esp + 0x2bc]
mov esi, dword [esp + 0x400]
mov eax, ecx
or eax, 2
mov edx, ecx
xor edx, 2
add edx, eax
setne al
movzx eax, al
cmp ecx, eax
je 0x6de333
mov dword [esp + 0x358], esi
mov dword [esp + 0x378], edi
xor ebx, ebx
mov esi, dword [esp + 0x258]
jmp 0x6df2c1
mov ecx, 0xa8
add cl, 0x6a
mov dword [esp + 0x2f8], ecx
xor eax, ebx
setne al
movzx eax, al
add ebx, eax
mov dword [esp], esi
call fcn.00689a80
mov eax, 3
sub eax, ebx
mov ecx, ebx
xor ecx, eax
setne cl
movzx ecx, cl
cmp ebx, ecx
jb 0x6df2a0
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x2bc], eax
mov ebx, dword [esp + 0x358]
jmp 0x6e94fa
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
mov dword [esp + 0x2b4], 0x70000029
cmp eax, dword [ecx + 4]
jae case.default.0x6df154
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne case.0x6ec944.1
mov eax, 0x13
mov ebx, dword [esp + 0x334]
movzx ecx, bl
cmp ecx, 0x67
jne 0x6df42e
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x388]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x394]
mov dword [esp + 0x3e8], ecx
mov edx, dword [esp + 0x384]
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x390]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x38c]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x368], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x378], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x320], ecx
mov ecx, dword [esp + 0x370]
mov edi, dword [esp + 0x3f8]
jmp 0x6e437c
xor esi, esi
mov edi, dword [esp + 0x36c]
mov ecx, dword [esp + 0x37c]
mov edx, dword [esp + 0x370]
jmp 0x6df4b0
mov ebx, 0x22
xor bl, 0x45
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0x558], eax
mov dword [esp], edi
call fcn.004936c0
mov eax, dword [esp + 0x45c]
mov dword [esp], eax
call fcn.00626ae0
xor ecx, ecx
mov edx, dword [esp + 0x404]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3fc], eax
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x6df450
mov dword [esp + 0x370], edx
mov dword [esp + 0x37c], ecx
mov dword [esp + 0x334], ebx
jmp 0x6e444b
mov ebx, 0xac
add ebx, 0xffffff6e
mov dl, bl
add dl, 0x4a
mov dword [esp + 0x334], edx
add eax, ecx
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0x558], eax
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x45c]
mov dword [esp], eax
call fcn.00626ae0
mov dword [esp + 0x37c], 0
mov eax, dword [esp + 0x404]
mov dword [esp + 0x370], eax
mov edi, dword [esp + 0x320]
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3fc], eax
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
mov edx, eax
add edx, ecx
setne dl
movzx edx, dl
cmp esi, edx
jb 0x6df4e0
mov dword [esp + 0x3f8], edi
mov edi, dword [esp + 0xd8]
mov ecx, dword [esp + 0x3f4]
mov edx, dword [esp + 0x378]
jmp 0x6eb24a
mov bl, 0x47
mov dword [esp + 0x558], 0
mov eax, dword [esp + 0x148]
lea ecx, [eax + 8]
mov dword [esp + 0x11c], ecx
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x6df5ce
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x6df98e
mov byte [esp + 0x2f4], 0x47
mov eax, 0xc
mov edx, dword [esp + 0x1c0]
movzx ecx, dl
cmp ecx, 0x23
je 0x6df62a
cmp ecx, 0x67
jne 0x6df6fa
mov al, 0x73
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x45c]
mov dword [esp], eax
call fcn.00626ae0
mov dword [esp + 0x558], 0x700002bb
jmp 0x6e0093
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x3dc], ecx
mov edi, dword [esp + 0x388]
mov ecx, dword [esp + 0x394]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x384]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x3e4], ecx
mov ebx, dword [esp + 0x390]
mov ecx, dword [esp + 0x38c]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x368], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x378], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], ecx
mov esi, dword [esp + 0x400]
jmp 0x6e53b1
mov dword [esp + 0x2c], 0x10
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x320], ecx
mov ecx, dword [esp + 0x324]
mov dword [esp + 0x3b0], ecx
mov ecx, dword [esp + 0x310]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x31c]
mov dword [esp + 0x378], ecx
mov edi, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x300]
mov edx, dword [esp + 0x2e4]
mov esi, dword [esp + 0x328]
mov ebx, dword [esp + 0x304]
mov dword [esp + 0x368], eax
cmp dword [esp + 0x2c], 9
je 0x6df8ef
xor eax, eax
test al, al
jne 0x6df8ef
mov dword [esp + 0x300], ecx
xor esi, esi
mov ebx, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x37c]
mov edx, dword [esp + 0x370]
jmp 0x6df890
mov ebx, 0x36
xor bl, 0x15
inc esi
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x45c]
mov dword [esp], eax
call fcn.00626ae0
mov dword [esp + 0x558], 0x700002bb
xor ecx, ecx
mov edx, dword [esp + 0x404]
mov edi, dword [esp + 0x320]
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3fc], eax
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp esi, eax
jb 0x6df840
mov dword [esp + 0x3f8], edi
mov dword [esp + 0x370], edx
mov dword [esp + 0x37c], ecx
mov dword [esp + 0x1c0], ebx
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov ebx, dword [esp + 0x320]
jmp 0x6ed45f
mov dword [esp + 0x3f8], edi
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3f0], esi
mov dword [esp + 0x3e4], edx
mov dword [esp + 0x3e8], ebx
mov eax, dword [esp + 0x308]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3dc], ecx
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x320]
mov dword [esp + 0x400], eax
mov edx, dword [esp + 0x378]
jmp case.0x6d9d53.35
mov eax, 0x11
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x6dfaa6
xor edx, edx
test dl, dl
jne 0x6dfaa6
mov eax, 1
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 0x6dfab2
mov byte [esp + 0x2f4], bl
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x3dc], ecx
mov edi, dword [esp + 0x388]
mov ecx, dword [esp + 0x394]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x384]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x3e4], ecx
mov ebx, dword [esp + 0x390]
mov ecx, dword [esp + 0x38c]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x368], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x378], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3b0], esi
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x320], ecx
mov edx, dword [esp + 0x3f8]
jmp 0x6e9b38
mov byte [esp + 0x2f4], bl
jmp 0x6e6c18
movzx eax, byte [esp + 0x2cf]
cmp eax, 0x44
jne 0x6dfb8f
mov byte [esp + 0x2f4], bl
mov eax, 8
mov byte [esp + 0x2cf], 0x3f
mov esi, dword [esp + 0x148]
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x68]
mov dword [edx], ecx
lea ecx, [esp + 0x42c]
mov edx, dword [esp + 0x70]
mov dword [edx], ecx
mov ecx, dword [esp + 0x64]
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x18], 0
mov ecx, dword [esp + 0x60]
mov dword [ecx], 3
mov ecx, dword [esp + 0x5c]
mov dword [ecx], 0
mov ecx, dword [esp + 0x58]
mov dword [ecx], 0
lea ecx, [esp + 0x410]
mov edx, dword [esp + 0x54]
mov dword [edx], ecx
mov ecx, dword [esi]
mov esi, dword [ecx + 0x28]
test esi, esi
mov edi, dword [esp + 0x29c]
jne 0x6dfba7
mov ecx, esi
or ecx, 2
mov edx, esi
xor edx, 2
add edx, ecx
mov ecx, dword [esp + 0x328]
mov ebx, dword [esp + 0x3ac]
jne 0x6dfd4e
jmp 0x6dfc10
mov byte [esp + 0x2f4], bl
mov edi, 0x17
mov ecx, dword [esp + 0x3c4]
jmp 0x6e7c8a
mov ecx, dword [esp + 0x328]
mov ebx, dword [esp + 0x3ac]
jmp 0x6dfc10
mov dword [esp + 0x3ec], edi
mov al, 0x67
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x45c]
mov dword [esp], eax
call fcn.00626ae0
mov dword [esp + 0x558], 0x700002bb
mov dword [esp + 0x37c], 0
mov eax, dword [esp + 0x404]
mov dword [esp + 0x370], eax
mov ebx, esi
jmp 0x6dedf9
cmp eax, 8
je 0x6e7d62
mov dword [esp + 0x328], ecx
mov dword [esp + 0x90], esi
mov dword [esp + 0x558], 0x70000003
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x368], ebx
mov eax, 0xd
mov cl, 0x13
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x374], edi
mov dword [esp + 0x29c], edi
xor ecx, ecx
cmp eax, 0xd
jne 0x6dfd34
mov edx, 3
sub edx, eax
xor edx, eax
mov bl, byte [esp + 0x2cc]
mov esi, dword [esp + 0x3f8]
mov edi, dword [esp + 0x3ec]
je 0x6dee79
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov dword [esp + 0x388], edi
jmp 0x6e2686
mov bl, byte [esp + 0x2cc]
mov esi, dword [esp + 0x3f8]
mov edi, dword [esp + 0x3ec]
jmp 0x6dee79
mov dword [esp + 0x3ac], ebx
mov dword [esp + 0x328], ecx
mov dword [esp + 0x29c], edi
mov dword [esp + 0x90], esi
xor edx, edx
jmp 0x6dfd99
mov dword [esp + 0x328], edx
mov dword [esp + 0x29c], edi
mov dword [esp + 0x188], ecx
mov dword [esp + 0x20c], esi
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xac]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa8]
mov dword [eax + 4], ecx
lea eax, [esp + 0x41c]
mov ecx, dword [esp + 0x80]
mov dword [ecx], eax
lea eax, [esp + 0x40c]
mov ecx, dword [esp + 0x8c]
mov dword [ecx], eax
mov edx, dword [esp + 0x11c]
mov eax, dword [edx]
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x7c]
mov dword [ecx], eax
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov eax, dword [eax]
and eax, 0xe
mov dword [esp + 0x408], eax
lea eax, [esp + 0x408]
mov ecx, dword [esp + 0x78]
mov dword [ecx], eax
lea eax, [esp + 0x474]
mov ecx, dword [esp + 0x74]
mov dword [ecx], eax
mov esi, 0x19
mov byte [esp + 0x2d6], 0x6f
mov dword [esp], 8
call fcn.00492770
test eax, eax
jne 0x6dff4d
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x374]
mov ecx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x3e4]
mov edi, dword [esp + 0x3e8]
jne 0x6dff75
jmp 0x6e5916
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x374]
mov ecx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x3e4]
mov edi, dword [esp + 0x3e8]
jmp 0x6e5916
mov dword [esp + 0x3e8], edi
mov dword [esp + 0x3e4], edx
mov dword [esp + 0x3ec], ecx
mov dword [esp + 0x3d8], ebx
xor esi, esi
mov edi, dword [esp + 0x36c]
mov ecx, dword [esp + 0x37c]
mov edx, dword [esp + 0x370]
mov ebx, dword [esp + 0x400]
jmp 0x6dffff
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov dword [esp], edi
call fcn.004936c0
mov dword [esp + 0x558], 0x70000003
xor ecx, ecx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x3f8], ebx
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3fc], eax
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x6dffc0
mov dword [esp + 0x370], edx
mov dword [esp + 0x37c], ecx
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
jmp 0x6ed45f
mov eax, 0xa
mov ecx, dword [esp + 0x4a8]
mov dword [esp + 0x24c], ecx
test ecx, ecx
je 0x6e0079
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x368], ecx
mov ecx, dword [esp + 0x374]
jmp 0x6dc635
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x558], 0x30000003
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x3f8], ebx
jmp 0x6ec42c
mov edx, eax
and edx, 1
inc edx
xor edx, eax
je 0x6ec2d7
mov byte [esp + 0x2f7], 0x3c
mov eax, dword [esp + 0xf8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x354]
cmp esi, dword [eax + ecx*4]
jne 0x6ece41
xor eax, eax
mov ecx, dword [esp + 0x254]
shl ecx, 6
mov edi, dword [esp + 0x250]
mov ebx, dword [esp + 0x1d8]
jmp 0x6e01e3
mov edx, eax
not edx
and edx, 1
add edx, eax
setne dl
movzx edx, dl
add eax, edx
mov ebx, dword [edi + ecx + 0x34]
mov edx, dword [esp + 0x354]
mov dword [esp + 0x350], edx
mov edx, eax
or edx, 2
mov esi, eax
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
cmp eax, edx
jb 0x6e01c0
mov dword [esp + 0x1d8], ebx
jmp 0x6ecfa3
mov byte [esp + 0x2f5], 1
mov eax, 3
mov ecx, dword [esp + 0x354]
sub eax, ecx
xor eax, ecx
setne al
movzx edx, al
add edx, ecx
mov eax, dword [esp + 0x104]
mov eax, dword [eax]
mov dword [esp + 0x1d8], eax
cmp edx, eax
jb 0x6e0262
mov ecx, 0xb
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x350], edx
mov dword [esp + 0x284], edx
jne 0x6ecd73
jmp 0x6eca39
mov dword [esp + 0x350], edx
mov dword [esp + 0x284], edx
jmp 0x6eca39
mov al, 0x32
mov dword [esp + 0x2e8], eax
cmp dword [esp + 0x278], 0xffcb
sete al
mov esi, 1
cmove esi, dword [esp + 0x3b4]
movzx ecx, al
imul ecx, ecx
cmp ecx, 2
setb cl
xor cl, al
movzx edi, cl
mov dword [esp + 0x268], esi
mov dword [esp + 0x1b8], edi
mov eax, dword [esp + 0x3c0]
or eax, edi
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov eax, esi
mov ecx, dword [esp + 0x25c]
mov dword [esp + 0x174], ecx
mov dword [esp + 0x170], esi
jne 0x6e1a2c
mov ecx, 0xd
mov dword [esp + 0x554], 0
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov dword [esp + 0x28c], edx
test edx, edx
mov edx, dword [esp + 0x398]
mov dword [esp + 0x3dc], edx
mov edx, dword [esp + 0x388]
mov dword [esp + 0x3ec], edx
mov esi, dword [esp + 0x394]
mov dword [esp + 0x3e8], esi
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov edi, dword [esp + 0x314]
jne 0x6e7742
mov esi, 0xf
movzx ecx, byte [esp + 0x2f6]
cmp ecx, 0x10
je 0x6e052d
cmp ecx, 0x2d
je 0x6e05e1
mov eax, 0x15
cmp ecx, 0x58
jne 0x6e07a3
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x314], edi
mov esi, dword [esp + 0x2e4]
mov edi, dword [esp + 0x328]
mov ebx, dword [esp + 0x304]
cmp eax, 0xc
mov edx, dword [esp + 0x36c]
jne 0x6e04cc
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x6dc556
mov dword [esp + 0x304], ebx
mov dword [esp + 0x328], edi
mov dword [esp + 0x2e4], esi
mov ebx, 0xc
mov byte [esp + 0x2f6], 0x41
lea eax, [edx + 8]
lea ecx, [edx + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x460]
mov dword [esp], eax
call fcn.00626a20
mov dword [esp + 0x558], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6edafc
jmp 0x6ebca5
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov dword [esp + 0x314], edi
jmp 0x6e0b5b
mov esi, 0xf
mov byte [esp + 0x2f6], 0x2d
mov ecx, dword [esp + 0x36c]
lea eax, [ecx + 8]
lea ecx, [ecx + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x460]
mov dword [esp], eax
call fcn.00626a20
mov dword [esp + 0x558], eax
test eax, eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x314], edi
jne 0x6ed318
cmp esi, 0xf
je 0x6e0abc
imul esi, esi
and esi, 3
cmp esi, 2
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
jne 0x6de8f5
jmp 0x6ebca5
mov dword [esp + 0x3ac], 0xa
mov byte [esp + 0x2f6], 0x58
mov ecx, dword [esp + 0x36c]
lea eax, [ecx + 8]
lea ecx, [ecx + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x460]
mov dword [esp], eax
call fcn.00626a20
mov dword [esp + 0x558], eax
test eax, eax
mov ecx, dword [esp + 0x3c0]
je 0x6e09fa
mov dword [esp + 0x3bc], 0xf
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3c4]
mov ebx, dword [esp + 0x3d8]
mov dword [esp + 0x3b0], ecx
mov esi, dword [esp + 0x400]
mov dword [esp + 0x314], edi
je 0x6ebbb3
mov eax, dword [esp + 0x3bc]
cmp eax, 0xa
je 0x6e098c
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov dword [esp + 0x314], edi
jne 0x6ed318
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x314], edi
jmp 0x6de7a5
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3c4]
mov ebx, dword [esp + 0x3d8]
mov dword [esp + 0x3b0], ecx
mov esi, dword [esp + 0x400]
mov dword [esp + 0x314], edi
jmp 0x6ebbb3
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
jmp 0x6ebca5
cmp esi, 0xf
mov edi, dword [esp + 0x398]
mov ebx, dword [esp + 0x3ac]
jne 0x6e0e08
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x6e0e08
mov dword [esp + 0x3bc], 0xb
mov esi, 3
mov byte [esp + 0x2f6], 0x10
mov ecx, dword [esp + 0x36c]
lea eax, [ecx + 8]
lea ecx, [ecx + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x460]
mov dword [esp], eax
call fcn.00626a20
mov dword [esp + 0x558], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, edi
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov ecx, dword [esp + 0x394]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x384]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x390]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x38c]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x368], ebx
mov ecx, dword [esp + 0x300]
mov edx, dword [esp + 0x2d0]
je 0x6eb902
mov eax, dword [esp + 0x3bc]
cmp eax, 6
jne 0x6e140e
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov edi, dword [esp + 0x314]
mov dword [esp + 0x3e0], edx
mov dword [esp + 0x2d0], edx
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x324]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x310]
mov dword [esp + 0x3bc], eax
mov edx, dword [esp + 0x31c]
mov eax, dword [esp + 0x328]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3ec], eax
mov eax, ecx
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x300], ecx
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
jb case.0x6d9d53.35
jmp 0x6ed318
mov dword [esp + 0x3dc], edi
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x368], ebx
mov esi, 0x15
mov cl, byte [esp + 0x2e2]
movzx ecx, cl
cmp ecx, 0x42
je 0x6e0f7b
cmp ecx, 0x45
je 0x6e11df
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov edi, dword [esp + 0x400]
mov eax, dword [esp + 0x214]
mov dword [esp + 0x3bc], eax
mov edx, dword [esp + 0x210]
mov eax, dword [esp + 0x324]
mov dword [esp + 0x3b0], eax
cmp esi, 8
je 0x6e156f
cmp esi, 0xa
jne 0x6e14c2
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
jne 0x6dda33
jmp 0x6e4216
mov dword [esp + 0x2d0], edx
mov dword [esp + 0x300], ecx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov edi, dword [esp + 0x314]
jmp 0x6ed318
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
jmp 0x6e4216
cmp edi, 1
jne 0x6e17e3
mov ecx, edi
or ecx, 2
xor edi, 2
add edi, ecx
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
jne 0x6e4216
jmp 0x6ddcb6
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x358], eax
jmp 0x6ddcb6
mov bl, al
add bl, 0xfa
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
add ecx, edx
mov dword [esp + 0x2d8], 0
mov edx, dword [esp + 0x28c]
mov dword [esp + 0x314], edx
mov esi, edi
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x6e1810
mov dword [esp + 0x180], esi
mov byte [esp + 0x2ef], bl
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x388]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x394]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x384]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x3e4], ecx
mov ebx, dword [esp + 0x390]
mov ecx, dword [esp + 0x38c]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], ecx
cmp eax, 0xb
jne 0x6e1907
mov dword [esp + 0x3ac], edx
mov dword [esp + 0x3c0], esi
mov eax, 3
sub eax, ecx
xor eax, ecx
mov edi, dword [esp + 0x378]
mov dword [esp + 0x2bc], edi
jne 0x6e62eb
mov ebx, 0xd
mov eax, dword [esp + 0x554]
lea eax, [eax + eax*2]
mov edx, dword [esp + 0x174]
mov ecx, dword [edx + eax*8 + 0x10]
add ecx, 0x10
mov eax, dword [edx + eax*8 + 0x14]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
mov ecx, dword [esp + 0x554]
mov esi, dword [esp + 0x3b8]
mov edx, dword [esi]
lea ecx, [ecx + ecx*2]
mov dword [edx + ecx*8 + 0x14], eax
mov eax, dword [esp + 0x554]
mov dword [esp + 0x150], eax
mov ecx, dword [esi]
mov dword [esp + 0xd4], ecx
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*8 + 0x14]
test ecx, ecx
je 0x6e1ac7
mov eax, 2
mov dword [esp + 0xd0], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov ecx, dword [esp + 0x170]
mov dword [esp + 0x34c], ecx
mov edx, dword [esp + 0x1e4]
jne 0x6e693f
jmp 0x6e8b89
mov dword [esp + 0xd0], ecx
mov eax, dword [esp + 0x170]
mov dword [esp + 0x34c], eax
mov edx, dword [esp + 0x1e4]
jmp 0x6e8b89
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x3d8], edx
mov byte [esp + 0x2dd], 0x4d
mov eax, dword [esp + 0x150]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*8 + 0x10]
mov ecx, dword [esp + 0xd0]
mov dword [ecx + eax + 4], 0
mov dword [ecx + eax], 0
mov dword [ecx + eax + 0xc], 0
mov dword [ecx + eax + 8], 0
mov eax, dword [esp + 0x45c]
mov dword [esp + 0x228], eax
mov eax, dword [eax]
mov edx, dword [eax]
dec edx
cmp edx, 3
ja case.default.0x6e1b69
mov dword [esp + 0x3ac], ebx
mov dword [esp + 0x400], esi
mov eax, 0x19
mov ecx, 0x1a
jmp dword [edx*4 + 0x7ec17c]
cmp eax, 0xb
jne 0x6e955e
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne case.0x6ec944.1
jmp 0x6e955e
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x368], ebx
mov ebx, esi
mov ecx, dword [esp + 0x554]
mov dword [esp + 0x2b0], ecx
mov eax, dword [esp + 0x3b8]
mov esi, dword [eax]
lea ecx, [ecx + ecx*2]
mov edi, dword [esi + ecx*8 + 0x10]
mov eax, edi
and eax, 0xf
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
cmp eax, edx
mov eax, 8
jne 0x6e1ddd
mov dword [esp + 0x144], edi
mov dword [esp + 0x2ac], esi
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov esi, dword [esp + 0x3e8]
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov edx, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x360]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x338]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x378], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], ecx
mov edi, ebx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3e0], ecx
mov ebx, dword [esp + 0x374]
cmp eax, 8
je 0x6e1edf
mov dword [esp + 0x320], ebx
lea ecx, [esi + ecx*8 + 0x10]
mov dword [esp + 0x2ac], esi
xor edx, edx
mov eax, 0x1d
add eax, 0xffffffe8
mov dword [esp + 0x3ac], eax
lea esi, [edi + 0x10]
and esi, 0xfffffff0
jmp 0x6e1e48
xor ecx, ecx
mov eax, 0xee
add eax, 0xffffff26
mov edx, dword [esp + 0x150]
lea edx, [edx + edx*2]
jmp 0x6e1ff2
xor eax, eax
mov ecx, dword [esp + 0x150]
lea ecx, [ecx + ecx*2]
mov edi, dword [esp + 0x398]
jmp 0x6e206c
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov ebx, dword [esp + 0x400]
jmp 0x6e1c32
mov ecx, 3
sub ecx, edx
xor ecx, edx
mov ecx, ebx
mov dword [esp + 0x3dc], ecx
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x3d4], esi
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x31c], eax
mov dword [esp + 0x3cc], edi
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
je 0x6d9bcb
mov eax, dword [esp + 0x2b0]
lea eax, [eax + eax*2]
mov edx, dword [esp + 0x2ac]
mov ecx, dword [edx + eax*8 + 0x14]
mov eax, dword [edx + eax*8 + 4]
mov edx, dword [esp + 0x144]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068ece0
mov dword [esp + 0x558], eax
test eax, eax
jne 0x6e2261
mov eax, 2
movzx ecx, byte [esp + 0x2ec]
cmp ecx, 2
je 0x6e2367
cmp ecx, 0xc
je 0x6e2388
mov eax, 8
cmp ecx, 0x16
jne 0x6e23fe
mov ecx, dword [esp + 0x29c]
mov edx, dword [esp + 0x374]
jmp 0x6e8ea8
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x3f8], ebx
mov dword [esp + 0x37c], 0
mov eax, dword [esp + 0x404]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x3fc], eax
jmp 0x6ed45f
mov ebx, dword [esp + 0x400]
mov edx, dword [esp + 0x3c0]
mov esi, dword [esp + 0x3d8]
mov edi, dword [esp + 0x398]
jmp 0x6ec53b
mov eax, dword [esp + 0x554]
mov ecx, dword [esp + 0x3b8]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 + 0x10]
mov edi, dword [ecx + eax*8 + 0x14]
mov eax, dword [ecx + eax*8 + 4]
mov esi, 0xb
mov byte [esp + 0x2ec], 2
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0xc], 5
mov dword [esp + 8], 2
mov dword [esp + 4], 0x19
call fcn.007855d0
mov dword [esp + 0x558], eax
test eax, eax
mov eax, dword [esp + 0x34c]
je 0x6e02ff
jmp 0x6ea891
mov eax, dword [esp + 0x554]
mov ecx, dword [esp + 0x3b8]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 + 0x10]
mov edi, dword [ecx + eax*8 + 0x14]
mov eax, dword [ecx + eax*8 + 4]
mov esi, 0x10
mov byte [esp + 0x2ec], 0xc
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0xc], 5
mov dword [esp + 8], 2
mov dword [esp + 4], 0x19
call fcn.007855d0
mov dword [esp + 0x558], eax
test eax, eax
mov eax, dword [esp + 0x34c]
je 0x6e02ff
jmp 0x6e2ba3
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
add esi, eax
mov dword [esp], edi
call fcn.004936c0
xor eax, eax
mov ecx, dword [esp + 0x404]
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3f8], edx
mov edx, dword [esp + 0x34c]
test esi, esi
je 0x6e2480
mov dword [esp + 0x3fc], edx
mov dword [esp + 0x370], ecx
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov esi, dword [esp + 0x394]
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov edx, dword [esp + 0x380]
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov ecx, dword [esp + 0x3a4]
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x320], eax
mov edi, dword [esp + 0x374]
mov eax, dword [esp + 0x29c]
jmp 0x6e654f
mov eax, dword [esp + 0x3b8]
mov edi, dword [eax]
mov esi, dword [esp + 0x2d8]
lea ecx, [esi + esi*2]
mov eax, dword [edi + ecx*8]
cmp eax, 0x1a
je 0x6e25f0
imul eax, eax
and eax, 3
cmp eax, 3
je 0x6e25f0
mov dword [esp + 0x110], edi
mov eax, dword [esp + 0x314]
mov edi, eax
mov dword [esp + 0x1dc], esi
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], esi
jmp 0x6e356f
movzx eax, byte [esp + 0x2de]
cmp eax, 0x20
je 0x6e2710
mov dword [esp + 0x110], edi
mov ebx, esi
mov esi, 0xb
cmp eax, 0x73
jne 0x6e2819
mov eax, dword [esp + 0x314]
mov dword [esp + 0x294], eax
mov dword [esp + 0x1dc], ebx
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ebx
mov ecx, dword [esp + 0x300]
mov edx, dword [esp + 0x2d0]
cmp esi, 0xb
je 0x6e2929
xor eax, eax
test al, al
jne 0x6e2929
mov dword [esp + 0x2d0], edx
mov dword [esp + 0x300], ecx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov esi, dword [esp + 0x374]
jmp 0x6de8d2
mov eax, 9
mov byte [esp + 0x2de], 0x20
mov edx, dword [esp + 0x138]
cmp dword [edi + ecx*8 + 4], edx
je 0x6e2997
mov dword [esp + 0x110], edi
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x3ac], 0x11
xor edx, edx
test dl, dl
mov edx, dword [esp + 0x314]
mov dword [esp + 0x294], edx
mov dword [esp + 0x1dc], esi
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], esi
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov edi, edx
je 0x6ed87c
jmp 0x6e3f5e
mov esi, 0x11
mov byte [esp + 0x2de], 0x73
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + ecx*8 + 4]
cmp ecx, dword [esp + 0x138]
jne 0x6e29d1
mov dword [esp + 0x1bc], 0
mov edx, ecx
or edx, 2
xor ecx, 2
add ecx, edx
mov eax, dword [esp + 0x314]
mov dword [esp + 0x294], eax
mov dword [esp + 0x1dc], ebx
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ebx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
jne 0x6e2ac1
jmp 0x6e881c
mov dword [esp + 0x2d0], edx
mov dword [esp + 0x300], ecx
mov byte [esp + 0x2de], 0x64
mov edx, dword [esp + 0xec]
lea eax, [edx + edx*2]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*8 + 4]
mov dword [esp + 0x1bc], 0
cmp eax, dword [esp + 0x138]
je 0x6e2aac
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x294], eax
mov dword [esp + 0x1dc], edx
mov edi, eax
jne 0x6e356f
jmp 0x6e2ac1
mov dword [esp + 0x110], edi
mov dword [esp + 0x1bc], 0
mov ecx, dword [esp + 0x314]
mov dword [esp + 0x294], ecx
mov dword [esp + 0x1dc], esi
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], esi
jmp 0x6e3f5e
mov dword [esp + 0x1bc], 0
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x314]
mov dword [esp + 0x294], eax
mov dword [esp + 0x1dc], ebx
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ebx
jmp 0x6e881c
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x294], eax
mov dword [esp + 0x1dc], edx
mov dword [esp], 0x10
call fcn.00492770
mov dword [esp + 0x184], eax
test eax, eax
je 0x6e2c5e
movzx eax, byte [esp + 0x2e3]
cmp eax, 0x50
je 0x6e2dd5
mov esi, 0xf
cmp eax, 0x79
mov edi, dword [esp + 0x1bc]
jne 0x6e2e53
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x158], edi
cmp esi, 0xf
je 0x6e2bb7
imul esi, esi
and esi, 3
cmp esi, 2
jne 0x6ec5d2
mov eax, dword [esp + 0x554]
mov ecx, dword [esp + 0x3b8]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8 + 0x14]
mov edx, dword [esp + 0x158]
mov ecx, edx
shl ecx, 4
movsd xmm0, qword [eax + ecx]
movsd xmm1, qword [eax + ecx + 8]
mov esi, 0xf
mov byte [esp + 0x2e3], 0x79
mov eax, dword [esp + 0x184]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
call fcn.0068f340
mov dword [esp + 0x558], eax
test eax, eax
je 0x6e3203
mov ecx, 0x10
imul eax, eax
and eax, 3
cmp eax, 3
mov edx, dword [esp + 0x3c4]
mov edi, dword [esp + 0x3d8]
mov ebx, dword [esp + 0x3c0]
jne 0x6e38ea
jmp 0x6e6794
movzx ecx, byte [esp + 0x35f]
cmp ecx, 0x47
je 0x6e2ed3
mov eax, 0x14
cmp ecx, 0x5e
jne 0x6e2f44
mov esi, 8
mov byte [esp + 0x35f], 0x47
mov edi, dword [esp + 0x36c]
mov dword [esp], edi
call fcn.004936c0
mov dword [esp + 0x558], 0x70000003
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
xor edx, edx
mov eax, dword [esp + 0x404]
mov dword [esp + 0x370], eax
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x3f8], ebx
mov eax, dword [esp + 0x348]
mov dword [esp + 0x3fc], eax
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x37c], edx
mov dword [esp + 0x348], eax
mov dword [esp + 0x36c], edi
cmp esi, 8
jne 0x6dd740
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
jne 0x6e8c42
jmp 0x6dd740
mov eax, dword [esp + 0x554]
mov ecx, dword [esp + 0x3b8]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8 + 0x14]
mov edi, dword [esp + 0x1bc]
mov ecx, edi
shl ecx, 4
movsd xmm0, qword [eax + ecx]
movsd xmm1, qword [eax + ecx + 8]
mov byte [esp + 0x2e3], 0x26
mov eax, dword [esp + 0x184]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
call fcn.0068f340
mov dword [esp + 0x558], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jmp 0x6e2eba
mov eax, dword [esp + 0x554]
mov ecx, dword [esp + 0x3b8]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8 + 0x14]
mov ecx, edi
shl ecx, 4
movsd xmm0, qword [eax + ecx]
movsd xmm1, qword [eax + ecx + 8]
mov byte [esp + 0x2e3], 0x50
mov eax, dword [esp + 0x184]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
call fcn.0068f340
mov dword [esp + 0x558], eax
test eax, eax
mov dword [esp + 0x158], edi
mov ebx, dword [esp + 0x348]
je 0x6e685a
jmp 0x6e321d
mov byte [esp + 0x35f], 0x5e
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x558], 0x70000003
mov dword [esp + 0x37c], 0
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x3f8], ebx
mov edx, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], ecx
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x158], eax
jmp 0x6e3496
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x158], ecx
mov ebx, dword [esp + 0x400]
cmp eax, 0xa
je 0x6e31c5
xor eax, eax
test al, al
jne 0x6e31c5
xor esi, esi
mov edi, 0x81
add edi, 0xffffff87
mov ecx, dword [esp + 0x37c]
mov edx, dword [esp + 0x370]
jmp 0x6e3086
mov ecx, edi
mov al, cl
add al, 0x40
mov byte [esp + 0x35f], al
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x558], 0x70000003
xor ecx, ecx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x3f8], ebx
mov eax, dword [esp + 0x348]
mov dword [esp + 0x3fc], eax
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp esi, eax
jb 0x6e3030
mov dword [esp + 0x370], edx
mov dword [esp + 0x37c], ecx
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x358], eax
mov ecx, dword [esp + 0x3d8]
cmp edi, 8
jne 0x6e31e2
mov eax, edi
or eax, 2
xor edi, 2
add edi, eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d0], eax
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3d8], ecx
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x400], ebx
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x358], eax
jne 0x6ed45f
jmp 0x6dd765
mov al, 0x60
mov dword [esp + 0x2f8], eax
mov esi, dword [esp + 0x258]
mov dword [esp], esi
call fcn.00689a80
jmp 0x6e94fa
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x400], ebx
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x358], eax
jmp 0x6dd765
mov edx, dword [esp + 0x3c4]
mov edi, dword [esp + 0x3d8]
mov ebx, dword [esp + 0x3c0]
jmp 0x6e6794
mov dword [esp + 0x1bc], edi
xor edi, edi
mov esi, 0xc1
add esi, 0xffffff4b
mov ecx, dword [esp + 0x37c]
mov edx, dword [esp + 0x370]
jmp 0x6e328b
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
adc edi, 0
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.004936c0
xor ecx, ecx
mov edx, dword [esp + 0x404]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x3fc], ebx
mov eax, 3
sub eax, edi
xor eax, edi
setne al
movzx eax, al
cmp edi, eax
jb 0x6e3250
mov dword [esp + 0x370], edx
mov dword [esp + 0x37c], ecx
mov dword [esp + 0x348], ebx
mov ebx, dword [esp + 0x400]
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x358], eax
mov ecx, dword [esp + 0x3d8]
cmp esi, 3
je 0x6e3322
xor eax, eax
test al, al
mov dword [esp + 0x400], ebx
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d0], eax
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3d8], ecx
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
je 0x6ed45f
jmp 0x6ddcb6
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x400], ebx
mov dword [esp + 0x374], eax
jmp 0x6ddcb6
mov esi, 0x11
mov byte [esp + 0x2df], 0x1c
mov edx, dword [esp + 0x160]
mov eax, dword [edx]
lea ecx, [eax + 1]
mov dword [edx], ecx
lea eax, [eax*4 + 4]
lea eax, [eax + eax*2]
mov ecx, dword [edi]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [edi], eax
test eax, eax
jne 0x6e338c
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x10c], eax
jne 0x6e3398
jmp 0x6e0b5b
mov dword [esp + 0x10c], eax
jmp 0x6e0b5b
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x558], 0x70000003
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x3f8], ebx
mov dword [esp + 0x37c], 0
mov eax, dword [esp + 0x404]
mov dword [esp + 0x370], eax
jmp 0x6ecbe8
inc eax
mov esi, dword [esp + 0x554]
mov edi, dword [edx + 8]
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6e34b0
mov dword [esp + 0x1dc], esi
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov ecx, 0x12
mov eax, dword [esp + 0x1dc]
lea edx, [eax + 1]
mov dword [esp + 0x554], edx
cmp edx, edi
jb 0x6e35ad
mov eax, edx
mov dword [esp + 0x2d8], edx
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x294], edi
jne 0x6e03cc
jmp 0x6e9eaf
mov dword [esp + 0x2d8], edx
jmp 0x6e9eaf
mov eax, 0xf
mov byte [esp + 0x2ee], 0xb
mov ecx, dword [esp + 0x4ac]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx + 0xc]
add ecx, 0xc
mov dword [esp + 0x18c], ecx
test edx, edx
je 0x6e35f4
mov dword [esp + 0x1b0], edx
xor ecx, ecx
test cl, cl
je 0x6e37c5
jmp 0x6e35fb
mov dword [esp + 0x1b0], edx
cmp eax, 0xf
je 0x6ebec3
imul eax, eax
and eax, 3
cmp eax, 3
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
jne 0x6de8f5
jmp 0x6ebec3
mov dword [esp + 0x390], edx
mov dword [esp + 0x384], ebx
mov dword [esp + 0x398], ecx
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x400], edi
mov byte [esp + 0x2ed], 0x3c
mov dword [esp + 4], 1
mov dword [esp], 8
call fcn.00493840
mov ecx, eax
mov dword [esp + 0x1b0], ecx
mov eax, dword [esp + 0x18c]
mov dword [eax], ecx
test ecx, ecx
jne 0x6e37c5
xor eax, eax
mov edx, dword [esp + 0x348]
mov esi, dword [esp + 0x3f8]
mov edi, dword [esp + 0x400]
mov ebx, dword [esp + 0x3d8]
jmp 0x6e36ee
inc eax
mov dword [esp + 0x558], 0x70000003
mov dword [esp + 0x37c], 0
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x370], ecx
mov esi, edi
mov dword [esp + 0x3fc], edx
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6e36c0
mov dword [esp + 0x3f8], esi
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], ebx
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov ebx, edi
jmp 0x6ed45f
mov esi, 5
mov ecx, dword [esp + 0x1b0]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
shl eax, 4
add eax, 0x10
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
test eax, eax
je 0x6e39c8
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x6e39c8
mov esi, 0x13
mov edx, dword [esp + 0x18c]
mov ecx, dword [edx]
mov dword [ecx + 4], eax
mov eax, dword [edx]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shl ecx, 4
mov edi, dword [esp + 0x138]
mov dword [eax + ecx], edi
mov word [eax + ecx + 4], 0xc
mov dword [eax + ecx + 8], 0
mov edi, dword [esp + 0x36c]
mov dword [eax + ecx + 0xc], edi
mov eax, dword [edx]
inc dword [eax]
mov dword [esp + 0x558], 0
mov eax, 3
mov ecx, dword [esp + 0x404]
sub eax, ecx
xor eax, ecx
setne al
movzx eax, al
add eax, ecx
mov dword [esp + 0x274], eax
lea eax, [eax*4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x400]
mov dword [esp], eax
call fcn.00492a60
test eax, eax
jne 0x6e3d0d
mov edx, 0xb
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x270], eax
je 0x6e94c6
cmp edx, 0xb
jne 0x6e3bc8
mov eax, 2
mov ecx, dword [esp + 0x30c]
movzx edx, cl
cmp edx, 0x5b
je 0x6e3d19
mov ecx, 8
mov eax, 7
cmp edx, 0x5f
mov edx, dword [esp + 0x368]
mov dword [esp + 0x3ac], edx
jne 0x6ecac3
xor edx, edx
cmp ecx, 8
je 0x6e422e
xor eax, eax
test al, al
mov edi, dword [esp + 0x1bc]
jne 0x6e423e
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x370], eax
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x37c], eax
mov dword [esp + 0x3fc], eax
mov ebx, dword [esp + 0x348]
jmp 0x6e321d
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov ebx, dword [esp + 0x3d8]
mov edi, dword [esp + 0x398]
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3d8], ebx
cmp esi, 5
jne 0x6e3a6c
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x398], edi
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
jmp 0x6e369b
mov dword [esp + 0x558], 0x70000003
mov dword [esp + 0x3dc], edi
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ecx
mov eax, 0x1f
mov cl, 0x30
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x374], ecx
cmp eax, 0xf
je 0x6e417c
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
jne 0x6de8f5
jmp 0x6e4216
mov edi, 0x11
mov esi, 0xd
mov byte [esp + 0x143], 0x1e
mov byte [esp + 0x2a3], 0x25
cmp dword [esp + 0x4ac], 0
mov eax, dword [esp + 0x248]
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x244]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x240]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x23c]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x238]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x234]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x230]
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
jne 0x6e88e3
jmp 0x6e4aa3
mov dword [esp + 0x270], eax
jmp 0x6e94c6
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x388]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x394]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x384]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x390]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x38c]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], ecx
mov ebx, dword [esp + 0x2f0]
mov edi, dword [esp + 0x33c]
mov esi, dword [esp + 0x2d0]
mov edx, dword [esp + 0x308]
cmp eax, 2
je 0x6e3ef4
imul eax, eax
and eax, 3
cmp eax, 2
je 0x6e3ef4
movzx ecx, bl
cmp ecx, 0x22
je 0x6e3fa5
mov esi, 2
cmp ecx, 0x67
jne 0x6e40cd
mov dword [esp + 0x2f0], ebx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov edi, dword [esp + 0x36c]
mov eax, dword [esp + 0x37c]
mov ecx, dword [esp + 0x370]
mov edx, dword [esp + 0x3fc]
mov ebx, dword [esp + 0x400]
jmp 0x6e8c1d
mov dword [esp + 0x308], edx
mov dword [esp + 0x2d0], esi
mov dword [esp + 0x33c], edi
mov dword [esp + 0x2f0], ebx
mov eax, 3
mov cl, 0x5f
mov dword [esp + 0x30c], ecx
mov dword [esp + 0x558], 0x70000003
mov dword [esp + 0x37c], 0
mov ecx, dword [esp + 0x274]
mov dword [esp + 0x370], ecx
mov ecx, dword [esp + 0x270]
mov dword [esp + 0x3f8], ecx
mov ecx, dword [esp + 0x348]
mov dword [esp + 0x3fc], ecx
cmp eax, 3
jne 0x6e2ac1
imul eax, eax
and eax, 3
cmp eax, 2
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov ebx, dword [esp + 0x400]
jb 0x6ed45f
jmp 0x6e2ac1
mov dword [esp + 0x3ac], 0x14
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x3e0], esi
mov dword [esp + 0x3d0], edi
mov eax, dword [esp + 0x328]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
jmp 0x6eb47c
mov eax, 2
mov cl, 0x7d
mov dword [esp + 0x2f0], ecx
mov ecx, dword [esp + 0x300]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x298]
mov ecx, dword [edx + ecx*8 + 0x14]
mov ecx, dword [ecx]
mov dword [esp + 0x2e4], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x2d0], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x33c], ecx
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x324], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x310], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x31c], ecx
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x328], ecx
mov ecx, dword [esp + 0x360]
mov dword [esp + 0x304], ecx
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x308], ecx
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x2c0], ecx
jmp 0x6ec757
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
xor eax, eax
mov edi, dword [esp + 0x294]
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0x1dc]
jmp 0x6e34bb
mov ebx, dword [esp + 0x334]
mov edi, dword [esp + 0x1bc]
jmp 0x6e426f
mov ebx, dword [esp + 0x334]
jmp 0x6e426f
mov eax, 0x8d
add eax, 0xffffff77
mov cl, 0x22
mov dword [esp + 0x30c], ecx
inc edx
mov dword [esp + 0x558], 0x70000003
mov dword [esp + 0x37c], 0
test edx, edx
jne 0x6e428c
mov ecx, edx
or ecx, 2
mov esi, edx
xor esi, 2
add esi, ecx
jne 0x6e4250
mov dword [esp + 0x1bc], edi
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x388]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x394]
mov dword [esp + 0x3e8], ecx
mov esi, dword [esp + 0x384]
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x390]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x38c]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x378], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x320], ecx
mov ecx, dword [esp + 0x274]
mov edi, dword [esp + 0x270]
mov edx, dword [esp + 0x348]
mov dword [esp + 0x3fc], edx
mov edx, esi
mov dword [esp + 0x370], ecx
mov dword [esp + 0x334], ebx
xor esi, esi
cmp eax, 4
jne 0x6e43b3
mov dword [esp + 0x3f4], edx
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x6df55b
mov dword [esp + 0x3f8], edi
jmp 0x6e9cb6
mov dword [esp + 0x3f4], edx
jmp 0x6df55b
mov eax, 0x4d
add al, 0xe0
mov dword [esp + 0x32c], eax
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x3b8]
mov eax, dword [eax]
mov eax, dword [eax + edi*8 + 4]
mov ebx, dword [esp + 0x270]
mov ecx, dword [esp + 0x404]
mov dword [ebx + ecx*4], eax
mov eax, dword [esp + 0x45c]
mov dword [esp], eax
call fcn.00626ae0
mov cl, 1
mov edx, dword [esp + 0x274]
mov dword [esp + 0x3f8], ebx
mov eax, dword [esp + 0x348]
mov dword [esp + 0x3fc], eax
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x6e43c0
mov dword [esp + 0x370], edx
mov dword [esp + 0x37c], ecx
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
jmp 0x6df0a3
mov dword [esp + 0x378], edx
mov dword [esp + 0x3ac], 7
mov cl, 0xe
mov dword [esp + 0x318], ecx
mov eax, dword [esp + 0x3dc]
lea edx, [eax + 1]
mov ecx, dword [ebp + 8]
cmp edx, dword [ecx + 8]
jb 0x6e46b6
mov dword [esp + 0x358], 0xc
mov ecx, edx
mov dword [esp + 0x398], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov ebx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ebx
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x38c], eax
mov esi, dword [esp + 0x3bc]
mov dword [esp + 0x3a0], esi
mov edx, dword [esp + 0x3b0]
mov dword [esp + 0x39c], edx
mov edx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], edx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov edi, dword [esp + 0x3ec]
mov dword [esp + 0x248], edi
mov edi, dword [esp + 0x3e8]
mov dword [esp + 0x198], edi
mov dword [esp + 0x244], ebx
mov ebx, dword [esp + 0x3e4]
mov dword [esp + 0x240], ebx
mov edi, dword [esp + 0x3f0]
mov dword [esp + 0x23c], edi
mov dword [esp + 0x238], eax
mov dword [esp + 0x234], esi
mov dword [esp + 0x230], edx
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x2d0], ecx
mov dword [esp + 0x33c], edx
mov dword [esp + 0x328], edi
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x2e4], ebx
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x300], ecx
mov esi, dword [esp + 0x3c8]
mov dword [esp + 0x3c4], esi
mov edi, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], edi
mov ebx, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], ebx
jne 0x6e4ee2
jmp 0x6e47d7
mov dword [esp + 0x398], edx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x33c], ecx
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], eax
mov esi, dword [esp + 0x3e8]
mov dword [esp + 0x304], esi
mov ebx, dword [esp + 0x3f4]
mov dword [esp + 0x308], ebx
mov edx, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], edx
mov eax, dword [esp + 0x378]
mov dword [esp + 0x38c], eax
mov ecx, dword [esp + 0x3bc]
mov dword [esp + 0x3a0], ecx
mov edi, dword [esp + 0x3b0]
mov dword [esp + 0x39c], edi
mov dword [esp + 0x248], edx
mov dword [esp + 0x198], esi
mov dword [esp + 0x244], ebx
mov edx, dword [esp + 0x3e4]
mov dword [esp + 0x240], edx
mov edx, dword [esp + 0x3f0]
mov dword [esp + 0x23c], edx
mov edx, ebx
mov dword [esp + 0x238], eax
mov dword [esp + 0x234], ecx
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x22c], eax
mov dword [esp + 0x3f4], edx
mov edx, dword [esp + 0x3ac]
cmp edx, 5
mov eax, dword [esp + 0x38c]
mov esi, dword [esp + 0x3a0]
mov edi, dword [esp + 0x39c]
mov ebx, dword [esp + 0x398]
je 0x6e212d
mov ecx, ebx
mov dword [esp + 0x3dc], ecx
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x3d4], esi
mov dword [esp + 0x3cc], edi
jmp 0x6d9bcb
mov bl, 0xe
mov edi, dword [esp + 0x124]
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx esi, al
mov eax, dword [esp + 0x4a8]
test eax, eax
setne cl
mov edx, eax
and edx, 1
inc edx
xor edx, eax
sete dl
cmp edi, esi
setne byte [esp + 0x123]
je 0x6e4c18
mov byte [esp + 0xa3], 0xe
or cl, dl
je 0x6e4ca5
mov esi, 6
mov dword [esp + 0x3ac], 0xc
lea ecx, [esp + 0x4b0]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068fee0
test eax, eax
jne case.0x6d9d53.34
xor ecx, ecx
cmp esi, 6
jne 0x6e519e
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
je 0x6e519e
mov eax, dword [esp + 0x4a8]
mov ecx, dword [esp + 0x114]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068fbe0
cmp eax, dword [esp + 0xc4]
je 0x6e48fd
xor eax, eax
test al, al
je 0x6e4b84
mov al, 0x5b
mov ecx, 0x10
movzx edx, al
cmp edx, 2
je 0x6e5693
mov eax, 0x18
cmp edx, 0x5b
jne 0x6e5740
mov ebx, dword [esp + 0x3f0]
jmp 0x6e18f6
mov ecx, dword [esp + 0x3ac]
cmp ecx, 0xc
je 0x6e4b84
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
je 0x6e4b84
mov ebx, 0xf
mov edi, 6
lea eax, [esp + 0x4a8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.00789960
mov dword [esp + 0x558], eax
test eax, eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x2d0], eax
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x33c], ecx
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x360]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x374], ecx
jne 0x6e4aa3
cmp ebx, 0xc
jne 0x6e55d3
mov eax, 3
sub eax, ebx
xor eax, ebx
mov ecx, dword [esp + 0x300]
je 0x6e5602
mov esi, 0x18
mov byte [esp + 0x2cd], 1
mov edi, dword [esp + 0x1d4]
mov dword [edi], 0
mov dword [edi + 0xc], 0
mov edx, dword [esp + 0x3b8]
mov eax, dword [edx]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx + 0x14]
mov dword [edi + 4], eax
mov eax, dword [edx]
mov eax, dword [eax + ecx + 0x10]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x4ac]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xb4], ecx
add eax, 0xc
mov dword [esp + 0x288], eax
test ecx, ecx
mov dword [esp + 0x358], edi
jne 0x6dd765
jmp 0x6e82b4
cmp edi, 6
jne 0x6e522b
imul edi, edi
and edi, 3
cmp edi, 2
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
jb 0x6de8f5
jmp 0x6e52c5
mov edx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov esi, dword [esp + 0x3e8]
mov edi, dword [esp + 0x3f4]
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov ecx, dword [ebp + 8]
mov bl, byte [esp + 0xa3]
jmp 0x6e4d2f
mov edx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov esi, dword [esp + 0x3e8]
mov edi, dword [esp + 0x3f4]
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov ecx, dword [ebp + 8]
jmp 0x6e4d2f
mov edx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov esi, dword [esp + 0x3e8]
mov edi, dword [esp + 0x3f4]
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov ecx, dword [ebp + 8]
mov bl, 0xe
movzx eax, bl
cmp eax, 0xb
je 0x6e4dbd
cmp eax, 0xe
je 0x6e5062
cmp eax, 0x47
jne 0x6e50eb
mov dword [esp + 0x384], edi
mov dword [esp + 0x394], esi
mov dword [esp + 0x398], edx
mov byte [esp + 0xa3], 0x47
lea eax, [ecx + 4]
mov dword [esp + 0x190], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov edx, dword [esp + 0x548]
mov esi, dword [esp + 0x54c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp], edx
call fcn.0068e9b0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jmp 0x6e50ca
mov dword [esp + 0x384], edi
mov dword [esp + 0x394], esi
mov dword [esp + 0x398], edx
mov byte [esp + 0xa3], 0x27
lea eax, [ecx + 4]
mov dword [esp + 0x190], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov edx, dword [esp + 0x548]
mov edi, dword [esp + 0x54c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.0068e9b0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6e517b
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x324]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x310]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0x328]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x3e8], eax
mov edx, dword [esp + 0x308]
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3ec], eax
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x358], 3
mov esi, dword [esp + 0x3c4]
mov edi, dword [esp + 0x3d8]
mov ebx, dword [esp + 0x3c0]
cmp dword [esp + 0x358], 3
je 0x6e4fae
xor eax, eax
test al, al
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x300], ecx
mov dword [esp + 0x3c4], esi
mov dword [esp + 0x3d8], edi
mov dword [esp + 0x3c0], ebx
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
je 0x6d9a82
jmp 0x6e5ae4
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x300], ecx
mov dword [esp + 0x3c4], esi
mov dword [esp + 0x3d8], edi
mov dword [esp + 0x3c0], ebx
jmp 0x6e5ae4
mov dword [esp + 0x384], edi
mov dword [esp + 0x394], esi
mov dword [esp + 0x398], edx
mov byte [esp + 0xa3], 0xe
lea eax, [ecx + 4]
mov dword [esp + 0x190], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov edx, dword [esp + 0x548]
mov esi, dword [esp + 0x54c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp], edx
call fcn.0068e9b0
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6e517b
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
jmp 0x6e5ae4
mov dword [esp + 0x384], edi
mov dword [esp + 0x394], esi
mov dword [esp + 0x398], edx
mov byte [esp + 0xa3], 0xb
lea eax, [ecx + 4]
mov dword [esp + 0x190], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov edx, dword [esp + 0x548]
mov esi, dword [esp + 0x54c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp], edx
call fcn.0068e9b0
test eax, eax
jne 0x6e517b
mov ecx, 6
mov edx, eax
and edx, 1
xor edx, eax
not edx
test edx, edx
je 0x6e517b
mov eax, dword [esp + 0x3c0]
mov edx, dword [esp + 0x3d8]
mov esi, dword [esp + 0x374]
jmp 0x6ea417
mov edx, 5
mov dword [esp + 0x558], 0x7000002d
mov eax, dword [esp + 0x220]
mov dword [esp + 0x374], eax
jmp 0x6eafb8
mov bl, byte [esp + 0x2cc]
mov edi, dword [esp + 0x180]
mov edx, dword [esp + 0x37c]
jmp 0x6e520a
mov eax, 0x61
add eax, 0xffffffb4
mov bl, al
xor bl, 0x74
cmp edx, 2
adc ecx, 0
mov dword [esp + 0x558], 0x70000003
xor edx, edx
mov esi, dword [esp + 0x404]
mov dword [esp + 0x370], esi
mov esi, dword [esp + 0x400]
mov dword [esp + 0x3f8], esi
mov esi, dword [esp + 0x3b4]
mov dword [esp + 0x3fc], esi
test ecx, ecx
jne 0x6e5518
mov dword [esp + 0x37c], edx
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 1
jbe 0x6e51c0
jmp 0x6e551f
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
movzx ecx, byte [esp + 0x2a3]
cmp ecx, 3
mov edx, dword [esp + 0x220]
mov esi, dword [esp + 0x3c0]
mov edi, dword [esp + 0x3d8]
je 0x6e54ca
mov eax, 0xe
cmp ecx, 0x25
jne 0x6e54f2
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x388]
mov edx, dword [esp + 0x394]
mov dword [esp + 0x3e8], edx
mov edx, dword [esp + 0x384]
mov dword [esp + 0x3f4], edx
mov edx, dword [esp + 0x380]
mov dword [esp + 0x3e4], edx
mov ebx, dword [esp + 0x390]
mov edx, dword [esp + 0x38c]
mov dword [esp + 0x3c8], edx
mov edx, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], edx
mov edx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], edx
mov edx, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], edx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x378], edx
mov dword [esp + 0x3bc], edi
mov edi, ecx
mov dword [esp + 0x3b0], esi
mov esi, dword [esp + 0x400]
mov edx, dword [esp + 0x1c0]
mov dword [esp + 0x3f0], ebx
cmp eax, 0xc
je 0x6dfbb7
mov dword [esp + 0x1c0], edx
xor eax, eax
mov ebx, 0x94
add ebx, 0xffffff70
jmp 0x6e5401
mov dl, bl
xor dl, 0x21
mov byte [esp + 0x2a3], dl
xor ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x558], 0x30000003
mov ecx, 3
sub ecx, eax
mov edx, eax
xor edx, ecx
setne dl
movzx edx, dl
cmp eax, edx
jb 0x6e53e0
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov dword [esp + 0x388], edi
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x400], esi
mov eax, dword [esp + 0x220]
mov dword [esp + 0x358], eax
mov edx, dword [esp + 0x378]
jmp 0x6e7c2d
mov byte [esp + 0x2a3], 0x34
mov dword [esp + 0x558], 0x30000003
mov eax, edx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], edi
jmp 0x6e8a3a
mov eax, 0x16
mov byte [esp + 0x2a3], 3
mov dword [esp + 0x558], 0x30000003
mov ecx, dword [esp + 0x368]
mov ebx, edx
jmp 0x6e8491
mov dword [esp + 0x37c], edx
mov byte [esp + 0x2cc], bl
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3e0]
mov ebx, dword [esp + 0x368]
mov esi, dword [esp + 0x400]
mov edx, dword [esp + 0x3d8]
jmp 0x6e6ae0
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x324]
mov dword [esp + 0x3b0], eax
jmp 0x6ded19
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x324]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x310]
mov dword [esp + 0x3bc], eax
mov edx, dword [esp + 0x31c]
mov eax, dword [esp + 0x328]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3dc], ecx
jmp 0x6ded82
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
jmp 0x6e584b
xor ecx, ecx
mov eax, 0x8f
xor eax, 0x99
mov ebx, dword [esp + 0x220]
jmp 0x6e577c
add edx, esi
setne dl
movzx edx, dl
add ecx, edx
mov dword [esp + 0x558], 0x70000049
mov dword [esp + 0x374], ebx
test ecx, ecx
jne 0x6e5790
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
mov edi, edx
add edi, esi
jne 0x6e5760
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x3ac], ecx
mov esi, dword [esp + 0x33c]
mov edi, dword [esp + 0x324]
jmp 0x6e5a6a
mov edx, 3
xor eax, eax
cmp ecx, 0x10
jne 0x6e59e3
sub edx, ecx
xor edx, ecx
je 0x6e59e3
mov dword [esp + 0x558], 0x70000049
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov ecx, dword [esp + 0x388]
mov edi, dword [esp + 0x394]
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov edx, dword [esp + 0x380]
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov esi, 0xb
mov eax, dword [esp + 0x220]
mov ebx, dword [esp + 0x3d8]
mov dword [esp + 0x374], eax
mov dword [esp + 0x3d8], ebx
cmp esi, 0xb
mov esi, dword [esp + 0x3dc]
mov dword [esp + 0x398], esi
mov dword [esp + 0x388], ecx
mov dword [esp + 0x394], edi
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov dword [esp + 0x380], edx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov esi, eax
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], ebx
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
je 0x6de8f5
jmp 0x6ea71a
mov edx, dword [esp + 0x134]
mov esi, dword [esp + 0x130]
mov edi, dword [esp + 0x12c]
mov ebx, dword [esp + 0x2b8]
jmp 0x6e5a2f
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6e5a10
cmp eax, 9
jne 0x6e5ad1
mov dword [esp + 0x324], edi
mov dword [esp + 0x33c], esi
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov ecx, dword [esp + 0x2bc]
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
jne 0x6e5db4
jmp 0x6de8f5
mov dword [esp + 0x324], edi
mov dword [esp + 0x33c], esi
jmp 0x6dd16a
mov eax, 9
mov ecx, dword [esp + 0x190]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x1c4]
lea edx, [edx + edx*2]
mov edx, dword [ecx + edx*8 + 0x14]
mov ecx, dword [edx + 0x14]
mov esi, dword [edx + 0x18]
mov edi, dword [esp + 0x548]
mov dword [esp + 0x134], edi
mov ebx, dword [esp + 0x54c]
mov dword [esp + 0x130], ebx
cmp ecx, edi
sbb esi, ebx
mov bl, 0xd
mov dword [esp + 0x2b8], ebx
lea edx, [edx + 0x14]
mov dword [esp + 0x12c], edx
mov esi, dword [esp + 0x33c]
mov edi, dword [esp + 0x324]
jae 0x6e5a6a
mov ebx, 6
mov edx, ecx
and edx, 1
xor edx, ecx
not edx
test edx, edx
je 0x6e5a6a
cmp ebx, 2
je 0x6e5e32
xor eax, eax
test al, al
jne 0x6e5e32
mov ebx, 4
mov ecx, 0x1b
mov edx, dword [esp + 0x2b8]
movzx edx, dl
cmp edx, 3
mov dword [esp + 0x3d0], esi
mov dword [esp + 0x33c], esi
mov dword [esp + 0x3cc], edi
mov dword [esp + 0x324], edi
mov eax, dword [esp + 0x310]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x3dc], eax
mov edx, dword [esp + 0x364]
mov dword [esp + 0x3ec], edx
mov edx, dword [esp + 0x360]
mov dword [esp + 0x3e8], edx
mov eax, dword [esp + 0x340]
mov dword [esp + 0x3f4], eax
mov edx, dword [esp + 0x338]
mov dword [esp + 0x3e4], edx
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3c4]
mov edx, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], edx
mov edx, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], edx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x3e0], edx
mov edx, eax
jne 0x6e584b
mov dword [esp + 0x378], edx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x368], ecx
cmp ebx, 4
mov eax, ebx
jne 0x6e5e45
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x6e5e45
xor eax, eax
mov esi, dword [esp + 0x134]
mov edi, dword [esp + 0x130]
mov ebx, dword [esp + 0x12c]
jmp 0x6e5cc5
mov dword [esp + 0x378], ecx
mov byte [esp + 0x1e1], 4
mov edx, dword [esp + 0x4a8]
test edx, edx
setne al
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
sete cl
test byte [esp + 0x123], 1
mov edi, dword [esp + 0x220]
je 0x6e5f95
or al, cl
je 0x6e5f95
mov ecx, dword [edx + 4]
test ecx, ecx
jne 0x6e5fa8
mov eax, 0xf
mov esi, ecx
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x6e5fa8
mov ecx, dword [esp + 0x378]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x1a8], edi
jmp 0x6e6402
mov dword [esp + 0x324], edi
mov dword [esp + 0x33c], esi
jmp 0x6de8bd
mov al, 0x79
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x3dc]
lea eax, [eax + eax*2]
mov edx, dword [esp + 0x298]
mov ecx, dword [edx + eax*8 + 0x10]
mov eax, dword [edx + eax*8 + 0x14]
lea edx, [esp + 0x4ac]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00626ee0
mov dword [esp + 0x558], eax
test eax, eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3d0], eax
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x364], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x360], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x340], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x338], ecx
mov edi, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], edi
mov esi, dword [esp + 0x378]
mov dword [esp + 0x3c8], esi
mov edx, dword [esp + 0x3bc]
mov dword [esp + 0x3d4], edx
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 0x3cc], ecx
mov dword [esp + 0x400], eax
mov ebx, dword [esp + 0x3e0]
mov dword [esp + 0x404], ebx
mov dword [esp + 0x3ac], eax
mov dword [esp + 0x2d0], ebx
mov dword [esp + 0x33c], eax
mov dword [esp + 0x324], ecx
mov ecx, 0xc
mov dword [esp + 0x310], edx
mov dword [esp + 0x31c], esi
mov dword [esp + 0x328], edi
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], eax
mov edx, esi
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
jne 0x6e9055
jmp case.0x6d9d53.35
mov dword [esp + 0x1a8], edi
mov edi, dword [esp + 0x378]
jmp 0x6e641d
mov al, 2
movzx eax, al
cmp eax, 2
je 0x6e6082
cmp eax, 0x15
jne 0x6e6221
mov eax, dword [esp + 0x54c]
mov esi, dword [esp + 0x548]
add esi, dword [esp + 0x13c]
adc eax, 0
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x124]
mov edi, eax
and edi, 1
xor edi, eax
cmp edi, 0xffffffff
setne bl
movzx edi, bl
sub eax, edi
mov dword [esp + 0xb8], eax
mov edi, eax
shl edi, 6
mov eax, dword [esp + 0x3f4]
mov dword [ecx + edi + 0x14], eax
mov dword [ecx + edi + 0x10], esi
movsd xmm0, qword [esp + 0x548]
mov eax, dword [edx + 4]
movsd qword [eax + edi + 0x18], xmm0
mov eax, dword [esp + 0x4ac]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x20]
mov ecx, dword [edx + 4]
mov dword [ecx + edi + 0x2c], eax
mov eax, dword [esp + 0x4a8]
mov eax, dword [eax + 4]
mov dword [eax + edi + 0x30], 1
mov esi, 0xd
mov byte [esp + 0xe3], 0x21
cmp dword [esp + 0xf0], 0
mov eax, dword [esp + 0x220]
mov dword [esp + 0x1a8], eax
mov edi, dword [esp + 0x378]
jne 0x6e62eb
jmp 0x6ebe65
mov eax, dword [esp + 0x54c]
mov esi, dword [esp + 0x548]
add esi, dword [esp + 0x13c]
adc eax, 0
mov ebx, dword [esp + 0x124]
mov edi, ebx
imul edi, edi
and edi, 3
cmp edi, 2
mov edi, ebx
sbb edi, 0
mov dword [esp + 0xb8], edi
shl edi, 6
mov dword [ecx + edi + 0x14], eax
mov eax, 0x1b
mov dword [ecx + edi + 0x10], esi
mov ecx, 8
movsd xmm0, qword [esp + 0x548]
mov esi, dword [edx + 4]
movsd qword [esi + edi + 0x18], xmm0
mov esi, dword [esp + 0x4ac]
mov esi, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
mov esi, dword [esi + 0x20]
mov edx, dword [edx + 4]
mov dword [edx + edi + 0x2c], esi
mov byte [esp + 0xe3], 0x21
mov edx, dword [esp + 0x4a8]
mov edx, dword [edx + 4]
mov dword [edx + edi + 0x30], 1
mov esi, dword [esp + 0xf0]
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp esi, edx
mov edx, dword [esp + 0x220]
mov dword [esp + 0x1a8], edx
mov edx, dword [esp + 0x3ac]
mov dword [esp + 0x368], edx
mov esi, dword [esp + 0x400]
mov dword [esp + 0x358], esi
mov esi, dword [esp + 0x3c0]
jne 0x6ec0d0
cmp eax, 0xd
je 0x6e637f
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov edi, dword [esp + 0x378]
mov dword [esp + 0x2bc], edi
mov eax, dword [esp + 0x300]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x360]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3f0], eax
mov edx, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3d8]
mov ebx, esi
mov dword [esp + 0x3c0], esi
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e0], eax
jne 0x6e641d
jmp 0x6de423
mov eax, dword [esp + 0x54c]
mov esi, dword [esp + 0x548]
add esi, dword [esp + 0x13c]
adc eax, 0
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x124]
mov ebx, eax
or ebx, 2
mov edi, eax
xor edi, 2
add edi, ebx
setne bl
movzx edi, bl
sub eax, edi
mov dword [esp + 0xb8], eax
mov edi, eax
shl edi, 6
mov eax, dword [esp + 0x3f4]
mov dword [ecx + edi + 0x14], eax
mov dword [ecx + edi + 0x10], esi
movsd xmm0, qword [esp + 0x548]
mov eax, dword [edx + 4]
movsd qword [eax + edi + 0x18], xmm0
mov eax, dword [esp + 0x4ac]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x20]
mov ecx, dword [edx + 4]
mov dword [ecx + edi + 0x2c], eax
mov eax, dword [esp + 0x4a8]
mov eax, dword [eax + 4]
mov dword [eax + edi + 0x30], 1
mov byte [esp + 0xe3], 0x21
mov ecx, dword [esp + 0xf0]
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
sete al
movzx eax, al
cmp ecx, eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x1a8], eax
mov edi, dword [esp + 0x378]
je 0x6e641d
mov eax, 6
mov cl, byte [esp + 0xe3]
movzx ecx, cl
cmp ecx, 0x21
jne 0x6e6373
mov eax, dword [esp + 0x4a8]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0xb8]
shl ecx, 6
mov edx, dword [esp + 0x220]
mov dword [eax + ecx + 0x38], edx
mov eax, dword [esp + 0x4a8]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x204]
mov dword [eax + ecx + 0x34], edx
mov eax, 7
mov byte [esp + 0xe3], 0x68
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x2bc], edi
mov dl, byte [esp + 0x1e2]
mov esi, dword [esp + 0x33c]
mov edi, dword [esp + 0x328]
mov ebx, dword [esp + 0x3ac]
jmp 0x6eca83
mov dword [esp + 0x2bc], edi
jmp 0x6e7598
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x2bc], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x360]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3f0], eax
mov edx, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3d8]
jmp 0x6de405
cmp eax, 7
mov edi, dword [esp + 0x2bc]
jne 0x6e641d
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x6ece01
movzx eax, byte [esp + 0x1e1]
cmp eax, 4
jne 0x6e6623
mov ebx, 0x14
mov byte [esp + 0x1e1], 0x54
mov eax, dword [esp + 0x4ac]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0xc]
lea edx, [esp + 0x490]
call fcn.006edb60
mov dword [esp + 0x558], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x6e6666
cmp ebx, 0xc
je 0x6e69ec
mov dword [esp + 0x29c], eax
mov eax, ebx
and eax, 1
inc eax
xor eax, ebx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov dword [esp + 0x394], esi
mov dword [esp + 0x3e8], esi
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov dword [esp + 0x380], edx
mov dword [esp + 0x3e4], edx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x3e0], ecx
mov ebx, dword [esp + 0x320]
mov dword [esp + 0x400], ebx
mov edx, dword [esp + 0x378]
mov esi, edi
jne 0x6de8f5
jmp 0x6ed45f
mov esi, 0xb
mov byte [esp + 0x1e1], 4
mov eax, dword [esp + 0x4ac]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0xc]
lea edx, [esp + 0x490]
call fcn.006edb60
mov dword [esp + 0x558], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6e6a0d
cmp esi, 0xf
jne 0x6e70c5
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x3c4], edx
mov dword [esp + 0x3d8], edi
mov dword [esp + 0x3c0], ebx
mov edi, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x348]
movzx ecx, byte [esp + 0x2df]
cmp ecx, 0x18
je 0x6e6caa
cmp ecx, 0x1c
je 0x6e6de6
mov eax, 1
cmp ecx, 0x1e
jne 0x6e6fa8
mov dword [esp + 0x348], ebx
mov dword [esp + 0x1bc], edi
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x3ac], ecx
mov edx, dword [esp + 0x1e4]
mov dword [esp + 0x1e4], edx
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
mov edi, dword [esp + 0x180]
mov edx, dword [esp + 0x3d8]
je 0x6e333c
mov eax, 8
movzx ecx, byte [esp + 0x2dd]
cmp ecx, 0x33
jne 0x6e6acb
mov byte [esp + 0x2dd], 0x33
mov eax, dword [esp + 0x150]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*8 + 0x10]
mov ecx, dword [esp + 0xd0]
mov dword [ecx + eax + 4], 0
mov dword [ecx + eax], 0
mov dword [ecx + eax + 0xc], 0
mov dword [ecx + eax + 8], 0
mov eax, dword [esp + 0x45c]
mov dword [esp + 0x228], eax
mov eax, dword [eax]
mov ecx, dword [eax]
dec ecx
cmp ecx, 3
ja case.default.0x6e69e5
mov eax, 3
jmp dword [ecx*4 + 0x7ec120]
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x3e8], esi
mov dword [esp + 0x3e4], edx
mov dword [esp + 0x29c], eax
jmp 0x6e9cb6
mov esi, dword [esp + 0x400]
mov ecx, dword [esp + 0x3a4]
mov ebx, dword [esp + 0x3ac]
mov dword [esp + 0x180], edi
cmp eax, 8
je 0x6e1ae8
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x368], ebx
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], edx
mov edx, eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov ebx, esi
jmp 0x6ed45f
mov edi, dword [esp + 0x3d8]
xor ecx, ecx
cmp eax, 8
je 0x6e6c44
imul eax, eax
and eax, 3
cmp eax, 3
je 0x6e6c44
mov dword [esp + 0x3d8], edi
mov dword [esp + 0x3c0], esi
jmp 0x6df5d6
mov dword [esp + 0x3c0], esi
mov esi, dword [esp + 0x29c]
mov ebx, dword [esp + 0x374]
jmp 0x6e6c7d
mov eax, 3
xor eax, 0xb8
add eax, 0xffffff51
inc ecx
mov dword [esp + 0x558], 0x700002bb
mov ebx, esi
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x6e6c60
mov dword [esp + 0x29c], esi
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x368], ecx
jmp 0x6ebd12
mov byte [esp + 0x2df], 0x1e
mov esi, dword [esp + 0x160]
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
shl ecx, 2
lea eax, [ecx + ecx*2]
mov esi, dword [esp + 0x180]
mov ecx, dword [esi]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esi], eax
test eax, eax
jne 0x6e7147
mov dword [esp + 0x348], ebx
mov dword [esp + 0x1bc], edi
mov ecx, 0x10
mov edx, eax
and edx, 1
xor edx, eax
mov dword [esp + 0x10c], eax
not edx
test edx, edx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
je 0x6e0ea2
cmp ecx, 0x10
je 0x6e3398
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jne case.0x6ec944.1
jmp 0x6e3398
mov dword [esp + 0x348], ebx
mov dword [esp + 0x1bc], edi
mov esi, 0x13
mov ebx, 0x17
mov byte [esp + 0x2df], 0x18
mov edx, dword [esp + 0x160]
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
shl ecx, 2
lea eax, [ecx + ecx*2]
mov edi, dword [esp + 0x180]
mov ecx, dword [edi]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esp + 0x10c], eax
mov dword [edi], eax
test eax, eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov edi, dword [esp + 0x400]
je 0x6e7293
cmp esi, 9
je 0x6eabb5
xor eax, eax
test al, al
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x400], edi
je 0x6e0ea2
jmp 0x6eabb5
mov byte [esp + 0x2df], 0x1d
mov edx, dword [esp + 0x160]
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
shl ecx, 2
lea eax, [ecx + ecx*2]
mov esi, dword [esp + 0x180]
mov ecx, dword [esi]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esi], eax
test eax, eax
je 0x6e7161
mov dword [esp + 0x348], ebx
mov dword [esp + 0x1bc], edi
mov ecx, eax
mov dword [esp + 0x10c], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
jne 0x6e0ea2
jmp 0x6e3398
mov eax, dword [esp + 0x538]
mov ecx, dword [esp + 0x53c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 8
mov esi, edx
call fcn.007855d0
mov edx, esi
mov dword [esp + 0x558], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x29c]
mov dword [esp + 0x374], eax
mov esi, eax
mov dword [esp + 0x3bc], edi
mov dword [esp + 0x3b0], ebx
jne 0x6de8f5
jmp 0x6e717b
mov dword [esp + 0x348], ebx
mov dword [esp + 0x1bc], edi
mov dword [esp + 0x10c], eax
jmp 0x6e0ea2
mov dword [esp + 0x348], ebx
mov dword [esp + 0x1bc], edi
mov dword [esp + 0x10c], eax
jmp 0x6e72aa
mov ebx, 0x10
mov byte [esp + 0x157], 0x1b
mov byte [esp + 0xb2], 0x52
mov eax, dword [esp + 0x53c]
mov dword [esp], eax
mov esi, edx
call fcn.00689a80
mov dword [esp + 0x53c], 0
test byte [esp + 0x123], 1
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov dword [esp + 0x3c4], esi
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x29c]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
jne 0x6e7527
cmp ebx, 0x10
je 0x6e7357
mov eax, ebx
and eax, 1
inc eax
xor eax, ebx
je 0x6e7357
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
jmp 0x6e3398
mov eax, 6
mov bl, byte [esp + 0xb2]
movzx ecx, bl
cmp ecx, 6
je 0x6e73f8
cmp ecx, 0x38
je 0x6e73c1
cmp ecx, 0x7c
jne 0x6e7414
mov byte [esp + 0x197], 0x1d
mov byte [esp + 0x167], 0x46
mov ecx, dword [esp + 0x4a8]
test ecx, ecx
je 0x6e74bf
mov byte [esp + 0xb2], 0x52
mov eax, ecx
mov dword [esp + 0x1b4], ecx
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x6e768d
jmp 0x6e9f84
mov bl, 6
mov byte [esp + 0x197], 0x1d
mov byte [esp + 0x167], 0x46
mov edx, dword [esp + 0x4a8]
test edx, edx
je 0x6e74ab
mov eax, 3
xor ecx, ecx
test cl, cl
jne 0x6e74ab
mov dword [esp + 0x1b4], edx
cmp eax, 3
jne 0x6e745d
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x6e745d
mov byte [esp + 0xb2], bl
jmp 0x6e768d
mov eax, 4
mov byte [esp + 0x197], 0x1d
mov byte [esp + 0x167], 0x46
mov edx, dword [esp + 0x4a8]
test edx, edx
je 0x6e74d3
mov byte [esp + 0xb2], 0x38
mov ecx, edx
mov dword [esp + 0x1b4], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jne 0x6e768d
jmp 0x6e9f7b
mov eax, 0x13
mov byte [esp + 0xb2], 0x7c
mov byte [esp + 0x197], 0x1d
mov byte [esp + 0x167], 0x46
mov edx, dword [esp + 0x4a8]
test edx, edx
jne 0x6e74e7
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
mov dword [esp + 0x1b4], edx
mov ecx, dword [esp + 0x1d4]
mov dword [esp + 0x358], ecx
jne 0x6e9f84
jmp 0x6e74fc
mov byte [esp + 0xb2], 6
mov dword [esp + 0x1b4], edx
jmp 0x6e9f84
mov byte [esp + 0xb2], 0x52
mov dword [esp + 0x1b4], ecx
jmp 0x6e9f84
mov byte [esp + 0xb2], 0x38
mov dword [esp + 0x1b4], edx
jmp 0x6e9f7b
mov dword [esp + 0x1b4], edx
mov ecx, dword [esp + 0x1d4]
mov dword [esp + 0x358], ecx
cmp eax, 0x10
je 0x6dd765
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x358]
mov dword [esp + 0x1d4], eax
jne 0x6e768d
jmp 0x6dd765
mov eax, 0xd
movzx ecx, byte [esp + 0x157]
cmp ecx, 0x1b
jne 0x6e7a6a
mov eax, 0xb
mov byte [esp + 0x157], 0x64
mov byte [esp + 0x1a2], 0xe
mov ecx, dword [esp + 0x4a8]
test ecx, ecx
jne 0x6e7583
mov dword [esp + 0x128], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x1ac], ecx
jb 0x6e8183
jmp 0x6e7598
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x1ac], ecx
cmp eax, 6
jne 0x6e7bba
mov eax, dword [esp + 0x4a8]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0xb8]
shl ecx, 6
mov edx, dword [esp + 0x220]
mov dword [eax + ecx + 0x38], edx
mov eax, dword [esp + 0x4a8]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x204]
mov dword [eax + ecx + 0x34], edx
mov byte [esp + 0xe3], 0x21
mov dword [esp + 0x1a8], 0
mov edi, dword [esp + 0x2bc]
jmp 0x6e641d
xor eax, eax
test al, al
jne 0x6ea015
mov dword [esp + 0x3d8], ebx
mov byte [esp + 0x167], 0x35
mov dword [esp], 8
call fcn.00492770
mov dword [esp + 0x4a8], eax
test eax, eax
jne 0x6e7630
mov dword [esp + 0x16c], eax
jmp 0x6ea358
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov dword [esp + 0x16c], eax
je 0x6ea358
xor eax, eax
mov esi, dword [esp + 0x1b4]
mov edi, dword [esp + 0x16c]
jmp 0x6e7670
inc eax
mov dword [edi + 4], 0
mov dword [edi], 0
mov esi, edi
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6e7660
mov dword [esp + 0x1b4], esi
movzx eax, byte [esp + 0x197]
cmp eax, 0x33
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov esi, dword [esp + 0x3e8]
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov ecx, 0xf
mov eax, 0xd
mov edi, dword [esp + 0x368]
jne 0x6ea5df
cmp ecx, 0xd
jne 0x6e7790
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je 0x6e7790
mov dword [esp + 0x394], esi
mov esi, 0x1b
mov bl, byte [esp + 0x2ef]
movzx eax, bl
cmp eax, 0x6a
jne 0x6e7824
xor ecx, ecx
mov eax, 0xf9
add eax, 0xffffff12
mov esi, dword [esp + 0x180]
mov edi, dword [esp + 0x178]
jmp 0x6e1842
mov dword [esp + 0x394], esi
mov byte [esp + 0x197], 0x1d
mov al, 0x49
mov dword [esp + 0x19c], eax
mov edx, dword [esp + 0x1b4]
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 + 0x4a8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shl ecx, 6
add ecx, 0x40
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
mov ecx, dword [esp + 0x4a8]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x4a8]
mov dword [esp + 0xf4], eax
mov edx, dword [eax + 4]
test edx, edx
jne 0x6e79bf
mov eax, edx
or eax, 2
mov ecx, edx
mov dword [esp + 0x200], edx
xor ecx, 2
add ecx, eax
jne 0x6e7ac6
jmp 0x6e8621
mov eax, dword [esp + 0x2bc]
mov dword [esp + 0x378], eax
mov edi, dword [esp + 0x188]
mov dword [esp + 0x188], edi
xor ecx, ecx
cmp esi, 0xc
jne 0x6e787a
mov eax, esi
not eax
and eax, 1
add eax, esi
je 0x6e787a
mov byte [esp + 0x2ef], bl
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x2bc], eax
jmp 0x6de8bd
mov dword [esp + 0x3bc], eax
mov esi, dword [esp + 0x180]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x28c]
jmp 0x6e78dc
mov edx, 0x96
add edx, 0xffffff78
mov dword [esp + 0x3bc], edx
mov bl, dl
xor bl, 0x64
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
add ecx, edx
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x314], edi
mov esi, eax
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x6e78a0
mov dword [esp + 0x28c], edi
mov dword [esp + 0x178], eax
mov dword [esp + 0x180], esi
mov byte [esp + 0x2ef], bl
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x2bc], eax
mov edx, dword [esp + 0x3bc]
jmp 0x6ea34f
mov dword [esp + 0x200], edx
jmp 0x6e8621
mov dword [esp + 0x3ac], edi
mov dword [esp + 0x394], esi
mov esi, 7
mov byte [esp + 0x197], 0x33
mov al, 0x49
mov dword [esp + 0x19c], eax
mov edx, dword [esp + 0x1b4]
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 + 0x4a8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shl ecx, 6
add ecx, 0x40
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
mov ecx, dword [esp + 0x4a8]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x4a8]
mov dword [esp + 0xf4], eax
mov edx, dword [eax + 4]
test edx, edx
jne 0x6e85e1
mov eax, 0x1d
mov ecx, edx
and ecx, 1
xor ecx, edx
mov dword [esp + 0x200], edx
not ecx
test ecx, ecx
je 0x6ecddb
cmp eax, 0xd
jne 0x6e7ab8
mov byte [esp + 0x157], 0x1b
mov byte [esp + 0x1a2], 0xe
mov ecx, dword [esp + 0x4a8]
test ecx, ecx
jne 0x6e7ba5
mov eax, ecx
or eax, 2
mov dword [esp + 0x128], ecx
xor ecx, 2
add ecx, eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x1ac], eax
jne 0x6e8183
jmp 0x6e7bba
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov edx, dword [esp + 0x19c]
movzx eax, dl
cmp eax, 0x2d
je 0x6e7af8
cmp eax, 0x49
mov esi, dword [esp + 0x29c]
mov edi, dword [esp + 0x3d8]
je 0x6e7b32
cmp eax, 0x4c
jne 0x6e7b7e
mov al, 0x2d
jmp 0x6e7b80
mov ecx, 0x18
mov dl, 0x4c
mov dword [esp + 0x558], 0x70000003
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov edi, dword [esp + 0x29c]
mov dword [esp + 0x374], edi
mov ebx, dword [esp + 0x3d8]
jmp 0x6e8759
xor eax, eax
jmp 0x6e7b61
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6e7b40
mov al, 0x15
mov dword [esp + 0x19c], eax
mov dword [esp + 0x558], 0x70000003
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], edi
jmp 0x6de8e7
mov dword [esp + 0x128], ecx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x1ac], eax
mov edi, 0xf
mov ebx, 7
mov eax, dword [esp + 0x128]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00785f60
mov dword [esp + 0x558], eax
test eax, eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov ecx, dword [esp + 0x3c4]
mov edx, ecx
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov esi, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], esi
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x358], eax
mov dword [esp + 0x374], eax
jne 0x6e7c8a
cmp ebx, 4
jne 0x6e8144
cmp edi, 0xf
je 0x6e811a
xor eax, eax
test al, al
jne 0x6e811a
mov dword [esp + 0x328], ecx
mov dword [esp + 0x90], esi
mov eax, dword [esp + 0x21c]
add eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x218]
adc ecx, 0
mov edx, dword [esi]
mov dword [esp + 0xac], edx
cmp edx, eax
mov edx, dword [esi + 4]
mov dword [esp + 0xa8], edx
sbb edx, ecx
mov edx, dword [esp + 0x398]
mov dword [esp + 0x3dc], edx
mov edx, dword [esp + 0x388]
mov dword [esp + 0x3ec], edx
mov edx, dword [esp + 0x394]
mov dword [esp + 0x3e8], edx
mov edx, dword [esp + 0x384]
mov dword [esp + 0x3f4], edx
mov edx, dword [esp + 0x380]
mov dword [esp + 0x3e4], edx
mov edx, dword [esp + 0x390]
mov dword [esp + 0x3f0], edx
mov edx, dword [esp + 0x38c]
mov dword [esp + 0x3c8], edx
mov edx, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], edx
mov edx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], edx
mov edx, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], edx
mov dword [esp + 0x368], ebx
mov edx, 7
mov esi, dword [esp + 0x20c]
jae 0x6e80d9
cmp edx, 7
je 0x6e8100
mov eax, edx
and eax, 1
inc eax
xor eax, edx
je 0x6e8100
mov al, byte [esp + 0xcf]
movzx eax, al
cmp eax, 0x38
jne 0x6dcffb
mov dword [esp + 0x29c], edi
mov dword [esp + 0x20c], esi
xor esi, esi
mov eax, 0xc3
add eax, 0xffffff40
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x300]
lea edi, [eax + eax*2]
lea ebx, [esp + 0x4b0]
jmp 0x6e7ef3
mov eax, dword [esp + 0x3bc]
xor al, 0x3b
mov byte [esp + 0xcf], al
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x298]
mov eax, dword [eax + edi*8 + 0x14]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 8], pe_nt_image_headers32
call fcn.007ce510
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x6e7eb0
mov eax, dword [esp + 0x3c0]
mov ecx, dword [esp + 0x3d8]
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3ec]
mov edi, dword [esp + 0x3e4]
mov ebx, dword [esp + 0x3dc]
mov dword [esp + 0x374], esi
cmp dword [esp + 0x3bc], 3
mov dword [esp + 0x398], ebx
mov dword [esp + 0x388], edx
mov edx, dword [esp + 0x3e8]
mov dword [esp + 0x394], edx
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x384], edx
mov dword [esp + 0x380], edi
mov edx, dword [esp + 0x3f0]
mov dword [esp + 0x390], edx
mov edx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], edx
mov edx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], edx
mov edx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], edx
mov edx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], edx
mov edx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], edx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x31c], edx
mov dword [esp + 0x378], edx
mov dword [esp + 0x3c8], edx
mov dword [esp + 0x310], ecx
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3d4], ecx
mov dword [esp + 0x324], eax
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x3cc], eax
mov dword [esp + 0x358], esi
mov eax, dword [esp + 0x404]
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov edi, dword [esp + 0x3b4]
mov dword [esp + 0x328], edi
mov esi, dword [esp + 0x338]
mov dword [esp + 0x2e4], esi
mov ecx, dword [esp + 0x360]
mov dword [esp + 0x304], ecx
mov edx, dword [esp + 0x340]
mov dword [esp + 0x308], edx
mov eax, dword [esp + 0x364]
mov dword [esp + 0x2c0], eax
mov ebx, dword [esp + 0x404]
mov dword [esp + 0x3e0], ebx
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x3f0], edi
mov dword [esp + 0x3e4], esi
mov esi, dword [esp + 0x358]
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0x3f4], edx
mov edx, dword [esp + 0x378]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x3dc], eax
jne 0x6de8f5
jmp case.0x6d9d53.35
movzx edx, byte [esp + 0x2e0]
cmp edx, 0x79
jne 0x6e85ac
mov byte [esp + 0x2e0], 0x79
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], ecx
mov al, byte [esp + 0x2d6]
mov ecx, dword [esp + 0x188]
mov ebx, dword [esp + 0x3d8]
jmp 0x6ea031
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x374]
mov edx, ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], ecx
jmp 0x6e8a3a
movzx ecx, byte [esp + 0x1a2]
cmp ecx, 0xe
je 0x6e83aa
mov eax, 0xc
cmp ecx, 0x2c
jne 0x6e846e
mov eax, dword [esp + 0x190]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov edi, dword [eax + ecx*8 + 0x14]
mov eax, dword [eax + ecx*8 + 4]
mov esi, 9
mov byte [esp + 0x1a2], 0x2c
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0068ece0
mov dword [esp + 0x558], 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 + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x374], eax
je 0x6e8519
cmp esi, 9
jne 0x6e8607
mov eax, 3
sub eax, esi
xor eax, esi
mov ebx, dword [esp + 0x400]
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
jne 0x6de8f5
jmp 0x6dd9ae
mov eax, dword [esp + 0x190]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov esi, dword [eax + ecx*8 + 0x14]
mov eax, dword [eax + ecx*8 + 4]
mov ebx, 0x16
mov byte [esp + 0x1a2], 0x38
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0068ece0
mov dword [esp + 0x558], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x1ac]
mov esi, eax
mov edx, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], ecx
mov dword [esp + 0x374], eax
mov edi, dword [esp + 0x400]
jne 0x6de8f5
cmp ebx, 6
je 0x6dde42
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov dword [esp + 0x400], edi
jmp 0x6e8519
mov ebx, dword [esp + 0x374]
mov edx, dword [esp + 0x220]
mov esi, dword [esp + 0x3c0]
mov edi, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x220], edx
cmp eax, 0xc
jne 0x6e8589
mov dword [esp + 0x3ac], ecx
mov dword [esp + 0x3d8], edi
mov dword [esp + 0x3c0], esi
mov eax, dword [esp + 0x190]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov esi, dword [eax + ecx*8 + 0x14]
mov eax, dword [eax + ecx*8 + 4]
mov edi, 5
mov byte [esp + 0x1a2], 0xe
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0068ece0
mov dword [esp + 0x558], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov esi, dword [esp + 0x1ac]
jne 0x6ddde5
mov eax, dword [esp + 0x190]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov esi, dword [eax + ecx*8 + 0x14]
mov edi, dword [eax + ecx*8 + 4]
movzx eax, byte [eax + ecx*8 + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 3
call fcn.007855d0
mov dword [esp + 0x558], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov esi, dword [esp + 0x1ac]
jmp 0x6de8d2
mov dword [esp + 0x368], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], edi
mov dword [esp + 0x3b0], esi
mov esi, ebx
jmp 0x6de8f5
mov dword [esp + 0x29c], edi
mov dword [esp + 0x20c], esi
mov edx, 4
mov byte [esp + 0x2e0], 0x7b
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], ecx
mov ebx, dword [esp + 0x3d8]
jmp 0x6ea00c
mov dword [esp + 0x200], edx
jmp 0x6ecddb
mov ebx, dword [esp + 0x400]
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x358], eax
jmp 0x6dd9ae
mov eax, dword [esp + 0xf4]
mov edi, dword [eax]
mov eax, 3
sub eax, edi
xor eax, edi
setne al
movzx eax, al
sub edi, eax
mov dword [esp + 0xa4], edi
shl edi, 6
mov ebx, dword [esp + 0x200]
mov eax, dword [esp + 0x114]
mov dword [ebx + edi + 4], eax
mov eax, dword [esp + 0x118]
mov dword [ebx + edi], eax
mov eax, dword [esp + 0x4ac]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [ebx + edi + 8], xmm0
mov eax, dword [esp + 0x54c]
mov ecx, dword [esp + 0x548]
add ecx, dword [esp + 0x13c]
mov dword [ebx + edi + 0x10], ecx
mov esi, 0x10
mov byte [esp + 0xb1], 7
adc eax, 0
mov dword [ebx + edi + 0x14], eax
mov al, 0x13
mov dword [esp + 0x1e4], eax
movsd xmm0, qword [esp + 0x548]
movsd qword [ebx + edi + 0x18], xmm0
mov dword [ebx + edi + 0x3c], 1
mov dword [ebx + edi + 0x2c], 0
mov dword [ebx + edi + 0x30], 0
mov dword [esp], 0x10
call fcn.00492770
mov dword [esp + 0x98], eax
mov dword [ebx + edi + 0x28], eax
test eax, eax
je 0x6e88e3
mov ecx, 0x12
xor eax, eax
test al, al
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
jne 0x6e88e3
cmp ecx, 3
jne 0x6e8729
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
jne case.0x6ec675.3
mov eax, 0xa
mov ecx, 0xf
movzx edx, byte [esp + 0xb1]
cmp edx, 0x3e
mov edx, dword [esp + 0x19c]
mov edi, dword [esp + 0x29c]
mov ebx, dword [esp + 0x3d8]
jne 0x6e8a48
cmp ecx, 0xf
mov esi, dword [esp + 0x200]
jne 0x6e8e55
mov dword [esp + 0x29c], edi
mov dword [esp + 0x19c], edx
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
je 0x6e8e63
cmp esi, 8
je 0x6e8d8d
xor eax, eax
test al, al
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov edi, dword [esp + 0x294]
je 0x6e356f
jmp 0x6e8d8d
cmp esi, 0xd
jne 0x6e899a
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x6e899a
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
jmp 0x6e482d
xor ecx, ecx
mov eax, dword [esp + 0x1e4]
movzx edx, al
cmp edx, 0x13
je 0x6e8b26
mov eax, 0x18
cmp edx, 0x17
mov edi, dword [esp + 0x29c]
jne 0x6e8cf4
mov esi, dword [esp + 0x3c0]
mov ebx, dword [esp + 0x3d8]
jmp 0x6e8a14
mov eax, 0x54
xor al, 0x43
mov dword [esp + 0x1e4], eax
mov eax, ecx
or eax, 2
mov edx, ecx
xor edx, 2
add edx, eax
setne al
movzx eax, al
add ecx, eax
mov dword [esp + 0x558], 0x70000003
mov dword [esp + 0x374], edi
mov eax, ecx
imul eax, eax
and eax, 3
test ecx, ecx
je 0x6e89e0
cmp eax, 2
je 0x6e89e0
mov eax, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], ebx
mov dword [esp + 0x3b0], esi
mov esi, eax
jmp 0x6de8f5
mov ebx, 0x36
xor ebx, 0x24
mov edx, dword [esp + 0x1e4]
mov esi, dword [esp + 0x29c]
jmp 0x6e8b68
mov dl, bl
xor dl, 0x68
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
add ecx, eax
mov dword [esp + 0x558], 0x70000003
mov dword [esp + 0x374], esi
mov eax, 3
sub eax, ecx
xor eax, ecx
setne al
movzx eax, al
cmp ecx, eax
jb 0x6e8b40
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
cmp ebx, 0xd
jne 0x6e8ce8
mov eax, ebx
not eax
and eax, 1
add eax, ebx
je 0x6e8ce8
mov dword [esp + 0x1e4], edx
mov esi, 0xe
mov edi, dword [esp + 0x36c]
mov dword [esp], edi
call fcn.004936c0
mov dword [esp + 0x558], 0x70000003
xor eax, eax
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x368], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x378], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], ecx
mov ecx, dword [esp + 0x404]
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x3f8], ebx
mov edx, dword [esp + 0x34c]
cmp esi, 2
je 0x6dce37
mov dword [esp + 0x3fc], edx
mov dword [esp + 0x370], ecx
mov dword [esp + 0x37c], eax
mov dword [esp + 0x36c], edi
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov edx, dword [esp + 0x378]
jmp 0x6ed45f
mov dword [esp + 0x1e4], edx
jmp 0x6dd16a
mov ebx, dword [esp + 0x368]
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x328]
jmp 0x6dfc10
xor esi, esi
mov edi, dword [esp + 0xa4]
shl edi, 6
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x100]
jmp 0x6e8e31
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov eax, dword [esp + 0x4ac]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.007ce510
mov eax, dword [esp + 0x4ac]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x1cc]
mov ecx, dword [ecx]
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x4ac]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x200]
mov dword [ecx + edi + 0x20], eax
mov eax, dword [esp + 0x29c]
mov dword [ecx + edi + 0x38], eax
mov eax, dword [esp + 0x204]
mov dword [ecx + edi + 0x34], eax
xor ecx, ecx
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
jb 0x6e8db0
mov dword [esp + 0x100], ecx
jmp 0x6e7527
mov dword [esp + 0x29c], edi
mov dword [esp + 0x19c], edx
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
jmp 0x6ea205
mov dword [esp + 0x29c], ecx
cmp eax, 6
jne 0x6e8ebb
mov esi, edx
jmp 0x6de8d2
mov dword [esp + 0x374], edx
mov byte [esp + 0x2ec], 0x19
jmp 0x6ec56e
mov dword [esp + 0x3a8], eax
mov dword [esp + 0x39c], edx
mov dword [esp + 0x3a0], edi
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x400], esi
mov eax, 0x12
mov cl, byte [esp + 0x2ab]
movzx ecx, cl
cmp ecx, 0x42
mov edx, dword [esp + 0x330]
jne 0x6e8f46
mov byte [esp + 0x2ab], 0x42
mov eax, dword [esp + 0x4a4]
test eax, eax
je 0x6e9449
mov dword [esp + 0xfc], eax
imul eax, eax
and eax, 3
cmp eax, 3
mov ebx, dword [esp + 0x3ac]
jne 0x6e922f
jmp 0x6e947d
mov ecx, dword [esp + 0x36c]
mov esi, dword [esp + 0x348]
mov ebx, dword [esp + 0x328]
cmp eax, 0x10
jne 0x6e8f6f
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x6df0d2
mov dword [esp + 0x328], ebx
mov dword [esp + 0x330], edx
mov dword [esp + 0x348], esi
mov dword [esp + 0x36c], ecx
mov byte [esp + 0x2ab], 7
mov eax, dword [esp + 0x4a4]
test eax, eax
je 0x6e9452
mov ecx, 0x1a
mov dword [esp + 0xfc], eax
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, dword [esp + 0x300]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x360]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3f0], eax
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e0], eax
mov eax, 0x12
je 0x6e945e
cmp ecx, 0xc
jne 0x6e9195
cmp ecx, 0xb
jne 0x6e93a2
mov dword [esp + 0x390], edx
mov dword [esp + 0x394], esi
mov dword [esp + 0x358], 0x1c
mov byte [esp + 0xc3], 0x26
mov dword [esp + 4], 1
mov dword [esp], 8
call fcn.00493840
mov ecx, eax
mov eax, dword [esp + 0x280]
mov dword [eax], ecx
test ecx, ecx
je 0x6eaa67
mov dword [esp + 0x374], ebx
mov eax, ecx
mov dword [esp + 0x168], ecx
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov dword [esp + 0x17c], edi
mov dword [esp + 0x400], edi
mov edx, dword [esp + 0x378]
mov ecx, dword [esp + 0x3bc]
mov ebx, dword [esp + 0x3b0]
jne 0x6de423
jmp 0x6eaade
mov esi, 2
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov ecx, dword [esp + 0x388]
mov edi, dword [esp + 0x394]
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x368], ebx
mov eax, dword [esp + 0xe4]
mov ebx, dword [esp + 0x33c]
cmp esi, 2
jne 0x6dd184
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x6dd184
mov dword [esp + 0x33c], ebx
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov dword [esp + 0x388], ecx
mov dword [esp + 0x394], edi
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov ebx, dword [esp + 0x368]
jmp 0x6e947d
mov dword [esp + 0x390], edx
mov dword [esp + 0x394], esi
mov dword [esp + 0x400], edi
mov dword [esp + 0x558], 0x700002bb
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov esi, eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov al, 0x79
mov dword [esp + 0x1c8], eax
mov edx, dword [esp + 0x378]
jmp 0x6de8f5
mov dword [esp + 0xfc], eax
jmp 0x6e9476
mov dword [esp + 0xfc], eax
mov eax, 0x12
cmp eax, 0xd
je 0x6e98e9
imul eax, eax
and eax, 3
cmp eax, 2
je 0x6e98e9
mov ebx, dword [esp + 0x3ac]
mov eax, 0xe
mov cl, 0x60
mov dword [esp + 0x2f8], ecx
mov edi, dword [esp + 0x53c]
test edi, edi
jne 0x6e9932
mov esi, 4
mov ecx, edi
or ecx, 2
mov edx, edi
mov dword [esp + 0x258], edi
xor edx, 2
add edx, ecx
mov dword [esp + 0x368], ebx
mov dword [esp + 0x3ac], ebx
je 0x6df1c1
cmp esi, 4
jne 0x6e966c
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x6e966c
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov esi, dword [esp + 0x258]
mov ebx, dword [esp + 0x400]
mov byte [esp + 0x1a3], 3
mov edx, dword [esp + 0x4ac]
test edx, edx
je 0x6e9945
mov dword [esp + 0x400], ebx
mov byte [esp + 0x1e3], 0x71
mov dword [esp + 0x258], esi
mov eax, 0xb
mov ecx, edx
mov dword [esp + 0x108], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
je 0x6e9dd7
cmp eax, 3
jne 0x6e98a3
mov eax, dword [esp + 0x228]
mov eax, dword [eax + 0x10]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov ecx, dword [esp + 0x3b8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x150]
lea edx, [edx + edx*2]
mov ecx, dword [ecx + edx*8 + 0x14]
adc eax, 0
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x320], eax
mov esi, 8
mov eax, dword [esp + 0x348]
mov ecx, dword [esp + 0x37c]
mov edx, dword [esp + 0x370]
mov edi, dword [esp + 0x3f8]
jmp 0x6ed3ff
mov eax, dword [esp + 0x32c]
movzx ecx, al
cmp ecx, 4
je 0x6e9988
mov eax, 0xd
cmp ecx, 0x37
mov edx, dword [esp + 0x3f8]
je 0x6e9a61
mov eax, 7
cmp ecx, 0x55
jne 0x6e9a74
mov dword [esp + 0x3b0], 0xf
mov eax, dword [esp + 0x3b8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x300]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 4]
mov cl, 0x55
mov dword [esp + 0x32c], ecx
mov esi, dword [esp + 0x270]
mov ecx, dword [esp + 0x404]
mov dword [esi + ecx*4], eax
mov eax, dword [esp + 0x45c]
mov dword [esp], eax
call fcn.00626ae0
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov edx, dword [esp + 0x3c4]
mov edi, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3c0]
mov ebx, dword [esp + 0x400]
mov al, 1
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 0x274]
mov dword [esp + 0x370], eax
mov dword [esp + 0x3f8], esi
mov eax, dword [esp + 0x348]
mov dword [esp + 0x3fc], eax
mov esi, ecx
mov ecx, edi
mov eax, dword [esp + 0x3b0]
cmp eax, 0xc
je 0x6eabfc
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, ebx
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3b0], esi
mov esi, eax
jne 0x6ed45f
jmp 0x6eaca6
cmp esi, 6
jne case.0x6ec675.2
imul esi, esi
and esi, 3
cmp esi, 2
jae case.0x6ec675.2
mov byte [esp + 0x1e3], 0x28
jmp 0x6e9dc8
mov eax, 0xa
mov cl, byte [esp + 0x26f]
movzx ecx, cl
cmp ecx, 0x68
mov edi, dword [esp + 0x33c]
jne 0x6e9967
xor eax, eax
mov ecx, 0xed
add ecx, 0xffffff22
mov dword [esp + 0x3f4], ecx
mov esi, dword [esp + 0x20c]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2c0]
jmp 0x6deaf0
mov dword [esp + 0x3ac], ebx
mov dword [esp + 0x258], edi
jmp 0x6df1c1
mov dword [esp + 0x400], ebx
mov byte [esp + 0x1e3], 0x71
mov dword [esp + 0x108], edx
mov dword [esp + 0x258], esi
jmp 0x6e9dd7
mov ecx, dword [esp + 0x224]
mov edx, dword [esp + 0x3f8]
mov esi, dword [esp + 0x2e4]
mov ebx, dword [esp + 0x328]
jmp 0x6eb760
xor esi, esi
mov eax, 0x4f
add eax, 0x1b
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x300]
lea eax, [eax + eax*2]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x37c]
mov ecx, dword [esp + 0x370]
mov edi, dword [esp + 0x3f8]
mov edx, dword [esp + 0x3fc]
mov bl, 1
jmp 0x6e9a38
mov eax, dword [esp + 0x3f0]
add al, 0xcd
mov dword [esp + 0x32c], eax
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x3b8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x3f4]
mov eax, dword [eax + ecx*8 + 4]
mov edi, dword [esp + 0x270]
mov ecx, dword [esp + 0x404]
mov dword [edi + ecx*4], eax
mov eax, dword [esp + 0x45c]
mov dword [esp], eax
call fcn.00626ae0
mov al, 1
mov ecx, dword [esp + 0x274]
mov edx, dword [esp + 0x348]
test esi, esi
je 0x6e99d0
test bl, bl
je 0x6e99d0
mov dword [esp + 0x3fc], edx
mov dword [esp + 0x3f8], edi
mov dword [esp + 0x370], ecx
mov dword [esp + 0x37c], eax
jmp 0x6df009
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x3ac], ecx
jmp 0x6eb6f6
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x3dc], ecx
mov edi, dword [esp + 0x388]
mov ecx, dword [esp + 0x394]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x384]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x3e4], ecx
mov ebx, dword [esp + 0x390]
mov ecx, dword [esp + 0x38c]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x378], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x320], ecx
mov esi, dword [esp + 0x33c]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
jne 0x6e9c3c
mov dword [esp + 0x33c], esi
mov dword [esp + 0x3f8], edx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov dword [esp + 0x388], edi
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov dword [esp + 0x390], ebx
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x320]
mov dword [esp + 0x400], eax
jmp 0x6df5d6
mov dword [esp + 0x3f0], ebx
mov dword [esp + 0x3ec], edi
mov eax, dword [esp + 0x3b8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x300]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 4]
mov cl, 4
mov dword [esp + 0x32c], ecx
mov esi, dword [esp + 0x270]
mov ecx, dword [esp + 0x404]
mov dword [esi + ecx*4], eax
mov eax, dword [esp + 0x45c]
mov dword [esp], eax
call fcn.00626ae0
mov al, 1
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 0x274]
mov dword [esp + 0x370], eax
mov dword [esp + 0x3f8], esi
mov eax, dword [esp + 0x348]
mov dword [esp + 0x3fc], eax
mov edx, dword [esp + 0x378]
mov ebx, dword [esp + 0x320]
jmp 0x6ed45f
mov eax, dword [esp + 0x108]
mov dword [esp], eax
call fcn.00626fd0
mov eax, 0x11
movzx edx, byte [esp + 0x1a3]
cmp edx, 0x13
mov esi, dword [esp + 0x398]
mov edi, dword [esp + 0x384]
mov ebx, dword [esp + 0x3ac]
je 0x6e9ee8
mov ecx, 9
mov eax, 0x1c
cmp edx, 0x6f
mov dword [esp + 0x3dc], esi
mov edx, dword [esp + 0x388]
mov dword [esp + 0x3ec], edx
mov edx, dword [esp + 0x394]
mov dword [esp + 0x3e8], edx
mov dword [esp + 0x3f4], edi
mov esi, dword [esp + 0x380]
mov dword [esp + 0x3e4], esi
mov esi, dword [esp + 0x390]
mov dword [esp + 0x3f0], esi
mov esi, dword [esp + 0x38c]
mov dword [esp + 0x3c8], esi
mov esi, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], esi
mov esi, dword [esp + 0x39c]
mov dword [esp + 0x3cc], esi
mov esi, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], esi
mov esi, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], esi
mov dword [esp + 0x368], ebx
mov edi, dword [esp + 0x314]
je 0x6ecf8c
cmp ecx, 9
je 0x6e9eca
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
je 0x6e9eca
mov dword [esp + 0x314], edi
jmp 0x6e25a0
mov eax, dword [esp + 0x4a8]
test eax, eax
je 0x6ec246
xor ecx, ecx
test cl, cl
je 0x6ec23e
jmp 0x6ec246
mov dword [esp + 0x3dc], esi
mov ecx, dword [esp + 0x388]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x394]
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0x3f4], edi
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x390]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x38c]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x368], ebx
cmp eax, 4
jne 0x6ea21f
movzx ecx, byte [esp + 0x167]
cmp ecx, 0x30
mov ebx, dword [esp + 0x3d8]
je 0x6ea2e5
cmp ecx, 0x46
je 0x6ea311
mov eax, 6
mov edx, 0xd
cmp ecx, 0x57
mov edi, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x3e0]
jne 0x6ea141
cmp edx, 4
jne 0x6e75f4
mov al, byte [esp + 0x2d6]
mov esi, dword [esp + 0x20c]
mov ecx, dword [esp + 0x188]
mov edi, dword [esp + 0x29c]
mov edx, dword [esp + 0x328]
movzx eax, al
cmp eax, 0x6f
je 0x6dfe6a
mov dword [esp + 0x3d8], ebx
mov dword [esp + 0x328], edx
mov dword [esp + 0x29c], edi
mov dword [esp + 0x188], ecx
mov dword [esp + 0x20c], esi
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xac]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa8]
mov dword [eax + 4], ecx
lea eax, [esp + 0x41c]
mov ecx, dword [esp + 0x80]
mov dword [ecx], eax
lea eax, [esp + 0x40c]
mov ecx, dword [esp + 0x8c]
mov dword [ecx], eax
mov edx, dword [esp + 0x11c]
mov eax, dword [edx]
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x7c]
mov dword [ecx], eax
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov eax, dword [eax]
and eax, 0xe
mov dword [esp + 0x408], eax
lea eax, [esp + 0x408]
mov ecx, dword [esp + 0x78]
mov dword [ecx], eax
lea eax, [esp + 0x474]
mov ecx, dword [esp + 0x74]
mov dword [ecx], eax
mov esi, 0x10
mov byte [esp + 0x2d6], 0x7a
mov dword [esp], 8
call fcn.00492770
test eax, eax
jne 0x6ea653
mov ecx, eax
and ecx, 1
xor ecx, eax
mov dword [esp + 0xbc], eax
not ecx
test ecx, ecx
je 0x6ea65a
cmp esi, 0xd
je 0x6dcc86
mov ebx, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x3e4]
mov edi, dword [esp + 0x3e8]
jmp 0x6dff75
mov dword [esp + 0x3a4], ecx
cmp eax, 6
je 0x6ea244
imul eax, eax
and eax, 3
cmp eax, 2
je 0x6ea244
xor eax, eax
mov edx, dword [esp + 0x1a4]
mov esi, dword [esp + 0x17c]
jmp 0x6ea1ac
mov edx, 0x2d
add dl, 0xfa
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x558], 0x70000003
mov dword [esp + 0x374], esi
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6ea180
mov dword [esp + 0x398], edi
mov dword [esp + 0x1a4], edx
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], ebx
jmp 0x6de8e7
mov eax, dword [esp + 0x4a8]
test eax, eax
je 0x6ec246
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jne 0x6ec23e
jmp 0x6ec246
mov dword [esp + 0x3d8], ebx
mov esi, 2
mov byte [esp + 0x167], 0x46
mov dword [esp], 8
call fcn.00492770
mov dword [esp + 0x4a8], eax
test eax, eax
jne 0x6ea45f
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0x3dc], edi
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
jne 0x6ea358
jmp 0x6ea65a
mov byte [esp + 0x167], 0x57
mov dword [esp], 8
call fcn.00492770
mov dword [esp + 0x4a8], eax
test eax, eax
jne 0x6e7630
mov dword [esp + 0x16c], eax
jmp 0x6ea358
mov byte [esp + 0x167], 0x30
mov dword [esp], 8
call fcn.00492770
mov dword [esp + 0x4a8], eax
test eax, eax
jne 0x6ea647
mov edx, 0x13
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0x16c], eax
je 0x6e7645
cmp edx, 0xe
je 0x6e25a0
mov dword [esp + 0x558], 0x70000003
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov ecx, 0x15
mov esi, dword [esp + 0x29c]
mov eax, dword [esp + 0x3c0]
mov edx, dword [esp + 0x3d8]
mov dword [esp + 0x374], esi
mov dword [esp + 0x3d8], edx
mov dword [esp + 0x3c0], eax
cmp ecx, 6
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], edx
mov edx, ecx
mov dword [esp + 0x3b0], eax
je 0x6e5ae4
jmp 0x6de8f5
mov dword [esp + 0x16c], eax
mov dword [esp + 0x3dc], edi
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
jmp 0x6ea65a
cmp eax, 0xd
jne 0x6ea62d
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov eax, dword [esp + 0x3c0]
mov ecx, dword [esp + 0x3d8]
mov edx, dword [esp + 0x374]
jne 0x6e79cb
mov dword [esp + 0x394], esi
mov dword [esp + 0x368], edi
mov esi, edx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], ecx
jmp 0x6de8ee
mov dword [esp + 0x394], esi
mov dword [esp + 0x368], edi
mov esi, dword [esp + 0x374]
jmp 0x6de8d2
mov dword [esp + 0x16c], eax
jmp 0x6e7645
mov dword [esp + 0xbc], eax
cmp esi, 2
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x3e4]
mov edi, dword [esp + 0x3e8]
mov ebx, dword [esp + 0x3f0]
je 0x6e7645
imul esi, esi
and esi, 3
cmp esi, 3
mov esi, dword [esp + 0x3dc]
mov dword [esp + 0x398], esi
mov dword [esp + 0x388], ecx
mov dword [esp + 0x394], edi
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov dword [esp + 0x380], edx
mov dword [esp + 0x390], ebx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x3ac], eax
je 0x6e7645
movzx eax, byte [esp + 0x2e1]
cmp eax, 0x4a
je 0x6ea7fb
mov esi, 0x16
cmp eax, 0x4b
je 0x6ea883
mov ecx, 8
cmp eax, 0x6d
jne 0x6ea960
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov eax, 3
sub eax, ecx
xor eax, ecx
setne al
movzx eax, al
cmp ecx, eax
jne 0x6eaa09
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3e0], eax
mov edi, dword [esp + 0x324]
mov esi, dword [esp + 0x310]
mov ebx, dword [esp + 0x31c]
mov eax, dword [esp + 0x328]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3ec], eax
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x3dc], ecx
xor eax, eax
lea ecx, [ecx + ecx*2]
jmp 0x6dc84d
mov ecx, 3
mov byte [esp + 0x2e1], 0x25
mov eax, dword [esp + 0x36c]
mov dword [eax], 0
mov edx, dword [esp + 0xbc]
mov dword [eax + 0xc], edx
mov dword [edx], 0
lea eax, [edx + 4]
mov dword [esp + 0x178], eax
mov dword [edx + 4], 0
mov esi, dword [esp + 0x3d8]
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp esi, eax
mov dword [esp + 0x160], edx
jne 0x6e0048
cmp ecx, 3
je 0x6ec083
xor eax, eax
test al, al
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
je case.0x6ec675.3
jmp 0x6ec091
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
cmp esi, 0xb
je 0x6ec5d2
imul esi, esi
and esi, 3
cmp esi, 2
je 0x6ec5d2
mov esi, 2
mov byte [esp + 0x2e1], 0x6d
mov eax, dword [esp + 0x36c]
mov dword [eax], 0
mov ecx, dword [esp + 0xbc]
mov dword [eax + 0xc], ecx
mov dword [ecx], 0
lea eax, [ecx + 4]
mov dword [esp + 0x178], eax
mov dword [ecx + 4], 0
mov edx, dword [esp + 0x3d8]
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp edx, eax
mov dword [esp + 0x160], ecx
je 0x6ec091
cmp esi, 2
jne 0x6ebe36
mov eax, esi
not eax
and eax, 1
add eax, esi
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
jne 0x6e0048
jmp 0x6de8f5
mov ecx, 0xe
mov byte [esp + 0x2e1], 0x4b
mov eax, dword [esp + 0x36c]
mov dword [eax], 0
mov edx, dword [esp + 0xbc]
mov dword [eax + 0xc], edx
mov dword [edx], 0
lea eax, [edx + 4]
mov dword [esp + 0x178], eax
mov dword [edx + 4], 0
cmp dword [esp + 0x3d8], 0
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov dword [esp + 0x160], edx
je 0x6ec091
cmp ecx, 0xe
je 0x6e0048
xor eax, eax
test al, al
jne 0x6e0048
mov eax, dword [esp + 0x3b8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x150]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
mov ecx, dword [esp + 0x228]
mov ecx, dword [ecx + 0x10]
inc ecx
mov dword [eax + 0x20], ecx
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
jmp 0x6e2087
mov byte [esp + 0x2e1], 0x4a
mov eax, dword [esp + 0x36c]
mov dword [eax], 0
mov ecx, dword [esp + 0xbc]
mov dword [eax + 0xc], ecx
mov dword [ecx], 0
lea eax, [ecx + 4]
mov dword [esp + 0x178], eax
mov dword [ecx + 4], 0
cmp dword [esp + 0x3d8], 0
mov dword [esp + 0x160], ecx
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
jne 0x6e0048
jmp 0x6ec091
mov dword [esp + 0x374], ebx
mov dword [esp + 0x168], ecx
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov dword [esp + 0x17c], edi
mov dword [esp + 0x400], edi
mov edx, dword [esp + 0x378]
mov ecx, dword [esp + 0x3bc]
mov ebx, dword [esp + 0x3b0]
mov esi, ebx
mov edi, dword [esp + 0x358]
cmp edi, 0x10
jne 0x6eba45
mov eax, 3
sub eax, edi
xor eax, edi
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], eax
mov dword [esp + 0x3c4], edx
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x3c0], esi
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov edi, dword [esp + 0x400]
je 0x6de7a5
mov eax, 0x12
mov cl, byte [esp + 0xb3]
movzx ecx, cl
cmp ecx, 0x27
je 0x6eb6da
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3b0], esi
mov esi, ebx
mov edi, esi
mov esi, dword [esp + 0x3bc]
movzx eax, byte [esp + 0x2d5]
cmp eax, 0x12
je 0x6eae57
cmp eax, 0x19
je 0x6eafff
mov dword [esp + 0x3ac], 1
mov byte [esp + 0x2d5], 0x19
mov byte [esp + 0x20b], 0x4f
mov eax, dword [esp + 0x3b8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x300]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
cmp dword [eax + 0x10], 0x7469636f
je 0x6ebac1
cmp edx, 5
jne 0x6eb15b
mov ecx, 3
sub ecx, edx
xor ecx, edx
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
jne 0x6de8f5
jmp 0x6eb17e
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov eax, 0x12
movzx ecx, byte [esp + 0x20b]
cmp ecx, 0x34
je 0x6eb670
mov ebx, 0xb
cmp ecx, 0x4f
jne 0x6eb69f
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov ecx, dword [esp + 0x384]
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x320], eax
mov edi, dword [esp + 0xd8]
cmp ebx, 0xb
jne 0x6eb56d
mov dword [esp + 0x378], edx
mov dword [esp + 0x3f4], ecx
xor ecx, ecx
mov edx, 0xa4
lea eax, [edx - 0x96]
mov dword [esp + 0x3ac], eax
xor edx, eax
mov ebx, dword [esp + 0x2f0]
mov eax, dword [esp + 0x198]
jmp 0x6eb31e
mov al, dl
xor al, 0xbc
mov byte [esp + 0x20b], al
cmp esi, 2
adc ecx, 0
mov dword [esp + 0x558], 0x7000002f
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x1f0]
mov esi, dword [esp + 0x1ec]
mov dword [esp + 0x244], esi
mov esi, dword [esp + 0x1f4]
mov dword [esp + 0x240], esi
mov esi, dword [esp + 0x1f8]
mov dword [esp + 0x23c], esi
mov esi, dword [esp + 0x210]
mov dword [esp + 0x238], esi
mov esi, dword [esp + 0x214]
mov dword [esp + 0x234], esi
mov esi, dword [esp + 0x1fc]
mov dword [esp + 0x230], esi
mov esi, edi
mov dword [esp + 0x22c], esi
test ecx, ecx
jne 0x6eb333
mov esi, ecx
imul esi, esi
and esi, 3
cmp esi, 1
jbe 0x6eb290
mov dword [esp + 0x198], eax
mov dword [esp + 0xd8], edi
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x2d0]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x328]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x2e4]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x304]
mov dword [esp + 0x3e8], ecx
mov edx, dword [esp + 0x308]
mov ecx, dword [esp + 0x2c0]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x378]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3bc]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x320]
mov dword [esp + 0x400], ecx
mov esi, dword [esp + 0x31c]
mov edi, dword [esp + 0x324]
mov dword [esp + 0x3f4], edx
xor ecx, ecx
mov eax, dword [esp + 0x3ac]
cmp eax, 0xe
jne 0x6eb587
mov edx, eax
not edx
and edx, 1
add edx, eax
mov edx, dword [esp + 0x310]
je 0x6eb63d
mov dword [esp + 0x324], edi
mov dword [esp + 0x31c], esi
mov dword [esp + 0x2f0], ebx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
jmp 0x6d9a82
mov dword [esp + 0x3f4], ecx
mov dword [esp + 0xd8], edi
mov ebx, dword [esp + 0x320]
jmp 0x6ed45f
mov edx, dword [esp + 0x310]
jmp 0x6eb63d
mov ebx, 0x25
add bl, 0x42
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
adc ecx, 0
mov eax, dword [esp + 0x3dc]
lea eax, [eax + eax*2]
mov edx, dword [esp + 0x298]
mov eax, dword [edx + eax*8 + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov edi, dword [esp + 0x3cc]
mov edx, dword [esp + 0x3d4]
mov esi, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x360]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3ec], eax
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
cmp ecx, eax
jb 0x6eb5a0
mov dword [esp + 0x2f0], ebx
mov dword [esp + 0x3b0], edi
mov dword [esp + 0x3bc], edx
mov edx, esi
jmp case.0x6d9d53.35
mov dword [esp + 0x3c4], edx
mov ecx, dword [esp + 0x3bc]
mov dword [esp + 0x3d8], ecx
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 0x3c0], ecx
mov esi, dword [esp + 0x224]
jmp 0x6ebf24
mov byte [esp + 0x20b], 0x4f
mov dword [esp + 0x558], 0x7000002f
mov dword [esp + 0x3c4], edx
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3c0], eax
jmp 0x6dcc03
cmp eax, 0xd
mov edi, dword [esp + 0x33c]
mov esi, dword [esp + 0x2e4]
mov ebx, dword [esp + 0x328]
jne 0x6eb741
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x6eb741
mov dword [esp + 0x3f8], edx
xor esi, esi
mov eax, dword [esp + 0x300]
lea edi, [eax + eax*2]
mov ecx, dword [esp + 0x37c]
mov edx, dword [esp + 0x370]
jmp 0x6e442a
mov eax, 7
mov byte [esp + 0xb3], 0x63
mov dword [esp + 0x558], 0x70000003
mov ecx, dword [esp + 0x2bc]
cmp eax, 7
je 0x6eb9e2
imul eax, eax
and eax, 3
cmp eax, 3
je 0x6eb9e2
mov dword [esp + 0x3f8], edx
mov dword [esp + 0x224], ecx
xor eax, eax
mov ecx, 0xec
lea edx, [ecx - 0xea]
mov dword [esp + 0x3f4], edx
xor ecx, edx
jmp 0x6eb8ac
mov dl, cl
xor dl, 0xc1
mov byte [esp + 0x26f], dl
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
adc eax, 0
mov ebx, dword [esp + 0x280]
mov edx, dword [ebx]
mov esi, dword [esp + 0x27c]
mov dword [edx + 4], esi
mov edx, dword [ebx]
mov esi, dword [edx]
mov edx, dword [edx + 4]
shl esi, 4
mov edi, dword [esp + 0x260]
mov dword [edx + esi], edi
mov edi, dword [esp + 0x264]
mov word [edx + esi + 4], di
mov dword [edx + esi + 8], 0
mov edi, dword [esp + 0x20c]
mov dword [edx + esi + 0xc], edi
mov edx, dword [ebx]
mov edi, dword [edx]
mov ebx, edi
or ebx, 2
mov esi, edi
xor esi, 2
add esi, ebx
setne bl
movzx esi, bl
add esi, edi
mov dword [edx], esi
mov dword [esp + 0x558], 0
mov edx, dword [esp + 0x404]
mov dword [esp + 0x2d0], edx
mov edi, dword [esp + 0x400]
mov edx, dword [esp + 0x3c0]
mov dword [esp + 0x324], edx
mov edx, dword [esp + 0x3d8]
mov dword [esp + 0x310], edx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x31c], edx
mov ebx, dword [esp + 0x3b4]
mov esi, dword [esp + 0x338]
mov edx, dword [esp + 0x360]
mov dword [esp + 0x304], edx
mov edx, dword [esp + 0x340]
mov dword [esp + 0x308], edx
mov edx, dword [esp + 0x364]
mov dword [esp + 0x2c0], edx
mov edx, eax
not edx
and edx, 1
add edx, eax
setne dl
movzx edx, dl
cmp eax, edx
jb 0x6eb7b0
mov dword [esp + 0x328], ebx
mov dword [esp + 0x2e4], esi
mov dword [esp + 0x33c], edi
mov ecx, dword [esp + 0x300]
mov edx, dword [esp + 0x2d0]
mov edi, dword [esp + 0x398]
mov eax, dword [esp + 0x388]
mov ebx, dword [esp + 0x3ac]
mov esi, dword [esp + 0x3f4]
mov dword [esp + 0x388], eax
mov dword [esp + 0x398], edi
mov dword [esp + 0x2d0], edx
mov dword [esp + 0x300], ecx
cmp esi, 2
mov dword [esp + 0x368], ebx
mov dword [esp + 0x3e0], edx
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x324]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x310]
mov dword [esp + 0x3bc], eax
mov edx, dword [esp + 0x31c]
mov eax, dword [esp + 0x328]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3dc], ecx
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
jne 0x6ebca5
jmp case.0x6d9d53.35
mov dword [esp + 0x328], ebx
mov dword [esp + 0x2e4], esi
mov dword [esp + 0x33c], edi
mov dword [esp + 0x3f8], edx
mov dword [esp + 0x224], ecx
jmp 0x6de8bd
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3b4], eax
mov dword [esp + 0x3c4], edx
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x3c0], esi
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
jmp 0x6de7a5
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 0x3c0], ecx
mov edx, ebx
mov dword [esp + 0x3d8], edx
mov edi, esi
mov esi, eax
mov dword [esp + 0x3c4], esi
mov ebx, dword [esp + 0x3ac]
mov eax, ebx
and eax, 1
xor eax, ebx
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp ebx, eax
mov dword [esp + 0x400], edi
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x324]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x310]
mov dword [esp + 0x3bc], eax
mov edi, dword [esp + 0x31c]
mov eax, dword [esp + 0x328]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3c8], esi
mov dword [esp + 0x3d4], edx
mov edx, edi
mov dword [esp + 0x3cc], ecx
je case.0x6d9d53.35
movzx ecx, byte [esp + 0x2ee]
cmp ecx, 0x60
je 0x6e35b9
mov eax, 0x19
cmp ecx, 0x7f
jne 0x6ebd04
mov byte [esp + 0x2ee], 0x7f
mov eax, dword [esp + 0x4ac]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0xc]
add eax, 0xc
mov dword [esp + 0x18c], eax
test ecx, ecx
je 0x6ebebc
mov eax, ecx
mov dword [esp + 0x1b0], ecx
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x6e37c5
jmp 0x6ebec3
mov edi, dword [esp + 0x3d8]
mov ebx, dword [esp + 0x374]
cmp eax, 0xc
mov edx, dword [esp + 0x3c0]
jne 0x6ebd47
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x6ebd47
mov esi, ebx
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], edi
mov dword [esp + 0x3b0], edx
mov edx, eax
jmp 0x6de8f5
mov eax, 2
mov byte [esp + 0x2ee], 0x60
mov ecx, dword [esp + 0x4ac]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx + 0xc]
add ecx, 0xc
mov dword [esp + 0x18c], ecx
test edx, edx
je 0x6ebd90
mov dword [esp + 0x374], ebx
mov dword [esp + 0x3d8], edi
mov dword [esp + 0x1b0], edx
xor ecx, ecx
test cl, cl
je 0x6e37c5
jmp 0x6ebda5
mov dword [esp + 0x374], ebx
mov dword [esp + 0x3d8], edi
mov dword [esp + 0x1b0], edx
cmp eax, 2
je 0x6ebec3
mov esi, 3
mov eax, dword [esp + 0x538]
mov ecx, dword [esp + 0x53c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 8
call fcn.007855d0
mov dword [esp + 0x558], eax
test eax, eax
je 0x6ebe42
mov eax, 0x11
xor ecx, ecx
test cl, cl
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x3ac], ecx
mov edi, dword [esp + 0x2bc]
mov ecx, dword [esp + 0x29c]
mov dword [esp + 0x374], ecx
jne 0x6ebe65
cmp eax, 7
je 0x6dc5e3
mov esi, dword [esp + 0x374]
jmp 0x6de8d2
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov edi, dword [esp + 0x2bc]
mov eax, dword [esp + 0x29c]
mov dword [esp + 0x374], eax
cmp esi, 3
jne 0x6e641d
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov dword [esp + 0x2bc], edi
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
jne 0x6e717b
jmp 0x6e641d
mov dword [esp + 0x1b0], ecx
mov esi, 5
movzx eax, byte [esp + 0x2ed]
cmp eax, 0x3c
jne 0x6ebf43
mov ebx, 0xb
mov byte [esp + 0x2ed], 5
mov dword [esp + 4], 1
mov dword [esp], 8
call fcn.00493840
mov edx, eax
mov eax, dword [esp + 0x18c]
mov dword [eax], edx
test edx, edx
mov esi, dword [esp + 0x224]
jne 0x6ebf6b
mov eax, 0xc
mov ecx, edx
or ecx, 2
mov dword [esp + 0x1b0], edx
xor edx, 2
add edx, ecx
je 0x6ebf72
mov dword [esp + 0x224], esi
cmp eax, 0xc
je 0x6e369b
xor eax, eax
test al, al
je 0x6dcbf0
jmp 0x6e369b
mov edi, dword [esp + 0x400]
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x398]
mov ebx, dword [esp + 0x384]
mov edx, dword [esp + 0x390]
jmp 0x6ec1d9
mov dword [esp + 0x1b0], edx
mov dword [esp + 0x224], esi
cmp ebx, 0xb
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
jne 0x6de8bd
jmp 0x6e37c5
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov ecx, 0x11
mov eax, dword [esp + 0x3b8]
mov eax, dword [eax]
mov dword [esp + 0x174], eax
mov edx, dword [esp + 0x368]
mov eax, dword [esp + 0x2bc]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x170], eax
mov esi, dword [esp + 0x3c0]
cmp ecx, 8
je 0x6e1a01
mov dword [esp + 0x3ac], edx
mov dword [esp + 0x3c0], esi
mov eax, dword [esp + 0x378]
mov dword [esp + 0x2bc], eax
jmp 0x6e1a2c
mov esi, 0xa
add esi, 6
cmp eax, 2
adc ebx, 0
mov eax, dword [esp + 0x330]
mov dword [esp], eax
call fcn.00689a80
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 2
sbb ecx, ecx
and ecx, 1
cmp ebx, ecx
jb 0x6ec100
mov ecx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov ebx, dword [esp + 0x3f4]
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov edx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov dword [esp + 0x3a8], edi
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x378]
mov edi, dword [esp + 0x3bc]
mov dword [esp + 0x3d8], edi
mov edi, dword [esp + 0x3b0]
mov dword [esp + 0x3c0], edi
mov edi, dword [esp + 0x320]
cmp esi, 5
je 0x6e3642
imul esi, esi
and esi, 3
cmp esi, 3
je 0x6e3642
mov esi, dword [esp + 0x368]
mov dword [esp + 0x3ac], esi
mov dword [esp + 0x398], ecx
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x390], edx
mov dword [esp + 0x384], ebx
mov ecx, dword [esp + 0x3a4]
mov esi, edi
mov edi, dword [esp + 0x3a0]
mov edx, dword [esp + 0x39c]
mov eax, dword [esp + 0x3a8]
jmp 0x6e8ecf
mov dword [esp], eax
call fcn.006268f0
mov dword [esp], 0
call fcn.004936c0
mov eax, dword [esp + 0x2a4]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x558]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 0x18
add eax, 3
mov bh, al
xor bh, 0x3c
inc ecx
mov dword [esp + 0x558], 0x70000003
mov esi, dword [esp + 0x2bc]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
cmp ecx, edx
jb 0x6ec270
mov dword [esp + 0x224], esi
mov byte [esp + 0xb3], bh
mov byte [esp + 0x2f7], bl
mov esi, dword [esp + 0x268]
jmp 0x6ecfc5
xor ecx, ecx
cmp eax, 4
mov esi, dword [esp + 0x278]
jne 0x6e0171
mov bh, byte [esp + 0xb3]
mov edi, dword [esp + 0x1b8]
mov esi, dword [esp + 0x224]
jmp 0x6ec290
cmp eax, 5
je 0x6ec2ee
mov dword [esp + 0x37c], 0
mov eax, dword [esp + 0x404]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3fc], eax
jmp 0x6ed45f
mov dword [esp + 0x3b0], edi
mov dword [esp + 0x3bc], ecx
mov eax, 4
mov cl, byte [esp + 0x2d7]
movzx ecx, cl
cmp ecx, 6
je 0x6dedb1
mov dword [esp + 0x268], esi
mov dword [esp + 0x2e8], edx
mov edi, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x39c], ecx
mov dword [esp + 0x3a8], ebx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x378]
mov dword [esp + 0x3c4], ecx
mov esi, dword [esp + 0x3bc]
mov edx, dword [esp + 0x3b0]
mov ebx, dword [esp + 0x320]
cmp eax, 2
je 0x6ec54a
mov eax, dword [esp + 0x554]
mov ecx, dword [esp + 0x3b8]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 + 0x10]
mov esi, dword [ecx + eax*8 + 0x14]
mov eax, dword [ecx + eax*8 + 4]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0xc], 5
mov dword [esp + 8], 2
mov dword [esp + 4], 0x19
call fcn.007855d0
mov dword [esp + 0x558], eax
test eax, eax
mov eax, dword [esp + 0x34c]
je 0x6e02ff
xor esi, esi
mov ebx, 0xf5
xor ebx, 0xf9
mov edi, dword [esp + 0x36c]
mov eax, dword [esp + 0x37c]
mov ecx, dword [esp + 0x370]
mov edx, dword [esp + 0x3fc]
jmp 0x6e24b7
mov byte [esp + 0x1e2], dl
cmp ecx, 0x38
jne 0x6ec8d5
mov eax, dword [esp + 0x548]
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x54c]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x45c]
mov dword [esp + 0x148], eax
mov eax, dword [eax]
mov dword [esp + 0xc8], eax
mov ecx, dword [eax]
dec ecx
cmp ecx, 3
mov dword [esp + 0x2b4], 0x70000006
ja case.default.0x6ec675
mov dword [esp + 0x328], ebx
mov dword [esp + 0x33c], edi
mov byte [esp + 0x2ce], 0x38
mov eax, 1
jmp dword [ecx*4 + 0x7ec15c]
mov eax, 1
mov ecx, dword [esp + 0xc8]
mov ecx, dword [ecx + 0x28]
mov edx, dword [ecx + 4]
mov dword [esp + 0x2b4], 0x70000029
mov esi, dword [esp + 0x21c]
cmp dword [ecx], esi
sbb edx, dword [esp + 0x218]
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x388]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x394]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x384]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x390]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x38c]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x368], ecx
jb case.default.0x6df154
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x324]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x310]
mov dword [esp + 0x3bc], eax
mov edx, dword [esp + 0x31c]
mov eax, dword [esp + 0x328]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
jne case.0x6d9d53.35
jmp case.0x6ec944.1
mov eax, dword [esp + 0x548]
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x54c]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x45c]
mov dword [esp + 0x148], eax
mov eax, dword [eax]
mov dword [esp + 0xc8], eax
mov esi, dword [eax]
dec esi
cmp esi, 3
mov dword [esp + 0x2b4], 0x70000006
ja case.default.0x6ec944
mov dword [esp + 0x328], ebx
mov dword [esp + 0x33c], edi
mov byte [esp + 0x2ce], 0x29
mov ecx, 0x11
mov eax, 3
mov edx, 0xf
jmp dword [esi*4 + 0x7ec16c]
movzx eax, byte [esp + 0x2f4]
cmp eax, 0x2e
mov esi, dword [esp + 0x3c0]
je 0x6df598
mov eax, 9
mov bl, 0x2e
mov dword [esp + 0x558], 0
mov ecx, dword [esp + 0x148]
lea edx, [ecx + 8]
mov dword [esp + 0x11c], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x6ec99e
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
jne 0x6df98e
mov byte [esp + 0x2f4], 0x2e
cmp eax, 3
je case.0x6ec675.2
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x6df5d6
jmp case.0x6ec675.2
mov dword [esp + 0x328], ebx
mov dword [esp + 0x33c], edi
mov byte [esp + 0x2ce], 0x38
jmp case.default.0x6df154
mov dword [esp + 0x328], ebx
mov dword [esp + 0x33c], edi
mov byte [esp + 0x2ce], 0x29
jmp case.default.0x6df154
mov eax, 0x10
mov cl, byte [esp + 0x2ce]
movzx ecx, cl
cmp ecx, 0x29
mov esi, dword [esp + 0x348]
jne 0x6ec600
mov dword [esp + 0x33c], edi
mov byte [esp + 0x1e2], dl
mov ecx, dword [esp + 0x36c]
mov edx, dword [esp + 0x330]
jmp 0x6e8f5b
mov eax, 0xe
movzx edx, byte [esp + 0x196]
cmp edx, 2
je 0x6ecac3
cmp edx, 0x17
je 0x6ecc24
mov eax, 4
mov ecx, 0xb
cmp edx, 0x79
mov dl, byte [esp + 0x1e2]
mov esi, dword [esp + 0x33c]
mov edi, dword [esp + 0x328]
mov ebx, dword [esp + 0x3ac]
je 0x6ecce2
cmp eax, 4
je 0x6ecc9d
imul eax, eax
and eax, 3
cmp eax, 3
je 0x6ecc9d
mov dword [esp + 0x3ac], ebx
mov dword [esp + 0x328], edi
mov dword [esp + 0x33c], esi
mov byte [esp + 0x1e2], dl
mov edi, dword [esp + 0x2bc]
jmp 0x6e641d
cmp eax, 7
jne 0x6ecbfb
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x6ecbfb
mov dword [esp + 0x558], 0x70000003
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov ebx, dword [esp + 0x400]
mov al, 0x5b
mov dword [esp + 0x30c], eax
mov dword [esp + 0x37c], 0
mov eax, dword [esp + 0x274]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x270]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x3fc], eax
jmp 0x6ed45f
mov byte [esp + 0x196], 2
test byte [esp + 0x1e2], 1
mov eax, dword [esp + 0x284]
mov dword [esp + 0x354], eax
jne 0x6ece41
jmp 0x6ece01
mov ecx, 0xf
mov eax, 0xd
mov byte [esp + 0x196], 0x79
mov dl, byte [esp + 0x1e2]
test dl, 1
mov esi, dword [esp + 0x284]
mov dword [esp + 0x354], esi
mov edi, dword [esp + 0x33c]
mov ebx, dword [esp + 0x328]
mov esi, dword [esp + 0x3a8]
je 0x6ec338
mov dword [esp + 0x3a8], esi
cmp ecx, 9
je 0x6ec9f9
xor eax, eax
test al, al
jne 0x6ec9f9
mov dword [esp + 0x328], ebx
mov dword [esp + 0x33c], edi
mov byte [esp + 0x1e2], dl
jmp 0x6ece41
mov dword [esp + 0x3ac], ebx
mov dword [esp + 0x328], edi
mov dword [esp + 0x33c], esi
mov eax, 7
mov byte [esp + 0x196], 0x42
test dl, 1
mov byte [esp + 0x1e2], dl
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x354], ecx
je 0x6e6402
jmp 0x6ece41
cmp ecx, 0xb
je 0x6ecd9f
xor eax, eax
test al, al
jne 0x6ecd9f
mov dword [esp + 0x3ac], ebx
mov dword [esp + 0x328], edi
mov dword [esp + 0x33c], esi
mov byte [esp + 0x1e2], dl
mov eax, 0xa
mov byte [esp + 0x2f5], 0x5f
mov ecx, dword [esp + 0x354]
mov esi, ecx
and ecx, 1
xor ecx, esi
cmp ecx, 0xffffffff
setne cl
movzx edx, cl
add edx, esi
mov ecx, dword [esp + 0x104]
mov ecx, dword [ecx]
mov dword [esp + 0x1d8], ecx
cmp edx, ecx
jae 0x6ed2c2
mov ecx, 0x13
mov esi, edx
mov dword [esp + 0x284], esi
imul edx, edx
and edx, 3
cmp edx, 2
mov dword [esp + 0x350], esi
jae 0x6ed2d0
cmp ecx, 0xb
jne 0x6ed305
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
mov eax, dword [esp + 0x284]
mov dword [esp + 0x350], eax
jne 0x6ecfa3
jmp 0x6eca39
mov dword [esp + 0x3ac], ebx
mov dword [esp + 0x328], edi
mov dword [esp + 0x33c], esi
mov esi, 0x16
mov byte [esp + 0x196], 0x17
test dl, 1
mov byte [esp + 0x1e2], dl
mov eax, dword [esp + 0x284]
mov dword [esp + 0x354], eax
je 0x6ece01
cmp esi, 7
jne 0x6ece41
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
jne 0x6e8621
jmp 0x6ece41
mov eax, 0x11
mov bl, byte [esp + 0x2f7]
movzx ecx, bl
cmp ecx, 0x6b
jne 0x6ec2c5
mov byte [esp + 0x2f7], 0x6b
mov eax, dword [esp + 0xf8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x278]
mov edx, dword [esp + 0x354]
cmp ecx, dword [eax + edx*4]
je 0x6e01a0
mov edx, 0x11
movzx eax, byte [esp + 0x2f5]
cmp eax, 0x3d
je case.0x6df154.4
mov ecx, 0xe
cmp eax, 0x5f
jne 0x6ece9c
mov dl, byte [esp + 0x1e2]
mov esi, dword [esp + 0x33c]
mov edi, dword [esp + 0x328]
mov ebx, dword [esp + 0x3ac]
jmp 0x6ecce2
cmp edx, 6
jne 0x6e0205
mov eax, edx
or eax, 2
xor edx, 2
add edx, eax
jne 0x6df15b
jmp 0x6e0205
mov eax, 0xf
mov byte [esp + 0x2f5], 0x3d
mov ecx, dword [esp + 0x354]
mov esi, ecx
not ecx
and ecx, 1
add ecx, esi
setne cl
movzx edx, cl
add edx, esi
mov ecx, dword [esp + 0x104]
mov ecx, dword [ecx]
cmp edx, ecx
mov ebx, dword [esp + 0x3ac]
jae 0x6ecf70
mov dword [esp + 0x1d8], ecx
mov ecx, 0x13
mov esi, edx
mov dword [esp + 0x284], esi
mov edx, 3
sub edx, esi
xor edx, esi
mov dword [esp + 0x350], esi
mov edx, dword [esp + 0x394]
je 0x6ecf8c
mov dword [esp + 0x394], edx
cmp ecx, 3
jne 0x6ecf64
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
mov dword [esp + 0x368], ebx
mov dword [esp + 0x3ac], ebx
mov esi, dword [esp + 0x374]
mov edx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
jne 0x6de8f5
jmp 0x6eca39
mov dword [esp + 0x3ac], ebx
jmp 0x6eca39
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x350], edx
mov dword [esp + 0x284], edx
mov edx, dword [esp + 0x394]
cmp eax, 0xf
jne 0x6ed24a
mov dword [esp + 0x3ac], ebx
mov dword [esp + 0x394], edx
mov eax, 0xf
xor edi, edi
mov ecx, dword [esp + 0x350]
cmp ecx, dword [esp + 0x1d8]
mov esi, dword [esp + 0x3b4]
jne 0x6e02aa
mov dword [esp + 0x268], esi
mov dword [esp + 0x1b8], edi
cmp eax, 0xf
jne 0x6de8bd
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x6de8bd
mov ebx, dword [esp + 0x2e8]
movzx ecx, bl
cmp ecx, 0x13
je 0x6ed25e
cmp ecx, 0x5c
je 0x6e0275
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x358], 0xf
mov dword [esp + 0x320], ebx
mov edi, dword [esp + 0x3d0]
xor ebx, ebx
mov ecx, dword [esp + 0x358]
cmp ecx, 0xf
mov edx, ecx
jne 0x6ec11d
mov ecx, 3
sub ecx, edx
xor ecx, edx
je 0x6ec11d
mov eax, 0x11
mov dl, 0x13
cmp dword [esp + 0x278], 0xffcb
mov esi, 1
cmove esi, dword [esp + 0x3b4]
setne cl
movzx ecx, cl
mov dword [esp + 0x1b8], ecx
mov ebx, edi
mov ecx, dword [esp + 0x3bc]
mov edi, dword [esp + 0x3b0]
cmp eax, 0xd
je 0x6ec458
xor eax, eax
test al, al
jne 0x6ec458
mov dword [esp + 0x2e8], edx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov dword [esp + 0x3a8], ebx
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x3c0], edi
mov eax, dword [esp + 0x320]
mov dword [esp + 0x400], eax
mov edi, dword [esp + 0x1b8]
jmp 0x6e02aa
mov eax, dword [esp + 0x4a8]
test eax, eax
jne 0x6ec23e
jmp 0x6ec246
xor eax, eax
mov esi, dword [esp + 0x278]
mov edi, dword [esp + 0x1b8]
jmp 0x6ed299
mov ebx, 0x11
add bl, 0x4b
inc eax
cmp esi, 0xffcb
mov ecx, 1
cmove ecx, dword [esp + 0x3b4]
mov dword [esp + 0x268], ecx
setne cl
movzx edi, cl
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6ed270
mov dword [esp + 0x2e8], ebx
mov esi, dword [esp + 0x268]
jmp 0x6e02aa
mov dword [esp + 0x350], edx
mov dword [esp + 0x284], edx
cmp eax, 3
jne 0x6ecfa3
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x6ecfa3
xor eax, eax
mov edx, 0x2b
add edx, 0xffffffd8
mov edi, dword [esp + 0xe4]
mov ebx, dword [esp + 0x374]
jmp 0x6dd103
mov eax, dword [esp + 0x284]
mov dword [esp + 0x350], eax
jmp 0x6eca39
mov esi, 0x18
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x558], 0x700002bb
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x314], edi
mov eax, dword [esp + 0x400]
mov dword [esp + 0x320], eax
mov edi, eax
xor ecx, ecx
mov edx, dword [esp + 0x404]
mov eax, dword [esp + 0x348]
mov dword [esp + 0x3fc], eax
mov ebx, dword [esp + 0x3d8]
cmp esi, 8
je 0x6ed989
mov dword [esp + 0x3f8], edi
mov dword [esp + 0x370], edx
mov dword [esp + 0x37c], ecx
mov dword [esp + 0x348], eax
xor eax, eax
test al, al
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], ebx
mov dword [esp + 0x3d8], ebx
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3b0], eax
mov ebx, dword [esp + 0x320]
jne 0x6e1c32
mov dword [esp + 0x378], edx
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x37c]
test al, 1
mov dword [esp + 0x400], ebx
mov dword [esp + 0x3ac], 5
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0x374], edx
mov ecx, dword [esp + 0x370]
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x3d0], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3f0], eax
mov esi, dword [esp + 0x338]
mov dword [esp + 0x3e4], esi
mov eax, dword [esp + 0x360]
mov dword [esp + 0x3e8], eax
mov edi, dword [esp + 0x340]
mov dword [esp + 0x3f4], edi
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3ec], eax
mov ebx, dword [esp + 0x300]
mov dword [esp + 0x3dc], ebx
mov ebx, dword [esp + 0x378]
mov dword [esp + 0x3c8], ebx
mov ebx, dword [esp + 0x3bc]
mov dword [esp + 0x3d4], ebx
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3cc], eax
mov dword [esp + 0x2d0], ecx
mov dword [esp + 0x33c], edx
mov edx, dword [esp + 0x378]
mov dword [esp + 0x324], eax
mov dword [esp + 0x310], ebx
mov dword [esp + 0x31c], edx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x328], ecx
mov dword [esp + 0x2e4], esi
mov ecx, dword [esp + 0x360]
mov dword [esp + 0x304], ecx
mov dword [esp + 0x308], edi
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x2c0], ecx
mov dword [esp + 0x3c4], edx
mov dword [esp + 0x3d8], ebx
mov dword [esp + 0x3c0], eax
mov edi, dword [esp + 0x294]
je 0x6ed87c
mov eax, dword [esp + 0x318]
movzx eax, al
cmp eax, 0xe
je 0x6e44f8
mov edi, edx
mov ebx, 0xd
mov al, 0x62
mov dword [esp + 0x318], eax
mov eax, 3
mov esi, dword [esp + 0x3dc]
sub eax, esi
xor eax, esi
setne al
movzx edx, al
add edx, esi
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 8]
jae 0x6ed9b8
mov eax, edx
or eax, 2
mov ecx, edx
mov dword [esp + 0x398], edx
xor ecx, 2
add ecx, eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x300], esi
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x310], eax
mov dword [esp + 0x378], edi
mov dword [esp + 0x31c], edi
mov esi, edi
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x328], ecx
mov ebx, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], ebx
mov edi, dword [esp + 0x3e8]
mov dword [esp + 0x304], edi
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x308], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x388], eax
mov dword [esp + 0x394], edi
mov dword [esp + 0x384], edx
mov dword [esp + 0x380], ebx
mov dword [esp + 0x390], ecx
mov dword [esp + 0x38c], esi
mov ecx, dword [esp + 0x3bc]
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 0x39c], ecx
mov esi, dword [esp + 0x3d0]
mov dword [esp + 0x3a8], esi
mov esi, dword [esp + 0x3e0]
mov dword [esp + 0x3a4], esi
mov dword [esp + 0x248], eax
mov dword [esp + 0x198], edi
mov dword [esp + 0x244], edx
mov edx, dword [esp + 0x378]
mov dword [esp + 0x240], ebx
mov edi, dword [esp + 0x3bc]
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x23c], eax
mov eax, edx
mov dword [esp + 0x238], eax
mov eax, edi
mov dword [esp + 0x234], eax
mov eax, 4
mov ebx, dword [esp + 0x3d0]
mov dword [esp + 0x230], ebx
mov ebx, 0xd
mov dword [esp + 0x22c], esi
je 0x6edafc
mov esi, ecx
mov ecx, edi
cmp eax, 4
jne 0x6edb1c
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3c8], edx
mov dword [esp + 0x3d4], ecx
mov dword [esp + 0x3cc], esi
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x358], eax
jb 0x6d9bcb
jmp 0x6dda33
cmp dword [esp + 0x3ac], 5
mov ecx, dword [esp + 0x3c0]
mov edx, dword [esp + 0x3d8]
mov esi, dword [esp + 0x374]
je 0x6ed966
xor eax, eax
test al, al
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x394]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x380]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x390]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x294], edi
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], edx
mov edx, eax
mov dword [esp + 0x3b0], ecx
je 0x6e356f
jmp 0x6de8f5
mov dword [esp + 0x294], edi
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], edx
mov edx, eax
mov dword [esp + 0x3b0], ecx
jmp 0x6de8f5
mov dword [esp + 0x3d8], ebx
mov dword [esp + 0x3f8], edi
mov dword [esp + 0x370], edx
mov dword [esp + 0x37c], ecx
mov dword [esp + 0x348], eax
mov ebx, dword [esp + 0x320]
jmp 0x6e1c32
mov dword [esp + 0x398], edx
mov dword [esp + 0x300], esi
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x324], eax
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x388], eax
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x304], eax
mov dword [esp + 0x394], eax
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x308], eax
mov dword [esp + 0x384], eax
mov dword [esp + 0x244], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x380], eax
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x328], eax
mov dword [esp + 0x390], eax
mov dword [esp + 0x23c], eax
mov dword [esp + 0x31c], edi
mov dword [esp + 0x38c], edi
mov eax, edi
mov dword [esp + 0x238], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x310], eax
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x3a8], eax
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x22c], eax
cmp ebx, 0xc
je 0x6edb52
imul ebx, ebx
and ebx, 3
cmp ebx, 3
mov edi, dword [esp + 0x314]
jne 0x6d9a82
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3c8], edx
mov dword [esp + 0x3d4], ecx
mov dword [esp + 0x3cc], esi
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x358], eax
jmp 0x6dda33
mov edi, dword [esp + 0x314]
jmp 0x6ed318