Function at 0x764f60
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Encrypt data using speck
Parse credit card information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x570
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov ebx, 0x11871493
cmp eax, 0x19
je 0x7655e8
cmp eax, 0x1a
je 0x765687
cmp eax, 0x1b
jne 0x7656e1
mov esi, dword [ebp + 0x20]
mov dword [esp + 0x468], 0
mov dword [esp + 0x464], 0
mov dword [esp + 0x460], 0
mov dword [esp + 0x45c], 0
mov dword [esp + 0x458], 0
mov dword [esp + 0x43c], 0
mov dword [esp + 0x438], 0
mov dword [esp + 0x434], 0
mov dword [esp + 0x430], 0
mov dword [esp + 0x42c], 0
mov dword [esp + 0x428], 0
mov dword [esp + 0x424], 0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x440], xmm0
mov dword [esp + 0x450], 0
lea eax, [esp + 0x428]
mov dword [esp + 8], eax
lea eax, [esp + 0x42c]
mov dword [esp + 4], eax
lea eax, [esp + 0x430]
mov dword [esp], eax
call fcn.00690540
mov dword [esp + 0x468], eax
mov dword [esp + 0x3b0], 0
cmp dword [esi + 8], 0
je 0x7663df
mov al, 1
mov byte [esp + 0x3cc], cl
mov byte [esp + 0x3b8], cl
mov byte [esp + 0x3bc], cl
mov byte [esp + 0x3d4], cl
mov byte [esp + 0x3e8], cl
mov byte [esp + 0x3e4], cl
lea ecx, [esp + 0x440]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x3f4], ecx
mov dword [esp + 0x3c4], ecx
xor esi, esi
jmp 0x76513b
mov byte [esp + 0x3e4], 5
mov byte [esp + 0x3e8], 0x17
mov byte [esp + 0x3d4], 1
mov dh, 0x33
mov ah, 0x39
mov bl, 0x48
mov dword [esp + 0x3c4], 0
mov bh, 0x28
mov dl, 2
mov ecx, esi
not ecx
and ecx, 1
add ecx, esi
setne cl
movzx ecx, cl
add esi, ecx
mov ch, 0x1d
mov byte [esp + 0x3bc], 0x54
mov byte [esp + 0x3b8], 0x6a
mov cl, 0x4e
mov dword [esp + 0x3f4], 0xd
mov edi, dword [ebp + 0x20]
lea edi, [edi + 4]
mov byte [esp + 0x3cc], 0x44
test esi, esi
je 0x7650d0
test al, al
je 0x7650d0
mov byte [esp + 0x1bc], ch
mov byte [esp + 0x187], cl
mov byte [esp + 0x214], bh
mov dword [esp + 0x1c8], edi
mov byte [esp + 0x1e0], bl
mov byte [esp + 0x1b4], dh
mov byte [esp + 0x1cc], ah
mov byte [esp + 0x17c], dl
mov byte [esp + 0x230], al
mov byte [esp + 0x188], al
mov byte [esp + 0x294], al
mov byte [esp + 0x210], al
mov byte [esp + 0x354], al
mov byte [esp + 0x394], al
mov byte [esp + 0x3b4], al
mov byte [esp + 0x388], al
mov byte [esp + 0x3ac], al
mov byte [esp + 0x3a0], al
mov byte [esp + 0x368], al
mov byte [esp + 0x350], al
mov byte [esp + 0x38c], al
mov byte [esp + 0x1a4], al
mov dword [esp + 0x3b0], 0
mov dword [esp + 0x3a8], 0xffffffff
mov dword [esp + 0x398], eax
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x270], eax
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x320], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x278], eax
mov dword [esp + 0x2d4], eax
mov dword [esp + 0x330], eax
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], eax
mov dword [esp + 0x238], eax
mov dword [esp + 0x30c], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x410], eax
mov dword [esp + 0x40c], eax
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x400], eax
mov dword [esp + 0x404], eax
mov dword [esp + 0x408], eax
mov dword [esp + 0x258], eax
mov dword [esp + 0x254], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x24c], eax
mov dword [esp + 0x248], eax
mov dword [esp + 0x244], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x32c], eax
mov dword [esp + 0x22c], eax
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x260], eax
mov dword [esp + 0x300], eax
mov dword [esp + 0x2dc], eax
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x298], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x264], eax
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x280], eax
mov dword [esp + 0x228], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x234], eax
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x274], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x308], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x200], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x26c], eax
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x29c], eax
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x208], eax
mov dword [esp + 0x204], eax
mov dword [esp + 0x344], eax
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x268], eax
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x340], 0
mov dword [esp + 0x338], 0
mov dword [esp + 0x33c], 0xffffffff
mov dword [esp + 0x348], 0xffffffff
mov dword [esp + 0x364], 0
mov dword [esp + 0x218], 0
mov dword [esp + 0x36c], 0
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x380], eax
mov byte [esp + 0x328], cl
mov byte [esp + 0x227], cl
mov byte [esp + 0x190], cl
mov byte [esp + 0x220], cl
mov byte [esp + 0x1f0], cl
mov byte [esp + 0x1ac], cl
mov byte [esp + 0x194], cl
mov byte [esp + 0x370], cl
mov byte [esp + 0x1a0], cl
mov byte [esp + 0x360], cl
mov byte [esp + 0x374], cl
mov byte [esp + 0x378], cl
mov byte [esp + 0x384], cl
mov byte [esp + 0x314], cl
mov byte [esp + 0x21c], cl
mov byte [esp + 0x1dc], cl
mov byte [esp + 0x290], cl
mov byte [esp + 0x34c], cl
mov byte [esp + 0x1e8], cl
mov byte [esp + 0x2ec], cl
mov byte [esp + 0x284], cl
mov byte [esp + 0x318], cl
mov byte [esp + 0x25c], cl
mov byte [esp + 0x1c4], cl
mov byte [esp + 0x27c], cl
mov byte [esp + 0x358], cl
mov byte [esp + 0x35c], cl
mov byte [esp + 0x390], cl
mov byte [esp + 0x37c], cl
cmp dword [esp + 0x3f4], 0xd
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
je 0x77a82f
jmp 0x77e034
add bl, 0x76
mov dword [esp + 0x48c], 0
mov dword [esp + 0x484], 0
mov dword [esp + 0x480], 0
mov dword [esp + 0x47c], 0
mov dword [esp + 0x478], 0
mov dword [esp + 0x474], 0
mov dword [esp + 0x470], 0
mov dword [esp + 0x46c], 0
mov eax, dword [esi + 8]
test eax, eax
jne 0x765659
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x766ca6
mov al, bl
mov dword [esp + 0x3fc], ebx
xor al, 0x74
movzx eax, al
cmp eax, 0xa
jne 0x76681d
mov bh, 0x6f
mov dh, 0xe
mov bl, 0x12
mov dl, 0x1a
lea eax, [esi + 4]
mov dword [esp + 0x408], eax
jmp 0x766859
mov eax, dword [ebp + 0x14]
add ebx, 0xee78eb7b
mov ecx, dword [eax]
mov dword [esp + 0x3ec], ecx
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp ecx, eax
jne 0x765db6
mov dword [esp + 0x3fc], ebx
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x410], eax
mov dword [esp + 0x3f4], eax
mov byte [esp + 0x400], al
mov byte [esp + 0x404], al
jmp 0x7747c3
mov dword [esp + 0x568], 0
mov dword [esp + 0x564], 0
mov dword [esp + 0x560], 0
mov dword [esp + 0x55c], 0
mov dword [esp + 0x558], 0
mov dword [esp + 0x554], 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
mov dword [esp + 0x534], 0
mov dword [esp + 0x530], 0
mov dword [esp + 0x52c], 0
mov dword [esp + 0x528], 0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x510], xmm0
mov dword [esp + 0x50c], 0
mov dword [esp + 0x508], 0
cmp dword [esi + 8], 0
jne 0x765e0a
mov dword [esp + 0x100], eax
mov dword [esp + 0x374], eax
mov dword [esp + 0x29c], eax
mov byte [esp + 0x278], al
mov byte [esp + 0x258], al
mov byte [esp + 0x187], al
mov byte [esp + 0xb3], al
mov byte [esp + 0x9f], al
mov byte [esp + 0x227], al
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x338], eax
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x260], eax
mov dword [esp + 0x25c], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x150], eax
mov dword [esp + 0x200], eax
mov dword [esp + 0x270], eax
mov dword [esp + 0x284], eax
mov dword [esp + 0x344], eax
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x3cc], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x36c], eax
mov dword [esp + 0x368], eax
mov dword [esp + 0x364], eax
mov dword [esp + 0x24c], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x248], eax
mov dword [esp + 0x30c], eax
mov dword [esp + 0x320], eax
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x32c], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x380], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x2d4], eax
mov dword [esp + 0x298], eax
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0x2b8], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0x208], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x294], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x1cc], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x328], eax
mov dword [esp + 0x314], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x37c], eax
mov dword [esp + 0x254], eax
mov dword [esp + 0x274], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x214], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x228], eax
mov dword [esp + 0x268], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x190], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x340], eax
mov dword [esp + 0x290], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x330], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x27c], eax
mov dword [esp + 0x2dc], eax
mov dword [esp + 0x334], eax
mov dword [esp + 0x244], eax
mov dword [esp + 0x240], eax
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x238], eax
mov dword [esp + 0x3b8], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x3b4], eax
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x318], eax
mov dword [esp + 0x22c], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x360], eax
mov dword [esp + 0x378], eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x264], eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x23c], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x35c], eax
mov dword [esp + 0x390], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x370], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x204], eax
mov dword [esp + 0x234], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x26c], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x230], eax
mov dword [esp + 0x394], eax
mov dword [esp + 0x38c], eax
mov dword [esp + 0x388], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], 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 + 0x354], eax
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x408], eax
mov dword [esp + 0x350], eax
mov dword [esp + 0x34c], eax
mov dword [esp + 0x33c], eax
mov dword [esp + 0x39c], eax
mov dword [esp + 0x348], eax
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x404], eax
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x280], eax
mov dword [esp + 0x410], eax
mov dword [esp + 0x300], eax
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x3d4], eax
mov dword [esp + 0x40c], eax
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x400], eax
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x3e4], ecx
mov dword [esp + 0x3c0], ecx
mov dword [esp + 0x108], ecx
mov dword [esp + 0x3ac], ecx
jmp 0x768c18
xor bl, 5
movzx eax, bl
cmp eax, 0xb
je 0x766b20
cmp eax, 0x3c
jne 0x766b68
mov byte [esp + 0x404], 0x52
mov bl, 0x13
mov bh, 0x73
mov eax, dword [ebp + 0x14]
lea eax, [eax + 4]
mov dword [esp + 0x3f0], eax
xor eax, eax
mov dword [esp + 0x3f4], ecx
mov dword [esp + 0x3f8], ecx
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x3ec]
jmp 0x7743d5
lea eax, [esi + 4]
mov dword [esp + 0x19c], eax
xor edx, edx
mov esi, 0xffffffff
mov byte [esp + 0x278], al
mov byte [esp + 0x258], al
mov byte [esp + 0x187], al
mov byte [esp + 0xb3], al
mov byte [esp + 0x9f], al
mov byte [esp + 0x227], al
mov dword [esp + 0x100], eax
mov dword [esp + 0x374], eax
mov dword [esp + 0x29c], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x338], eax
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x260], eax
mov dword [esp + 0x25c], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x150], eax
mov dword [esp + 0x200], eax
mov dword [esp + 0x270], eax
mov dword [esp + 0x284], eax
mov dword [esp + 0x344], eax
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x3cc], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x36c], eax
mov dword [esp + 0x368], eax
mov dword [esp + 0x364], eax
mov dword [esp + 0x24c], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x248], eax
mov dword [esp + 0x30c], eax
mov dword [esp + 0x320], eax
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x32c], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x380], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x2d4], eax
mov dword [esp + 0x298], eax
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0x2b8], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0x208], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x294], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x1cc], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x328], eax
mov dword [esp + 0x314], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x37c], eax
mov dword [esp + 0x254], eax
mov dword [esp + 0x274], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x214], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x228], eax
mov dword [esp + 0x268], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x190], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x358], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x340], eax
mov dword [esp + 0x290], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x330], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x27c], eax
mov dword [esp + 0x2dc], eax
mov dword [esp + 0x334], eax
mov dword [esp + 0x244], eax
mov dword [esp + 0x240], eax
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x238], eax
mov dword [esp + 0x3b8], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x3b4], eax
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x318], eax
mov dword [esp + 0x22c], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x360], eax
mov dword [esp + 0x378], eax
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x398], eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x264], eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x23c], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x35c], eax
mov dword [esp + 0x390], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x370], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x204], eax
mov dword [esp + 0x234], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x26c], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x230], eax
mov dword [esp + 0x394], eax
mov dword [esp + 0x38c], eax
mov dword [esp + 0x388], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], 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 + 0x348], 0xffffffff
mov dword [esp + 0x39c], 0xffffffff
mov dword [esp + 0x33c], 0xffffffff
mov ebx, 0
mov dword [esp + 0x34c], 0
mov dword [esp + 0x350], 0
mov dword [esp + 0x408], 0
xor eax, eax
mov dword [esp + 0x354], 0
jmp 0x7673b3
xor ebx, 0x1187149d
mov byte [esp + 0x230], al
mov byte [esp + 0x388], al
mov byte [esp + 0x314], al
mov byte [esp + 0x290], al
mov byte [esp + 0x188], al
mov byte [esp + 0x17c], al
mov byte [esp + 0x227], al
mov byte [esp + 0x1e0], al
mov byte [esp + 0x1cc], al
mov byte [esp + 0x27c], al
mov byte [esp + 0x1b4], al
mov byte [esp + 0x220], al
mov byte [esp + 0x1f0], al
mov byte [esp + 0x294], al
mov dword [esp + 0x3a8], 0xffffffff
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x270], eax
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x274], eax
mov dword [esp + 0x344], eax
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x30c], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x398], eax
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x32c], eax
mov dword [esp + 0x22c], eax
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x260], eax
mov dword [esp + 0x300], eax
mov dword [esp + 0x298], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x264], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x280], eax
mov dword [esp + 0x228], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x380], eax
mov dword [esp + 0x234], eax
mov dword [esp + 0x320], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x200], eax
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x29c], eax
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x208], eax
mov dword [esp + 0x204], eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x268], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], eax
mov dword [esp + 0x238], eax
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2dc], eax
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x308], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x26c], eax
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x340], eax
mov dword [esp + 0x338], eax
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], eax
mov dword [esp + 0x364], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x36c], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x278], eax
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x258], eax
mov dword [esp + 0x254], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x24c], eax
mov dword [esp + 0x248], eax
mov dword [esp + 0x244], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2cc], eax
mov byte [esp + 0x210], al
mov byte [esp + 0x1ac], al
mov byte [esp + 0x194], al
mov byte [esp + 0x370], al
mov byte [esp + 0x1a0], al
mov byte [esp + 0x374], al
mov byte [esp + 0x354], al
mov byte [esp + 0x394], al
mov byte [esp + 0x3b4], al
mov byte [esp + 0x358], al
mov byte [esp + 0x35c], al
mov byte [esp + 0x3ac], al
mov byte [esp + 0x3a0], al
mov byte [esp + 0x350], al
mov byte [esp + 0x384], al
mov byte [esp + 0x38c], al
mov byte [esp + 0x21c], al
mov byte [esp + 0x1dc], al
mov byte [esp + 0x284], al
mov byte [esp + 0x1a4], al
mov byte [esp + 0x328], al
mov byte [esp + 0x25c], al
mov byte [esp + 0x1c4], al
mov byte [esp + 0x187], al
mov byte [esp + 0x1bc], al
mov byte [esp + 0x214], al
mov byte [esp + 0x3d4], al
mov byte [esp + 0x3e8], al
mov byte [esp + 0x190], al
mov byte [esp + 0x360], al
mov byte [esp + 0x378], al
mov byte [esp + 0x390], al
mov byte [esp + 0x37c], al
mov byte [esp + 0x368], al
mov byte [esp + 0x34c], al
mov byte [esp + 0x1e8], al
mov byte [esp + 0x2ec], al
mov byte [esp + 0x318], al
mov byte [esp + 0x3cc], al
mov byte [esp + 0x3b8], al
mov byte [esp + 0x3e4], al
mov byte [esp + 0x3bc], al
mov dword [esp + 0x3c4], eax
jmp 0x77507f
xor eax, eax
lea ecx, [esi + 4]
mov dword [esp + 0x408], ecx
jmp 0x766846
mov bh, 0x6f
mov dh, 0xe
mov bl, 0x12
mov dl, 0x1a
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
adc eax, 0
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x766830
mov byte [esp + 0x40c], bh
mov byte [esp + 0x410], bl
mov byte [esp + 0x404], dh
mov byte [esp + 0x400], dl
mov ebx, 0xffffffff
xor edi, edi
nop dword [eax]
mov eax, dword [esp + 0x408]
mov eax, dword [eax]
lea ecx, [edi + edi*2]
mov edx, dword [eax + ecx*8]
cmp edx, 0x17
jg 0x7668c0
lea eax, [eax + ecx*8]
cmp edx, 3
je 0x7668f0
cmp edx, 4
jne 0x766a6f
lea ecx, [esp + 0x480]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00789690
jmp 0x766a60
cmp edx, 0x18
je 0x766950
cmp edx, 0x1b
jne 0x766a6f
movzx edx, byte [esp + 0x400]
cmp edx, 0x1b
jne 0x766978
mov dh, 0x1b
jmp 0x76697a
movzx ecx, byte [esp + 0x404]
cmp ecx, 0xe
je 0x766a08
cmp ecx, 0x31
jne 0x766a42
mov byte [esp + 0x404], 0x31
lea ecx, [esp + 0x478]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.007895f0
mov dword [esp + 0x48c], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x766a6f
jmp 0x766cb8
mov eax, dword [eax + ecx*8 + 4]
lea ecx, [esp + 0x46c]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 0
call fcn.00789cf0
jmp 0x766a60
mov dh, 0x1a
mov esi, dword [eax + ecx*8 + 0x10]
cmp esi, 4
mov bl, byte [esp + 0x410]
je 0x76699b
mov dl, 8
imul esi, esi
and esi, 3
cmp esi, 2
jne 0x766e1b
mov byte [esp + 0x410], bl
mov byte [esp + 0x400], dh
movzx edx, bl
xor esi, esi
cmp edx, 0x12
jne 0x7669ef
mov byte [esp + 0x410], 0x3f
mov eax, dword [eax + ecx*8 + 0x14]
mov ebx, dword [eax]
mov esi, dword [ebp + 8]
jmp 0x766a6f
mov byte [esp + 0x410], 0x12
mov edx, esi
not edx
and edx, 1
add edx, esi
setne dl
movzx edx, dl
add esi, edx
mov edx, dword [eax + ecx*8 + 0x14]
mov ebx, dword [edx]
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
cmp esi, edx
jb 0x7669d0
mov esi, dword [ebp + 8]
jmp 0x766a6f
lea ecx, [esp + 0x478]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.007895f0
mov dword [esp + 0x48c], eax
test eax, eax
jne 0x766cb8
mov byte [esp + 0x404], 0x3e
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x766a6f
jmp 0x766cb8
mov byte [esp + 0x404], 0xe
lea ecx, [esp + 0x478]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.007895f0
nop dword [eax]
mov dword [esp + 0x48c], eax
test eax, eax
jne 0x766cb8
movzx eax, byte [esp + 0x40c]
cmp eax, 0x6f
jne 0x766aa0
mov al, 0x70
inc edi
cmp edi, dword [esi + 8]
jae 0x766ad3
mov byte [esp + 0x40c], 0x6f
mov ecx, edi
and ecx, 1
xor ecx, edi
not ecx
test ecx, ecx
jne 0x766880
jmp 0x766ad3
mov al, 0x70
mov ecx, edi
and ecx, 1
xor ecx, edi
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add edi, ecx
cmp edi, dword [esi + 8]
jae 0x766ad3
mov byte [esp + 0x40c], 0x18
mov ecx, edi
or ecx, 2
mov edx, edi
xor edx, 2
add edx, ecx
jne 0x766880
movzx eax, al
cmp eax, 8
je 0x766b9c
cmp eax, 0x73
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x3fc]
mov eax, ebx
jne 0x766bcf
and eax, 1
xor eax, ebx
cmp eax, 0xffffffff
setne al
movzx eax, al
add eax, ebx
mov ebx, ecx
je 0x766ca6
mov eax, dword [esp + 0x46c]
test eax, eax
jne 0x766c04
jmp 0x766ca6
mov edx, 2
mov byte [esp + 0x404], 0x52
mov bl, 0x13
mov bh, 0x73
mov eax, dword [ebp + 0x14]
lea eax, [eax + 4]
mov dword [esp + 0x3f0], eax
xor eax, eax
mov dword [esp + 0x408], ecx
mov dword [esp + 0x3f4], ecx
mov dword [esp + 0x3f8], ecx
mov dword [esp + 0x40c], ecx
mov esi, dword [esp + 0x3ec]
jmp 0x77441a
mov ecx, 0x19
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x408], eax
mov byte [esp + 0x404], al
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x40c], eax
jmp 0x774823
mov ecx, dword [esp + 0x46c]
test ecx, ecx
sete al
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb cl, cl
cmp ebx, 0xffffffff
mov edx, dword [ebp + 0xc]
mov ebx, dword [esp + 0x3fc]
je 0x766ca6
and cl, al
je 0x766c04
jmp 0x766ca6
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
add eax, ebx
mov ebx, ecx
je 0x766ca6
mov eax, dword [esp + 0x46c]
test eax, eax
je 0x766ca6
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x766ca6
mov dword [esp + 0x3fc], ebx
lea eax, [esp + 0x48c]
mov dword [esp + 0x14], eax
mov dword [esp], edx
mov dword [esp + 0x18], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.007855d0
mov dword [esp + 0x48c], eax
test eax, eax
jne 0x766cb8
mov al, 0x7d
movzx eax, al
cmp eax, 0x27
je 0x766e36
cmp eax, 0x5f
je 0x766e71
cmp eax, 0x7d
mov bl, 0x62
mov eax, dword [esp + 0x46c]
lea ecx, [esp + 0x470]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x474]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627870
mov dword [esp + 0x48c], eax
test eax, eax
jne 0x766f97
jmp 0x766eb8
mov dword [esp + 0x3fc], ebx
mov dword [esp + 0x48c], 0x7000002f
mov eax, dword [esp + 0x3fc]
movzx eax, al
cmp eax, 9
je 0x766cde
cmp eax, 0x2a
jne 0x766cf3
mov al, 1
mov esi, dword [esp + 0x46c]
test esi, esi
jne 0x766d0d
jmp 0x766d5d
mov esi, dword [esp + 0x46c]
test esi, esi
je 0x766d5d
mov al, 1
xor ecx, ecx
test cl, cl
je 0x766d0d
jmp 0x766d5d
mov esi, dword [esp + 0x46c]
test esi, esi
je 0x766d5d
mov al, 1
mov ecx, esi
imul ecx, ecx
and ecx, 3
cmp ecx, 2
je 0x766d5d
test al, al
jne 0x766d21
movzx eax, al
cmp eax, 0x13
mov dword [esp], esi
call fcn.00627900
jmp 0x766d5d
xor edi, edi
jmp 0x766d4a
mov eax, edi
and eax, 1
xor eax, edi
cmp eax, 0xffffffff
setne al
movzx eax, al
add edi, eax
mov dword [esp], esi
call fcn.00627900
mov eax, edi
not eax
and eax, 1
add eax, edi
setne al
movzx eax, al
cmp edi, eax
jb 0x766d30
mov esi, dword [esp + 0x474]
test esi, esi
je 0x766e0f
mov eax, esi
and eax, 1
inc eax
xor eax, esi
je 0x766e0f
mov al, 0x1f
xor edi, edi
movzx eax, al
cmp eax, 0x1f
je 0x766dbe
cmp eax, 0x2f
je 0x766d90
cmp eax, 0x5a
jne 0x766df9
mov dword [esp], esi
call fcn.00689a80
mov eax, dword [esp + 0x48c]
jmp 0x7746f8
cmp eax, 2
adc edi, 0
mov dword [esp], esi
call fcn.00689a80
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
sbb ecx, ecx
and ecx, 1
cmp edi, ecx
jb 0x766db0
jmp 0x766e0f
mov eax, 3
sub eax, edi
xor eax, edi
setne al
movzx eax, al
add edi, eax
mov dword [esp], esi
call fcn.00689a80
mov eax, edi
or eax, 2
mov ecx, edi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp edi, eax
jb 0x766de0
mov eax, dword [esp + 0x48c]
jmp 0x7746f8
movzx eax, dl
cmp eax, 0x3d
je 0x766e26
cmp eax, 0x5c
mov dword [esp + 0x48c], 0x30000003
jmp 0x766cb8
mov bl, 0x62
mov eax, dword [esp + 0x46c]
lea ecx, [esp + 0x470]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x474]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627870
mov dword [esp + 0x48c], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jmp 0x766eaa
mov bl, 0x62
mov eax, dword [esp + 0x46c]
lea ecx, [esp + 0x470]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x474]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627870
mov dword [esp + 0x48c], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x766f97
mov eax, dword [esp + 0x470]
mov ecx, dword [esp + 0x474]
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], 0x17
call fcn.007855d0
mov dword [esp + 0x48c], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x766cb8
mov al, 0x74
movzx eax, al
cmp eax, 0x27
je 0x766fc9
cmp eax, 0x6d
jne 0x76700c
mov eax, dword [esp + 0x46c]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0068e960
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx esi, cl
mov ecx, dword [esp + 0x480]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
cmp eax, esi
je 0x7671b2
mov eax, dword [esp + 0x484]
movzx edx, dl
xor edx, ecx
or edx, eax
je 0x7671b2
mov edx, dword [esp + 0x478]
mov esi, dword [esp + 0x47c]
mov edi, edx
jmp 0x76707f
movzx eax, bl
cmp eax, 0x2c
je 0x766fb9
cmp eax, 0x62
je 0x766fb9
cmp eax, 0x68
jne 0x766fb9
mov dword [esp + 0x48c], 0x700002bb
jmp 0x766cb8
mov dword [esp + 0x48c], 0x700002bb
jmp 0x766cb8
mov eax, dword [esp + 0x46c]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0068e960
mov ecx, dword [esp + 0x480]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sete bh
mov edx, dword [esp + 0x478]
mov esi, edx
and esi, 1
inc esi
xor esi, edx
sete bl
test eax, eax
jne 0x76705f
jmp 0x7671b2
mov eax, dword [esp + 0x46c]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0068e960
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx esi, cl
mov ecx, dword [esp + 0x480]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete bh
mov edx, dword [esp + 0x478]
mov edi, edx
and edi, 1
inc edi
xor edi, edx
sete bl
cmp eax, esi
je 0x7671b2
mov eax, dword [esp + 0x484]
movzx esi, bh
xor esi, ecx
or esi, eax
je 0x7671b2
mov esi, dword [esp + 0x47c]
movzx edi, bl
xor edi, edx
or edi, esi
je 0x7671b2
mov dword [esp + 0xc], esi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0068e9b0
mov dword [esp + 0x48c], eax
test eax, eax
je 0x7671b2
mov al, 0x31
movzx eax, al
cmp eax, 0x14
je 0x767168
cmp eax, 0x15
mov ecx, dword [ebp + 0xc]
je 0x76710e
cmp eax, 0x31
jne 0x76710e
mov dword [esp], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x20
call fcn.007855d0
mov dword [esp + 0x48c], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jmp 0x767158
mov dword [esp], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x20
call fcn.007855d0
mov dword [esp + 0x48c], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x766cb8
jmp 0x7671b2
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x20
call fcn.007855d0
mov dword [esp + 0x48c], eax
test eax, eax
jne 0x766cb8
mov eax, dword [esp + 0x46c]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0068e990
test eax, eax
je 0x766cb8
mov eax, dword [esp + 0x480]
mov ecx, dword [esp + 0x484]
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
xor edx, eax
or edx, ecx
je 0x766cb8
mov edx, dword [esp + 0x478]
mov esi, dword [esp + 0x47c]
mov edi, edx
or edi, esi
je 0x766cb8
mov bl, 0x62
movzx edi, bl
cmp edi, 0x27
je 0x767258
cmp edi, 0x62
je 0x767258
cmp edi, 0x72
mov bl, 0x17
mov dword [esp + 0xc], esi
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068e9b0
mov dword [esp + 0x48c], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x766cb8
jmp 0x76727d
mov bl, 0x17
mov dword [esp + 0xc], esi
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068e9b0
mov dword [esp + 0x48c], eax
test eax, eax
je 0x766cb8
xor esi, esi
movzx eax, bl
cmp eax, 0xd
je 0x767331
cmp eax, 0x2a
mov eax, dword [ebp + 0xc]
jne 0x767346
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x41
call fcn.007855d0
mov dword [esp + 0x48c], eax
jmp 0x766cb8
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 [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x41
call fcn.007855d0
mov dword [esp + 0x48c], eax
mov eax, esi
and eax, 1
inc eax
xor eax, esi
test esi, esi
je 0x7672db
test eax, eax
je 0x7672db
jmp 0x766cb8
mov edi, eax
jmp 0x76739b
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
mov dword [esp], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x41
call fcn.007855d0
mov dword [esp + 0x48c], eax
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x76734a
jmp 0x766cb8
mov edi, eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x3e8], ebx
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3dc], eax
mov ebx, esi
mov eax, dword [esp + 0x19c]
mov esi, dword [eax]
mov dword [esp + 0x11c], esi
lea ecx, [edx + edx*2]
mov dword [esp + 0x3c4], ecx
mov eax, dword [esi + ecx*8]
mov dword [esp + 0x158], eax
lea eax, [eax - 3]
mov dword [esp + 0x408], eax
cmp eax, 0x13
mov dword [esp + 0x3d0], 9
lea esi, [esi + ecx*8]
mov dword [esp + 0x180], esi
ja case.default.0x7674f4
mov dword [esp + 0x3c8], 6
mov dword [esp + 0x3fc], 0x10
mov dword [esp + 0x3d8], edx
mov dword [esp + 0x3f4], ebx
mov esi, ebx
mov dword [esp + 0x3e0], esi
mov ecx, dword [esp + 0x348]
mov dword [esp + 0x2f0], ecx
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x280], ecx
mov ebx, dword [esp + 0x3e8]
mov dword [esp + 0x3f0], ebx
mov ecx, dword [esp + 0x34c]
mov dword [esp + 0x300], ecx
mov ecx, dword [esp + 0x350]
mov dword [esp + 0x2fc], ecx
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov dword [esp + 0x3e4], edi
mov ecx, dword [esp + 0x354]
mov dword [esp + 0x2f4], ecx
mov dword [esp + 0x40c], edi
mov dword [esp + 0x3ec], edi
mov dword [esp + 0x39c], edx
mov dword [esp + 0x400], edx
mov dword [esp + 0x404], esi
mov dword [esp + 0x410], ebx
mov esi, eax
mov ecx, 8
mov eax, dword [esp + 0x408]
jmp dword [eax*4 + 0x7ec58c]
lea eax, [esp + 0x530]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x180]
mov dword [esp], eax
call fcn.007895f0
mov dword [esp + 0x568], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov dword [esp + 0x408], 1
cmp eax, ecx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x2f4], eax
je case.0x7676b0.38
jmp 0x76d151
mov eax, edx
mov dword [esp + 0x3ec], edi
mov esi, dword [esp + 0x158]
lea ecx, [esi - 0x22]
cmp ecx, 4
ja case.default.0x7676b0
mov dword [esp + 0x3c0], 4
mov edi, dword [esp + 0x3ec]
mov dword [esp + 0x40c], edi
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0x408], edx
mov esi, dword [esp + 0x3e8]
mov dword [esp + 0x410], esi
mov dword [esp + 0x400], eax
mov dword [esp + 0x39c], eax
mov dword [esp + 0x3e0], ebx
mov dword [esp + 0x404], ebx
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x348]
mov dword [esp + 0x2f0], ecx
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x280], ecx
mov ecx, dword [esp + 0x34c]
mov dword [esp + 0x300], ecx
mov ebx, dword [esp + 0x350]
mov dword [esp + 0x2fc], ebx
mov ecx, dword [esp + 0x354]
mov dword [esp + 0x2f4], ecx
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x3f0], esi
mov dword [esp + 0x3d4], edx
mov dword [esp + 0x3e4], edi
mov ebx, 8
mov eax, dword [esp + 0x3fc]
jmp dword [eax*4 + 0x7ec5dc]
mov eax, dword [esp + 0x11c]
mov edx, dword [esp + 0x3c4]
mov ecx, dword [eax + edx*8 + 0x14]
mov dword [esp + 0x300], ecx
mov eax, dword [eax + edx*8 + 0x10]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x40c], eax
mov edx, dword [esp + 0x350]
mov esi, 0x1a
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x280], ecx
jmp 0x7685a6
cmp dword [esp + 0x158], 0x38
jne 0x767c76
mov dword [esp + 0x400], eax
mov dword [esp + 0x3e0], ebx
mov esi, 6
lea eax, [esp + 0x508]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x180]
mov dword [esp], eax
call fcn.00789bd0
mov dword [esp + 0x568], eax
test eax, eax
je 0x767eb2
xor eax, eax
test al, al
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0x408], edx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x39c], ecx
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x3d0], ecx
mov dword [esp + 0x3d4], edx
je 0x76d151
jmp 0x76b021
mov dword [esp + 0x3c0], 9
mov esi, 0xa
lea eax, [esp + 0x540]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x180]
mov dword [esp], eax
call fcn.00789690
mov dword [esp + 0x568], eax
test eax, eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x2f0], eax
mov edi, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], edi
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x280], eax
mov ebx, dword [esp + 0x3e8]
mov dword [esp + 0x410], ebx
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x2fc], eax
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], ecx
mov edx, dword [esp + 0x3ec]
mov dword [esp + 0x40c], edx
mov eax, dword [esp + 0x354]
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x3bc], edx
mov dword [esp + 0x3fc], ecx
mov dword [esp + 0x3c4], ebx
mov dword [esp + 0x39c], edi
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
jne 0x76e84d
jmp 0x7740b5
mov esi, 2
lea eax, [esp + 0x53c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x180]
mov dword [esp], eax
call fcn.007898d0
mov dword [esp + 0x568], eax
test eax, eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x2f4], eax
jne 0x76d151
jmp 0x76ef34
mov eax, dword [esp + 0x11c]
mov edx, dword [esp + 0x3c4]
mov eax, dword [eax + edx*8 + 0x10]
cmp eax, 4
jne 0x767d07
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x767d07
mov eax, dword [esp + 0x11c]
mov eax, dword [eax + edx*8 + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
jmp 0x767dc8
mov esi, 3
lea eax, [esp + 0x548]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x180]
mov dword [esp], eax
call fcn.00789bd0
mov dword [esp + 0x568], eax
test eax, eax
jne 0x767e21
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0x408], edx
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x39c], ecx
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x3d0], ecx
mov dword [esp + 0x3d4], edx
jne case.0x7676b0.38
jmp 0x768024
mov eax, 8
mov edx, dword [esp + 0x140]
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x39c], ecx
mov edi, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x348]
mov dword [esp + 0x2f0], ecx
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x280], ecx
mov ebx, dword [esp + 0x3e8]
mov ecx, dword [esp + 0x34c]
mov dword [esp + 0x300], ecx
mov ecx, dword [esp + 0x350]
mov dword [esp + 0x2fc], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x354]
mov dword [esp + 0x2f4], ecx
mov esi, dword [esp + 0x50]
jmp 0x7731e4
mov dword [esp + 0x3fc], 0xa
mov eax, dword [esp + 0x400]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3fc]
cmp eax, 0xa
je 0x767da3
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, dword [esp + 0x3e8]
mov edx, dword [esp + 0x3f8]
je 0x767dba
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x40c], ecx
mov dword [esp + 0x408], edx
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x400]
jmp 0x767dcf
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x400], eax
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x348]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x2f4], eax
jmp case.0x7676b0.36
mov dword [esp + 0x568], 0x30000003
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x2f4], eax
jmp 0x76d151
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3e8]
jmp 0x767dc1
mov dword [esp + 0x408], edx
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x2f4], eax
jmp case.0x7676b0.38
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x2f4], eax
jmp 0x768024
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x2f4], eax
jmp 0x76b021
mov ecx, dword [esp + 0x3d0]
cmp ecx, 9
je 0x767f65
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
je 0x767f65
mov esi, dword [esp + 0x3f8]
jmp 0x76a29e
mov eax, 0xe
mov ecx, 3
mov edx, dword [esp + 0x158]
sub ecx, edx
xor ecx, edx
mov esi, dword [esp + 0x2f4]
mov ecx, esi
cmovne ecx, dword [esp + 0x3d8]
cmp edx, 0x15
cmovne ecx, esi
mov dword [esp + 0x354], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x3ec], ecx
mov edx, dword [esp + 0x3d4]
mov dword [esp + 0x408], edx
mov ecx, dword [esp + 0x2fc]
mov dword [esp + 0x350], ecx
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x34c], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x280]
mov dword [esp + 0x33c], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 0x348], ecx
mov ecx, edx
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x3e0], edx
mov edx, dword [esp + 0x2ac]
jmp 0x76d6b0
cmp esi, 3
jne 0x768094
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3a8], eax
mov edx, dword [esp + 0x388]
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
jmp 0x769687
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
jmp 0x76c89d
lea eax, [esp + 0x558]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x180]
mov dword [esp], eax
call fcn.00789540
mov dword [esp + 0x568], eax
test eax, eax
mov edx, esi
jne 0x7681ac
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x34c], eax
mov eax, dword [esp + 0x280]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3e8], eax
mov dword [esp + 0x3f8], edx
mov dword [esp + 0x408], edx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3ec], eax
jne case.0x7676b0.38
jmp 0x76d151
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x34c], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x280]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x3f8], edx
mov dword [esp + 0x408], edx
jmp 0x76d151
mov edi, dword [esp + 0x3d8]
lea esi, [edi + edi*2]
mov edx, dword [esp + 0x11c]
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 + 0x568], eax
test eax, eax
jne 0x7683af
mov eax, dword [esp + 0x19c]
mov eax, dword [eax]
mov eax, dword [eax + esi*8 + 0x14]
mov eax, dword [eax + 0x10]
cmp eax, 0x626c636f
je 0x7683d7
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x410]
mov dword [esp + 0x68], edx
mov edi, dword [esp + 0x280]
mov dword [esp + 0x64], edi
mov esi, dword [esp + 0x3dc]
mov dword [esp + 0x60], esi
mov edx, dword [esp + 0x2f0]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x58], edx
mov dword [esp + 0x354], ebx
mov ebx, dword [esp + 0x3d4]
mov dword [esp + 0x408], ebx
mov dword [esp + 0x350], eax
mov eax, ecx
mov dword [esp + 0x34c], eax
mov dword [esp + 0x33c], edi
mov dword [esp + 0x39c], esi
mov esi, 5
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x348], eax
mov dword [esp + 0x400], eax
mov dword [esp + 0x3e0], edx
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0x3f8], ebx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3c4], ecx
mov dword [esp + 0x3c8], edx
jne 0x76c0d2
jmp case.0x7676b0.38
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x39c], eax
mov dword [esp + 0x400], edi
jmp 0x770e93
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x78], eax
mov dword [esp + 0x408], eax
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x348], ecx
mov dword [esp + 0x400], ecx
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x410]
mov dword [esp + 0x68], edx
mov esi, dword [esp + 0x280]
mov dword [esp + 0x64], esi
mov ebx, dword [esp + 0x3dc]
mov dword [esp + 0x60], ebx
mov edx, dword [esp + 0x2f0]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x58], edx
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x354], edi
mov dword [esp + 0x350], eax
mov eax, ecx
mov dword [esp + 0x34c], eax
mov dword [esp + 0x33c], esi
mov dword [esp + 0x39c], ebx
mov dword [esp + 0x3e0], edx
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3ec], eax
jmp case.0x7676b0.38
mov esi, 6
mov eax, dword [esp + 0x3d8]
lea eax, [eax + eax*2]
mov edi, dword [esp + 0x11c]
mov ecx, dword [edi + eax*8 + 0x10]
mov edx, dword [edi + eax*8 + 0x14]
mov eax, dword [edi + eax*8 + 4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0068ee80
mov dword [esp + 0x568], eax
mov dword [esp + 0x33c], 0xffffffff
test eax, eax
je 0x76867f
mov ecx, 0x1a
mov esi, 0xb
cmp eax, 0x7000002f
mov ebx, dword [esp + 0x300]
mov dword [esp + 0x40c], ebx
mov edi, dword [esp + 0x2fc]
mov edx, edi
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x408], eax
mov dword [esp + 0x350], edi
mov edi, ebx
mov dword [esp + 0x34c], edi
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov edi, dword [esp + 0x2f0]
mov dword [esp + 0x348], edi
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x3e0], eax
je 0x76f317
cmp esi, 0xb
je 0x76871a
mov ecx, esi
and ecx, 1
inc ecx
xor ecx, esi
mov ecx, dword [esp + 0x2fc]
mov dword [esp + 0x350], ecx
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x34c], ecx
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x300], eax
mov dword [esp + 0x2fc], edx
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x408], eax
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 0x348], eax
jne case.0x7676b0.38
jmp 0x76d151
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x410], ecx
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3e8], ecx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x354], eax
mov edx, dword [esp + 0x3d4]
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x34c], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 0x348], eax
mov edi, dword [ebp + 0xc]
jmp 0x76e770
mov ecx, dword [esp + 0x2fc]
mov dword [esp + 0x350], ecx
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x34c], ecx
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3e8], eax
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x300], eax
mov dword [esp + 0x2fc], edx
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x408], eax
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 0x348], eax
jmp 0x76d151
mov eax, dword [esp + 0x19c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x3d8]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
mov ecx, dword [eax + 0x10]
cmp ecx, 0x626c7570
jne 0x7688c0
mov eax, 0xb
mov edx, 3
sub edx, ecx
xor edx, ecx
je 0x7688c0
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], ecx
mov esi, dword [esp + 0x410]
mov edx, esi
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3e4], ecx
mov dword [esp + 0x3ec], ecx
mov dword [esp + 0x3e8], esi
mov ecx, dword [esp + 0x404]
mov ebx, ecx
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 0x354], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x2fc]
mov dword [esp + 0x350], ecx
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x34c], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x33c], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 0x348], ecx
jmp 0x76895c
mov eax, 1
mov dword [esp + 0x568], 0x7000002f
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 0x354], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3ec], ecx
mov edx, dword [esp + 0x3d4]
mov edi, edx
mov ecx, dword [esp + 0x2fc]
mov dword [esp + 0x350], ecx
mov ecx, dword [esp + 0x300]
mov dword [esp + 0x34c], ecx
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3e8], ecx
mov esi, dword [esp + 0x3d8]
mov dword [esp + 0x33c], esi
mov ebx, dword [esp + 0x3d0]
mov dword [esp + 0x39c], ebx
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 0x348], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3e0], ecx
jmp 0x771a62
cmp eax, 0xb
jne 0x7689d4
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x7689d4
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3e8], edx
jmp 0x76f3aa
mov dword [esp + 0x3f0], edx
mov eax, dword [esp + 0x204]
mov dword [esp], eax
call fcn.004936c0
mov ecx, dword [esp + 0x390]
mov eax, dword [ecx]
mov dword [eax + 0x24], 0
mov eax, dword [ecx]
mov edi, dword [esp + 0x360]
mov edx, dword [esp + 0x3e4]
jmp 0x76edc7
mov edi, dword [esp + 0x400]
mov eax, edi
or eax, 2
mov ecx, edi
xor ecx, 2
add ecx, eax
setne al
movzx edx, al
add edx, edi
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 8]
jb 0x768ae4
xor eax, eax
test al, al
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3bc], eax
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3c4], ecx
mov esi, dword [esp + 0x404]
mov dword [esp + 0x3c8], esi
mov dword [esp + 0x3d8], edi
mov edi, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], edi
mov edi, dword [esp + 0x348]
mov dword [esp + 0x400], edi
mov edi, dword [esp + 0x39c]
mov dword [esp + 0x3fc], edi
mov edi, dword [esp + 0x33c]
mov dword [esp + 0x3f4], edi
mov edi, dword [esp + 0x34c]
mov dword [esp + 0x3f0], edi
mov ebx, dword [esp + 0x350]
mov dword [esp + 0x3e4], ebx
mov ebx, ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x3c0], ecx
mov ecx, dword [esp + 0x354]
mov dword [esp + 0x3ac], ecx
je 0x768afe
jmp 0x7673b3
mov eax, dword [esp + 0x40c]
mov ebx, dword [esp + 0x410]
mov esi, dword [esp + 0x404]
jmp 0x7673b3
mov dword [esp + 0x1c8], esi
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
add edx, esi
mov dword [esp + 0x108], eax
mov dword [esp + 0x13c], ebx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov dword [esp + 0x3f8], 0xa
mov edi, dword [esp + 0x3a0]
mov dword [esp + 0x384], edi
mov esi, dword [esp + 0x398]
mov dword [esp + 0x3a8], esi
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], ecx
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov ebx, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], ebx
mov edx, dword [esp + 0x400]
mov dword [esp + 0x358], edx
mov edx, dword [esp + 0x3fc]
mov dword [esp + 0x188], edx
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x2c8], edx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x130], eax
mov eax, ecx
jne 0x76cea4
mov dword [esp + 0x3dc], ebx
mov dword [esp + 0x3a0], edi
mov dword [esp + 0x398], esi
mov dword [esp + 0x568], 0x70000013
mov edx, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov esi, dword [esp + 0x3d8]
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x400]
mov dword [esp + 0x358], edx
mov edx, dword [esp + 0x3fc]
mov dword [esp + 0x188], edx
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x2c8], edx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x130], eax
mov eax, 0x15
cmp eax, 9
jne 0x768d87
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x768d93
mov eax, dword [esp + 0x394]
shl eax, 4
mov ecx, dword [esp + 0x23c]
mov eax, dword [ecx + eax + 4]
cmp eax, 0xffce
jne 0x768d9f
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x768d9f
mov dword [esp + 0x400], esi
mov esi, 0xf
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0xffffffce
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 3
mov dword [esp + 4], 0x26
call fcn.007855d0
mov dword [esp + 0x568], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x76cf50
jmp 0x76d151
mov dword [esp + 0x400], esi
jmp 0x76d151
mov dword [esp + 0x400], esi
jmp 0x76d151
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x3d8], esi
jmp 0x76c881
mov dword [esp + 0x384], ecx
mov esi, 8
mov dword [esp + 4], 0x14
mov dword [esp], 1
call fcn.00493840
mov dword [esp + 0x558], eax
test eax, eax
jne 0x768e0b
mov edi, 9
mov edx, eax
or edx, 2
mov dword [esp + 0xdc], eax
mov ecx, eax
xor ecx, 2
add ecx, edx
mov edx, dword [esp + 0x384]
jne 0x77433e
jmp 0x768e19
mov dword [esp + 0xdc], eax
mov edx, dword [esp + 0x384]
cmp esi, 8
mov ebx, dword [esp + 0x410]
mov esi, dword [esp + 0x404]
mov edi, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x3a8]
jne 0x768fc0
mov eax, dword [esp + 0xdc]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x3a0], edx
mov dword [esp + 0x398], ecx
mov dword [esp + 0x3f4], esi
mov dword [esp + 0x3dc], edi
mov dword [esp + 0x3f0], ebx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov esi, 0xf
mov eax, dword [ebp + 8]
mov edi, eax
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x1c8]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov eax, dword [eax + ecx*8 + 0x14]
lea ecx, [edi + 4]
mov dword [esp + 0x380], ecx
lea ecx, [esp + 0x564]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00627130
mov dword [esp + 0x568], eax
test eax, eax
jne 0x769012
mov esi, 8
mov eax, dword [esp + 0x564]
mov dword [esp + 0xfc], eax
mov edx, dword [eax + 0xc]
test edx, edx
mov ecx, dword [esp + 0x3f4]
je 0x7690a3
mov eax, 6
mov ecx, dword [edx + 0x14]
mov esi, dword [edx + 0x18]
mov dword [esp + 0xc4], edx
test ecx, ecx
jne 0x769118
mov edx, ecx
or edx, 2
xor ecx, 2
add ecx, edx
je 0x769118
test esi, esi
mov edi, dword [esp + 0x3f0]
mov ebx, dword [esp + 0x3bc]
jne 0x769124
mov ecx, 5
mov edx, 3
sub edx, esi
xor edx, esi
mov dword [esp + 0x374], esi
jne 0x76bb83
jmp 0x76b2ec
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov dword [esp + 0x3a0], edx
mov dword [esp + 0x398], ecx
mov dword [esp + 0x3f4], esi
mov dword [esp + 0x3dc], edi
mov dword [esp + 0x3f0], ebx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov edx, dword [esp + 0x2a4]
mov edi, dword [esp + 0x2c4]
jmp 0x769707
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov ebx, dword [esp + 0x3f4]
mov edi, dword [esp + 0x3f0]
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
jmp 0x769147
mov dword [esp + 0xc4], edx
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x404], ecx
mov ebx, dword [esp + 0x3dc]
mov edi, dword [esp + 0x3f0]
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
jmp 0x770ec8
mov dword [esp + 0x374], esi
jmp 0x76b2de
mov dword [esp + 0x374], esi
jmp 0x76b2ec
mov dword [esp + 0x568], 0x70000003
mov dword [esp + 0x3a0], edx
jmp 0x77434e
cmp esi, 0xf
jne 0x7691be
mov dword [esp + 0x404], ebx
mov dword [esp + 0x410], edi
mov esi, 7
mov dword [esp + 0x568], 0x70000013
cmp esi, 7
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
jne 0x76ba51
jmp 0x76d151
mov eax, dword [esp + 0x314]
mov eax, dword [eax]
mov eax, dword [eax + 8]
test eax, eax
mov esi, dword [esp + 0x37c]
je 0x7691e4
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov ecx, esi
jne 0x769224
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493840
mov edx, dword [esp + 0x314]
mov ecx, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [edx]
mov eax, dword [eax + 8]
test eax, eax
je 0x769236
mov ecx, dword [esp + 0x328]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x378], 0x70000003
mov ecx, dword [ecx]
mov dword [eax], ecx
mov eax, dword [esp + 0x328]
mov eax, dword [eax]
jmp 0x77033b
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3f0], edi
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov esi, dword [esp + 0x408]
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x400], eax
mov edx, dword [esp + 0x3b8]
mov eax, 0xc
mov dword [esp + 0x378], 0x70000003
jmp 0x769d4a
mov dword [esp + 0x3bc], ebx
mov ecx, 1
mov eax, dword [esp + 0xc4]
mov eax, dword [eax + 0x24]
mov edx, dword [esp + 0x53c]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x374], 0
cmp dword [eax], edx
ja 0x76d2ef
mov eax, 6
xor edx, edx
test dl, dl
jne 0x76d2ef
cmp eax, 6
jne 0x76933d
mov esi, 0x11
mov ecx, dword [esp + 0xa0]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
mov dword [esp + 0x374], 0
mov edx, dword [esp + 0x13c]
test dl, 2
je 0x769396
movzx eax, al
cmp ecx, eax
mov dword [esp + 0x29c], 0
mov dword [esp + 0x2c0], 0
je 0x7693b1
jmp 0x76d530
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov edx, dword [esp + 0x3b8]
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x134]
mov esi, dword [esp + 0x3f4]
mov edi, dword [esp + 0x3f0]
mov ebx, dword [esp + 0x3bc]
jmp 0x76e1ad
mov dword [esp + 0x29c], 0
mov dword [esp + 0x2c0], 0
jmp 0x76d530
mov ecx, dword [esp + 0x3b8]
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov esi, dword [esp + 0x3fc]
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x2c0], 1
mov edx, dword [esp + 0x374]
mov dword [esp + 0x29c], edx
mov edi, ecx
cmp dword [esp + 0x29c], 0
setne byte [esp + 0x278]
mov ebx, dword [esp + 0x530]
mov ecx, dword [esp + 0x534]
mov eax, ebx
or eax, ecx
jne 0x769470
mov dword [esp + 0x3ac], edi
mov dword [esp + 0x408], esi
mov dword [esp + 0x374], edx
xor edx, edx
xor edi, edi
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x2b4], eax
jmp 0x769707
mov dword [esp + 0x408], esi
mov dword [esp + 0x374], edx
mov esi, 0xd
mov eax, 3
mov edx, dword [esp + 0x2c0]
sub eax, edx
xor eax, edx
setne al
movzx eax, al
cmp edx, eax
jne 0x769541
mov dword [esp + 0x3ac], edi
mov dword [esp + 0x2c4], ecx
mov ecx, dword [esp + 0xfc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
and ecx, eax
cmp ecx, 0xffffffff
mov edx, dword [esp + 0x3a0]
mov edi, dword [esp + 0x3f0]
jne 0x769597
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x769597
mov esi, 0x10
mov edi, 0xf
mov eax, dword [esp + 0x540]
mov ecx, dword [esp + 0x544]
mov edx, dword [esp + 0x2c4]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 0x2a4], ebx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068e9b0
mov dword [esp + 0x568], eax
test eax, eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x2b4], eax
je 0x77301e
jmp 0x7695fe
mov dword [esp + 0x2c4], ecx
mov dword [esp + 0x2a4], ebx
mov dword [esp + 0x3b8], edi
mov edx, dword [esp + 0x3a0]
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
jmp 0x7695dd
mov dword [esp + 0x2a4], ebx
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x410], edi
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x2b4], eax
jmp 0x768e19
cmp edi, 5
je 0x7696a0
imul edi, edi
and edi, 3
cmp edi, 3
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3a8], eax
mov edx, dword [esp + 0x388]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
jne 0x76d151
jmp 0x76c8b2
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
jmp 0x76c89d
mov edx, dword [esp + 0x530]
mov edi, dword [esp + 0x534]
mov eax, dword [esp + 0x540]
mov dword [esp + 0x2d8], eax
mov ecx, dword [esp + 0x544]
mov dword [esp + 0x2d4], ecx
cmp edx, eax
mov eax, edi
sbb eax, ecx
jae 0x769755
mov esi, 5
mov eax, edx
and eax, 1
xor eax, edx
not eax
test eax, eax
mov ecx, edx
mov dword [esp + 0x2a4], edx
mov edx, edi
mov dword [esp + 0x2c4], edi
jne 0x77291a
jmp 0x769787
mov ecx, edx
mov dword [esp + 0x2a4], edx
mov edx, edi
mov dword [esp + 0x2c4], edi
jmp 0x769787
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x530], eax
mov edx, dword [esp + 0x2d4]
mov dword [esp + 0x534], edx
mov ecx, eax
mov eax, 0xb
mov esi, dword [esp + 0x564]
mov dword [esp + 0x298], esi
lea edi, [esi + 0xc]
mov dword [esp + 0x1f8], edi
mov esi, dword [esi + 0xc]
mov dword [esp + 0x338], esi
mov esi, dword [esi + 0x48]
test esi, esi
je 0x7697fd
xor ebx, ebx
test bl, bl
jne 0x7697fd
mov eax, 9
mov edi, dword [esi]
mov dword [esp + 0x148], edi
mov esi, dword [esi + 4]
mov dword [esp + 0x144], esi
cmp ecx, edi
sbb edx, esi
mov dword [esp + 0x2b0], 1
jb 0x76a193
mov edx, 0x1a
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x769841
jmp 0x76a193
mov ebx, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 0x2b0], ecx
mov edx, dword [esp + 0x3f4]
mov edi, dword [esp + 0x3ac]
jmp 0x76aba5
cmp edx, 0xb
je 0x76989c
imul edx, edx
and edx, 3
cmp edx, 3
je 0x76989c
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
jmp 0x769932
mov dword [esp + 0x568], 0x300002bb
jmp 0x773037
mov dword [esp + 0x37c], esi
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0x3b4], edi
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x410], edx
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x3e4], ebx
je 0x76e645
mov edi, dword [esp + 0x338]
mov edx, dword [edi + 0x14]
mov dword [esp + 0x2b8], edx
test edx, edx
sete al
mov ecx, edx
or ecx, 2
xor edx, 2
add edx, ecx
setne cl
and cl, al
mov byte [esp + 0x258], cl
je 0x7699d4
mov dword [esp + 0x308], 1
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov esi, dword [esp + 0x3fc]
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x304], 0xffffffff
mov dword [esp + 0x340], edi
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x290], eax
mov eax, 1
jmp 0x769be9
mov esi, 0xb
mov edx, dword [edi + 8]
mov dword [esp + 0x308], 1
mov dword [esp + 0x304], 0xffffffff
test edx, edx
mov dword [esp + 0x340], edi
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x290], eax
mov ecx, edi
mov ebx, dword [esp + 0x3e4]
jne 0x76c193
jmp 0x769b5b
mov eax, dword [edx + 0x14]
test eax, eax
mov edi, dword [esp + 0x3f0]
je 0x769b5b
mov dword [esp + 0x338], ecx
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
je 0x769afc
mov ecx, dword [esp + 0x160]
test ecx, ecx
jne 0x769b05
mov esi, ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 1
mov ecx, esi
ja 0x769b05
mov dword [esp + 0xe8], edx
mov dword [esp + 0x568], 0x70000013
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov ecx, dword [esp + 0x3a0]
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x410], edi
mov dword [esp + 0x40c], ebx
mov eax, 7
jmp 0x769e2a
mov ecx, dword [esp + 0x338]
jmp 0x769b5b
mov esi, dword [esp + 0x138]
cmp esi, dword [edx + 0x10]
jne 0x769e05
mov esi, dword [esp + 0x138]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ecx
mov esi, edx
mov edi, ecx
call fcn.007cef80
mov edx, esi
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov ecx, edi
jne 0x769e05
mov dword [esp + 0x160], ecx
mov ecx, dword [esp + 0x338]
mov dword [esp + 0x3e4], ebx
mov dword [esp + 0x338], ecx
mov dword [esp + 0xe8], edx
mov eax, dword [esp + 0x358]
mov ecx, eax
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
add eax, ecx
mov eax, 8
mov ecx, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], ecx
mov esi, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x2e0], 1
mov dword [esp + 0x2e4], 0xffffffff
je 0x76a29e
cmp eax, 1
jne 0x769c44
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x769c44
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov ebx, dword [esp + 0x3dc]
mov edi, dword [esp + 0x3f0]
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x39c], eax
jmp 0x76a465
mov eax, dword [esp + 0x340]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x769c7a
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x769c7a
mov dword [esp + 0x2e0], 1
mov dword [esp + 0x2e4], 0xffffffff
jmp 0x76a29e
mov eax, 6
mov ecx, dword [ecx]
mov edx, dword [ecx]
mov ebx, edx
shr ebx, 0x18
mov byte [esp + 0x510], bl
mov ebx, edx
shr ebx, 0x10
mov byte [esp + 0x511], bl
mov byte [esp + 0x512], dh
mov byte [esp + 0x513], dl
mov edx, dword [ecx + 4]
mov byte [esp + 0x514], dh
mov byte [esp + 0x515], dl
mov ebx, edx
shr ebx, 0x10
shr edx, 0x18
mov byte [esp + 0x516], dl
mov byte [esp + 0x517], bl
movsd xmm0, qword [ecx + 8]
movsd qword [esp + 0x518], xmm0
mov ecx, dword [esp + 0x380]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x2b8]
mov edx, dword [edx + 0x14]
mov edx, dword [edx]
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x358]
lea edx, [edx + edx*2]
mov edx, dword [ecx + edx*8 + 0x14]
mov ecx, dword [edx + 0x14]
mov dword [esp + 0xe4], ecx
add edx, 0x18
mov dword [esp + 0xe0], edx
mov dword [esp + 0x2e0], 1
mov dword [esp + 0x3b8], 0
test ecx, ecx
mov dword [esp + 0x2e4], 0
mov edx, 0
je 0x76a29e
cmp eax, 6
je 0x769df2
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x3b8], edx
mov dword [esp + 0x3ac], edx
mov dword [esp + 0x408], esi
mov dword [esp + 0x3f8], esi
mov eax, dword [esp + 0x400]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov esi, dword [esp + 0x390]
mov edx, dword [esp + 0x3a0]
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3a8], eax
jne 0x770984
jmp 0x76a001
mov dword [esp + 0x3ac], edx
mov dword [esp + 0x3f8], esi
jmp 0x76a001
mov esi, ebx
mov dword [esp + 0x160], ecx
mov dword [esp + 0xe8], edx
mov eax, 0x10
mov dword [esp + 0x568], 0x7000003e
jmp 0x76b76e
cmp eax, 2
je 0x769f04
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3a0], ecx
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
jne 0x76d151
jmp 0x768eec
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x3a0], ecx
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
jmp 0x768ede
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
jne 0x7734e9
imul esi, dword [esp + 0x3ac], 0x1c
add esi, dword [esp + 0xe0]
lea eax, [esp + 0x510]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], 0x10
call fcn.007cef80
test eax, eax
mov edi, dword [esp + 0xe4]
jne 0x76a0ed
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x76a0ed
mov eax, 3
movzx ecx, byte [esi + 0x10]
shl ecx, 0x18
movzx edx, byte [esi + 0x11]
shl edx, 0x10
or edx, ecx
movzx ecx, byte [esi + 0x12]
shl ecx, 8
or ecx, edx
movzx edx, byte [esi + 0x13]
or edx, ecx
mov dword [esp + 0x2e0], 0
cmp edx, dword [esp + 0x12c]
jb 0x76a169
mov esi, 4
xor ecx, ecx
test cl, cl
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x2e4], ecx
je 0x76df9a
jmp 0x76a193
mov dword [esp + 0x3d0], 0x16
mov edx, dword [esp + 0x3ac]
mov eax, edx
not eax
and eax, 1
add eax, edx
setne al
movzx ecx, al
add ecx, edx
mov dword [esp + 0x2e0], 1
cmp ecx, edi
jae 0x76a380
mov eax, 0x12
mov edx, ecx
or edx, 2
mov esi, ecx
mov dword [esp + 0x3b8], ecx
xor esi, 2
add esi, edx
mov dword [esp + 0x2e4], edi
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x39c], ecx
jne 0x7735b1
jmp case.0x7676b0.36
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x2e4], ecx
cmp eax, 3
je 0x76a262
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov ecx, dword [esp + 0x408]
mov edx, dword [esp + 0x3ac]
je 0x76a287
mov eax, dword [esp + 0x148]
mov dword [esp + 0x530], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x534], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3fc], ecx
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x3b8], edx
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, 9
mov ecx, dword [esp + 0x1f8]
mov ecx, dword [ecx]
mov dword [esp + 0x338], ecx
mov dword [esp + 0x2b0], 1
mov esi, dword [esp + 0x37c]
mov edi, dword [esp + 0x274]
mov ebx, dword [esp + 0x3e4]
jmp 0x770622
mov esi, dword [esp + 0x408]
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
jmp 0x76a29e
mov esi, ecx
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3b8], edx
mov dword [esp + 0x3f8], esi
mov eax, dword [esp + 0x2b8]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov dword [esp + 0x410], esi
mov edx, ecx
mov edi, dword [esp + 0x2d8]
sub edx, edi
mov eax, dword [esp + 0x2d4]
sbb esi, eax
mov dword [esp + 0x40c], 0
mov ebx, 0x15180
cmp ebx, edx
sbb dword [esp + 0x40c], esi
setb dl
cmp edi, ecx
sbb eax, dword [esp + 0x410]
mov eax, 4
jae 0x76a393
imul ecx, ecx
and ecx, 3
cmp ecx, 1
mov ebx, dword [esp + 0x3f4]
mov ecx, dword [esp + 0x400]
mov esi, dword [esp + 0x3f8]
ja 0x76a362
test dl, dl
je 0x76a362
mov eax, 0xd
mov dword [esp + 0x568], 0x7000002d
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x2e4]
mov dword [esp + 0x304], ecx
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 0x308], ecx
mov edi, dword [esp + 0x3e4]
jmp 0x76f732
mov edx, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], edx
mov dword [esp + 0x39c], ecx
mov dword [esp + 0x404], ebx
jmp 0x76a3c4
mov dword [esp + 0x3b8], ecx
mov dword [esp + 0x2e4], edi
jmp case.0x7676b0.36
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], ecx
mov esi, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x404], ecx
mov ebx, dword [esp + 0x3dc]
mov edi, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x2e4]
mov dword [esp + 0x304], ecx
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 0x308], ecx
jmp 0x76bc4c
mov dword [esp + 0x568], 0x7000002c
mov dword [esp + 0x3b8], edi
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0x3e0], ebx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x400], ecx
mov dword [esp + 0x404], edx
mov dword [esp + 0x410], esi
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], ecx
mov dword [esp + 0x40c], eax
jmp 0x76d151
mov eax, dword [esp + 0x340]
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x76a4e5
mov eax, 0x15
mov ecx, 3
sub ecx, edx
xor ecx, edx
je 0x76a4e5
mov dword [esp + 0x410], edi
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x208], edx
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], ecx
mov edx, esi
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x2ec], ecx
mov ecx, dword [esp + 0x298]
mov dword [esp + 0x260], ecx
mov ecx, dword [esp + 0x304]
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0x308]
mov dword [esp + 0x1b8], ecx
mov edi, dword [ebp + 0xc]
jmp 0x76a551
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x408], esi
mov dword [esp + 0x410], edi
mov dword [esp + 0x208], edx
mov eax, 0x10
test byte [esp + 0x258], 1
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x2ec], ecx
mov ecx, dword [esp + 0x298]
mov dword [esp + 0x260], ecx
mov ecx, dword [esp + 0x304]
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0x308]
mov dword [esp + 0x1b8], ecx
je 0x76a791
jmp 0x76c812
cmp eax, 9
jne 0x76a5ce
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov ebx, dword [esp + 0x3ec]
mov esi, edx
mov dword [esp + 0x3fc], edx
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov edx, dword [esp + 0x404]
mov eax, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3e4], ecx
jne 0x76e7a9
jmp 0x76ab10
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov ebx, dword [esp + 0x3ec]
mov esi, edx
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov edx, dword [esp + 0x404]
mov eax, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3e4], ecx
jmp 0x76ab10
mov ecx, dword [esp + 0x340]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x76a6e4
mov edx, ecx
or edx, 2
xor ecx, 2
add ecx, edx
mov esi, dword [esp + 0x408]
je 0x76a714
lea eax, [esp + 0x560]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0xf
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
xor edx, edx
call fcn.00763380
mov ecx, eax
mov ebx, dword [esp + 0x410]
mov edx, dword [esp + 0x3d0]
jmp 0x76a803
mov dword [esp + 0x400], 0x10
mov edi, dword [esp + 0x3b4]
mov edx, dword [esp + 0x3b0]
mov ebx, dword [esp + 0x408]
mov eax, dword [esp + 0x3d0]
mov esi, dword [esp + 0x3c0]
jmp 0x76a73d
mov dword [esp + 0x400], 0x10
mov edi, dword [esp + 0x3b4]
mov edx, dword [esp + 0x3b0]
mov ebx, esi
mov esi, dword [esp + 0x3c0]
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3c0], esi
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x408], ebx
mov dword [esp + 0x3b0], edx
mov dword [esp + 0x3b4], edi
cmp dword [esp + 0x400], 0xa
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], esi
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3ac], edi
mov dword [esp + 0x3a4], edx
je 0x76ba16
mov esi, 7
lea eax, [esp + 0x560]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 0
mov dword [esp], 1
xor ecx, ecx
mov edx, dword [esp + 0x208]
call fcn.0077e350
mov ecx, eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov ebx, dword [esp + 0x410]
mov edx, dword [esp + 0x3d0]
cmp esi, 3
je 0x76a87c
imul esi, esi
and esi, 3
cmp esi, 2
je 0x76a87c
mov esi, dword [esp + 0x3fc]
mov dword [esp + 0x408], esi
mov dword [esp + 0xc8], ecx
mov eax, 0x15
mov edi, 0x16
mov dword [esp + 0x568], ecx
test ecx, ecx
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x400], ecx
mov dword [esp + 0x3dc], edx
mov ecx, dword [esp + 0x36c]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x3a4], ecx
je 0x76b92d
jmp 0x76a968
mov dword [esp + 0x3d0], edx
mov dword [esp + 0x410], ebx
mov eax, dword [esp + 0xbc]
lea eax, [eax - 0xb]
movzx eax, ax
cmp eax, 2
jb 0x76a8f0
mov esi, 0x12
imul eax, eax
and eax, 3
cmp eax, 2
je 0x76a8f0
mov dword [esp + 0xc8], ecx
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
jmp 0x768024
mov dword [esp + 0xc8], ecx
mov edi, 0xa
mov esi, 1
mov eax, dword [esp + 0x394]
shl eax, 4
mov ecx, dword [esp + 0x23c]
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 3
mov dword [esp + 8], 3
mov dword [esp + 4], 0x1b
call fcn.007855d0
mov dword [esp + 0x568], eax
test eax, eax
mov eax, dword [esp + 0x3b4]
jne 0x76fa27
jmp 0x772272
cmp eax, 6
jne 0x76aa3b
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x3dc], edx
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x3f0], ebx
mov dword [esp + 0x410], ebx
mov ebx, dword [esp + 0x40c]
mov eax, dword [esp + 0x384]
mov dword [esp + 0x36c], eax
mov esi, dword [esp + 0x3fc]
mov dword [esp + 0x368], esi
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x364], ecx
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
jb 0x77104d
jmp 0x76d151
mov dword [esp + 0x410], ebx
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3dc], edx
jmp 0x770e93
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov ecx, ebx
mov ebx, dword [esp + 0x3ec]
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov edx, dword [esp + 0x404]
mov dword [esp + 0x3f0], ecx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x564]
mov dword [esp + 0x260], eax
mov eax, dword [eax + 0xc]
mov dword [esp + 0x2ec], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3f4], edx
mov dword [esp + 0x3dc], eax
mov eax, 6
mov ecx, dword [esp + 0x260]
lea ecx, [ecx + 0xc]
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x2ec]
mov edx, dword [ecx + 0x18]
test edx, edx
mov edi, dword [esp + 0x3ac]
je 0x76ac01
mov dword [esp + 0x408], esi
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
mov dword [esp + 0x294], edx
je 0x76ac0f
mov eax, 0x14
mov ecx, 0xe
mov edx, dword [esp + 0x554]
mov dword [esp + 0x100], edx
test edx, edx
mov edx, dword [esp + 0x2ec]
mov dword [esp + 0x2e8], edx
mov dword [esp + 0x1f0], edx
mov edx, dword [esp + 0x3f4]
jne 0x76dcd7
mov dword [esp + 0x3bc], ebx
mov dword [esp + 0x3f4], edx
cmp eax, 0xb
jne 0x76ac6e
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3b8], edi
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
jne 0x769932
jmp 0x76b2a2
mov dword [esp + 0x408], esi
mov dword [esp + 0x294], edx
mov dword [esp + 0x3b8], edi
mov dword [esp + 0x3ec], ebx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x2ec]
mov dword [esp + 0x2e8], ecx
mov dword [esp + 0x1f0], ecx
jmp 0x76f533
mov dword [esp + 0x3bc], ebx
mov edx, dword [esp + 0x100]
mov eax, dword [edx]
mov dword [esp + 0x178], eax
test eax, eax
jne 0x76aca4
mov dword [esp + 0x3b8], edi
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
jmp 0x76b2a2
mov dword [esp + 0x3ac], edi
mov eax, 0x10
mov esi, dword [esp + 0x294]
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x25c], 0
lea ecx, [esi + 4]
mov dword [esp + 0x84], ecx
lea ecx, [esi + 0x1c]
mov dword [esp + 0x44], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x114], 0
mov edx, dword [esp + 0x344]
jmp 0x76fcc8
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov ebx, dword [esp + 0x3fc]
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], ecx
mov edx, dword [esp + 0x3f0]
mov ecx, esi
mov edi, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], edi
mov edi, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], edi
mov esi, dword [esp + 0x3a0]
mov dword [esp + 0x384], esi
mov esi, dword [esp + 0x398]
mov dword [esp + 0x3a8], esi
je 0x76ec39
mov dword [esp + 0x408], ebx
mov dword [esp + 0x410], edx
mov dword [esp + 0x40c], ecx
mov dword [esp + 0x3e0], eax
mov esi, dword [esp + 0x25c]
mov eax, esi
shl eax, 6
mov ecx, dword [esp + 0x18c]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
xor eax, dword [esp + 0x114]
mov ecx, edx
xor ecx, dword [esp + 0x118]
or ecx, eax
mov eax, 0xb
je 0x76ae01
mov ecx, 0x14
imul edx, edx
and edx, 3
cmp edx, 3
mov dword [esp + 0x230], esi
jne 0x76cde0
jmp 0x76ae08
mov dword [esp + 0x230], esi
cmp eax, 7
je 0x76af6e
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x76af6e
mov eax, dword [esp + 0x230]
shl eax, 6
mov edx, dword [esp + 0x18c]
mov ecx, dword [edx + eax + 8]
mov edx, dword [edx + eax + 0xc]
mov esi, dword [esp + 0x84]
mov esi, dword [esi]
xor edx, dword [esi + 4]
mov esi, dword [esi]
xor esi, ecx
or esi, edx
mov esi, 3
jne 0x76afc4
mov edx, ecx
and edx, 1
xor edx, ecx
not edx
test edx, edx
mov edi, dword [esp + 0x3a8]
je 0x76afe2
mov ecx, dword [esp + 0x18c]
mov ecx, dword [ecx + eax + 0x2c]
mov edx, dword [esp + 0x44]
mov edx, dword [edx]
cmp ecx, dword [edx]
jne 0x76b124
mov edx, 3
sub edx, ecx
xor edx, ecx
mov edi, dword [esp + 0x410]
je 0x76b1ca
mov ecx, dword [esp + 0x540]
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
sub ecx, edx
mov edx, dword [esp + 0x544]
mov esi, dword [esp + 0x18c]
mov dword [esi + eax + 0x10], ecx
sbb edx, 0
mov dword [esi + eax + 0x14], edx
mov ebx, dword [esp + 0x3ec]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0xf8]
mov eax, dword [eax]
jmp 0x76b583
mov edi, 0x13
mov ebx, dword [esp + 0x140]
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
call fcn.00492a60
mov esi, dword [esp + 0x380]
mov ecx, dword [esi]
mov edx, dword [esp + 0x2c8]
lea edx, [edx*8]
lea edx, [edx + edx*2]
mov dword [ecx + edx + 0x14], eax
mov ecx, dword [esi]
cmp dword [ecx + edx + 0x14], 0
mov dword [esp + 0x3f0], ebx
jne 0x7739ad
jmp 0x76c4e6
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
jmp 0x76aff7
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x398], edi
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
cmp esi, 3
mov ebx, dword [esp + 0x40c]
mov dword [esp + 0x3e4], ebx
mov edx, dword [esp + 0x410]
mov dword [esp + 0x3f0], edx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3f4], ecx
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov edi, dword [esp + 0x3f8]
mov dword [esp + 0x408], edi
mov esi, dword [esp + 0x3ec]
mov dword [esp + 0x40c], esi
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x3e8], edx
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x3ec], ebx
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x3bc], esi
mov dword [esp + 0x3fc], edi
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
jne case.0x7676b0.38
jmp 0x76b26b
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x398], edi
jmp 0x76b26b
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3f0], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
mov esi, dword [esp + 0x230]
lea edx, [esi + 1]
cmp edx, dword [esp + 0x178]
jae 0x76b29b
mov eax, 0x15
mov ecx, 2
sub ecx, esi
xor ecx, edx
mov dword [esp + 0x25c], edx
jne 0x76ec22
jmp 0x76b2a2
mov dword [esp + 0x25c], edx
mov eax, 9
mov ecx, dword [esp + 0x294]
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x76b2d7
mov dword [esp + 0x1cc], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov edi, dword [esp + 0x3f0]
mov ebx, dword [esp + 0x3bc]
jb 0x76b337
jmp 0x76b2ec
mov dword [esp + 0x1cc], ecx
mov edi, dword [esp + 0x3f0]
mov ebx, dword [esp + 0x3bc]
cmp eax, 6
je 0x76b4cb
xor eax, eax
test al, al
jne 0x76b4cb
mov ecx, dword [esp + 0x1cc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp eax, dword [esp + 0x540]
sbb ecx, dword [esp + 0x544]
jb 0x76b531
xor eax, eax
test al, al
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x2e8], eax
jne 0x76b583
mov dword [esp + 0x568], 0x70000036
mov dword [esp + 0x3ec], ebx
mov esi, dword [esp + 0x3fc]
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov ebx, edi
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov eax, 2
cmp eax, 2
jne 0x76b3d5
mov dword [esp + 0x3bc], ebx
mov dword [esp + 0x3f0], edi
jmp 0x7693b1
mov eax, dword [esp + 0x1f0]
jmp 0x76b583
mov dword [esp + 0x408], esi
mov eax, dword [esp + 0x400]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
jmp 0x770e93
mov ecx, dword [eax + 8]
test ecx, ecx
mov esi, dword [esp + 0x3e4]
je 0x76b6e4
mov edx, eax
mov eax, 0x20
mov dword [esp + 0x3b0], ecx
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x76b744
mov dword [esp + 0x3c0], 0xf
mov dword [esp + 0x154], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov dword [esp + 0x3b4], edx
mov dword [esp + 0x2e8], edx
mov dword [esp + 0x318], edx
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x3bc], ebx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x3f8], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x404], ecx
mov dword [esp + 0x410], edi
mov dword [esp + 0x3f0], edi
mov dword [esp + 0x40c], esi
je 0x76b76e
mov ecx, dword [esp + 0x3c0]
cmp ecx, 4
jne 0x76b668
mov eax, 3
sub eax, ecx
xor eax, ecx
jne 0x76824b
mov edi, 0xc
mov eax, dword [esp + 0x154]
mov eax, dword [eax]
mov ecx, dword [esp + 0x558]
mov dword [ecx], eax
mov eax, dword [esp + 0x558]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00493840
mov ecx, dword [esp + 0x558]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x558]
mov dword [esp + 0xd4], eax
mov eax, dword [eax + 4]
mov dword [esp + 0xd0], eax
test eax, eax
mov esi, dword [esp + 0x3f8]
je 0x76b926
mov eax, 0xb
xor ecx, ecx
test cl, cl
mov ebx, dword [esp + 0x410]
je 0x76b3b9
jmp 0x76b92d
mov dword [esp + 0x3ec], ebx
mov ebx, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x39c]
mov edx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], edx
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x404], edx
mov dword [esp + 0x410], edi
mov dword [esp + 0x40c], esi
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x318], eax
jmp 0x76ba16
mov dword [esp + 0x3bc], ebx
mov dword [esp + 0x3f0], edi
mov dword [esp + 0x154], ecx
mov dword [esp + 0x3b4], edx
mov dword [esp + 0x2e8], edx
mov dword [esp + 0x318], edx
cmp eax, 0x10
je 0x76b8aa
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov dword [esp + 0x40c], esi
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
je 0x76d151
mov eax, dword [esp + 0x3a4]
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x76b86d
mov edx, 3
sub edx, ecx
xor edx, ecx
je 0x76b86d
mov dword [esp + 0x400], 0xa
mov esi, dword [esp + 0x3cc]
mov ebx, dword [esp + 0x3fc]
mov eax, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3ac]
mov edi, ecx
mov edx, dword [esp + 0x3a4]
mov dword [esp + 0x318], ecx
jmp 0x76a73d
mov eax, 0x10
mov ecx, dword [ecx]
test ecx, ecx
mov edx, dword [esp + 0x3ac]
je 0x76b958
mov esi, 0xb
mov dword [esp + 0x90], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x318], edx
jne 0x76f1f2
jmp 0x76bd5a
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x40c], esi
jmp 0x76d151
mov ebx, dword [esp + 0x410]
cmp edi, 0xc
je 0x76b941
imul edi, edi
and edi, 3
cmp edi, 3
jne 0x76aa94
mov dword [esp + 0x410], ebx
mov dword [esp + 0x568], 0x70000003
jmp 0x76b55b
mov dword [esp + 0x90], ecx
mov dword [esp + 0x318], edx
jmp 0x76bd5a
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov esi, dword [ebp + 0xc]
mov dword [esp], esi
mov dword [esp + 0x18], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x33
call fcn.007855d0
mov dword [esp + 0x568], eax
mov eax, dword [esp + 0x564]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x318], eax
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x76ba08
mov dword [esp], esi
mov dword [esp + 4], 0
call fcn.00787a90
mov dword [esp + 0x568], eax
mov eax, dword [esp + 0x564]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x318], eax
mov ebx, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x39c]
mov eax, dword [esp + 0x318]
mov edx, dword [eax + 0x14]
test edx, edx
mov edi, ecx
jne 0x76bae6
mov eax, edx
or eax, 2
mov ecx, edx
xor ecx, 2
add ecx, eax
je 0x76bae6
mov dword [esp + 0x250], edx
mov dword [esp + 0x3fc], ebx
mov dword [esp + 0x39c], edi
mov eax, 3
mov ecx, dword [esp + 0x560]
test ecx, ecx
mov edi, dword [esp + 0x410]
mov ebx, dword [esp + 0x3fc]
je 0x76bc0b
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
je 0x76bc0b
mov eax, 0xd
cmp dword [ecx], 0
jne 0x76bc6b
mov esi, dword [esp + 0x404]
mov edx, ebx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], ecx
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], ecx
mov ecx, dword [esp + 0x290]
mov dword [esp + 0x31c], ecx
jmp 0x773125
mov dword [esp + 0x250], edx
mov eax, 5
mov ecx, dword [esp + 0x318]
mov esi, dword [ecx + 8]
test esi, esi
jne 0x76bd37
mov ecx, 0xd
mov edx, 3
sub edx, esi
xor edx, esi
mov dword [esp + 0xf4], esi
mov edx, dword [esp + 0x3ec]
mov dword [esp + 0x3fc], ebx
mov ebx, edx
mov edx, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], edx
mov dword [esp + 0x39c], edi
mov edx, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], edx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x3f4], edx
mov edi, dword [esp + 0x410]
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x3e4], edx
mov edx, dword [esp + 0x250]
mov dword [esp + 0x22c], edx
je 0x76bd5a
mov dword [esp + 0x3f0], edi
cmp ecx, 5
je 0x76929f
xor eax, eax
test al, al
jne 0x76929f
mov dword [esp + 0x3ec], ebx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov edi, dword [esp + 0x3f0]
mov edx, dword [esp + 0x3d4]
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
jmp 0x7742b4
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], ecx
mov esi, ebx
mov ebx, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], ecx
mov ecx, dword [esp + 0x290]
mov dword [esp + 0x31c], ecx
cmp eax, 3
je 0x76bd2b
xor eax, eax
test al, al
mov dword [esp + 0x3fc], esi
je 0x76a465
jmp 0x772022
mov eax, 3
mov edx, dword [esp + 0x2b4]
sub eax, edx
xor eax, edx
setne al
movzx eax, al
cmp edx, eax
sete byte [esp + 0x187]
mov eax, dword [esp + 0x188]
mov esi, eax
or eax, 2
mov edx, esi
xor edx, 2
add edx, eax
setne al
movzx eax, al
add eax, esi
mov esi, ebx
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov ebx, dword [esp + 0x3dc]
mov dword [esp + 0x28c], ecx
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
sete byte [esp + 0xb3]
mov eax, 8
mov dword [esp + 0x288], 0
lea ecx, [esp + 0x504]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x290]
mov dword [esp + 0x2d0], ecx
mov dword [esp + 0x2cc], 0
mov dword [esp + 0x31c], ecx
jmp 0x770c1d
mov dword [esp + 0x3fc], esi
jmp 0x772022
mov dword [esp + 0xf4], esi
mov dword [esp + 0x3fc], ebx
mov dword [esp + 0x39c], edi
mov ecx, dword [esp + 0x250]
mov dword [esp + 0x22c], ecx
cmp eax, 5
jne 0x76ba08
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov ebx, dword [esp + 0x3fc]
je 0x76ba0f
mov eax, 0xb
mov dword [esp + 0x400], 9
mov ecx, dword [esp + 0xf4]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0xf0], ecx
test ecx, ecx
mov ecx, dword [esp + 0x250]
mov dword [esp + 0x22c], ecx
mov edi, dword [esp + 0x410]
mov esi, dword [esp + 0x404]
mov edx, dword [esp + 0x3ac]
mov ebx, dword [esp + 0x3a4]
jne 0x771439
jmp 0x76d9ea
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 8
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x10
call fcn.007855d0
mov dword [esp + 0x568], eax
test eax, eax
jne 0x76be94
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x76be94
mov dword [esp + 0x404], esi
mov dword [esp + 0x410], edi
mov eax, dword [esp + 0x564]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x76bfb6
mov eax, 6
mov dword [esp + 0x22c], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], ecx
jne 0x773f9b
jmp 0x76ba51
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x408], ebx
mov ebx, eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3b8]
mov edx, esi
mov dword [esp + 0x3f0], edi
mov edi, eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov esi, 0x1a
cmp esi, 0xe
je 0x76bf9c
imul esi, esi
and esi, 3
cmp esi, 3
mov dword [esp + 0x3b8], edi
mov dword [esp + 0x3ac], edi
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x3bc], ebx
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x404], edx
mov dword [esp + 0x3f4], edx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
jne 0x76d151
jmp 0x76de51
mov dword [esp + 0x3ac], edi
mov dword [esp + 0x3bc], ebx
mov dword [esp + 0x3f4], edx
jmp 0x76de51
mov dword [esp + 0x22c], ecx
jmp 0x76ba51
mov dword [esp + 0x3f8], edx
mov esi, 0xc
lea eax, [esp + 0x528]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x52c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x22c]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
call fcn.0064bea0
mov dword [esp + 0x568], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x76c079
mov esi, 0x13
mov eax, dword [esp + 0x528]
add eax, 0x20
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00493840
test eax, eax
mov edx, dword [esp + 0x3f8]
jne 0x76c085
mov dword [esp + 0x410], edi
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0x1fc], eax
je 0x76c093
mov edx, dword [esp + 0x2ac]
jmp 0x76d63d
mov dword [esp + 0x410], edi
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3d4], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
cmp esi, 5
je 0x76c226
cmp esi, 0xb
je 0x769a1d
mov dword [esp + 0x338], ecx
mov dword [esp + 0xe8], edx
mov edx, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3f4]
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x40c], ebx
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov ebx, dword [esp + 0x1fc]
mov eax, dword [esp + 0xcc]
jmp 0x76c322
mov dword [esp + 0x400], edx
mov dword [esp + 0x404], ecx
mov dword [esp + 0x1fc], ebx
mov esi, 0x17
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0xfffffff8
mov ebx, eax
call fcn.0068ece0
mov dword [esp + 0x568], eax
test eax, eax
je 0x76c37f
mov edi, 0xf
xor eax, eax
test al, al
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xcc], ebx
je 0x76e0e0
jmp 0x770114
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xcc], ebx
jmp 0x770114
mov eax, dword [esp + 0x1fc]
mov dword [esp], eax
call fcn.004936c0
jmp 0x76d151
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x408], esi
mov eax, dword [esp + 0x28c]
mov ecx, dword [eax + 4]
mov dword [esp + 0x23c], ecx
mov esi, dword [esp + 0x288]
mov eax, esi
shl eax, 4
movzx eax, word [ecx + eax]
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx edx, cl
mov cx, ax
and cx, dx
and dx, ax
mov eax, 6
jne 0x76c433
cmp eax, 6
je 0x76c58e
xor eax, eax
test al, al
jne 0x76c58e
mov edx, dword [esp + 0x35c]
mov ecx, dword [edx]
test ecx, ecx
mov edi, dword [esp + 0x3d0]
je 0x76c5f7
cmp edi, 6
jne 0x76c783
mov edx, dword [esp + 0x360]
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
mov edi, dword [esp + 0x3ec]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov ecx, dword [esp + 0x3e8]
mov esi, dword [esp + 0x3e0]
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
jmp 0x76efd3
mov ecx, dword [esp + 0x394]
shl ecx, 4
mov eax, dword [esp + 0x23c]
movzx esi, word [eax + ecx + 8]
cmp esi, 5
mov edi, dword [esp + 0x3d0]
je 0x76c61b
mov eax, 9
movzx edx, si
mov dword [esp + 0xbc], esi
cmp edx, 9
jne 0x76c6c8
mov eax, dword [esp + 0x23c]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 3
mov dword [esp + 4], 0x15
call fcn.007855d0
mov dword [esp + 0x568], eax
test eax, eax
je 0x76c878
mov esi, 0xa
mov dword [esp + 0x568], 0x70000003
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
jmp 0x773844
cmp eax, 0x10
jne 0x76c826
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x76a630
mov esi, 0xc
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004936c0
mov ecx, dword [esp + 0x390]
mov eax, dword [ecx]
mov dword [eax + 0x2c], 0
mov eax, dword [ecx]
mov dword [esp + 0x120], eax
jmp 0x770a94
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3a8], eax
mov edx, dword [esp + 0x388]
mov eax, dword [esp + 0x560]
mov ecx, dword [eax + 4]
mov dword [esp + 0x3cc], ecx
mov ebx, dword [esp + 0x394]
shl ebx, 4
movzx ecx, word [ecx + ebx]
test cl, 2
jne 0x76c90c
not ecx
or ecx, 0xfffffffd
je 0x76c90c
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
jmp 0x771b08
mov dword [esp + 0x384], edx
mov ecx, dword [esp + 0x3cc]
movzx ecx, word [ecx + ebx + 8]
lea edx, [ecx - 0xb]
movzx edx, dx
cmp edx, 2
jae 0x76ca91
mov dword [esp + 0x4fc], 0xffffffff
mov dword [esp + 0x4f8], 0
mov dword [esp + 0x4f4], 0
mov eax, dword [eax + 4]
mov eax, dword [eax + ebx + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edx, [esp + 0x4f4]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627820
mov dword [esp + 0x568], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x76cbe8
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
movzx ecx, word [eax + ebx]
cmp ecx, 3
sete dl
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
or cl, dl
mov byte [esp + 0x400], cl
mov eax, dword [eax + ebx + 4]
lea ecx, [esp + 0x4f8]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x4fc]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00789cf0
mov esi, dword [esp + 0x4f8]
movzx eax, byte [esp + 0x400]
cmp eax, 1
jne 0x76ccc2
test esi, esi
je 0x76ccc2
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
je 0x76ccc2
mov edi, 2
mov eax, dword [esi + 0x10]
mov dword [esp + 0x80], eax
mov dword [esp], esi
call fcn.00627900
mov dword [esp + 0x4f8], 0
mov ecx, dword [esp + 0x3c0]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x2f8], esi
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x4f4]
mov dword [esp + 0x88], eax
jmp 0x76e54b
movzx ecx, cx
cmp ecx, 9
jne 0x76cc47
mov dword [esp + 0x504], 0
mov dword [esp + 0x500], 0
mov eax, dword [eax + 4]
mov ecx, dword [eax + ebx + 4]
cmp ecx, 0xffce
jne 0x76cd1c
mov edx, ecx
or edx, 2
xor ecx, 2
add ecx, edx
je 0x76cd1c
mov esi, 8
mov eax, dword [eax + ebx + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0062d560
test eax, eax
jne 0x76d05b
mov esi, 0xc
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov eax, dword [eax + ebx + 0xc]
mov ebx, 0xf
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edx, [esp + 0x500]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0062dd50
mov dword [esp + 0x568], eax
test eax, eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov edx, dword [esp + 0x384]
mov dword [esp + 0x3a0], edx
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
mov dword [esp + 0x38c], eax
mov dword [esp + 0x388], edx
jne 0x770cbd
jmp 0x76f8d7
mov dword [esp + 0x568], 0x70000013
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x384]
mov edx, eax
mov esi, dword [esp + 0x3a8]
mov ecx, esi
mov dword [esp + 0x38c], esi
mov dword [esp + 0x388], eax
mov eax, 3
mov edi, dword [esp + 0x410]
mov ebx, dword [esp + 0x3d0]
jmp 0x770f05
cmp ecx, 4
sete al
cmp ecx, 5
sete dl
mov esi, ecx
or esi, 2
mov edi, ecx
xor edi, 2
add edi, esi
setne ah
test dl, ah
mov esi, dword [esp + 0x3a8]
jne 0x76cd5d
and al, byte [esp + 0x187]
jne 0x76cd5d
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x38c], esi
mov edx, dword [esp + 0x384]
mov dword [esp + 0x388], edx
jmp 0x771b1d
mov edi, dword [esp + 0x4f4]
test esi, esi
mov ebx, dword [esp + 0x3a8]
jne 0x76d091
mov eax, esi
not eax
and eax, 1
mov dword [esp + 0x80], 0
add eax, esi
je 0x76d091
mov dword [esp + 0x35c], edi
mov dword [esp + 0x38c], ebx
mov ecx, dword [esp + 0x384]
mov dword [esp + 0x388], ecx
mov edx, ebx
mov ebx, dword [esp + 0x3c0]
jmp 0x76e603
mov dword [esp + 0x568], 0x70000013
mov ebx, dword [esp + 0x3a8]
mov dword [esp + 0x38c], ebx
mov ecx, dword [esp + 0x384]
mov dword [esp + 0x388], ecx
mov edi, dword [esp + 0x410]
mov edx, dword [esp + 0x3d0]
mov esi, dword [esp + 0x3c0]
jmp 0x76d91a
cmp ecx, 4
sete al
mov dword [esp + 0x3f8], 0xc
mov ecx, dword [esp + 0x130]
cmove ecx, dword [esp + 0x108]
mov dword [esp + 0x54], ecx
movzx edx, al
inc al
mov byte [esp + 0x9f], al
add edx, 0x15
mov dword [esp + 0x98], edx
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
mov dword [esp + 0x198], 0
cmp ecx, eax
mov ecx, 0xe
mov dword [esp + 0x194], 0
mov dword [esp + 0x38c], esi
mov eax, dword [esp + 0x384]
mov dword [esp + 0x388], eax
jne 0x76cea4
cmp ecx, 0xe
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
jne 0x76b26b
jmp 0x76ea7a
mov ecx, dword [esp + 0x3f8]
cmp ecx, 0xa
je 0x76cf91
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
je 0x76cf91
mov esi, 8
mov edi, dword [esp + 0x380]
mov eax, dword [edi]
mov ecx, dword [esp + 0x54]
lea ebx, [ecx + ecx*2]
mov ecx, dword [eax + ebx*8 + 0x10]
mov edx, dword [eax + ebx*8 + 0x14]
mov eax, dword [eax + ebx*8 + 4]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0068f340
mov dword [esp + 0x568], eax
test eax, eax
je 0x76cfb5
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
cmp esi, 8
je 0x76cf81
imul esi, esi
and esi, 3
cmp esi, 3
je 0x76cf81
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
jmp 0x76c881
mov dword [esp + 0x568], 0x3000002f
jmp 0x76d151
mov esi, 0x11
mov eax, 2
cmp dword [esp + 0x558], 0
mov ecx, dword [esp + 0x384]
jne 0x769e2a
jmp 0x771d90
mov eax, dword [edi]
mov esi, dword [eax + ebx*8 + 0x10]
mov dword [esp], esi
mov dword [esp + 4], 1
call fcn.00493840
mov edi, eax
test edi, edi
je 0x76d04b
mov eax, edi
and eax, 1
inc eax
xor eax, edi
je 0x76d04b
mov eax, dword [esp + 0x380]
mov eax, dword [eax]
mov eax, dword [eax + ebx*8 + 0x14]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007ce510
mov ecx, 0xf
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
mov dword [esp + 0x198], edi
mov dword [esp + 0x194], esi
jmp 0x76ea4b
mov dword [esp + 0x568], 0x70000003
jmp 0x770f6f
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov edx, dword [esp + 0x384]
jmp 0x76da9d
mov eax, 0xd
mov edx, dword [esi]
mov dword [esp + 0x80], 0
mov dword [esp + 0x378], 0x700002bb
test edx, edx
jne 0x76d109
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x35c], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x2f8], esi
mov dword [esp + 0x38c], ebx
mov edx, dword [esp + 0x384]
mov dword [esp + 0x388], edx
mov dword [esp + 0x390], esi
mov dword [esp + 0x3a0], edx
mov dword [esp + 0x398], ebx
jne 0x770984
jmp 0x76c456
mov dword [esp + 0x40], edx
mov dword [esp + 0x390], esi
mov dword [esp + 0x2f8], esi
mov ecx, dword [esp + 0x384]
mov dword [esp + 0x3a0], ecx
mov dword [esp + 0x398], ebx
mov dword [esp + 0x38c], ebx
mov dword [esp + 0x388], ecx
mov dword [esp + 0x35c], edi
mov dword [esp + 0x88], edi
jmp 0x76c456
mov ecx, dword [esp + 0x558]
test ecx, ecx
je 0x76d1c2
mov eax, 5
mov dword [esp + 0x1e0], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d8], ecx
mov ebx, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], ecx
mov edx, dword [esp + 0x374]
mov edi, dword [esp + 0x410]
mov esi, dword [esp + 0x408]
jne 0x76d3e5
jmp 0x76d5d3
mov dword [esp + 0x1e0], ecx
mov edx, dword [esp + 0x374]
mov edi, dword [esp + 0x410]
mov esi, dword [esp + 0x408]
jmp 0x76d5d3
mov esi, 0x11
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x394]
shl ecx, 4
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 4
mov dword [esp + 8], 3
mov dword [esp + 4], 0x18
call fcn.007855d0
mov dword [esp + 0x568], eax
test eax, eax
mov edx, dword [esp + 0x3d0]
mov edi, dword [esp + 0x3fc]
je 0x76d397
mov ecx, 0xe
xor eax, eax
test al, al
mov dword [esp + 0x408], edi
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x3dc], edx
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
jne 0x76d39e
cmp ecx, 1
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
je 0x7693b1
jmp 0x76d151
mov dword [esp + 0x408], edi
cmp esi, 0xc
je 0x76c89d
xor eax, eax
test al, al
mov edx, dword [esp + 0x374]
jne 0x76c89d
mov ecx, 0x1a
mov eax, 3
test byte [esp + 0x187], 1
mov edi, dword [esp + 0x410]
mov esi, dword [esp + 0x408]
mov ebx, dword [esp + 0x3d0]
je 0x7721ac
mov dword [esp + 0x408], esi
mov dword [esp + 0x374], edx
cmp eax, 3
jne 0x76d488
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x76d488
mov esi, ebx
mov dword [esp + 0x410], edi
mov edi, 6
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x394]
shl ecx, 4
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 5
mov dword [esp + 8], 3
mov dword [esp + 4], 0x19
call fcn.007855d0
mov dword [esp + 0x568], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x771367
jmp 0x76d849
mov esi, 0xa
mov eax, dword [esp + 0x1e0]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call fcn.0064bf00
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x3dc], ebx
mov dword [esp + 0x3f0], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
cmp esi, 0xa
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov esi, dword [esp + 0x3fc]
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov ecx, dword [esp + 0x3b8]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov edi, dword [esp + 0x3f0]
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov edx, dword [esp + 0x374]
jne 0x76941e
mov dword [esp + 0x408], esi
mov dword [esp + 0x374], edx
mov eax, 8
mov edx, dword [esp + 0x564]
test edx, edx
mov ebx, dword [esp + 0x404]
jne 0x76d67f
mov esi, 0x12
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3f0], edi
mov ecx, dword [esp + 0x3f8]
mov ebx, dword [esp + 0x40c]
mov dword [esp + 0x3e4], ebx
je 0x76d6b0
cmp esi, 0xc
jne 0x76d74a
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3f0], edi
mov ecx, dword [esp + 0x3f8]
mov esi, dword [esp + 0x40c]
mov dword [esp + 0x3e4], esi
cmp eax, 8
je 0x76d727
imul eax, eax
and eax, 3
cmp eax, 3
je 0x76d727
mov dword [esp + 0x2ac], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3e8], eax
mov dword [esp + 0x3f8], ecx
jmp 0x76f3b8
mov dword [esp], edx
mov dword [esp + 0x2ac], edx
mov esi, ecx
call fcn.00627240
mov eax, esi
mov esi, dword [esp + 0x3f4]
mov ebx, dword [esp + 0x3f0]
jmp 0x76d77d
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x560]
test eax, eax
je 0x76d7e9
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x76d7e9
mov dword [esp + 0x3f4], esi
mov dword [esp + 0x410], 0x14
mov dword [esp], eax
call fcn.00627360
mov ecx, dword [esp + 0x3ec]
mov esi, dword [esp + 0x3e8]
mov eax, dword [esp + 0x3e0]
mov edi, dword [esp + 0x3b8]
mov edx, dword [esp + 0x284]
mov dword [esp + 0x40c], edx
mov edx, dword [esp + 0x344]
jmp 0x76fd71
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov ecx, dword [esp + 0x3e4]
mov edx, dword [esp + 0x344]
mov eax, dword [esp + 0x3ec]
jmp 0x76fee4
mov edi, 5
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x394]
shl ecx, 4
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 6
mov dword [esp + 8], 3
mov dword [esp + 4], 0x1a
call fcn.007855d0
mov dword [esp + 0x568], eax
test eax, eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3dc], esi
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
je 0x7695fe
jmp 0x76d151
mov dword [esp + 0x3cc], esi
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3dc], edx
mov esi, dword [esp + 0x3d4]
mov edx, ecx
mov dword [esp + 0x398], ebx
mov eax, 0xd
mov ecx, dword [esp + 0x3b8]
mov dword [esp + 0x3f8], esi
mov dword [esp + 0x410], edi
mov dword [esp + 0x3a0], edx
mov dword [esp + 0x3b8], ecx
cmp eax, 7
je 0x76d97d
xor eax, eax
test al, al
je 0x76d151
mov eax, dword [esp + 0x200]
mov eax, dword [eax]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov eax, 1
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d8], ecx
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], ecx
mov edx, dword [esp + 0x3b4]
mov ebx, dword [esp + 0x3b0]
mov ecx, dword [esp + 0x328]
mov ecx, dword [ecx]
mov dword [esp + 0x270], ecx
mov edi, dword [esp + 0x410]
mov esi, dword [esp + 0x404]
mov dword [esp + 0x404], esi
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov ecx, dword [esp + 0x3d4]
mov eax, ecx
mov dword [esp + 0x3b4], edx
mov dword [esp + 0x3b0], ebx
mov edx, dword [esp + 0x344]
mov dword [esp + 0x3fc], edx
mov ebx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], edx
mov edx, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], edx
mov edx, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], edx
mov dword [esp + 0x3f4], esi
mov dword [esp + 0x3f0], edi
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x3e4], edx
mov edx, eax
jne 0x76bfc2
jmp 0x76fbff
cmp esi, 8
je 0x76db69
mov ebx, edx
xor eax, eax
test al, al
mov edi, dword [esp + 0x410]
jne 0x76dbf3
mov esi, 0xc
mov eax, dword [esp + 0x1e8]
mov dword [esp], eax
call fcn.00627a10
mov dword [esp + 0x55c], 0
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x3f0], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov dword [esp + 0x388], ebx
mov dword [esp + 0x3a0], ebx
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x398], eax
jmp 0x770509
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x388], edx
jmp 0x76e389
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x3f0], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x388], ebx
jmp 0x76e389
test byte [esp + 0xb3], 1
je 0x76dd30
mov dword [esp + 0x3f4], edx
cmp ecx, 0xe
je 0x76ac53
xor eax, eax
test al, al
jne 0x76ac53
mov eax, dword [esp + 0x500]
mov dword [esp], eax
call fcn.0062e0f0
mov dword [esp + 0x500], 0
mov dword [esp + 0x568], 0x70000003
mov esi, dword [esp + 0x3cc]
mov dword [esp + 0x3b8], edi
mov dword [esp + 0x3ec], ebx
jmp 0x76e150
mov eax, dword [esp + 0x500]
mov dword [esp], eax
call fcn.0062e0f0
mov dword [esp + 0x500], 0
mov eax, dword [esp + 0x504]
mov dword [esp], eax
call fcn.0062ddc0
mov dword [esp + 0x504], 0
jmp 0x76e12d
mov eax, dword [esp + 0x500]
mov eax, dword [eax + 4]
test eax, eax
jne 0x76de6a
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x76dea5
mov ecx, dword [esp + 0x504]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0
call fcn.0062e130
mov dword [esp + 0x568], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x76e029
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov esi, dword [esp + 0x394]
shl esi, 4
mov eax, dword [eax + esi + 0xc]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov eax, dword [eax + esi + 0xc]
mov dword [eax + 4], 0
mov edx, dword [esp + 0x504]
mov ecx, dword [edx]
test ecx, ecx
je 0x76df06
mov eax, 0x10
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x76df06
mov dword [esp + 0xec], edx
jmp 0x76e178
mov esi, 0x11
mov dword [esp], edx
mov dword [esp + 0xec], edx
call fcn.0062ddc0
mov dword [esp + 0x504], 0
mov eax, dword [esp + 0x500]
mov dword [esp], eax
call fcn.0062e0f0
mov dword [esp + 0x500], 0
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0xffffffce
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 3
mov dword [esp + 4], 0x26
call fcn.007855d0
mov dword [esp + 0x568], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x76e389
cmp esi, 4
jne 0x76e12d
mov eax, esi
not eax
and eax, 1
add eax, esi
mov eax, dword [esp + 0x3e4]
mov edx, dword [esp + 0x3f4]
mov esi, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3bc]
mov ebx, dword [esp + 0x3c8]
mov edi, dword [esp + 0x3ac]
jne 0x76a401
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x3b8], edi
mov dword [esp + 0x3ec], ecx
mov edi, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], edi
mov dword [esp + 0x3e0], ebx
mov dword [esp + 0x404], edx
mov edx, dword [esp + 0x3dc]
mov edi, esi
mov esi, dword [esp + 0x3c0]
jmp 0x76e460
mov edi, 0xc
mov eax, dword [esp + 0x500]
mov dword [esp], eax
call fcn.0062e0f0
mov dword [esp + 0x500], 0
mov eax, dword [esp + 0x504]
mov dword [esp], eax
call fcn.0062ddc0
mov dword [esp + 0x504], 0
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
cmp edi, 0xc
jne 0x76c392
mov esi, dword [esp + 0x3cc]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov edx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov ecx, dword [esp + 0x3a0]
mov ebx, dword [esp + 0x398]
mov edi, dword [esp + 0x410]
jmp 0x76d91a
mov esi, dword [esp + 0x3cc]
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3f4]
jmp 0x76e44b
cmp eax, 3
jne 0x76e285
mov eax, dword [esp + 0x254]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc0]
mov esi, dword [esp + 0x3f4]
mov edi, dword [esp + 0x3f0]
mov ebx, dword [esp + 0x3bc]
mov edx, dword [esp + 0x3ac]
mov dword [esp + 0x134], eax
mov eax, dword [eax]
mov dword [ecx], eax
mov dword [esp + 0x3ec], ebx
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x3b8], edx
mov edx, esi
mov ebx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov esi, 2
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x310], eax
mov dword [esp + 0x404], edx
mov dword [esp + 0x410], edi
mov dword [esp + 0x174], ecx
cmp esi, 2
jne 0x77095c
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3dc], ebx
mov dword [esp + 0x3d0], ebx
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
jne 0x76e645
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov edi, dword [esp + 0x394]
shl edi, 4
mov eax, dword [eax + edi + 0xc]
mov dword [esp + 8], eax
add eax, 4
mov dword [esp + 4], eax
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.00627ff0
mov dword [esp + 0x568], eax
mov eax, dword [esp + 0x504]
mov dword [esp], eax
call fcn.0062ddc0
mov dword [esp + 0x504], 0
mov eax, dword [esp + 0x500]
mov dword [esp], eax
call fcn.0062e0f0
mov dword [esp + 0x500], 0
mov eax, dword [esp + 0x568]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x3f4]
mov edx, dword [esp + 0x3bc]
jne 0x76e413
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov eax, dword [eax + edi + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x10], 0xffffffce
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 2
mov dword [esp + 4], 0x26
call fcn.007855d0
mov dword [esp + 0x568], eax
test eax, eax
jne 0x76e481
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov ecx, 1
je 0x76e486
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov edx, dword [esp + 0x388]
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3a8], eax
jmp 0x771b1d
mov esi, dword [esp + 0x3cc]
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], ecx
mov dword [esp + 0x3ec], edx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], edx
mov edx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], edx
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3dc]
mov edi, dword [esp + 0x3f0]
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov ecx, dword [esp + 0x3a0]
mov ebx, dword [esp + 0x398]
jmp 0x76d91a
mov ecx, 1
mov eax, ecx
and eax, 1
xor eax, ecx
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp ecx, eax
mov esi, dword [esp + 0x3cc]
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov edx, dword [esp + 0x3dc]
mov edi, dword [esp + 0x3f0]
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov ecx, dword [esp + 0x3a0]
mov ebx, dword [esp + 0x398]
mov eax, dword [esp + 0x210]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x334]
je 0x76d91a
jmp 0x77156b
mov ebx, dword [esp + 0x3d0]
cmp edi, 2
je 0x76e5a2
mov dword [esp + 0x3cc], ecx
imul edi, edi
and edi, 3
cmp edi, 3
mov eax, dword [esp + 0x398]
mov ecx, dword [esp + 0x3a0]
je 0x76e5d7
mov esi, 1
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00627900
mov dword [esp + 0x3dc], ebx
mov edi, dword [esp + 0x2d0]
mov edx, dword [esp + 0x2cc]
jmp 0x771bc8
mov dword [esp + 0x3d0], ebx
mov ebx, ecx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov esi, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x3a0]
mov edx, dword [esp + 0x398]
mov edi, dword [esp + 0x88]
jmp 0x76e603
mov dword [esp + 0x3d0], ebx
mov ebx, dword [esp + 0x3cc]
mov edx, dword [esp + 0x3fc]
mov dword [esp + 0x408], edx
mov esi, dword [esp + 0x2f8]
mov edx, eax
mov edi, dword [esp + 0x88]
mov dword [esp + 0x88], edi
mov eax, dword [esp + 0x80]
mov dword [edi + 0x10], eax
mov dword [esp + 0x3cc], ebx
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x310], edi
mov dword [esp + 0x3a0], ecx
mov dword [esp + 0x398], edx
mov dword [esp + 0x2f8], esi
mov dword [esp + 0x568], 0
mov eax, dword [esp + 0x564]
cmp dword [eax + 8], 4
mov ebx, 1
mov edi, dword [esp + 0x388]
cmove edi, ebx
mov dword [esp + 0x1c0], edi
mov eax, dword [esp + 0x310]
mov eax, dword [eax]
mov eax, dword [eax]
lea ecx, [eax - 3]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
mov edx, dword [esp + 0x38c]
cmove edx, ebx
cmp ecx, 2
cmovb edx, ebx
mov ecx, edi
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
mov esi, 3
sub esi, eax
xor esi, eax
setne ch
movzx esi, ch
cmp eax, esi
movzx eax, cl
cmovne ebx, edx
cmp edi, eax
cmove ebx, edx
mov dword [esp + 0x1bc], ebx
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x394]
shl ecx, 4
mov eax, dword [eax + ecx + 4]
mov edx, dword [esp + 0x310]
mov ecx, dword [edx + 4]
mov ebx, edx
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov edi, dword [ebp + 0xc]
mov dword [esp], edi
call fcn.00787230
mov dword [esp + 0x568], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x76e8a4
test byte [esp + 0x187], 1
je 0x76e958
mov esi, 0x14
mov eax, 9
mov ecx, dword [esp + 0x4fc]
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
add edx, ecx
mov dword [esp + 0x214], ebx
mov dword [esp + 0x330], ebx
mov edx, dword [esp + 0x3fc]
jne 0x76a551
cmp esi, 6
jne 0x76e784
imul esi, esi
and esi, 3
cmp esi, 2
jb 0x7687dc
mov dword [esp + 0x3fc], edx
mov eax, dword [esp + 0x214]
mov eax, dword [eax]
mov eax, dword [eax]
cmp eax, 4
je 0x76e7a9
mov ecx, 7
cmp eax, 2
jne 0x76ea4b
mov esi, 0x13
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x394]
shl ecx, 4
mov eax, dword [eax + ecx + 4]
mov ecx, dword [esp + 0x330]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00786b80
mov dword [esp + 0x568], eax
test eax, eax
je 0x76e993
xor eax, eax
test al, al
mov eax, dword [esp + 0x410]
jne 0x76e9a6
mov eax, dword [esp + 0x4f8]
test eax, eax
jne 0x76e9b2
cmp esi, 0xa
jne 0x76ecb6
imul esi, esi
and esi, 3
cmp esi, 2
mov ecx, dword [esp + 0x3f8]
mov edi, ecx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov dword [esp + 0x408], ecx
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
jb 0x76d151
jmp 0x76eccb
mov eax, 0xe
mov ecx, dword [esp + 0x4f8]
test ecx, ecx
je 0x76eb47
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
mov esi, dword [esp + 0x404]
je 0x76eb9d
mov dword [esp], ecx
call fcn.00627900
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov edi, dword [esp + 0x3b0]
mov dword [esp + 0x3f4], esi
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov dword [esp + 0x214], ebx
mov dword [esp + 0x330], ebx
jmp 0x76ec39
mov eax, 0xc
mov dword [esp + 0x214], ebx
mov dword [esp + 0x330], ebx
mov esi, dword [esp + 0x390]
mov ecx, dword [esp + 0x398]
mov edx, dword [esp + 0x3a0]
mov edi, dword [esp + 0x3cc]
mov ebx, dword [esp + 0x3fc]
jmp 0x7709ce
mov eax, dword [esp + 0x410]
mov ecx, dword [esp + 0x3fc]
jmp 0x76ecf6
mov ecx, dword [esp + 0x3fc]
jmp 0x76ecf6
cmp dword [esp + 0x3c8], 6
je 0x7680d1
xor eax, eax
test al, al
jne 0x7680d1
mov edi, dword [esp + 0x3f8]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3d4], esi
jmp 0x76eccb
cmp ecx, 7
mov ecx, dword [esp + 0x3cc]
mov edx, dword [esp + 0x3fc]
je 0x770a0f
xor eax, eax
test al, al
mov dword [esp + 0x408], edx
mov dword [esp + 0x3c0], ecx
jne 0x770a0f
mov esi, 0xa
mov eax, dword [esp + 0x394]
shl eax, 4
mov ecx, dword [esp + 0x3c0]
mov eax, dword [ecx + eax + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edx, [esp + 0x55c]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627940
mov dword [esp + 0x568], eax
mov ecx, dword [esp + 0x55c]
test eax, eax
jne 0x76eb11
test ecx, ecx
je 0x76eb11
mov edi, 9
mov eax, ecx
or eax, 2
mov dword [esp + 0x228], ecx
xor ecx, 2
add ecx, eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x220], eax
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0x218], eax
mov ecx, dword [esp + 0x40c]
jne 0x77174d
mov dword [esp + 0x228], ecx
mov eax, dword [esp + 0x198]
mov dword [esp + 0x220], eax
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0x218], eax
mov ecx, dword [esp + 0x40c]
jmp 0x76ed8a
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3f4], ecx
jmp 0x76ebea
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], ecx
mov dword [esp + 0x3f4], esi
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3e4], ecx
mov dword [esp + 0x214], ebx
mov dword [esp + 0x330], ebx
cmp eax, 0xe
mov esi, dword [esp + 0x3e4]
jne 0x76ad00
mov edi, dword [esp + 0x3a4]
mov esi, 2
mov eax, dword [esp + 0x4f4]
mov dword [esp], eax
call fcn.00627900
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov ecx, edi
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x404], edx
mov edx, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x3f0]
mov edi, dword [esp + 0x3e4]
mov dword [esp + 0x40c], edi
jmp 0x772d45
mov edi, dword [esp + 0x3f8]
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x39c], eax
mov esi, 0x10
mov eax, dword [esp + 0x4f4]
mov dword [esp], eax
call fcn.00627900
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x410]
mov ecx, edi
mov dword [esp + 0x3fc], ecx
mov dword [esp + 0x410], eax
cmp esi, 0x10
je 0x770e69
mov eax, esi
and eax, 1
inc eax
xor eax, esi
jne 0x770a0f
jmp 0x770e69
mov esi, 9
mov edx, dword [esp + 0x120]
mov ecx, dword [edx + 0x24]
test ecx, ecx
mov edi, dword [esp + 0x410]
je 0x76ed75
mov eax, 0x11
mov dword [esp + 0x204], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x2bc], edx
mov ebx, dword [esp + 0x404]
mov edx, edi
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3e4], ecx
jne 0x76895c
jmp 0x76ed8a
mov dword [esp + 0x204], ecx
mov dword [esp + 0x2bc], edx
mov ecx, dword [esp + 0x40c]
cmp esi, 9
jne 0x76ee77
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x76ee77
mov ebx, dword [esp + 0x404]
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov edx, ecx
mov eax, dword [esp + 0x2bc]
mov edi, dword [esp + 0x360]
mov dword [esp + 0x2bc], eax
mov esi, 4
mov eax, dword [eax + 0x28]
test eax, eax
je 0x76eeaf
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x76eeaf
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3e4], edx
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x390]
mov eax, dword [eax]
mov dword [eax + 0x28], 0
mov edx, edi
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov edi, dword [esp + 0x3ec]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov ecx, dword [esp + 0x3e8]
mov esi, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
jmp 0x76efd3
mov dword [esp + 0x40c], ecx
mov eax, dword [esp + 0x220]
test eax, eax
mov esi, dword [esp + 0x3c0]
je 0x76ee98
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x568], 0x70000013
mov dword [esp + 0x3cc], esi
jmp 0x770e77
mov dword [esp + 0x360], edi
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x3ec], edx
cmp esi, 2
je case.0x7676b0.38
xor eax, eax
test al, al
mov edx, dword [esp + 0x360]
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov edi, dword [esp + 0x40c]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov ecx, dword [esp + 0x410]
mov esi, dword [esp + 0x404]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e4], eax
jne case.0x7676b0.38
mov dword [esp + 0x3ec], edi
mov dword [esp + 0x3e8], ecx
mov ebx, 0x14
mov eax, dword [esp + 0x35c]
mov eax, dword [eax + 4]
test eax, eax
jne 0x772aec
mov edi, eax
and edi, 1
xor edi, eax
not edi
test edi, edi
jne 0x76f027
jmp 0x772aec
imul ebx, ebx
and ebx, 3
cmp ebx, 3
je 0x772afc
mov edi, dword [eax]
mov ecx, dword [esp + 0x2f8]
mov ebx, dword [ecx + 4]
mov dword [ebx], edi
mov dword [esp + 0x410], esi
mov esi, edx
mov ecx, dword [esp + 0x370]
mov edi, dword [ecx]
mov edi, dword [edi]
mov edx, dword [esp + 0x390]
mov ebx, dword [edx]
mov dword [ebx], edi
mov edi, dword [edx]
mov dword [edi + 8], 0
mov dword [edi + 4], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x1c], 0
mov edi, dword [ecx]
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x76f15f
mov dword [esp + 0x234], eax
mov dword [esp + 0x360], ecx
mov ebx, ecx
imul ebx, ebx
and ebx, 3
cmp ebx, 3
je 0x76f166
mov esi, 3
mov eax, dword [esp + 0x390]
mov eax, dword [eax]
mov edi, dword [eax + 0x24]
test edi, edi
mov ecx, dword [esp + 0x3e8]
jne 0x76f1ac
mov eax, edi
or eax, 2
mov ebx, edi
mov dword [esp + 0x1e4], edi
xor ebx, 2
add ebx, eax
mov dword [esp + 0x3e8], ecx
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov ebx, 0x15
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3ac]
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], ecx
jne 0x7722ce
jmp 0x76f1f2
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3e0], eax
mov ebx, esi
mov edx, dword [esp + 0x370]
jmp 0x76f2ce
mov dword [esp + 0x1e4], edi
mov dword [esp + 0x3e8], ecx
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
cmp esi, 3
jne 0x76b96b
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov edi, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x370]
mov ebx, dword [esp + 0x360]
jmp 0x76f272
imul edi, edi
and edi, 3
cmp edi, 2
jae 0x773495
mov edi, ebx
mov eax, dword [esp + 0x104]
mov dword [eax], 0
mov eax, dword [edx]
mov ebx, dword [eax + 0x24]
mov eax, dword [esp + 0x390]
mov eax, dword [eax]
mov ecx, dword [eax + 0x24]
mov esi, dword [esp + 0x404]
mov dword [esp + 0x1e4], ecx
mov eax, dword [ebx + 4]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov dword [esp + 0x3f4], esi
mov dword [esp + 0x3dc], edi
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov edi, dword [edx]
mov ecx, 0xd
mov esi, dword [edi + 0x28]
test esi, esi
jne 0x76f302
mov dword [esp + 0x360], ebx
mov dword [esp + 0x370], edx
mov eax, esi
and eax, 1
xor eax, esi
mov dword [esp + 0x1ec], esi
not eax
test eax, eax
jne 0x76f507
jmp 0x76f317
mov dword [esp + 0x360], ebx
mov dword [esp + 0x1ec], esi
mov dword [esp + 0x370], edx
cmp ecx, 0xd
jne 0x76f356
mov esi, 3
mov eax, dword [esp + 0x390]
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
test eax, eax
mov ecx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x370]
mov edi, dword [esp + 0x3e4]
mov ebx, dword [esp + 0x3f4]
jne 0x76f4e8
jmp 0x770278
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x3ec], eax
jmp case.0x7676b0.38
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x770296
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
mov edx, dword [esp + 0x390]
mov ecx, dword [edx]
mov dword [ecx + 0x28], eax
mov eax, dword [edx]
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x76f4d1
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x76f4d1
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3e4], edi
mov ecx, 0xb
mov dword [esp + 0x378], 0x70000003
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x400], eax
cmp ecx, 8
je 0x7684bc
imul ecx, ecx
and ecx, 3
cmp ecx, 2
je 0x7684bc
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
jmp 0x7738c3
mov edx, dword [esp + 0x370]
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x378], 0x70000003
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3e4], edi
mov dword [esp + 0x370], edx
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
mov edi, dword [edx]
mov eax, 0x10
mov edx, dword [edi + 0x2c]
test edx, edx
jne 0x76f52c
mov ecx, edx
or ecx, 2
mov dword [esp + 0x1f4], edx
xor edx, 2
add edx, ecx
jne 0x76f792
jmp 0x76f533
mov dword [esp + 0x1f4], edx
cmp eax, 6
je 0x76f57e
xor eax, eax
test al, al
mov ebx, dword [esp + 0x3f4]
mov edi, dword [esp + 0x3f0]
jne 0x76f5de
mov esi, dword [esp + 0x390]
mov eax, dword [esi]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x76f637
mov edx, dword [esp + 0x1f4]
mov esi, dword [esp + 0x408]
mov edi, dword [esp + 0x3e4]
jmp 0x76f707
mov ebx, dword [esp + 0x3ec]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x2e8]
mov edi, dword [esp + 0x3f0]
jmp 0x76b583
mov ebx, dword [esp + 0x3ec]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x2e8]
jmp 0x76b583
mov edi, 0xa
mov dword [esp + 4], 0x10
mov dword [esp], 1
call fcn.00493840
mov ecx, dword [esi]
mov dword [ecx + 0x2c], eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x378], 0x70000003
test ecx, ecx
mov edx, esi
mov esi, dword [esp + 0x3e4]
jne 0x76f6df
mov eax, ecx
or eax, 2
mov dword [esp + 0x8c], ecx
xor ecx, 2
add ecx, eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x404], ebx
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov dword [esp + 0x40c], esi
mov eax, esi
mov esi, edx
mov edx, dword [esp + 0x3a0]
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x3a8], ecx
jne 0x770984
jmp 0x76fb1a
mov eax, esi
mov dword [esp + 0x8c], ecx
jmp 0x76fb1a
mov eax, dword [esp + 0x370]
mov eax, dword [eax]
mov edx, dword [eax + 0x2c]
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0x408]
mov eax, 0x18
movsd xmm0, qword [edx + 8]
movsd qword [ecx + 8], xmm0
mov ecx, dword [esp + 0x370]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x390]
mov edx, dword [edx]
mov edx, dword [edx + 0x2c]
mov dword [edx], ecx
mov dword [esp + 0x408], esi
cmp eax, 0xd
mov ecx, dword [esp + 0x3d4]
je 0x76f988
xor eax, eax
test al, al
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x404], ebx
mov dword [esp + 0x3f4], ebx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov dword [esp + 0x3f8], ecx
mov dword [esp + 0x40c], edi
mov dword [esp + 0x3e4], edi
jne 0x76d151
mov ecx, dword [esp + 0x35c]
lea eax, [ecx + 8]
mov dword [esp + 0x328], eax
mov esi, dword [ecx + 8]
test esi, esi
mov ebx, dword [esp + 0x3e4]
jne 0x76f81e
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
je 0x76f81e
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov esi, dword [esp + 0x37c]
jmp 0x770450
mov edi, 1
mov ecx, dword [esp + 0x2f8]
lea eax, [ecx + 8]
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x76f9be
mov dword [esp + 0x314], eax
mov eax, ecx
not eax
and eax, 1
add eax, ecx
mov dword [esp + 0x124], ecx
je 0x76f9cc
mov edi, 0xd
mov ebx, 2
mov dword [esp + 4], 0x10
mov dword [esp], 1
call fcn.00493840
mov ecx, eax
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0x314]
mov dword [eax], ecx
mov dword [esp + 0x378], 0x70000003
test ecx, ecx
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x1c4], esi
je 0x770d3e
cmp ebx, 2
jne 0x76dc76
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov ecx, dword [esp + 0x200]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x328]
mov eax, dword [eax]
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x124], eax
jmp 0x76fa84
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x404], ebx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov dword [esp + 0x3f8], ecx
mov dword [esp + 0x40c], edi
jmp 0x76d151
mov dword [esp + 0x124], ecx
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x1c4], esi
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3b4], eax
cmp edi, 1
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov ecx, dword [esp + 0x200]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
jne 0x76d151
mov dword [esp + 0x3d4], ecx
mov edx, dword [esp + 0x1c4]
mov eax, dword [edx]
mov dword [esp + 0x200], eax
test eax, eax
mov eax, dword [esp + 0x344]
je 0x76fb71
mov esi, 0xc
mov eax, dword [esp + 0x124]
mov eax, dword [eax]
test eax, eax
mov ecx, dword [esp + 0x410]
je 0x770106
mov edi, 4
mov dword [esp + 0x150], eax
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x270], edx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov ebx, dword [esp + 0x404]
mov dword [esp + 0x3f0], ecx
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x40c]
je 0x770114
cmp edi, 4
je 0x7700c9
imul edi, edi
and edi, 3
cmp edi, 3
mov edi, eax
jne 0x76f6ed
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x404], ebx
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x40c], edi
jmp 0x76d97d
mov dword [esp + 0x3fc], eax
mov ebx, dword [esp + 0x3ec]
mov esi, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], esi
mov esi, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], esi
mov ecx, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], ecx
mov esi, dword [esp + 0x400]
mov dword [esp + 0x3d8], esi
mov esi, dword [esp + 0x404]
mov dword [esp + 0x3f4], esi
mov esi, dword [esp + 0x410]
mov dword [esp + 0x3f0], esi
mov esi, dword [esp + 0x3f8]
mov edi, dword [esp + 0x40c]
mov dword [esp + 0x3e4], edi
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x200], ecx
mov ecx, esi
mov dword [esp + 0x270], edx
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x270]
mov edx, dword [ecx + 4]
test edx, edx
mov eax, dword [esp + 0x3fc]
jne 0x76fca1
mov ecx, 3
sub ecx, edx
xor ecx, edx
je 0x76fca1
mov dword [esp + 0x3ec], ebx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x400], ecx
mov ebx, dword [esp + 0x3f4]
mov edi, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x40c], ecx
mov edx, eax
mov ecx, dword [esp + 0x270]
jmp 0x76fea8
mov dword [esp + 0x3bc], ebx
mov eax, 0xc
mov ecx, dword [esp + 0x314]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x284], ecx
test ecx, ecx
jne 0x76fe24
cmp eax, 0xc
mov esi, dword [esp + 0x408]
jne 0x76ff60
mov dword [esp + 0x344], edx
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov edi, dword [esp + 0x3e4]
mov ebx, dword [esp + 0x3bc]
je 0x76ffc4
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493840
mov edx, dword [esp + 0x314]
mov ecx, dword [edx]
mov dword [ecx + 4], eax
mov eax, dword [edx]
mov eax, dword [eax + 4]
test eax, eax
je 0x770036
mov dword [esp + 0x410], 4
mov ecx, dword [esp + 0x328]
mov ecx, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x378], 0x70000003
mov ecx, ebx
mov ebx, dword [esp + 0x3f0]
mov esi, dword [esp + 0x3c4]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3c8]
mov edi, dword [esp + 0x3ac]
mov dword [esp + 0x3ac], edi
mov edi, eax
mov dword [esp + 0x3c8], edi
mov dword [esp + 0x3c4], esi
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3f0], ebx
cmp dword [esp + 0x410], 4
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3a4], eax
mov eax, ecx
mov dword [esp + 0x3e8], esi
mov dword [esp + 0x3e0], edi
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], ecx
mov esi, dword [esp + 0x3f4]
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3e4]
jne 0x76fee4
mov eax, dword [edx]
mov ecx, dword [esp + 0x284]
mov dword [ecx], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov ebx, dword [esp + 0x3f4]
mov edi, dword [esp + 0x3f0]
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x328]
mov ecx, dword [eax]
mov eax, 0x10
mov esi, dword [ecx + 8]
test esi, esi
je 0x76ff33
mov dword [esp + 0x344], edx
mov dword [esp + 0x2a8], ecx
mov ecx, esi
mov dword [esp + 0x37c], ecx
mov esi, 0x12
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x769147
jmp 0x772fdf
mov dword [esp + 0x404], esi
mov dword [esp + 0x40c], ecx
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x344], edx
mov esi, 0x10
mov ecx, dword [esp + 0x554]
test ecx, ecx
jne 0x76ff4d
mov eax, ecx
or eax, 2
mov dword [esp + 0x17c], ecx
xor ecx, 2
add ecx, eax
mov edx, dword [esp + 0x3d0]
jne 0x771ea7
jmp 0x771e84
mov dword [esp + 0x37c], esi
mov dword [esp + 0x344], edx
mov dword [esp + 0x2a8], ecx
jmp 0x772fdf
mov dword [esp + 0x17c], ecx
mov edx, dword [esp + 0x3d0]
jmp 0x771e84
mov dword [esp + 0x344], edx
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], ecx
mov edx, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3e4]
jmp 0x770013
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov dword [esp + 0x3ec], ebx
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], ecx
mov edx, dword [esp + 0x3f0]
mov ecx, edi
mov ebx, esi
mov esi, dword [esp + 0x3a0]
mov dword [esp + 0x384], esi
mov esi, dword [esp + 0x398]
mov dword [esp + 0x3a8], esi
jmp 0x76ad95
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x3ec], ebx
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov ecx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov dword [esp + 0x40c], edi
mov edx, dword [esp + 0x3a0]
mov ebx, dword [esp + 0x398]
mov esi, dword [esp + 0x390]
mov edi, 0x13
mov dword [esp + 0x378], 0x70000003
jmp 0x7702e3
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x400], ecx
mov dword [esp + 0x404], ebx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], ecx
mov dword [esp + 0x40c], eax
jmp 0x76d97d
mov dword [esp + 0x150], eax
mov dword [esp + 0x270], edx
cmp esi, 0xc
jne 0x7701b3
mov esi, 9
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493840
mov edx, dword [esp + 0x314]
mov ecx, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx]
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x378], 0x70000003
je 0x77021b
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
mov edi, dword [esp + 0x410]
je 0x770240
mov eax, 7
mov edx, dword [esp + 0x328]
mov edx, dword [edx]
mov edx, dword [edx]
mov dword [esp + 0x200], edx
mov dword [esp + 0x378], 0x70000003
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x3b8]
mov edx, dword [esp + 0x3a0]
mov esi, dword [esp + 0x3f8]
jmp 0x76d952
mov esi, 0xb
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x1fc]
mov dword [esp + 0x14], edi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x10], 0xfffffff8
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 2
mov dword [esp + 4], 0x21
call fcn.007855d0
mov dword [esp + 0x568], eax
mov dword [esp], edi
call fcn.004936c0
cmp dword [esp + 0x568], 0
jne 0x76d151
jmp 0x76916a
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov ebx, dword [esp + 0x404]
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
jmp 0x77025c
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov ebx, dword [esp + 0x404]
mov dword [esp + 0x3f0], edi
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov edi, dword [esp + 0x40c]
mov edx, dword [esp + 0x370]
mov dword [esp + 0x370], edx
cmp esi, 3
mov eax, dword [esp + 0x398]
mov ecx, dword [esp + 0x3a0]
je 0x76f3cb
mov edx, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], edx
mov dword [esp + 0x404], ebx
mov edx, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x3f0]
mov dword [esp + 0x410], edx
mov dword [esp + 0x40c], edi
mov esi, dword [esp + 0x390]
mov edx, ecx
mov dword [esp + 0x3a8], eax
jmp 0x770984
mov dword [esp + 0x3d0], ecx
cmp edi, 0xd
jne 0x77032f
mov eax, edi
and eax, 1
xor eax, edi
not eax
test eax, eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3a0], edx
mov dword [esp + 0x398], ebx
mov dword [esp + 0x3a8], ebx
mov dword [esp + 0x390], esi
jne 0x772cb6
jmp 0x770984
mov dword [esp + 0x3a8], ebx
jmp 0x770984
mov dword [esp + 0x2a8], eax
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x770354
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x7703c4
mov ecx, 0x12
mov edx, dword [esp + 0x314]
mov edx, dword [edx]
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x7703c0
cmp ecx, 0xc
je 0x7705f3
xor eax, eax
test al, al
jne 0x7705f3
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493840
mov edx, dword [esp + 0x314]
mov ecx, dword [edx]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x7706b5
mov eax, dword [esp + 0x328]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [edx]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x378], 0x70000003
mov eax, dword [eax]
mov dword [edx], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3f0], edi
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov ebx, dword [esp + 0x40c]
mov ecx, dword [esp + 0x35c]
mov eax, 0xb
lea edx, [ecx + 0xc]
mov dword [esp + 0x254], edx
mov edi, dword [ecx + 0xc]
test edi, edi
je 0x77060d
mov dword [esp + 0x35c], ecx
mov ecx, 0xf
mov edx, edi
and edx, 1
inc edx
xor edx, edi
mov edx, dword [esp + 0x2f8]
mov dword [esp + 0x310], edx
je 0x770622
cmp ecx, 0xd
je 0x770712
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov eax, dword [esp + 0x3d8]
je 0x77077d
mov dword [esp + 0x3e4], ebx
mov eax, 0xf
mov edx, dword [esp + 0x2f8]
lea ecx, [edx + 0xc]
mov dword [esp + 0xd8], ecx
mov ecx, dword [edx + 0xc]
test ecx, ecx
jne 0x7708f7
mov dword [esp + 0x37c], esi
mov esi, 0x11
mov dword [esp + 0x174], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x134], edi
mov dword [esp + 0x274], edi
jae 0x7692e5
cmp esi, 0xc
je 0x77081c
xor eax, eax
test al, al
mov eax, dword [esp + 0x3a0]
mov ecx, dword [esp + 0x3e4]
mov edx, dword [esp + 0x3f4]
mov esi, dword [esp + 0x3f0]
mov edi, dword [esp + 0x3bc]
mov ebx, dword [esp + 0x3c8]
jne 0x770895
mov esi, 6
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493840
mov edx, eax
mov eax, dword [esp + 0xd8]
mov dword [eax], edx
test edx, edx
mov dword [esp + 0x378], 0x70000003
je 0x770918
mov eax, 3
mov ecx, edx
mov dword [esp + 0xc0], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x3ec], edi
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0x3e0], ebx
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], ecx
mov ecx, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x408], ecx
jne 0x76e178
jmp 0x7733a3
mov dword [esp + 0x404], ebx
mov dword [esp + 0x410], edi
mov dword [esp + 0x37c], esi
jmp 0x76d151
mov dword [esp + 0x35c], ecx
mov ecx, dword [esp + 0x2f8]
mov dword [esp + 0x310], ecx
mov dword [esp + 0x274], edi
cmp eax, 9
mov edx, dword [esp + 0x3f0]
mov edi, dword [esp + 0x3ac]
je 0x7698ac
mov dword [esp + 0x37c], esi
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x3b4], edi
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x410], edx
mov dword [esp + 0x40c], ebx
jmp 0x76e645
mov dword [esp + 0x404], ebx
mov dword [esp + 0x410], edi
mov dword [esp + 0x37c], esi
mov dword [esp + 0x378], 0x70000003
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
jmp 0x7738c3
mov dword [esp + 0x274], edi
mov dword [esp + 0x37c], esi
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3d8]
jmp 0x7707df
mov dword [esp + 0x274], edi
mov dword [esp + 0x37c], esi
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], ecx
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], ecx
mov ecx, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x40c], ebx
jmp 0x76d151
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov edx, dword [esp + 0x3a0]
jmp 0x7708e4
mov dword [esp + 0x3ec], edi
mov edi, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], edi
mov dword [esp + 0x3e0], ebx
mov edi, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], edi
mov edi, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], edi
mov dword [esp + 0x404], edx
mov dword [esp + 0x410], esi
mov dword [esp + 0x40c], ecx
mov edx, eax
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3a8], eax
jmp 0x771b1d
mov dword [esp + 0x37c], esi
mov dword [esp + 0x174], ecx
mov dword [esp + 0x134], edi
mov dword [esp + 0x274], edi
jmp 0x7692e5
mov dword [esp + 0xc0], edx
mov dword [esp + 0x3ec], edi
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
jmp 0x7733a3
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3dc], ebx
jmp 0x770e93
mov eax, dword [esp + 0x378]
mov dword [esp + 0x568], eax
mov ecx, dword [esp + 0x4f8]
test ecx, ecx
jne 0x770ad6
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov edi, dword [esp + 0x394]
shl edi, 4
mov eax, dword [eax + edi + 4]
mov ecx, dword [esp + 0x330]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov ebx, dword [ebp + 0xc]
mov dword [esp], ebx
call fcn.00787010
mov dword [esp + 0x568], eax
test eax, eax
jne 0x770b30
mov ecx, dword [esp + 0x398]
mov edx, dword [esp + 0x3a0]
cmp esi, 0xc
jne 0x770bde
mov eax, esi
not eax
and eax, 1
add eax, esi
mov eax, edx
mov dword [esp + 0x3a0], edx
mov dword [esp + 0x3a8], ecx
mov dword [esp + 0x398], ecx
jne 0x76ed20
jmp 0x770c93
mov dword [esp + 0x3a8], ecx
jmp 0x770c93
cmp eax, 8
jne 0x770c32
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x76c3a6
mov dword [esp + 0x3d0], ebx
mov eax, dword [esp + 0x4f4]
mov dword [esp], eax
call fcn.00627900
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov dword [esp + 0x3fc], esi
jmp 0x770e69
mov eax, dword [esp + 0x4f8]
test eax, eax
je 0x770dd5
mov esi, 3
mov dword [esp + 0x128], eax
imul eax, eax
and eax, 3
cmp eax, 2
je 0x770ddc
mov ebx, edx
cmp esi, 3
jne 0x770db2
mov edi, 0x16
mov eax, dword [esp + 0x128]
mov dword [esp], eax
call fcn.00627900
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov dword [esp + 0x3a0], ebx
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
mov esi, dword [esp + 0x1c4]
cmp edi, 0xd
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x1c4], esi
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov edx, dword [esp + 0x3a0]
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3a8], eax
mov esi, dword [esp + 0x390]
je 0x770984
jmp 0x770ddc
mov edi, dword [esp + 0x410]
mov edx, dword [esp + 0x3d0]
mov esi, dword [esp + 0x3c0]
mov ecx, ebx
mov ebx, dword [esp + 0x3a8]
jmp 0x76d91a
mov dword [esp + 0x128], eax
mov esi, 5
mov eax, dword [esp + 0x4f4]
mov dword [esp], eax
call fcn.00627900
mov edx, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1bc]
mov eax, dword [esp + 0x378]
mov edi, dword [esp + 0x3d0]
mov dword [esp + 0x3d0], edi
mov dword [esp + 0x378], eax
cmp esi, 5
mov esi, dword [esp + 0x390]
mov dword [esp + 0x3a8], ecx
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3dc], edi
jne 0x770984
jmp 0x771b1d
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
jmp 0x76d151
cmp esi, 8
je 0x770ee7
mov eax, esi
and eax, 1
inc eax
xor eax, esi
je 0x770ee7
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x410], edi
jmp 0x770e69
mov eax, 0x10
mov dword [esp + 0x568], 0x70000013
mov ecx, dword [esp + 0x398]
mov edx, dword [esp + 0x3a0]
mov dword [esp + 0x410], edi
mov dword [esp + 0x3a0], edx
mov dword [esp + 0x398], ecx
cmp eax, 3
jne 0x77095c
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3dc], ebx
mov dword [esp + 0x3d0], ebx
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
jne 0x770e69
jmp 0x76d151
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
jmp 0x77434e
mov dword [esp + 0x30c], ecx
mov eax, edi
and eax, 1
inc eax
xor eax, edi
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov dword [esp + 0x3cc], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x3f0], ebx
mov dword [esp + 0x410], ebx
mov ebx, dword [esp + 0x40c]
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3a8], eax
mov edx, dword [esp + 0x388]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x36c], eax
mov dword [esp + 0x368], esi
mov ecx, dword [esp + 0x3a4]
mov dword [esp + 0x364], ecx
jne 0x771ac2
mov dword [esp + 0x3a4], ecx
mov eax, dword [esp + 0x324]
mov eax, dword [eax + 4]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*4]
mov eax, dword [eax + ecx*4 + 4]
lea ecx, [eax + edx]
lea eax, [eax + edx + 0x10]
and eax, 0xfffffff0
test cl, 0xf
cmove eax, ecx
mov ecx, eax
test esi, esi
je 0x771179
mov eax, esi
and eax, 1
inc eax
xor eax, esi
je 0x771179
mov dword [esp + 0x3fc], esi
mov dword [esp], ecx
mov esi, ecx
call fcn.00492770
mov edi, eax
test edi, edi
jne 0x77126c
cmp edi, 6
jne 0x77139f
mov eax, edi
not eax
and eax, 1
add eax, edi
je 0x77139f
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3dc], esi
jmp 0x770e93
mov eax, dword [esp + 0x268]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
call fcn.00492a60
mov edi, eax
test edi, edi
jne 0x771492
mov eax, edi
or eax, 2
mov ecx, edi
xor ecx, 2
add ecx, eax
je 0x771492
mov dword [esp + 0x400], 3
mov eax, dword [esp + 0x2dc]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x568], 0x70000003
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3dc], esi
mov edx, dword [esp + 0x3b4]
mov ebx, dword [esp + 0x3b0]
mov edi, dword [esp + 0x410]
mov esi, dword [esp + 0x404]
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0x3ac], edx
cmp dword [esp + 0x400], 3
mov ebx, dword [esp + 0x3fc]
jne 0x76bdd1
mov dword [esp + 0x404], esi
mov dword [esp + 0x410], edi
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x408], ebx
jmp 0x76b570
mov eax, edi
mov dword [esp + 0x3d0], esi
mov ebx, dword [esp + 0x27c]
add eax, ebx
mov esi, dword [esp + 0x268]
mov ecx, esi
sub ecx, ebx
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.007ce3c0
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov dword [esp + 0x24c], edi
mov dword [esp + 0x384], ebx
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x400], esi
mov dword [esp + 0x3a4], eax
mov edi, dword [esp + 0x55c]
mov ecx, dword [edi + 4]
lea edx, [eax + eax*2]
mov eax, dword [ecx + edx*4 + 4]
mov esi, eax
and esi, 1
inc esi
xor esi, eax
sete bl
movzx esi, bl
cmp eax, esi
jne 0x77165d
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x2dc], eax
mov esi, dword [esp + 0x3a4]
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x210], ebx
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x3fc], eax
mov edx, edi
jmp 0x771811
mov edi, 0x18
mov esi, dword [ecx + edx*4]
mov ebx, dword [esp + 0x24c]
add esi, ebx
mov ecx, dword [ecx + edx*4 + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.007ce510
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov ecx, dword [esp + 0x3e4]
mov eax, dword [esp + 0x384]
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x334], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x210], eax
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x55c]
mov dword [esp + 0x248], eax
mov dword [esp + 0x244], ebx
cmp edi, 9
mov esi, dword [esp + 0x334]
jne 0x7717ee
mov dword [esp + 0x40c], ecx
mov eax, edi
not eax
and eax, 1
add eax, edi
je 0x7717f5
mov edi, 0x14
mov eax, 6
mov esi, dword [esp + 0x228]
mov ecx, dword [esi]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
mov dword [esp + 0x3a4], 0
cmp ecx, edx
mov dword [esp + 0x324], esi
mov edx, dword [esp + 0x218]
mov dword [esp + 0x384], edx
mov ecx, dword [esp + 0x21c]
mov dword [esp + 0x3fc], ecx
mov dword [esp + 0x30c], edx
mov dword [esp + 0x320], ecx
mov ebx, dword [esp + 0x410]
mov edx, dword [esp + 0x3d0]
jne 0x76a968
jmp 0x771e5a
mov dword [esp + 0x40c], ecx
mov edx, dword [esp + 0x248]
mov eax, dword [esp + 0x244]
mov dword [esp + 0x3fc], eax
mov ebx, dword [esp + 0x240]
mov dword [esp + 0x334], esi
mov eax, 0xe
mov ecx, esi
imul ecx, ecx
and ecx, 3
cmp ecx, 2
adc esi, 0
cmp esi, dword [edx]
jae 0x771890
mov edi, 0x10
mov ecx, 3
sub ecx, esi
xor ecx, esi
mov dword [esp + 0x3a4], esi
mov dword [esp + 0x248], edx
mov dword [esp + 0x324], edx
mov dword [esp + 0x384], ebx
mov ecx, ebx
mov esi, dword [esp + 0x3fc]
mov dword [esp + 0x320], esi
mov dword [esp + 0x244], esi
mov dword [esp + 0x240], ebx
mov edx, dword [esp + 0x3c0]
mov ebx, dword [esp + 0x410]
jne 0x771f0f
jmp 0x772662
mov dword [esp + 0x3a4], esi
mov dword [esp + 0x248], edx
mov dword [esp + 0x324], edx
mov dword [esp + 0x384], ebx
mov ecx, ebx
mov esi, dword [esp + 0x3fc]
mov dword [esp + 0x320], esi
mov dword [esp + 0x244], esi
mov dword [esp + 0x240], ebx
mov edx, dword [esp + 0x3c0]
jmp 0x77265b
mov dword [esp + 0x400], edi
mov dword [esp + 0x568], 0x70000003
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x32c], eax
jmp 0x76d151
mov eax, 0xe
test ebx, ebx
je 0x7719f2
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov esi, dword [esp + 0x394]
shl esi, 4
mov eax, dword [eax + esi + 4]
mov edi, dword [esp + 0x30c]
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0068f030
mov dword [esp + 0x568], eax
test eax, eax
je 0x771dd7
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x364], eax
mov dword [esp + 0x320], ebx
mov dword [esp + 0x1ac], ebx
mov eax, dword [esp + 0x324]
mov dword [esp + 0x2a0], eax
mov edx, 0xb
jmp 0x769841
mov edx, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], edx
mov edx, dword [esp + 0x384]
mov dword [esp + 0x36c], edx
mov edx, dword [esp + 0x3fc]
mov dword [esp + 0x368], edx
mov edx, dword [esp + 0x3a4]
mov dword [esp + 0x364], edx
mov dword [esp + 0x320], ebx
mov dword [esp + 0x1ac], ebx
mov ecx, dword [esp + 0x324]
mov dword [esp + 0x2a0], ecx
mov edx, dword [esp + 0x3d4]
mov esi, dword [esp + 0x3d8]
mov edi, dword [esp + 0x408]
mov ebx, dword [esp + 0x3d0]
mov dword [esp + 0x408], edi
mov dword [esp + 0x3d8], esi
mov dword [esp + 0x3d4], edx
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
mov dword [esp + 0x3dc], ebx
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x3fc], edi
mov dword [esp + 0x400], esi
mov dword [esp + 0x3f8], edx
mov edx, eax
je 0x76d151
mov ecx, dword [esp + 0x2a0]
test ecx, ecx
je 0x771b01
mov esi, 0xc
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x388], edx
jne 0x76da9d
jmp 0x771b1d
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x388], edx
mov eax, edx
mov ebx, 0x17
mov esi, dword [esp + 0x394]
mov ecx, esi
or ecx, 2
mov edx, esi
xor edx, 2
add edx, ecx
setne cl
movzx edx, cl
add edx, esi
mov ecx, dword [esp + 0x560]
cmp edx, dword [ecx]
jae 0x771c0f
mov dword [esp + 0x28c], ecx
mov esi, 3
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
mov dword [esp + 0x288], edx
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x2d0], ecx
mov edx, eax
mov dword [esp + 0x2cc], edx
mov dword [esp + 0x3a0], edx
mov dword [esp + 0x398], ecx
mov dword [esp + 0x31c], ecx
mov edi, ecx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x400], eax
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x408], ecx
je case.0x7676b0.34
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp esi, eax
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], ecx
mov esi, dword [esp + 0x3fc]
mov ebx, dword [esp + 0x3dc]
mov dword [esp + 0x2d0], edi
mov dword [esp + 0x2cc], edx
jne 0x76c3a6
jmp 0x770ea6
mov dword [esp + 0x288], edx
mov dword [esp + 0x28c], ecx
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x398], eax
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x400], eax
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x408], ecx
cmp ebx, 8
jne 0x771f94
mov ecx, ebx
and ecx, 1
xor ecx, ebx
not ecx
test ecx, ecx
mov edi, dword [esp + 0x410]
mov ebx, dword [esp + 0x404]
mov eax, dword [esp + 0x3f8]
je 0x771fdc
mov esi, 0xf
lea eax, [esp + 0x554]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x180]
mov dword [esp], eax
call fcn.0078a000
mov dword [esp + 0x568], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x34c], eax
mov eax, dword [esp + 0x280]
mov dword [esp + 0x33c], eax
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x39c], ecx
mov eax, dword [esp + 0x2f0]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3e0], ebx
mov dword [esp + 0x3e8], edi
mov edx, dword [esp + 0x408]
mov dword [esp + 0x3f8], edx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3a0]
mov edi, dword [esp + 0x398]
mov dword [esp + 0x3a8], edi
mov dword [esp + 0x3d0], ecx
mov dword [esp + 0x3d4], edx
mov ecx, eax
je case.0x7676b0.38
cmp esi, 0xf
je 0x772016
imul esi, esi
and esi, 3
cmp esi, 3
mov eax, dword [esp + 0x3d0]
mov edx, dword [esp + 0x3a8]
jne 0x768db9
mov dword [esp + 0x3a0], ecx
mov dword [esp + 0x398], edx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x400], ecx
jmp 0x770e8c
mov eax, dword [esp + 0x560]
mov eax, dword [eax + 4]
mov eax, dword [eax + esi + 4]
mov esi, 2
mov dword [esp + 0x18], edi
mov edi, 0x10
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
movzx eax, byte [esp + 0x9f]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.007855d0
mov dword [esp + 0x568], eax
test eax, eax
mov dword [esp + 0x320], ebx
mov dword [esp + 0x1ac], ebx
mov eax, dword [esp + 0x324]
mov dword [esp + 0x2a0], eax
mov ebx, dword [esp + 0x410]
mov edx, dword [esp + 0x3d0]
jne 0x771e84
cmp edi, 0x10
je 0x771ed1
imul edi, edi
and edi, 3
cmp edi, 2
je 0x771ed1
mov dword [esp + 0x3d0], edx
mov dword [esp + 0x410], ebx
mov ebx, dword [esp + 0x320]
jmp 0x7718fb
cmp esi, 2
jne 0x771e98
imul esi, esi
and esi, 3
cmp esi, 2
jb 0x76aa3b
mov eax, dword [esp + 0x17c]
mov dword [esp], eax
call fcn.006275f0
mov eax, dword [esp + 0x55c]
test eax, eax
jne 0x771ebd
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x771ec5
mov dword [esp], eax
call fcn.00627a10
mov eax, dword [esp + 0x568]
jmp 0x7746f8
mov dword [esp + 0x3d0], edx
mov edi, 0x1f
mov eax, dword [esp + 0x1ac]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x55c]
mov dword [esp + 0x2a0], eax
mov ecx, dword [esp + 0x30c]
mov edx, dword [esp + 0x3c0]
mov esi, dword [esp + 0x3fc]
cmp edi, 0x10
jne 0x770f82
mov dword [esp + 0x30c], ecx
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov dword [esp + 0x3cc], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3f0], ebx
mov ebx, dword [esp + 0x40c]
mov ecx, dword [esp + 0x3a4]
jmp 0x77104d
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x39c], eax
mov ebx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d4], eax
mov edi, dword [esp + 0x410]
jmp 0x772022
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], ecx
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x39c], eax
mov ebx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d4], eax
jmp 0x772022
mov dword [esp + 0x3a0], ecx
jmp 0x77434e
mov eax, 0xc
mov ecx, dword [esp + 0x564]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x24]
mov edx, dword [ecx]
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
sete cl
movzx ecx, cl
cmp edx, ecx
jne 0x77215e
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], ecx
mov esi, dword [esp + 0x404]
mov dword [esp + 0x3dc], ebx
mov edx, dword [esp + 0x40c]
mov ecx, dword [esp + 0x31c]
mov dword [esp + 0x238], ecx
cmp eax, 0xc
jne 0x772211
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x404], esi
mov dword [esp + 0x3f4], esi
mov dword [esp + 0x410], edi
mov dword [esp + 0x3f0], edi
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x40c], edx
mov dword [esp + 0x3e4], edx
jne 0x772379
jmp 0x76de51
mov eax, dword [esp + 0x53c]
mov ecx, eax
or ecx, 2
mov esi, eax
xor esi, 2
add esi, ecx
setne cl
movzx ecx, cl
add ecx, eax
cmp edx, ecx
je 0x77222b
mov ecx, 0xc
mov al, 1
test al, al
je 0x77222b
mov esi, dword [esp + 0x3fc]
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x238], eax
mov edx, dword [esp + 0x374]
mov dword [esp + 0x408], esi
mov dword [esp + 0x410], edi
mov dword [esp + 0x374], edx
cmp ecx, 0xc
je 0x772348
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3dc], ebx
mov esi, ebx
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
jne 0x76d849
jmp 0x772379
mov dword [esp + 0x3f0], edi
mov dword [esp + 0x3f4], esi
mov dword [esp + 0x3e4], edx
jmp 0x76de51
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x410], edi
mov ebx, 0xc
mov esi, 0x11
mov dword [esp + 4], edx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00786760
mov dword [esp + 0x568], eax
test eax, eax
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x238], eax
mov eax, dword [esp + 0x3b4]
jne 0x7722ce
mov dword [esp + 0x3b4], eax
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
je 0x76d1e3
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
jmp 0x77236b
mov dword [esp + 0x3b4], eax
cmp ebx, 0xc
jne 0x7722fa
mov eax, ebx
and eax, 1
xor eax, ebx
not eax
test eax, eax
je 0x7722fa
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
jmp 0x770e69
mov esi, 0x16
mov edi, 6
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
mov edx, dword [esp + 0x390]
mov ecx, dword [edx]
mov dword [ecx + 0x24], eax
mov eax, dword [edx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x104], eax
mov dword [esp + 0x378], 0x70000003
test eax, eax
jne 0x773469
jmp 0x772c24
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov dword [esp + 0x3dc], ebx
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov edx, dword [esp + 0x2b4]
test edx, edx
sete al
mov ecx, 3
sub ecx, edx
xor ecx, edx
setne cl
and cl, al
test byte [esp + 0x278], 1
jne 0x7723c0
test cl, cl
mov byte [esp + 0x227], cl
jne 0x7724fd
mov edi, 0x15
cmp dword [esp + 0x238], 0
jne 0x7723cc
jmp 0x7724fd
mov byte [esp + 0x227], cl
jmp 0x7724fd
cmp edi, 6
jne 0x77248f
mov esi, 9
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0x34
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 1
mov dword [esp + 4], 0x23
call fcn.007855d0
mov dword [esp + 0x568], eax
test eax, eax
jne 0x7728c6
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
jne 0x772f91
jmp 0x77291a
mov eax, dword [esp + 0x530]
mov ecx, dword [esp + 0x534]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call fcn.007858c0
mov dword [esp + 0x568], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x76d151
mov ebx, 6
mov ecx, dword [esp + 0x564]
mov eax, dword [ecx + 0xc]
add ecx, 0xc
mov dword [esp + 0x1b0], ecx
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x772f13
mov eax, dword [eax + 4]
test eax, eax
je 0x772f91
imul eax, eax
and eax, 3
cmp eax, 3
je 0x772f91
mov eax, 0x1c
cmp dword [esp + 0x358], 0xffffffff
je 0x772600
mov esi, 0x10
mov dword [esp + 0x3c8], ecx
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx]
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete bl
cmp dword [esp + 0x1b8], 0
mov edi, dword [esp + 0x400]
jne 0x772936
mov ecx, 5
movzx esi, bl
cmp edx, esi
mov esi, 0x10
mov edx, dword [esp + 0x1b4]
mov dword [esp + 0x20c], edx
mov edx, dword [esp + 0x410]
je 0x773d0e
mov dword [esp + 0x410], edx
cmp ecx, 5
jne 0x7718d6
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3d8], edi
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x32c], eax
jmp 0x772d87
mov edx, dword [esp + 0x3cc]
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d8], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x36c]
mov dword [esp + 0x384], ecx
mov esi, dword [esp + 0x368]
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x30c]
mov ebx, dword [esp + 0x410]
mov dword [esp + 0x3fc], esi
mov dword [esp + 0x3c0], edx
mov dword [esp + 0x410], ebx
mov dword [esp + 0x30c], ecx
cmp eax, 0xe
jne 0x77269b
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x77269b
mov ebx, dword [esp + 0x320]
jmp 0x7718fb
mov edi, 6
lea esi, [esp + 0x4c0]
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x4d0], 0x626c636f
mov dword [esp + 0x4d4], 1
mov ebx, dword [esp + 0x1b0]
mov eax, dword [ebx]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, eax
shr edx, 0x18
mov byte [esp + 0x4d8], dl
mov edx, eax
shr edx, 0x10
mov byte [esp + 0x4d9], dl
mov byte [esp + 0x4da], ah
mov byte [esp + 0x4db], al
movzx eax, word [ecx + 4]
mov byte [esp + 0x4dc], ah
mov byte [esp + 0x4dd], al
movzx eax, word [ecx + 6]
mov byte [esp + 0x4de], ah
mov byte [esp + 0x4df], al
movsd xmm0, qword [ecx + 8]
movsd qword [esp + 0x4e0], xmm0
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0x18
mov byte [esp + 0x4e8], cl
mov ecx, eax
shr ecx, 0x10
mov byte [esp + 0x4e9], cl
mov byte [esp + 0x4ea], ah
mov byte [esp + 0x4eb], al
mov eax, dword [esp + 0x540]
mov ecx, dword [esp + 0x544]
mov edx, ecx
shr edx, 0x18
mov byte [esp + 0x4ec], dl
mov edx, ecx
shr edx, 0x10
mov byte [esp + 0x4ed], dl
mov byte [esp + 0x4ee], ch
mov byte [esp + 0x4ef], cl
mov ecx, eax
shr ecx, 0x18
mov byte [esp + 0x4f0], cl
mov ecx, eax
shr ecx, 0x10
mov byte [esp + 0x4f1], cl
mov byte [esp + 0x4f2], ah
mov byte [esp + 0x4f3], al
mov dword [esp + 4], esi
mov dword [esp + 8], 0x34
mov dword [esp], 1
call fcn.0068ece0
mov dword [esp + 0x568], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x772851
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x364], eax
jmp 0x7723cc
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
lea eax, [esp + 0x4c0]
mov dword [esp + 0x1a8], eax
jmp 0x76d151
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
cmp esi, 5
je 0x769769
mov eax, esi
and eax, 1
inc eax
xor eax, esi
jne 0x773037
jmp 0x769769
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0x20c], ecx
mov edx, dword [esp + 0x410]
jmp 0x773d0e
mov dword [esp + 0x410], edx
mov eax, dword [esp + 0x380]
mov ecx, dword [eax]
mov dword [esp + 0x110], ecx
mov eax, dword [esp + 0x358]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 + 0x14]
mov dword [esp + 0x15c], edx
mov edx, dword [edx + 0x14]
mov dword [esp + 0x190], edx
imul esi, edx, 0x1c
add esi, 0x34
mov ebx, dword [ecx + eax*8 + 0x10]
mov eax, ebx
sub eax, esi
ja 0x772a08
mov ecx, 9
mov edx, ebx
imul edx, edx
and edx, 3
cmp edx, 2
je 0x772a08
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x14c], esi
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3d8], edi
mov ebx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x32c], eax
mov edx, dword [esp + 0x410]
jmp 0x772b71
mov dword [esp + 0x400], edi
mov edi, ebx
mov dword [esp + 0x10c], edi
mov ebx, 0xd
mov ecx, dword [esp + 0x15c]
lea ecx, [ecx + esi]
mov dword [esp + 0x14c], esi
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.007ce3c0
mov eax, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], eax
mov edx, dword [esp + 0x360]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov esi, dword [esp + 0x3e0]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x32c], eax
mov eax, dword [esp + 0x380]
mov eax, dword [eax]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a0], edi
mov eax, dword [esp + 0x234]
cmp ebx, 0xd
mov ecx, dword [esp + 0x3cc]
jne 0x76f00a
mov dword [esp + 0x234], eax
mov dword [esp + 0x3c0], ecx
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x3e0], esi
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov dword [esp + 0x360], edx
jmp 0x772cb6
cmp ecx, 9
je 0x772be8
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x772be8
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x3dc], ebx
mov dword [esp + 0x3f0], edx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
jmp 0x7734e9
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x410], edx
mov esi, 7
mov eax, dword [esp + 0x14c]
cmp dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a0], eax
jae 0x772cb6
cmp esi, 7
jne 0x7738b5
mov edi, 0xd
mov esi, dword [esp + 0x14c]
mov dword [esp + 4], esi
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
call fcn.00492a60
mov ebx, dword [esp + 0x380]
mov ecx, dword [ebx]
mov edx, dword [esp + 0x358]
lea edx, [edx*8]
lea edx, [edx + edx*2]
mov dword [ecx + edx + 0x14], eax
mov eax, dword [ebx]
mov dword [esp + 0x1a4], eax
cmp dword [eax + edx + 0x14], 0
je 0x773bf9
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov edx, dword [esp + 0x3a0]
mov ebx, dword [esp + 0x398]
mov eax, esi
mov esi, dword [esp + 0x390]
mov dword [esp + 0x1a0], eax
mov ecx, dword [esp + 0x3d0]
jmp 0x7702e3
mov esi, 0xa
mov eax, dword [esp + 0x358]
lea eax, [eax*8]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1a0]
mov dword [ecx + eax + 0x10], edx
mov edx, dword [esp + 0x190]
mov ecx, edx
and ecx, 1
xor ecx, edx
cmp ecx, 0xffffffff
mov ecx, dword [esp + 0x380]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax + 0x14]
setne cl
movzx ecx, cl
add ecx, edx
mov dword [eax + 0x14], ecx
mov eax, dword [esp + 0x564]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x32c], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov dword [esp + 0x20c], edx
mov eax, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x3b0]
mov edx, dword [esp + 0x410]
cmp esi, 2
jne 0x772d72
mov dword [esp + 0x410], edx
mov dword [esp + 0x3b0], ecx
mov dword [esp + 0x3b4], eax
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
jne 0x770e69
jmp 0x772d87
mov dword [esp + 0x410], edx
mov dword [esp + 0x3b0], ecx
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x380]
mov eax, dword [eax]
mov ecx, dword [esp + 0x358]
lea ecx, [ecx*8]
lea edi, [ecx + ecx*2]
mov ecx, dword [eax + edi + 0x14]
imul edx, dword [esp + 0x20c], 0x1c
mov eax, dword [esp + 0x32c]
mov eax, dword [eax + 0x14]
mov ebx, dword [eax]
mov eax, ebx
shr eax, 0x18
mov byte [ecx + edx + 0x28], al
mov eax, ebx
shr eax, 0x10
mov byte [ecx + edx + 0x29], al
mov byte [ecx + edx + 0x2a], bh
mov byte [ecx + edx + 0x2b], bl
mov eax, dword [esp + 0x564]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [esi]
mov ebx, eax
shr ebx, 0x18
mov byte [ecx + edx + 0x18], bl
mov ebx, eax
shr ebx, 0x10
mov byte [ecx + edx + 0x19], bl
mov byte [ecx + edx + 0x1a], ah
mov byte [ecx + edx + 0x1b], al
movzx eax, word [esi + 4]
mov byte [ecx + edx + 0x1c], ah
mov byte [ecx + edx + 0x1d], al
movzx eax, word [esi + 6]
mov byte [ecx + edx + 0x1e], ah
mov byte [ecx + edx + 0x1f], al
movsd xmm0, qword [esi + 8]
movsd qword [ecx + edx + 0x20], xmm0
mov esi, dword [esp + 0x540]
mov ebx, dword [esp + 0x544]
mov eax, ebx
shr eax, 0x18
mov byte [ecx + edx + 0x2c], al
mov eax, ebx
shr eax, 0x10
mov byte [ecx + edx + 0x2d], al
mov byte [ecx + edx + 0x2e], bh
mov byte [ecx + edx + 0x2f], bl
mov ebx, esi
mov eax, ebx
shr eax, 0x18
mov byte [ecx + edx + 0x30], al
mov eax, ebx
shr eax, 0x10
mov byte [ecx + edx + 0x31], al
mov esi, 0xc
mov byte [ecx + edx + 0x32], bh
mov byte [ecx + edx + 0x33], bl
mov eax, dword [esp + 0x380]
mov eax, dword [eax]
mov ecx, dword [eax + edi + 4]
mov edx, dword [eax + edi + 0x10]
mov eax, dword [eax + edi + 0x14]
mov ebx, 0x14
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0068ece0
mov dword [esp + 0x568], eax
test eax, eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
jne 0x77301e
cmp ebx, 6
jne 0x772f23
mov eax, ebx
not eax
and eax, 1
add eax, ebx
jne 0x772f91
mov eax, dword [esp + 0x380]
mov eax, dword [eax]
mov ecx, dword [esp + 0x358]
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]
mov ebx, dword [eax + ecx*8]
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 dword [esp + 4], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.007855d0
mov dword [esp + 0x568], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x76d151
mov edx, dword [esp + 0x564]
mov ecx, dword [edx + 0xc]
mov eax, dword [esp + 0x554]
mov dword [esp + 0x26c], eax
test eax, eax
setne bl
imul eax, eax
and eax, 3
cmp eax, 2
sete bh
cmp dword [ecx + 0x18], 0
je 0x77305d
mov eax, 8
or bl, bh
mov edi, dword [esp + 0x410]
mov ebx, dword [esp + 0x404]
je 0x773077
cmp eax, 8
jne 0x77304a
mov eax, dword [esp + 0x26c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00786870
mov dword [esp + 0x568], eax
test eax, eax
je 0x77306d
mov al, 1
test al, al
je 0x77306d
mov dword [esp + 0x404], ebx
mov dword [esp + 0x410], edi
jmp 0x76d151
cmp esi, 0xc
jne 0x7696f9
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
je 0x7696f9
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
jmp 0x773566
mov eax, dword [esp + 0x2a8]
mov esi, dword [esp + 0x37c]
jmp 0x77033b
mov edi, dword [esp + 0x410]
mov ebx, dword [esp + 0x404]
jmp 0x773077
mov edx, dword [esp + 0x564]
mov ecx, dword [edx + 0xc]
add edx, 0xc
mov dword [esp + 0x164], edx
cmp dword [ecx + 4], 0
je 0x7732a4
xor eax, eax
test al, al
mov esi, dword [esp + 0x408]
jne 0x77329b
mov eax, 3
mov edx, dword [esp + 0x2b4]
sub eax, edx
xor eax, edx
setne al
movzx eax, al
cmp edx, eax
jne 0x77329b
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x77329b
mov eax, 2
mov edx, ecx
and edx, 1
xor edx, ecx
not edx
test edx, edx
mov dword [esp + 0x3fc], esi
mov edx, esi
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x3f4], ebx
mov esi, ebx
mov dword [esp + 0x3f0], edi
mov dword [esp + 0x410], edi
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3e4], ecx
je 0x7732ea
cmp eax, 2
jne 0x77363d
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov edi, esi
mov ecx, dword [esp + 0x3f8]
je 0x773688
mov dword [esp + 0x408], edx
mov dword [esp + 0x404], edi
mov edx, dword [esp + 0x2c8]
cmp edx, 0xffffffff
je 0x7736cc
xor eax, eax
test al, al
jne 0x7736cc
mov eax, dword [esp + 0x380]
mov ecx, dword [eax]
lea eax, [edx + edx*2]
mov edx, dword [ecx + eax*8 + 0x14]
mov dword [esp + 0xb4], edx
mov edx, dword [edx + 0x14]
mov dword [esp + 0xa8], edx
lea edx, [edx*8]
lea esi, [edx + edx*2]
mov dword [esp + 0xa4], esi
lea edi, [edx + edx*2 + 0x30]
mov esi, dword [ecx + eax*8 + 0x10]
cmp esi, edi
jbe 0x77393a
mov eax, 0xb
mov edx, 3
sub edx, esi
xor edx, esi
je 0x77393a
mov edx, edi
mov edi, dword [esp + 0x404]
mov ebx, dword [esp + 0x410]
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3fc], ecx
cmp eax, 8
je 0x7738e4
xor eax, eax
test al, al
jne 0x7738e4
mov eax, dword [esp + 0xb4]
lea eax, [eax + edx]
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x3f0], edx
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.007ce3c0
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x404], edi
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x410], ebx
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x380]
mov ecx, dword [eax]
mov dword [esp + 0x140], esi
mov dword [esp + 0x50], esi
jmp 0x7739ad
mov dword [esp + 0x3fc], esi
jmp 0x7732b2
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3f0], edi
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x564]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x773337
mov edx, ecx
and edx, 1
xor edx, ecx
not edx
test edx, edx
je 0x773337
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], eax
jmp 0x7734e9
mov eax, dword [eax + 0x14]
test eax, eax
sete cl
imul eax, eax
and eax, 3
cmp eax, 2
sbb al, al
mov edx, dword [esp + 0x508]
mov dword [esp + 0x170], edx
mov esi, dword [esp + 0x50c]
mov dword [esp + 0x16c], esi
or edx, esi
setne dl
and dl, al
mov eax, 3
mov esi, dword [esp + 0x2c8]
sub eax, esi
xor eax, esi
setne al
movzx eax, al
add eax, esi
setne ch
and ch, dl
mov eax, 4
and ch, cl
test byte [esp + 0x227], ch
mov esi, 2
je 0x7735b1
cmp esi, 2
mov ecx, dword [esp + 0x2c8]
mov edx, dword [esp + 0x390]
mov ebx, dword [esp + 0x3e4]
jne 0x7735e9
mov eax, esi
not eax
and eax, 1
add eax, esi
je 0x7735e9
mov edi, 0x11
mov eax, dword [esp + 0x548]
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x54c]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x380]
mov eax, dword [eax]
lea ecx, [ecx + ecx*2]
mov ecx, dword [eax + ecx*8 + 0x14]
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x168], eax
add ecx, 0x18
mov dword [esp + 0x1d4], ecx
xor edx, edx
test eax, eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x264], 0
jne 0x773d72
cmp edi, 6
mov edx, dword [esp + 0x370]
mov eax, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x40c]
mov esi, dword [esp + 0x410]
mov ebx, dword [esp + 0x3d0]
je 0x76f243
mov edx, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], edx
mov edx, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], edx
mov edx, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], edx
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x3dc], ebx
mov dword [esp + 0x3f0], esi
mov dword [esp + 0x3e4], ecx
lea eax, [esp + 0x568]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.007855d0
mov dword [esp + 0x568], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
jmp 0x76d151
cmp eax, 4
je 0x769f9c
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
jmp 0x76a001
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov dword [esp + 0x40c], ebx
mov esi, edx
jmp 0x7738ca
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x3fc], edx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov ebx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov edi, dword [esp + 0x410]
mov dword [esp + 0x404], esi
jmp 0x772022
mov dword [esp + 0x404], edi
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x3fc], edx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov ebx, dword [esp + 0x3dc]
mov dword [esp + 0x3d4], ecx
mov edi, dword [esp + 0x410]
jmp 0x772022
mov esi, 4
mov dword [esp + 0x4a0], 0x626c7570
mov dword [esp + 0x4a4], 1
mov eax, dword [esp + 0x164]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, eax
shr edx, 0x18
mov byte [esp + 0x4a8], dl
mov edx, eax
shr edx, 0x10
mov byte [esp + 0x4a9], dl
mov byte [esp + 0x4aa], ah
mov byte [esp + 0x4ab], al
movzx eax, word [ecx + 4]
mov byte [esp + 0x4ac], ah
mov byte [esp + 0x4ad], al
movzx eax, word [ecx + 6]
mov byte [esp + 0x4ae], ah
mov byte [esp + 0x4af], al
movsd xmm0, qword [ecx + 8]
movsd qword [esp + 0x4b0], xmm0
mov eax, dword [esp + 0x548]
mov ecx, dword [esp + 0x54c]
mov edx, ecx
shr edx, 0x18
mov byte [esp + 0x4b8], dl
mov edx, ecx
shr edx, 0x10
mov byte [esp + 0x4b9], dl
mov byte [esp + 0x4ba], ch
mov byte [esp + 0x4bb], cl
mov ecx, eax
shr ecx, 0x18
mov byte [esp + 0x4bc], cl
mov ecx, eax
shr ecx, 0x10
mov byte [esp + 0x4bd], cl
mov byte [esp + 0x4be], ah
mov byte [esp + 0x4bf], al
lea edi, [esp + 0x490]
mov dword [esp + 4], edi
mov dword [esp + 8], 0x30
mov dword [esp], 2
call fcn.0068ece0
mov dword [esp + 0x568], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x773bae
mov esi, 2
mov dword [esp + 0x14], edi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0x30
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 2
mov dword [esp + 4], 6
call fcn.007855d0
mov dword [esp + 0x568], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x76d151
cmp esi, 2
jne 0x76d151
mov eax, esi
not eax
and eax, 1
add eax, esi
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
jne 0x7732ea
jmp 0x76d151
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov esi, dword [esp + 0x390]
mov edx, dword [esp + 0x3a0]
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3a8], eax
jmp 0x770984
mov dword [esp + 0x50], esi
mov dword [esp + 0x140], edx
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x404], eax
mov dword [esp + 0x3e0], edi
mov dword [esp + 0x3e8], ebx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x3ec], eax
jmp case.0x7676b0.38
mov eax, 7
cmp esi, edi
jb 0x773c1e
mov edx, esi
and edx, 1
inc edx
xor edx, esi
mov dword [esp + 0x50], esi
mov edx, dword [esp + 0x3a0]
mov dword [esp + 0x384], edx
mov edx, dword [esp + 0x398]
mov dword [esp + 0x3a8], edx
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3d8], edx
mov edx, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], edx
mov dword [esp + 0x3f0], edi
mov dword [esp + 0x140], edi
je 0x76ae08
mov eax, dword [esp + 0x2c8]
lea eax, [eax*8]
lea esi, [eax + eax*2]
mov eax, dword [esp + 0x140]
mov dword [ecx + esi + 0x10], eax
mov eax, dword [esp + 0xa8]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x380]
mov edx, dword [eax]
mov edx, dword [edx + esi + 0x14]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax]
mov ecx, dword [ecx + esi + 0x14]
mov edx, dword [esp + 0x564]
mov edx, dword [edx + 0xc]
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edx, dword [eax]
mov ebx, edx
shr ebx, 0x18
mov edi, dword [esp + 0xa4]
mov byte [ecx + edi + 0x18], bl
mov ebx, edx
shr ebx, 0x10
mov byte [ecx + edi + 0x19], bl
mov byte [ecx + edi + 0x1a], dh
mov byte [ecx + edi + 0x1b], dl
movzx edx, word [eax + 4]
mov byte [ecx + edi + 0x1c], dh
mov byte [ecx + edi + 0x1d], dl
movzx edx, word [eax + 6]
mov byte [ecx + edi + 0x1e], dh
mov byte [ecx + edi + 0x1f], dl
movsd xmm0, qword [eax + 8]
movsd qword [ecx + edi + 0x20], xmm0
mov edx, dword [esp + 0x548]
mov eax, dword [esp + 0x54c]
mov ebx, eax
shr ebx, 0x18
mov byte [ecx + edi + 0x28], bl
mov ebx, eax
shr ebx, 0x10
mov byte [ecx + edi + 0x29], bl
mov byte [ecx + edi + 0x2a], ah
mov byte [ecx + edi + 0x2b], al
mov eax, edx
shr eax, 0x18
mov byte [ecx + edi + 0x2c], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + edi + 0x2d], al
mov byte [ecx + edi + 0x2e], dh
mov byte [ecx + edi + 0x2f], dl
mov edi, dword [esp + 0x380]
mov eax, dword [edi]
mov ecx, dword [eax + esi + 4]
mov edx, dword [eax + esi + 0x10]
mov eax, dword [eax + esi + 0x14]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0068ece0
mov dword [esp + 0x568], eax
test eax, eax
jne 0x773b9b
mov eax, dword [edi]
mov ecx, dword [esp + 0x2c8]
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]
mov ebx, dword [eax + ecx*8]
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 dword [esp + 4], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.007855d0
mov dword [esp + 0x568], eax
test eax, eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x384]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
jne 0x76d151
jmp 0x7732ea
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x140], eax
jmp 0x770f6f
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov ebx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x404]
mov edi, dword [esp + 0x410]
jmp 0x76e21a
mov dword [esp + 0x568], 0x70000003
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3cc], eax
mov dword [esp + 0x1a0], esi
jmp 0x770e69
mov dword [esp + 0x140], edi
mov dword [esp + 0x50], esi
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d8], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x3a8], ecx
jmp 0x76ae08
mov ecx, 0xb
cmp ebx, dword [esp + 0x168]
mov edi, dword [esp + 0x3f0]
jae 0x77417a
mov esi, 0xc
mov edx, ebx
mov dword [esp + 0x264], ebx
imul edx, edx
and edx, 3
cmp edx, 2
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov ebx, dword [esp + 0x3dc]
mov edx, edi
mov edi, dword [esp + 0x3e4]
mov dword [esp + 0x40c], edi
mov edi, dword [esp + 0x3fc]
mov dword [esp + 0x408], edi
mov edi, dword [esp + 0x3d8]
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x32c]
mov dword [esp + 0x3c8], eax
jae 0x772b71
cmp esi, 0xc
mov ecx, dword [esp + 0x404]
jne 0x772950
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3d8], edi
mov dword [esp + 0x3f4], ecx
mov dword [esp + 0x3f0], edx
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x32c], eax
mov edx, dword [esp + 0x264]
mov dword [esp + 0x400], edx
lea eax, [edx*8]
lea eax, [eax + eax*2]
mov esi, dword [esp + 0x1d4]
movzx ecx, byte [esi + eax + 0x10]
shl ecx, 0x18
mov ebx, edx
movzx edx, byte [esi + eax + 0x11]
shl edx, 0x10
or edx, ecx
movzx ecx, byte [esi + eax + 0x12]
shl ecx, 8
or ecx, edx
movzx edx, byte [esi + eax + 0x13]
or edx, ecx
movzx ecx, byte [esi + eax + 0x14]
shl ecx, 0x18
movzx edi, byte [esi + eax + 0x15]
shl edi, 0x10
or edi, ecx
movzx ecx, byte [esi + eax + 0x16]
shl ecx, 8
or ecx, edi
movzx edi, byte [esi + eax + 0x17]
or edi, ecx
mov ecx, ebx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
adc ebx, 0
xor edx, dword [esp + 0x1d8]
xor edi, dword [esp + 0x1dc]
or edi, edx
jne 0x773c74
mov edx, dword [esp + 0x16c]
mov ecx, edx
shr ecx, 0x18
mov byte [esi + eax + 0x10], cl
mov ecx, edx
shr ecx, 0x10
mov byte [esi + eax + 0x11], cl
mov byte [esi + eax + 0x12], dh
mov byte [esi + eax + 0x13], dl
mov edx, dword [esp + 0x170]
mov ecx, edx
shr ecx, 0x18
mov byte [esi + eax + 0x14], cl
mov ecx, edx
shr ecx, 0x10
mov byte [esi + eax + 0x15], cl
mov byte [esi + eax + 0x16], dh
mov byte [esi + eax + 0x17], dl
mov esi, dword [esp + 0x380]
mov eax, dword [esi]
mov ecx, dword [esp + 0x2c8]
lea edi, [ecx + ecx*2]
mov ecx, dword [eax + edi*8 + 0x10]
mov edx, dword [eax + edi*8 + 0x14]
mov eax, dword [eax + edi*8 + 4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0068ece0
mov dword [esp + 0x568], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x774159
mov eax, dword [esi]
mov ecx, dword [eax + edi*8 + 0x10]
mov edx, dword [eax + edi*8 + 0x14]
mov ebx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
movzx eax, byte [eax + edi*8 + 8]
mov edi, 0xa
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.007855d0
mov dword [esp + 0x568], eax
test eax, eax
jne 0x7742d5
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov eax, 0x15
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x264], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x3c4], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3c8], ecx
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x408], ecx
mov edx, dword [esp + 0x3a0]
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], ecx
je 0x77433e
cmp eax, 6
je 0x7741f9
xor eax, eax
test al, al
mov edi, dword [esp + 0x410]
mov esi, dword [esp + 0x404]
mov ebx, dword [esp + 0x3fc]
jne 0x77426e
mov dword [esp + 0x3d0], 0xf
mov dword [esp + 0x3c0], 0x19
lea eax, [esp + 0x508]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 8
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x10
call fcn.007855d0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x568], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x3e0], esi
mov dword [esp + 0x3f4], esi
mov dword [esp + 0x3e8], edi
mov dword [esp + 0x3f0], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x408], ebx
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3ac], eax
jne 0x7741b9
mov ecx, dword [esp + 0x3c0]
cmp ecx, 9
jne 0x774361
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e4], eax
jne case.0x7676b0.38
jmp 0x7734e9
mov eax, dword [esp + 0x400]
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
jmp 0x773566
mov dword [esp + 0x264], ebx
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov ebx, dword [esp + 0x3dc]
mov edx, edi
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
jmp 0x772b71
mov ecx, dword [esp + 0x3d0]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp ecx, eax
je 0x76de18
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
jmp 0x77354a
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov edx, dword [esp + 0x3d4]
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
mov edi, dword [esp + 0x410]
jmp 0x76bfc2
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x408], ebx
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x400], eax
mov edx, dword [esp + 0x3d4]
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x3b0], eax
jmp 0x76bfc2
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x408], eax
mov edx, dword [esp + 0x3a0]
mov eax, dword [esp + 0x398]
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x264], eax
cmp edi, 9
je 0x769130
mov dword [esp + 0x3a0], edx
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x398], eax
jmp 0x770e77
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e4], eax
jmp 0x7734e9
mov byte [esp + 0x404], 0x52
mov bl, 0x13
mov bh, 0x73
mov eax, dword [ebp + 0x14]
lea eax, [eax + 4]
mov dword [esp + 0x3f0], eax
xor eax, eax
mov ecx, dword [esp + 0x3ec]
mov esi, dword [esp + 0x410]
mov edx, 8
mov dword [esp + 0x408], ecx
mov edi, eax
cmp edx, 6
je 0x7743f6
mov eax, edx
and eax, 1
inc eax
xor eax, edx
jne 0x7745b1
mov edx, 3
mov byte [esp + 0x404], 0x52
mov eax, edi
not eax
and eax, 1
add eax, edi
setne al
movzx eax, al
add eax, edi
cmp eax, esi
mov ecx, esi
jb 0x7743d5
cmp edx, 2
jne 0x774433
imul edx, edx
and edx, 3
cmp edx, 2
mov ecx, esi
mov edx, esi
jb 0x7743d5
jmp 0x774693
mov edx, esi
jmp 0x774693
mov eax, dword [esp + 0x3f0]
mov esi, dword [eax]
mov dword [esp + 0x3f4], esi
mov ecx, edi
shl ecx, 6
mov edx, dword [esi + ecx + 0x10]
cmp dword [ebp + 0x18], edx
mov eax, dword [ebp + 0x1c]
sbb eax, dword [esi + ecx + 0x14]
mov eax, 0x19
mov bh, 0x69
lea ecx, [esi + ecx]
mov dword [esp + 0x3f8], ecx
jl 0x774490
mov ecx, 0xc
imul edx, edx
and edx, 3
cmp edx, 2
mov esi, dword [esp + 0x408]
jne 0x7746a1
jmp 0x77487f
mov esi, dword [esp + 0x408]
jmp 0x77487f
mov byte [esp + 0x400], bh
mov ebx, esi
shl esi, 6
mov edi, dword [esp + 0x3f4]
mov eax, dword [edi + esi + 0x24]
mov dword [esp], eax
call fcn.00689a80
mov eax, dword [edi + esi + 0x38]
mov dword [esp], eax
call fcn.00689a80
mov eax, dword [edi + esi + 0x28]
mov dword [esp], eax
call fcn.00689a80
mov dword [edi + esi + 0x24], 0
mov dword [edi + esi + 0x38], 0
mov dword [edi + esi + 0x28], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
mov edx, eax
sub edx, ecx
cmp ebx, edx
mov esi, ebx
jb 0x774531
xor ecx, ecx
test cl, cl
mov dword [esp + 0x40c], eax
mov bl, byte [esp + 0x3fc]
mov bh, byte [esp + 0x400]
mov edi, 0x14
je 0x774568
jmp 0x7747f1
mov dword [esp + 0x40c], eax
mov bl, byte [esp + 0x3fc]
mov bh, byte [esp + 0x400]
mov edi, 0x14
jmp 0x7747f1
imul edx, edx
and edx, 3
cmp edx, 3
mov bl, cl
mov bh, byte [esp + 0x400]
jne 0x7746df
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
mov edx, eax
sub edx, ecx
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
mov edi, esi
cmp edi, edx
jb 0x7745aa
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x408], edx
mov esi, dword [esp + 0x410]
jne 0x774693
jmp 0x7745b1
mov dword [esp + 0x408], edx
mov eax, 0x10
movzx ecx, bh
cmp ecx, 0x73
je 0x7746c7
mov byte [esp + 0x3fc], bl
mov eax, dword [esp + 0x3f0]
mov edx, dword [eax]
mov dword [esp + 0x3f4], edx
mov eax, edi
mov esi, edi
shl eax, 6
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [edx + eax + 0x10]
mov ecx, dword [ebp + 0x1c]
sbb ecx, dword [edx + eax + 0x14]
mov bh, 0x73
lea eax, [edx + eax]
jl 0x774620
mov dword [esp + 0x3f8], eax
xor eax, eax
test al, al
mov eax, dword [esp + 0x408]
mov dword [esp + 0x410], eax
mov edx, dword [esp + 0x40c]
je 0x77449c
jmp 0x77474d
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x410], eax
mov edx, dword [esp + 0x40c]
jmp 0x77474d
mov dword [esp + 0x40c], edx
mov byte [esp + 0x404], 0x20
mov eax, 3
mov edi, esi
sub eax, edi
xor eax, edi
setne al
movzx eax, al
add eax, edi
mov esi, dword [esp + 0x410]
cmp eax, esi
jae 0x77468a
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov ecx, esi
mov edx, esi
mov bl, byte [esp + 0x3fc]
jne 0x7743d5
jmp 0x774693
mov edx, esi
mov bl, byte [esp + 0x3fc]
mov ecx, 0x12
mov eax, 0x1d
test edx, edx
je 0x7746c7
mov dword [esp + 0x410], esi
mov esi, edi
mov byte [esp + 0x3fc], bl
cmp ecx, 0xc
jne 0x7746f6
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jb 0x77449c
jmp 0x7746f6
cmp eax, 0x10
je 0x77443a
imul eax, eax
and eax, 3
cmp eax, 2
je 0x77443a
mov eax, dword [ebp + 0x14]
mov esi, eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00689a80
mov dword [esi + 4], 0
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov byte [esp + 0x404], 0x3b
mov eax, edi
not eax
and eax, 1
add eax, edi
setne al
movzx eax, al
add eax, edi
mov esi, dword [esp + 0x410]
cmp eax, esi
mov bl, byte [esp + 0x3fc]
jae 0x774746
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
mov ecx, esi
mov edx, esi
jne 0x7743d5
jmp 0x774693
mov edx, esi
jmp 0x774693
movzx eax, byte [esp + 0x404]
cmp eax, 0x20
je 0x774641
mov dword [esp + 0x40c], edx
mov edx, 6
cmp eax, 0x3b
mov edi, esi
jne 0x774700
mov bl, byte [esp + 0x3fc]
mov esi, dword [esp + 0x410]
jmp 0x7743e3
mov byte [esp + 0x400], bh
mov dword [esp + 0x3fc], 1
mov esi, dword [esp + 0x3f8]
lea eax, [esi + 0x40]
mov ecx, edx
sub ecx, edi
shl ecx, 6
add ecx, 0xffffffc0
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], ecx
mov ebx, edx
call fcn.007cec40
mov cl, 0x13
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x3f8], esi
mov esi, edi
mov edx, dword [esp + 0x3fc]
cmp edx, 1
jne 0x774550
mov bl, cl
mov bh, byte [esp + 0x400]
jmp 0x774568
cmp edi, 0xd
je 0x774568
mov ecx, edi
and ecx, 1
inc ecx
xor ecx, edi
je 0x774568
mov ecx, 0xd
mov eax, 9
movzx edx, bl
cmp edx, 0x45
mov edi, esi
mov esi, dword [esp + 0x410]
jne 0x77487f
mov dword [esp + 0x410], esi
mov esi, edi
cmp ecx, 0xd
jne 0x7743ac
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
je 0x7743ac
mov edi, 0xd
mov bl, 0x45
mov edx, dword [esp + 0x3f8]
lea eax, [edx + 0x40]
mov ecx, dword [esp + 0x40c]
sub ecx, esi
shl ecx, 6
add ecx, 0xffffffc0
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], ecx
call fcn.007cec40
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
jmp 0x7747f1
cmp eax, 9
mov edx, dword [esp + 0x40c]
jne 0x7748a3
mov dword [esp + 0x410], esi
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x774784
jmp 0x7748aa
mov dword [esp + 0x410], esi
mov esi, edi
mov byte [esp + 0x3fc], bl
jmp 0x77474d
mov eax, dword [esp + 0x1c8]
mov esi, dword [eax]
mov edx, dword [esp + 0x218]
lea eax, [edx + edx*2]
lea ecx, [esi + eax*8]
mov dword [esp + 0x1e4], ecx
mov ecx, dword [esi + eax*8]
cmp ecx, 0xf
jg 0x77499e
mov dword [esp + 0x278], esi
mov byte [esp + 0x3cc], 0x44
cmp ecx, 4
je 0x774a55
mov dword [esp + 0x410], 0xf
cmp ecx, 5
mov dword [esp + 0x288], ecx
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x3f4], eax
mov ebx, dword [esp + 0x364]
mov dword [esp + 0x3f0], ebx
mov edi, dword [esp + 0x348]
mov dword [esp + 0x3e0], edi
mov dword [esp + 0x3d0], edx
mov esi, dword [esp + 0x338]
mov dword [esp + 0x3dc], esi
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x2c0], ecx
mov dword [esp + 0x2e4], esi
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x2c8], ecx
mov dword [esp + 0x2a8], edi
mov dword [esp + 0x2d0], ebx
mov dword [esp + 0x2f8], edx
mov dword [esp + 0x2cc], eax
je 0x7777b6
jmp 0x775043
mov dword [esp + 0x278], esi
mov byte [esp + 0x3cc], 0x44
cmp ecx, 0x10
je 0x774af4
cmp ecx, 0x26
mov dword [esp + 0x288], ecx
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x3f4], eax
mov ebx, dword [esp + 0x364]
mov dword [esp + 0x3f0], ebx
mov edi, dword [esp + 0x348]
mov dword [esp + 0x3e0], edi
mov dword [esp + 0x3d0], edx
mov esi, dword [esp + 0x338]
mov dword [esp + 0x3dc], esi
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x2c0], ecx
mov dword [esp + 0x2e4], esi
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x2c8], ecx
mov dword [esp + 0x2a8], edi
mov dword [esp + 0x2d0], ebx
mov dword [esp + 0x2f8], edx
mov dword [esp + 0x2cc], eax
mov eax, 3
je 0x77c5b9
jmp 0x775043
mov dword [esp + 0x288], ecx
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x3f4], eax
mov ebx, dword [esp + 0x364]
mov dword [esp + 0x3f0], ebx
mov edi, dword [esp + 0x348]
mov dword [esp + 0x3e0], edi
mov dword [esp + 0x3d0], edx
mov esi, dword [esp + 0x338]
mov dword [esp + 0x3dc], esi
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x2c0], ecx
mov dword [esp + 0x2e4], esi
mov esi, ebx
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x2c8], ecx
mov dword [esp + 0x2a8], edi
mov edi, 0xb
mov dword [esp + 0x2d0], esi
mov dword [esp + 0x2f8], edx
mov dword [esp + 0x2cc], eax
mov edx, dword [esp + 0x270]
jmp 0x774ba5
mov dword [esp + 0x410], 1
mov dword [esp + 0x288], ecx
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x40c], eax
mov ecx, dword [esp + 0x36c]
mov dword [esp + 0x3f4], ecx
mov eax, dword [esp + 0x364]
mov dword [esp + 0x3f0], eax
mov ebx, dword [esp + 0x348]
mov dword [esp + 0x3e0], ebx
mov dword [esp + 0x3d0], edx
mov edi, dword [esp + 0x338]
mov dword [esp + 0x3dc], edi
mov esi, dword [esp + 0x340]
mov dword [esp + 0x3d8], esi
mov dword [esp + 0x2c0], esi
mov dword [esp + 0x2e4], edi
mov esi, dword [esp + 0x33c]
mov dword [esp + 0x2c8], esi
mov dword [esp + 0x2a8], ebx
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x2f8], edx
mov dword [esp + 0x2cc], ecx
mov ecx, dword [esp + 0x40c]
jmp 0x77de28
cmp edi, 0xb
jne 0x774bc8
mov ecx, 3
sub ecx, edi
xor ecx, edi
je 0x774bc8
mov dword [esp + 0x364], esi
mov dword [esp + 0x270], edx
jmp 0x774e49
mov eax, 0x15
movzx ecx, byte [esp + 0x350]
cmp ecx, 4
jne 0x774d3e
mov dword [esp + 0x270], edx
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x338]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x348]
mov dword [esp + 0x3ec], ecx
mov dword [esp + 0x40c], esi
mov ecx, dword [esp + 0x36c]
mov dword [esp + 0x410], ecx
mov edi, dword [esp + 0x3a8]
mov edx, dword [esp + 0x3b0]
mov dword [esp + 0x39c], edx
cmp eax, 8
je 0x774daf
imul eax, eax
and eax, 3
cmp eax, 2
mov edx, dword [esp + 0x3ec]
mov esi, dword [esp + 0x404]
je 0x774de9
mov dword [esp + 0x364], esi
mov eax, dword [esp + 0x2b0]
mov dword [eax], edx
mov dword [esp + 0x270], edx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov ebx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov byte [esp + 0x350], 4
jmp 0x779709
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x348], eax
jmp 0x774e13
mov esi, 6
lea eax, [esp + 0x458]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp], eax
call fcn.00789690
mov dword [esp + 0x468], 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 + 0x2cc]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3d8], eax
jne 0x77bca2
cmp esi, 6
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
jne 0x776413
mov byte [esp + 0x187], 8
lea eax, [esp + 0x460]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp], eax
call fcn.00789bd0
mov dword [esp + 0x468], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov edi, dword [esp + 0x2cc]
mov dword [esp + 0x3f4], edi
mov esi, dword [esp + 0x2d0]
mov dword [esp + 0x3f0], esi
mov edx, dword [esp + 0x2a8]
mov dword [esp + 0x3e0], edx
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], eax
mov ecx, dword [esp + 0x2e4]
mov dword [esp + 0x3dc], ecx
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x410], edi
mov dword [esp + 0x40c], esi
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x404], ecx
mov dword [esp + 0x408], eax
jne 0x77bca2
jmp 0x779fd3
mov byte [esp + 0x3b8], 0x78
mov eax, dword [esp + 0x178]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp], eax
call fcn.007898d0
mov dword [esp + 0x468], eax
test eax, eax
jne 0x77bca2
mov eax, dword [esp + 0x1c8]
mov ecx, dword [eax]
mov dword [esp + 0x278], ecx
mov eax, dword [esp + 0x2f8]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8]
mov dword [esp + 0x288], eax
mov ecx, 7
movzx eax, byte [esp + 0x3bc]
cmp eax, 0x54
je 0x776672
mov byte [esp + 0x3bc], 0xf
mov eax, dword [esp + 0x288]
cmp eax, 0x12
je 0x77516c
mov ebx, 3
cmp eax, 0x21
je 0x775597
cmp ebx, 3
mov esi, dword [esp + 0x340]
mov edx, dword [esp + 0x338]
mov ecx, dword [esp + 0x33c]
mov eax, dword [esp + 0x348]
mov edi, dword [esp + 0x364]
je 0x775136
imul ebx, ebx
and ebx, 3
cmp ebx, 3
mov dword [esp + 0x408], esi
mov dword [esp + 0x404], edx
mov dword [esp + 0x400], ecx
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x40c], edi
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x288]
mov dword [esp + 0x2d4], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x330], eax
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x1d8], eax
mov edx, dword [esp + 0x3a8]
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x39c], eax
jne 0x77afdc
jmp 0x77585f
mov eax, dword [esp + 0x288]
mov dword [esp + 0x2d4], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x330], eax
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x1d8], eax
jmp 0x77585f
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 0x2a0], ecx
mov edi, eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x330], eax
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x1d8], eax
mov edx, dword [esp + 0x264]
mov esi, dword [esp + 0x2c4]
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x338]
mov dword [esp + 0x338], ecx
mov dword [esp + 0x340], eax
mov dword [esp + 0x2d4], edi
mov dword [esp + 0x2c4], esi
mov dword [esp + 0x264], edx
movzx eax, byte [esp + 0x1bc]
cmp eax, 0x34
jne 0x775297
mov ebx, 0x14
mov edi, 1
mov byte [esp + 0x1bc], 0x34
mov eax, dword [esp + 0x2f8]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x1d8]
lea eax, [ecx + eax*8]
lea ecx, [esp + 0x43c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00789540
mov dword [esp + 0x468], eax
test eax, eax
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3d8], eax
mov esi, dword [esp + 0x2a0]
jne 0x779a4a
jmp 0x775378
mov dword [esp + 0x400], 0xe
mov byte [esp + 0x1bc], 0x1d
mov eax, dword [esp + 0x2f8]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x1d8]
lea eax, [ecx + eax*8]
lea ecx, [esp + 0x43c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00789540
mov dword [esp + 0x468], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov edi, dword [esp + 0x2a0]
mov dword [esp + 0x3c0], edi
mov ebx, dword [esp + 0x2cc]
mov dword [esp + 0x410], ebx
mov esi, dword [esp + 0x2d0]
mov dword [esp + 0x40c], esi
mov edx, dword [esp + 0x2a8]
mov dword [esp + 0x3ec], edx
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], eax
mov ecx, dword [esp + 0x2e4]
mov dword [esp + 0x404], ecx
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x408], eax
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3f0], esi
mov dword [esp + 0x3e0], edx
mov dword [esp + 0x3dc], ecx
mov dword [esp + 0x3d8], eax
je 0x779fd3
jmp 0x77cb8b
mov eax, edi
and eax, 1
xor eax, edi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp edi, eax
jne 0x775398
mov dword [esp + 0x3c0], esi
jmp 0x779f8d
mov dword [esp + 0x2a0], esi
xor edi, edi
mov esi, 0xffffffff
jmp 0x7753c6
mov ebx, 6
inc edi
mov eax, dword [esp + 0x324]
mov dword [esp], eax
call fcn.006275f0
dec esi
mov eax, edi
and eax, 1
xor eax, esi
setne al
movzx eax, al
cmp edi, eax
jb 0x7753b0
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x410], eax
mov ecx, dword [esp + 0x3a8]
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x39c], eax
cmp ebx, 6
je 0x7754d2
xor eax, eax
test al, al
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov dword [esp + 0x3a8], ecx
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3b0], eax
mov esi, dword [esp + 0x3c0]
je 0x77b178
jmp 0x77c0b5
mov esi, dword [esp + 0x3c0]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov dword [esp + 0x3a8], ecx
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3b0], eax
jmp 0x77c0b5
mov eax, 7
mov byte [esp + 0x3bc], 0x54
mov ecx, dword [esp + 0x288]
cmp ecx, 0x12
je 0x775659
cmp ecx, 0x21
mov dword [esp + 0x2d4], ecx
mov eax, dword [esp + 0x278]
mov dword [esp + 0x330], eax
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x1d8], eax
jne 0x77585f
mov eax, dword [esp + 0x2f8]
lea eax, [eax + eax*2]
mov esi, dword [esp + 0x278]
mov ecx, dword [esi + eax*8 + 0x10]
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 dword [esp + 0x468], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x77562a
mov ecx, 0xc
mov eax, 6
movzx edx, byte [esp + 0x17c]
cmp edx, 0x74
mov edx, dword [esp + 0x288]
mov dword [esp + 0x2d4], edx
mov dword [esp + 0x330], esi
mov edx, dword [esp + 0x2a8]
mov dword [esp + 0x2d8], edx
mov dword [esp + 0x1d8], esi
jne 0x77875e
jmp 0x77a4f7
mov eax, dword [esp + 0x288]
mov dword [esp + 0x2d4], eax
mov dword [esp + 0x330], esi
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x1d8], esi
jmp 0x77bca2
mov edx, dword [esp + 0x3fc]
mov dword [esp + 0x39c], edx
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0x334], edx
mov edx, dword [esp + 0x340]
mov dword [esp + 0x408], edx
mov edx, dword [esp + 0x338]
mov dword [esp + 0x404], edx
mov edx, dword [esp + 0x33c]
mov dword [esp + 0x400], edx
mov edx, dword [esp + 0x348]
mov dword [esp + 0x3ec], edx
mov edx, dword [esp + 0x364]
mov dword [esp + 0x40c], edx
mov edx, dword [esp + 0x36c]
mov dword [esp + 0x410], edx
mov edi, ecx
mov ecx, dword [esp + 0x278]
mov dword [esp + 0x330], ecx
mov edx, dword [esp + 0x2a8]
mov dword [esp + 0x2d8], edx
mov dword [esp + 0x1d8], ecx
mov edx, dword [esp + 0x264]
mov bl, byte [esp + 0x290]
mov esi, dword [esp + 0x2c4]
cmp eax, 2
jne 0x775782
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x775782
mov dword [esp + 0x2d4], edi
mov dword [esp + 0x2c4], esi
mov byte [esp + 0x290], bl
mov eax, 4
mov cl, 0x23
mov dword [esp + 0x3c4], ecx
cmp edx, 0xd
sete cl
mov dword [esp + 0x264], edx
imul edx, edx
and edx, 3
cmp edx, 2
sete ch
or ch, cl
cmp dword [esp + 0x42c], 0x17
setb dl
movzx ecx, ch
cmp ecx, 1
jne 0x7757fe
mov ecx, 0xd
test dl, dl
mov ebx, dword [esp + 0x3ec]
jne 0x77a904
jmp 0x77be06
mov byte [esp + 0x290], bl
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x408]
mov ecx, dword [esp + 0x404]
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x33c], ebx
mov ebx, dword [esp + 0x3ec]
mov dword [esp + 0x348], ebx
mov ebx, dword [esp + 0x40c]
mov dword [esp + 0x364], ebx
mov ebx, dword [esp + 0x410]
mov dword [esp + 0x36c], ebx
jmp 0x7751bb
mov ebx, dword [esp + 0x3ec]
jmp 0x77be06
mov bl, 2
mov edx, 3
sub edx, eax
xor edx, eax
setne dl
movzx edx, dl
add eax, edx
mov edx, dword [esi]
mov dword [esp + 0x330], edx
mov edi, dword [edx + ecx*8]
mov edx, dword [esp + 0x2f8]
mov dword [esp + 0x2d8], edx
mov edx, eax
and edx, 1
xor edx, eax
cmp edx, 0xffffffff
setne dl
movzx edx, dl
cmp eax, edx
jb 0x775810
mov dword [esp + 0x2d4], edi
mov byte [esp + 0x17c], bl
mov eax, 6
mov dl, byte [esp + 0x214]
movzx ecx, dl
cmp ecx, 0x28
mov edi, dword [esp + 0x2d4]
jne 0x775972
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x20]
cmp eax, 6
jne 0x775a0a
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x775a0a
mov dl, 0x2e
cmp edi, 0x13
je 0x775a92
mov byte [esp + 0x214], 0x2e
cmp edi, 0x37
je 0x775ba0
mov dword [esp + 0x39c], 0x10
cmp edi, 0x22
mov dword [esp + 0x2d4], edi
mov ebx, dword [esp + 0x2cc]
mov dword [esp + 0x410], ebx
mov edi, dword [esp + 0x2d0]
mov dword [esp + 0x40c], edi
mov esi, dword [esp + 0x2d8]
mov dword [esp + 0x3ec], esi
mov ecx, dword [esp + 0x2c8]
mov dword [esp + 0x400], ecx
mov edx, dword [esp + 0x2e4]
mov dword [esp + 0x404], edx
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x330]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x26c], esi
mov dword [esp + 0x3f4], ebx
mov dword [esp + 0x3f0], edi
mov dword [esp + 0x3e0], esi
mov dword [esp + 0x3d0], ecx
mov dword [esp + 0x3dc], edx
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3d8], eax
jne 0x777046
jmp 0x775dd2
mov dl, 0x28
cmp edi, 0x13
je 0x775a92
mov byte [esp + 0x214], 0x28
mov eax, 0x13
cmp edi, 0x22
je 0x775c58
cmp edi, 0x37
mov eax, dword [esp + 0x330]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x26c], eax
mov ecx, dword [esp + 0x2cc]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x2d0]
mov dword [esp + 0x40c], ecx
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x408], eax
je 0x775ba7
jmp 0x779fd3
mov dword [esp + 0x2d4], edi
mov byte [esp + 0x214], dl
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x1d0]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
add edx, 0xfffffff0
mov eax, dword [eax + ecx*8 + 0x14]
add eax, 0x10
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov dword [esp], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x21
call fcn.007855d0
mov dword [esp + 0x468], eax
mov ecx, dword [esp + 0x438]
mov dword [esp + 0x298], ecx
test ecx, ecx
setne cl
test eax, eax
jne 0x77bca2
test cl, cl
jne 0x77b178
jmp 0x77bca2
mov eax, 6
movzx ecx, byte [esp + 0x3e8]
cmp ecx, 0x17
jne 0x775cba
mov byte [esp + 0x214], dl
xor ecx, ecx
mov eax, dword [esp + 0x2f8]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3f0], eax
jmp 0x775b1c
mov eax, 9
mov byte [esp + 0x3e8], 0xa
mov esi, ecx
and esi, 1
xor esi, ecx
cmp esi, 0xffffffff
setne bl
movzx esi, bl
add ecx, esi
mov esi, dword [esp + 0x330]
mov ebx, dword [esi + edx*8 + 0x14]
mov dword [esp + 0x3f4], ebx
mov esi, dword [esi + edx*8 + 0x10]
mov dword [esp + 0x3f0], esi
mov esi, ecx
imul esi, esi
and esi, 3
cmp esi, 2
sbb esi, esi
and esi, 1
cmp ecx, esi
jb 0x775ae0
mov dword [esp + 0x2d4], edi
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x39c], ecx
mov esi, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x2d8]
mov dword [esp + 0x3e0], ecx
mov edx, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x2e4]
mov dword [esp + 0x3dc], edx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 0x3d8], edx
mov edx, dword [esp + 0x330]
mov dword [esp + 0x1d4], edx
mov edx, esi
mov dword [esp + 0x26c], ecx
jmp 0x779f50
mov dword [esp + 0x2d4], edi
mov byte [esp + 0x190], 0x62
mov eax, dword [esp + 0x2f8]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x330]
mov esi, dword [ecx + eax*8 + 0x10]
xor edx, edx
cmp esi, 4
je 0x775d31
mov ecx, 0xd
imul esi, esi
and esi, 3
cmp esi, 2
mov ebx, dword [esp + 0x2e4]
je 0x775d57
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x3e0], eax
mov edx, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x2e4]
mov dword [esp + 0x3dc], edx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 0x3d8], edx
mov edx, dword [esp + 0x330]
mov dword [esp + 0x1d4], edx
mov dword [esp + 0x26c], eax
jmp 0x776643
mov ecx, dword [esp + 0x2cc]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x2d0]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x2d8]
mov esi, ecx
mov edx, dword [esp + 0x2c8]
mov dword [esp + 0x400], edx
mov edi, dword [esp + 0x2e4]
mov edx, dword [esp + 0x2c0]
mov dword [esp + 0x408], edx
mov edx, dword [esp + 0x330]
mov dword [esp + 0x1d4], edx
mov dword [esp + 0x26c], ecx
jmp 0x77c547
mov dword [esp + 0x2d4], edi
mov byte [esp + 0x214], dl
mov ecx, dword [esp + 0x2cc]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x2d0]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x2d8]
mov ebx, ecx
mov edx, dword [esp + 0x2c8]
mov dword [esp + 0x400], edx
mov edx, dword [esp + 0x2e4]
mov dword [esp + 0x404], edx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 0x408], edx
mov edx, dword [esp + 0x330]
mov dword [esp + 0x1d4], edx
mov dword [esp + 0x26c], ecx
jmp 0x77743d
mov ebx, dword [esp + 0x2e4]
jmp 0x775d57
add ecx, esi
setne cl
movzx ecx, cl
add edx, ecx
mov ecx, dword [esp + 0x330]
mov ecx, dword [ecx + eax*8 + 0x14]
mov ebx, dword [ecx]
test edx, edx
jne 0x775d6b
mov ecx, edx
or ecx, 2
mov esi, edx
xor esi, 2
mov edi, ecx
add edi, esi
jne 0x775d40
mov dword [esp + 0x404], ebx
mov eax, dword [esp + 0x330]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x26c], eax
mov ecx, dword [esp + 0x2cc]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x2d0]
mov dword [esp + 0x40c], ecx
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x408], eax
jmp 0x779fd3
mov esi, 0x1b
mov eax, dword [esp + 0x2f8]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x1d4]
lea eax, [ecx + eax*8]
lea ecx, [esp + 0x438]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0078a000
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x468], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3f8]
jne 0x77bca2
mov dword [esp + 0x334], eax
cmp esi, 0xb
jne 0x775ec7
mov eax, 0xf
mov ecx, dword [esp + 0x310]
test ecx, ecx
je 0x775f6d
cmp ecx, 3
mov dword [esp + 0x3c8], ecx
jne 0x77c761
mov dword [esp + 0x3c8], 1
jmp 0x77c761
mov ecx, 0xe
mov eax, 3
mov edx, dword [esp + 0x438]
mov dword [esp + 0x23c], edx
mov edx, dword [edx]
mov esi, edx
and esi, 1
inc esi
xor esi, edx
sete bl
movzx esi, bl
mov dword [esp + 0x240], 0
cmp edx, esi
mov edx, dword [esp + 0x2c0]
mov dword [esp + 0x238], edx
mov esi, dword [esp + 0x26c]
mov dword [esp + 0x3ec], esi
mov edi, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], edi
mov edi, dword [esp + 0x2cc]
mov dword [esp + 0x3f4], edi
mov edi, dword [esp + 0x2d0]
mov dword [esp + 0x3f0], edi
mov dword [esp + 0x3e0], esi
mov esi, dword [esp + 0x2e4]
mov dword [esp + 0x3dc], esi
mov dword [esp + 0x3d8], edx
mov edx, dword [esp + 0x334]
je 0x776e60
jmp 0x775f95
mov edx, dword [esp + 0x39c]
mov dword [esp + 0x3fc], edx
mov edx, dword [esp + 0x334]
mov dword [esp + 0x3f8], edx
mov dword [esp + 0x3c8], ecx
jmp 0x77aef7
cmp eax, 3
je 0x77600b
xor eax, eax
test al, al
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], edx
mov esi, dword [esp + 0x3c0]
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3d8], eax
je 0x775043
jmp 0x77612f
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], edx
mov esi, dword [esp + 0x3c0]
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3d8], eax
jmp 0x77612f
mov byte [esp + 0x3d4], 0x5c
mov ecx, dword [esp + 0x1f8]
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
add eax, ecx
mov dword [esp + 0x240], eax
cmp eax, dword [edi]
mov ebx, dword [esp + 0x3c0]
mov dword [esp + 0x23c], edi
mov eax, dword [esp + 0x304]
mov dword [esp + 0x238], eax
mov esi, dword [esp + 0x2cc]
mov dword [esp + 0x3f4], esi
mov edx, dword [esp + 0x2d0]
mov dword [esp + 0x3f0], edx
mov edi, dword [esp + 0x26c]
mov dword [esp + 0x3e0], edi
mov ecx, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x2e4]
mov dword [esp + 0x3dc], ecx
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x410], esi
mov esi, ebx
mov dword [esp + 0x40c], edx
mov dword [esp + 0x3ec], edi
mov dword [esp + 0x404], ecx
mov dword [esp + 0x408], eax
jae 0x779fd3
mov dword [esp + 0x2a0], esi
mov ebx, dword [esp + 0x23c]
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x240]
mov ecx, esi
shl ecx, 6
mov edx, dword [esp + 0x458]
cmp edx, dword [eax + ecx + 0x10]
mov edx, dword [esp + 0x45c]
sbb edx, dword [eax + ecx + 0x14]
lea eax, [eax + ecx]
mov dword [esp + 0x1fc], eax
mov edi, 0xd
jge 0x7761a2
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x30c], ebx
mov eax, dword [esp + 0x238]
mov dword [esp + 0x304], eax
mov dword [esp + 0x1f8], esi
jmp 0x77bb7f
mov eax, 0x12
mov byte [esp + 0x227], 0x18
mov edx, dword [esp + 0x430]
cmp edx, 0xd
jb 0x7761fb
mov ecx, 0x10
mov dword [esp + 0x264], edx
imul edx, edx
and edx, 3
cmp edx, 2
mov dword [esp + 0x30c], ebx
mov edx, dword [esp + 0x238]
mov dword [esp + 0x304], edx
mov dword [esp + 0x1f8], esi
mov esi, dword [esp + 0x2a0]
jne 0x7793bc
jmp 0x776225
mov dword [esp + 0x264], edx
mov dword [esp + 0x30c], ebx
mov ecx, dword [esp + 0x238]
mov dword [esp + 0x304], ecx
mov dword [esp + 0x1f8], esi
mov esi, dword [esp + 0x2a0]
cmp eax, 0xc
je 0x77624b
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov dword [esp + 0x3c0], esi
mov ecx, dword [esp + 0x2fc]
jne 0x77c899
jmp 0x77e330
mov dword [esp + 0x3c0], esi
mov ecx, dword [esp + 0x2fc]
jmp 0x77e330
mov eax, dword [esp + 0x420]
mov ecx, dword [esp + 0x41c]
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], 0x27
call fcn.007855d0
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x468], eax
mov ecx, dword [esp + 0x41c]
test ecx, ecx
je 0x776354
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
je 0x776360
mov dword [esp + 0x1ec], ecx
mov eax, 0xe
movzx ecx, byte [esp + 0x1cc]
cmp ecx, 0x68
je 0x776369
mov eax, 0x10
mov edi, 5
cmp ecx, 0x7b
mov esi, dword [esp + 0x2e8]
je 0x77c79f
jmp 0x77bb38
mov dword [esp + 0x1ec], ecx
jmp 0x7763e7
mov dword [esp + 0x1ec], ecx
jmp 0x7763e7
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], ecx
mov ebx, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x408], ecx
mov edi, dword [esp + 0x380]
jmp 0x777491
mov ecx, 0x13
mov edx, dword [esp + 0x2a4]
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp edx, eax
mov eax, dword [esp + 0x32c]
je 0x778f68
mov ecx, 0xd
movzx edx, byte [esp + 0x27c]
cmp edx, 0x4e
je 0x7764aa
mov eax, 0xc
mov esi, 0x14
cmp edx, 0x76
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x338]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x400], ecx
mov edi, dword [esp + 0x348]
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x36c]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x334], ecx
je 0x776a08
jmp 0x77d114
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov edx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov esi, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x2f0]
cmp ecx, 0xc
je 0x776561
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x776561
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], edx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3dc], esi
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov byte [esp + 0x27c], 0x23
jmp 0x77bca2
mov byte [esp + 0x37c], 0x56
test eax, eax
je 0x77659b
mov dword [esp + 0x404], esi
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x3f4], 0xe
cmp eax, 3
mov dword [esp + 0x2f0], eax
je 0x765573
jmp 0x778998
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x3e0], edx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d0], ecx
mov dword [esp + 0x3dc], esi
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x2b4], eax
jmp 0x77e034
mov ecx, 0xf
mov bh, 4
inc edx
mov edi, dword [esp + 0x438]
mov dword [esp + 0x30c], edi
dec esi
mov dword [esp + 0x304], 1
mov edi, edx
xor edi, esi
setne bl
movzx edi, bl
cmp edx, edi
jb 0x776600
mov byte [esp + 0x1b4], bh
mov dword [esp + 0x32c], eax
jmp 0x77c312
cmp ecx, 0xd
je 0x776652
xor eax, eax
test al, al
je 0x774e49
movzx edx, byte [esp + 0x190]
cmp edx, 0x1b
je 0x77669e
mov eax, 0x15
mov ecx, 9
cmp edx, 0x62
jne 0x77c8b7
cmp ecx, 7
jne 0x776686
mov eax, 3
sub eax, ecx
xor eax, ecx
jne 0x775547
mov byte [esp + 0x190], 0x1b
mov dword [esp + 0x468], 0x30000003
jmp 0x77bca2
mov byte [esp + 0x190], 0x62
mov dword [esp + 0x468], 0x30000003
jmp 0x77bca2
mov dword [esp + 0x380], edi
mov byte [esp + 0x3e4], 5
mov eax, dword [esp + 0x2f8]
mov ecx, eax
imul eax, eax
and eax, 3
cmp eax, 2
mov edx, ecx
adc edx, 0
mov eax, dword [ebp + 0x20]
cmp edx, dword [eax + 8]
jb 0x776788
mov byte [esp + 0x3f4], 0x7b
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
mov dword [esp + 0x218], edx
mov edi, dword [esp + 0x408]
mov dword [esp + 0x340], edi
mov edx, dword [esp + 0x404]
mov dword [esp + 0x338], edx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], ebx
mov esi, dword [esp + 0x40c]
mov dword [esp + 0x364], esi
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x36c], ecx
mov dword [esp + 0x258], edi
mov dword [esp + 0x254], edx
mov dword [esp + 0x250], eax
mov dword [esp + 0x24c], ebx
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x248], esi
mov dword [esp + 0x244], ecx
jne 0x77a3a9
jmp 0x77a82f
mov dword [esp + 0x218], edx
mov esi, dword [esp + 0x408]
mov dword [esp + 0x340], esi
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x338], ecx
mov edi, dword [esp + 0x400]
mov dword [esp + 0x33c], edi
mov dword [esp + 0x348], ebx
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x364], edx
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov dword [esp + 0x258], esi
mov dword [esp + 0x254], ecx
mov dword [esp + 0x250], edi
mov dword [esp + 0x24c], ebx
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x248], edx
mov dword [esp + 0x244], eax
jmp 0x77a82f
mov byte [esp + 0x220], 0x57
mov ecx, dword [esp + 0x43c]
test ecx, ecx
je 0x776900
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
mov dword [esp + 0x1f4], ecx
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x3e0], edi
mov esi, dword [esp + 0x400]
mov dword [esp + 0x3d0], esi
mov dword [esp + 0x3dc], ebx
mov edx, dword [esp + 0x408]
mov dword [esp + 0x3d8], edx
mov dword [esp + 0x258], edx
mov dword [esp + 0x254], ebx
mov dword [esp + 0x250], esi
mov dword [esp + 0x24c], edi
mov dword [esp + 0x248], ecx
mov dword [esp + 0x244], eax
mov dword [esp + 0x334], edi
mov dword [esp + 0x39c], edx
mov dword [esp + 0x3fc], edx
mov dword [esp + 0x2ac], ebx
mov dword [esp + 0x29c], esi
mov dword [esp + 0x3f8], edi
mov dword [esp + 0x208], ecx
mov dword [esp + 0x204], eax
mov dword [esp + 0x3a8], edi
mov dword [esp + 0x3b0], edx
mov edx, dword [esp + 0x334]
jne 0x77d025
jmp 0x77afdc
mov dword [esp + 0x1f4], ecx
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x3e0], edi
mov esi, dword [esp + 0x400]
mov dword [esp + 0x3d0], esi
mov dword [esp + 0x3dc], ebx
mov edx, dword [esp + 0x408]
mov dword [esp + 0x3d8], edx
mov dword [esp + 0x258], edx
mov dword [esp + 0x254], ebx
mov dword [esp + 0x250], esi
mov dword [esp + 0x24c], edi
mov dword [esp + 0x248], ecx
mov dword [esp + 0x244], eax
mov ebx, edi
mov dword [esp + 0x39c], edx
mov dword [esp + 0x3fc], edx
mov edx, ebx
mov ebx, dword [esp + 0x404]
mov dword [esp + 0x2ac], ebx
mov dword [esp + 0x29c], esi
mov dword [esp + 0x3f8], edi
mov dword [esp + 0x208], ecx
mov dword [esp + 0x204], eax
jmp 0x77afdc
mov esi, 0xe
mov byte [esp + 0x1f0], 0x56
mov byte [esp + 0x210], 0x5e
mov byte [esp + 0x294], 0x75
mov eax, dword [ecx]
lea ecx, [esp + 0x424]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0063c500
mov dword [esp + 0x468], eax
test eax, eax
je 0x776a08
cmp esi, 0xe
je 0x776a91
xor eax, eax
test al, al
mov edx, dword [esp + 0x334]
jne 0x77d869
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], edx
mov byte [esp + 0x27c], 0x76
jmp 0x77bca2
mov edx, dword [esp + 0x334]
jmp 0x77d869
mov byte [esp + 0x210], 0x77
mov byte [esp + 0x1ac], 0x2a
lea eax, [esp + 0x444]
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x444], 0
mov eax, dword [esp + 0x424]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.0063c260
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x404]
jne 0x776b54
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov esi, dword [esp + 0x40c]
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], ebx
mov eax, 0x11
mov dword [esp + 0x1b8], 0
jmp 0x77a6cc
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x340], ecx
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], ebx
movzx eax, byte [esp + 0x1ac]
cmp eax, 0x2a
je 0x776c36
cmp eax, 0x3c
mov esi, dword [esp + 0x2ac]
jne 0x776cba
mov byte [esp + 0x1ac], 0x2a
mov eax, dword [esp + 0x43c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x2b8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x204]
mov dword [esp], eax
mov dword [esp + 8], 0x3d
xor ecx, ecx
mov edx, dword [esp + 0x208]
call fcn.00762250
mov dword [esp + 0x468], eax
mov dword [esp + 0x1b8], 1
test eax, eax
je 0x776d2d
mov edi, 0xf
mov byte [esp + 0x1ac], 0x1e
mov eax, dword [esp + 0x43c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x2b8]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x2ac]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x204]
mov dword [esp], eax
mov dword [esp + 8], 0x3d
xor ecx, ecx
mov edx, dword [esp + 0x208]
call fcn.00762250
mov dword [esp + 0x468], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov dword [esp + 0x1b8], 1
cmp eax, ecx
jne 0x77bca2
jmp 0x77c2f9
mov byte [esp + 0x1ac], 0x3c
mov eax, dword [esp + 0x43c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x2b8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x204]
mov dword [esp], eax
mov dword [esp + 8], 0x3d
xor ecx, ecx
mov edx, dword [esp + 0x208]
call fcn.00762250
mov dword [esp + 0x468], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov dword [esp + 0x1b8], 1
cmp eax, ecx
jne 0x77bca2
mov esi, dword [esp + 0x29c]
cmp esi, 0xffffffff
je 0x776d4f
mov eax, 6
mov ecx, esi
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x77bf14
mov ecx, 0x16
lea edx, [esp + 0x448]
mov dword [esp + 0x448], 0
cmp dword [esp + 0x1b8], 0
jne 0x776e44
mov esi, 7
mov eax, dword [esp + 0x43c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], edx
mov dword [esp + 0x2dc], edx
mov edx, dword [esp + 0x2ac]
mov dword [esp + 0x14], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov ecx, dword [esp + 0x204]
mov edx, dword [esp + 0x208]
call fcn.00760dc0
mov dword [esp + 0x468], eax
test eax, eax
je 0x776ec9
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
jne 0x77bca2
mov dword [esp + 0x2dc], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov edx, dword [esp + 0x3f8]
cmp ecx, 0xe
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], edx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
jne 0x77a097
jmp 0x779fd3
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
jmp 0x77975f
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 4]
lea ecx, [esi + esi*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov eax, dword [eax + ecx*8 + 0x14]
lea ecx, [esp + 0x434]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0062d620
mov dword [esp + 0x468], eax
test eax, eax
jne 0x776fd0
cmp dword [esp + 0x39c], 9
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
jne 0x779fd3
movzx ecx, byte [esp + 0x194]
cmp ecx, 0x19
je 0x7770bd
mov eax, 0x15
cmp ecx, 0x78
jne 0x77710a
mov esi, dword [esp + 0x2bc]
jmp 0x778262
mov byte [esp + 0x194], 0x19
mov byte [esp + 0x21c], 0x63
mov byte [esp + 0x370], 0x3d
mov edx, dword [esp + 0x434]
mov dword [esp + 0x22c], edx
mov eax, dword [edx]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x228], edx
je 0x77bce8
jmp 0x778526
mov byte [esp + 0x194], 0x3a
mov byte [esp + 0x21c], 0x63
mov byte [esp + 0x370], 0x3d
mov edx, dword [esp + 0x434]
mov eax, dword [edx]
test eax, eax
jne 0x777153
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov dword [esp + 0x228], edx
mov dword [esp + 0x22c], edx
jne 0x77bce8
jmp 0x778526
mov dword [esp + 0x228], edx
mov dword [esp + 0x22c], edx
jmp 0x778526
mov byte [esp + 0x370], 0x3d
mov bh, 0x1c
mov byte [esp + 0x38c], 0x1f
mov byte [esp + 0x384], 0x41
mov byte [esp + 0x350], 0x43
mov byte [esp + 0x368], 0x23
mov byte [esp + 0x3a0], 0x40
mov byte [esp + 0x37c], 0x56
mov byte [esp + 0x390], 0x73
mov byte [esp + 0x3ac], 0x19
mov eax, 3
sub eax, ecx
xor eax, ecx
setne al
movzx eax, al
add ecx, eax
mov byte [esp + 0x35c], 0x12
mov byte [esp + 0x358], 0xe
test esi, esi
mov byte [esp + 0x378], 0x49
setne bl
mov eax, 0x16
mov dword [esp + 0x3a4], 0
mov dword [esp + 0x398], edi
mov byte [esp + 0x388], 0x2c
mov byte [esp + 0x3b4], 0x69
mov byte [esp + 0x394], 0x47
mov byte [esp + 0x354], 0x5d
mov byte [esp + 0x374], 0x11
mov byte [esp + 0x360], 3
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
cmp ecx, edx
jb 0x777170
mov byte [esp + 0x314], bh
mov byte [esp + 0x230], bl
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], ecx
mov esi, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov edi, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x2f4]
mov edx, dword [esp + 0x2fc]
mov dword [esp + 0x2f4], ecx
cmp eax, 0xa
je 0x777326
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], esi
mov dword [esp + 0x3ec], esi
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3dc], edi
mov dword [esp + 0x404], edi
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov ecx, edx
mov dword [esp + 0x2fc], edx
jne 0x7773bf
jmp 0x77cb0e
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], esi
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3dc], edi
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov ecx, edx
jmp 0x77cb0e
mov byte [esp + 0x1a0], 0x5a
mov dword [esp + 0x468], 0x70000003
jmp 0x77bca2
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x380], edi
mov eax, edx
mov dword [esp + 0x3a4], edx
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x398], ecx
jae 0x77975f
mov eax, dword [esp + 0x398]
mov ecx, dword [eax + 8]
mov dword [esp + 0x20c], ecx
mov edi, dword [esp + 0x3a4]
mov eax, edi
shl eax, 6
mov edx, dword [ecx + eax + 0x10]
test edx, edx
jne 0x77755f
mov ecx, 5
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x77755f
mov eax, edi
mov dword [esp + 0x31c], eax
mov ebx, dword [esp + 0x3ec]
cmp ecx, 5
jne 0x7775a0
movzx ecx, byte [esp + 0x378]
cmp ecx, 0x49
je 0x777606
mov eax, 4
cmp ecx, 0x4f
jne 0x777658
mov dword [esp + 0x3a4], edi
cmp eax, 4
jne 0x7776e4
mov byte [esp + 0x378], 0x60
mov eax, dword [esp + 0x31c]
shl eax, 6
mov edx, dword [esp + 0x20c]
lea ecx, [edx + eax + 0x18]
mov dword [esp + 0x18c], ecx
mov ecx, dword [edx + eax + 0x18]
test ecx, ecx
je 0x779709
mov eax, 0x13
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov edi, dword [esp + 0x380]
je 0x779710
cmp eax, 0xe
jne 0x7776a4
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x7776a4
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x380], edi
xor esi, esi
mov bl, byte [esp + 0x1cc]
mov edi, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x2a4]
jmp 0x7774e7
mov bl, 0x7b
cmp eax, 2
adc esi, 0
mov dword [esp], edi
call fcn.004936c0
mov ecx, dword [esp + 0x468]
mov eax, esi
imul eax, eax
and eax, 3
test esi, esi
je 0x7774d0
cmp eax, 3
je 0x7774d0
mov dword [esp + 0x2a4], ecx
mov byte [esp + 0x1cc], bl
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
jmp 0x7763e7
mov ecx, 8
mov eax, 6
mov esi, dword [edx]
mov dword [esp + 0x198], esi
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp esi, edx
mov edx, edi
mov dword [esp + 0x31c], edx
mov ebx, dword [esp + 0x3ec]
jne 0x77ba04
jmp 0x77a29c
mov dword [esp + 0x3a4], edi
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov byte [esp + 0x1dc], 0x31
mov esi, 1
jmp 0x779e35
mov dword [esp + 0x3a4], edi
mov eax, 0xa
mov byte [esp + 0x378], 0x4f
mov ecx, dword [esp + 0x31c]
shl ecx, 6
mov esi, dword [esp + 0x20c]
lea edx, [esi + ecx + 0x18]
mov dword [esp + 0x18c], edx
mov ecx, dword [esi + ecx + 0x18]
test ecx, ecx
je 0x777742
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
mov edi, dword [esp + 0x380]
jne 0x7776a4
jmp 0x777944
mov byte [esp + 0x378], 0x49
mov eax, dword [esp + 0x31c]
shl eax, 6
mov edx, dword [esp + 0x20c]
lea ecx, [edx + eax + 0x18]
mov dword [esp + 0x18c], ecx
mov eax, dword [edx + eax + 0x18]
test eax, eax
je 0x779709
mov dword [esp + 0x3a4], edi
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov edi, dword [esp + 0x380]
je 0x779710
mov eax, dword [esp + 0x31c]
shl eax, 6
mov edx, dword [esp + 0x20c]
lea ecx, [edx + eax + 0x1c]
mov dword [esp + 0x180], ecx
mov eax, dword [edx + eax + 0x1c]
test eax, eax
je 0x779710
mov esi, 0xf
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x777a9d
jmp 0x779710
mov byte [esp + 0x3e8], 0x17
mov eax, dword [esp + 0x2f8]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x1d4]
mov edx, dword [ecx + eax*8 + 0x14]
mov dword [esp + 0x410], edx
mov eax, dword [ecx + eax*8 + 0x10]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x26c]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x404], eax
jmp 0x775dbf
mov edi, dword [esp + 0x380]
jmp 0x777944
mov dword [esp + 0x380], edi
mov eax, 0x16
mov byte [esp + 0x374], 0x11
mov ecx, dword [esp + 0x2b8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x280]
mov edx, dword [edx]
mov edi, dword [esp + 0x31c]
lea esi, [edx + edi*4]
mov edx, dword [edx + edi*4]
cmp ecx, 1
je 0x7777d0
cmp ecx, 2
je 0x7777e5
mov dword [esp + 0x28c], esi
mov dword [esp + 0x410], 0x1e
cmp ecx, 3
mov ecx, edx
mov dword [esp + 0x2fc], edx
mov dword [esp + 0x2f4], edx
je 0x77deb8
cmp dword [esp + 0x410], 0xf
mov ecx, dword [esp + 0x2fc]
je 0x77aa44
jmp 0x77e330
mov dword [esp + 0x28c], esi
mov ecx, edx
mov dword [esp + 0x2f4], edx
jmp 0x77c8db
mov dword [esp + 0x28c], esi
mov ecx, edx
jmp 0x77e2d5
mov eax, 0xa
mov byte [esp + 0x394], 0x7a
test ecx, ecx
jne 0x77c90c
mov ebx, ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], ecx
mov esi, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov edi, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x408], ecx
mov edx, ebx
mov ecx, ebx
jmp 0x7772a9
mov edx, 0xd
mov bh, 0xb
mov esi, eax
and esi, 1
xor esi, eax
cmp esi, 0xffffffff
setne bl
movzx esi, bl
add eax, esi
mov edi, 1
mov esi, eax
imul esi, esi
and esi, 3
cmp esi, 2
sbb esi, esi
and esi, 1
cmp eax, esi
jb 0x777860
mov dword [esp + 0x2f4], edi
mov byte [esp + 0x3b4], bh
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0x2fc], ecx
mov bl, byte [esp + 0x3a0]
jmp 0x77e112
mov edx, eax
and edx, 1
xor edx, eax
cmp edx, 0xffffffff
setne dl
movzx edx, dl
add eax, edx
mov dword [esi], edi
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
cmp eax, edx
jb 0x777910
mov dword [esp + 0x2fc], ecx
jmp 0x7796bc
mov dword [esp + 0x3ec], ebx
cmp eax, 0xa
mov ecx, dword [esp + 0x270]
mov bl, byte [esp + 0x314]
je 0x777a12
xor eax, eax
test al, al
jne 0x777a1e
mov byte [esp + 0x384], 0x41
mov eax, dword [esp + 0x2b0]
mov eax, dword [eax]
mov dword [esp + 0x32c], eax
cmp ecx, 1
je 0x777a2a
mov dword [esp + 0x380], edi
cmp ecx, 2
je 0x777a91
mov eax, 0x14
cmp ecx, 3
mov edx, dword [esp + 0x410]
mov dword [esp + 0x3f4], edx
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], edx
mov edx, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], edx
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x3dc], edx
mov edx, dword [esp + 0x408]
mov dword [esp + 0x3d8], edx
mov edx, dword [esp + 0x32c]
mov dword [esp + 0x234], edx
jne 0x77d24b
jmp 0x778e77
mov ebx, dword [esp + 0x3ec]
jmp 0x779710
mov ebx, dword [esp + 0x3ec]
jmp 0x779710
mov dword [esp + 0x380], edi
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov edx, dword [esp + 0x32c]
jmp 0x77924a
mov ebx, dword [esp + 0x3ec]
jmp 0x778c6f
mov dword [esp + 0x380], edi
cmp esi, 0xc
je 0x777b1c
imul esi, esi
and esi, 3
cmp esi, 3
je 0x777b1c
mov eax, 0x10
movzx ecx, byte [esp + 0x358]
cmp ecx, 0x4b
jne 0x777bdd
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x3e0], ebx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x3d8], ecx
jmp 0x778027
mov byte [esp + 0x3e4], 0x21
mov byte [esp + 0x3f4], 0x7b
mov ecx, dword [esp + 0x2f8]
mov esi, ecx
or ecx, 2
mov edx, esi
xor edx, 2
add edx, ecx
setne cl
movzx edx, cl
add edx, esi
mov dword [esp + 0x218], edx
mov ecx, dword [ebp + 0x20]
cmp edx, dword [ecx + 8]
mov edi, dword [esp + 0x408]
mov dword [esp + 0x340], edi
mov edx, dword [esp + 0x404]
mov dword [esp + 0x338], edx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], ebx
mov esi, dword [esp + 0x40c]
mov dword [esp + 0x364], esi
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x36c], ecx
mov dword [esp + 0x258], edi
mov dword [esp + 0x254], edx
mov dword [esp + 0x250], eax
mov dword [esp + 0x24c], ebx
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x248], esi
mov dword [esp + 0x244], ecx
jb 0x77a82f
jmp 0x77a3a9
mov dword [esp + 0x3ec], ebx
mov edx, dword [esp + 0x31c]
lea eax, [edx*4]
mov ecx, dword [esp + 0x280]
add eax, dword [ecx]
mov ecx, edx
shl ecx, 6
mov ebx, dword [esp + 0x20c]
lea edx, [ebx + ecx + 0x2c]
lea esi, [ebx + ecx + 0x24]
lea edi, [ebx + ecx + 0x28]
lea ecx, [ebx + ecx + 0x20]
mov bl, byte [esp + 0x230]
and bl, 1
cmovne ecx, edi
mov edi, dword [esp + 0x18c]
cmovne edi, dword [esp + 0x180]
test bl, bl
cmovne esi, edx
mov edx, dword [esi]
mov ecx, dword [ecx]
mov esi, dword [edi]
mov esi, dword [esi]
mov edi, dword [esp + 0x43c]
mov ebx, dword [edi]
mov edi, dword [edi + 4]
mov byte [esp + 0x358], 0x4b
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], edi
mov dword [esp + 0x14], 1
mov ecx, dword [esp + 0x204]
mov edx, dword [esp + 0x208]
call fcn.00781d60
mov dword [esp + 0x468], eax
test eax, eax
je 0x777cb0
mov ecx, 7
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x77ce14
mov eax, 0x10
mov ecx, dword [esp + 0x434]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x1a8], ecx
mov cl, byte [esp + 0x230]
test cl, 1
je 0x777d5b
movzx ecx, byte [esp + 0x35c]
cmp ecx, 1
je 0x777d67
mov eax, 0xf
cmp ecx, 0x12
jne 0x777dd2
mov edx, dword [esp + 0x31c]
mov eax, edx
shl eax, 6
mov ecx, dword [esp + 0x1a8]
mov eax, dword [ecx + eax + 0x1c]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
lea esi, [edx*4]
mov edx, dword [esp + 0x280]
add esi, dword [edx]
mov dword [esp + 0x380], esi
cmp eax, ecx
mov byte [esp + 0x35c], 0x5c
mov eax, dword [esp + 0x2b8]
mov eax, dword [eax]
mov dword [esp + 0x2bc], eax
jne 0x7781e1
jmp 0x7795ae
mov ebx, dword [esp + 0x3ec]
jmp 0x77db06
mov edx, dword [esp + 0x31c]
mov eax, edx
shl eax, 6
mov ecx, dword [esp + 0x1a8]
mov eax, dword [ecx + eax + 0x1c]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
lea esi, [edx*4]
mov edx, dword [esp + 0x280]
add esi, dword [edx]
mov dword [esp + 0x380], esi
cmp eax, ecx
mov eax, 0x13
mov byte [esp + 0x35c], 1
mov ecx, dword [esp + 0x2b8]
mov ecx, dword [ecx]
mov dword [esp + 0x2bc], ecx
jne 0x7781e1
jmp 0x7794ca
mov ecx, dword [esp + 0x228]
mov edx, dword [esp + 0x404]
jmp 0x7787e1
mov byte [esp + 0x3ac], 0x19
mov edi, dword [esp + 0x380]
mov eax, dword [esp + 0x2bc]
mov dword [edi], eax
mov ebx, dword [esp + 0x3ec]
jmp 0x779710
mov byte [esp + 0x390], 0x66
mov eax, dword [edx]
cmp esi, 1
je 0x777eaa
mov ecx, 0x10
cmp esi, 2
je 0x777e43
mov dword [esp + 0x404], ebx
mov dword [esp + 0x3ec], edi
cmp esi, 3
mov dword [esp + 0x2bc], esi
jmp 0x778384
mov dword [esp + 0x2bc], esi
mov edx, dword [esp + 0x410]
mov dword [esp + 0x3f4], edx
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], edx
mov dword [esp + 0x3e0], edi
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3d0], edx
mov dword [esp + 0x3dc], ebx
mov edx, dword [esp + 0x408]
mov dword [esp + 0x3d8], edx
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2f0], eax
mov esi, dword [esp + 0x29c]
jmp 0x778146
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x3e0], edi
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d0], ecx
mov dword [esp + 0x3dc], ebx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2f0], eax
mov bl, byte [esp + 0x2ec]
mov edi, dword [esp + 0x2c4]
mov ecx, 0xc
mov al, byte [esp + 0x37c]
movzx eax, al
cmp eax, 0x69
je 0x777fd5
mov dword [esp + 0x2c4], edi
mov byte [esp + 0x2ec], bl
mov dword [esp + 0x2bc], esi
mov dword [esp + 0x380], edx
cmp eax, 0x77
jne 0x777ff6
mov eax, 0xa
mov edx, dword [esp + 0x2f0]
test edx, edx
je 0x77810a
mov byte [esp + 0x37c], 0x77
mov ecx, 6
cmp edx, 3
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov eax, edx
mov dword [esp + 0x2b4], edx
je 0x7785fc
jmp 0x778998
mov dword [esp + 0x2c4], edi
mov byte [esp + 0x2ec], bl
mov dword [esp + 0x2bc], esi
mov dword [esp + 0x380], edx
jmp 0x7764aa
mov esi, 0x10
mov byte [esp + 0x37c], 0x69
mov ecx, dword [esp + 0x2f0]
test ecx, ecx
je 0x778125
mov eax, 0xb
cmp ecx, 3
mov dword [esp + 0x2b4], ecx
je 0x77e034
cmp eax, 0xb
je 0x77e247
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x77e247
mov edx, dword [esp + 0x31c]
lea eax, [edx*4]
mov ecx, dword [esp + 0x280]
add eax, dword [ecx]
mov ecx, edx
shl ecx, 6
mov ebx, dword [esp + 0x20c]
lea edx, [ebx + ecx + 0x2c]
lea esi, [ebx + ecx + 0x24]
lea edi, [ebx + ecx + 0x28]
lea ecx, [ebx + ecx + 0x20]
mov bl, byte [esp + 0x230]
and bl, 1
cmovne ecx, edi
mov edi, dword [esp + 0x18c]
cmovne edi, dword [esp + 0x180]
test bl, bl
cmovne esi, edx
mov edx, dword [esi]
mov ecx, dword [ecx]
mov esi, dword [edi]
mov edi, dword [esi]
mov esi, dword [esp + 0x43c]
mov ebx, dword [esi]
mov esi, dword [esi + 4]
mov byte [esp + 0x358], 0xe
mov dword [esp + 0x410], 0x12
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 0x14], 1
mov ecx, dword [esp + 0x204]
mov edx, dword [esp + 0x208]
call fcn.00781d60
mov dword [esp + 0x468], eax
test eax, eax
jne 0x77bca2
jmp 0x7791b9
mov byte [esp + 0x37c], 0x77
mov dword [esp + 0x2b4], edx
mov edx, dword [esp + 0x2fc]
jmp 0x77e014
mov dword [esp + 0x2b4], ecx
mov eax, dword [esp + 0x3a8]
mov ecx, dword [esp + 0x3b0]
mov edx, dword [esp + 0x348]
jmp 0x778933
mov dword [esp + 0x29c], esi
cmp ecx, 4
jne 0x778163
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
jne 0x779895
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov dword [esp + 0x2b4], 2
mov eax, 4
cmp eax, 4
je 0x7786fe
xor eax, eax
test al, al
mov eax, dword [esp + 0x2b4]
jne 0x778998
movzx ecx, byte [esp + 0x390]
cmp ecx, 0xa
mov edx, dword [esp + 0x380]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x3ec]
mov ebx, dword [esp + 0x404]
je 0x778360
mov eax, 9
cmp ecx, 0x66
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x3e0], edi
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d0], ecx
mov dword [esp + 0x3dc], ebx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x3d8], ecx
jne 0x77c26d
cmp eax, 9
mov edx, dword [esp + 0x380]
jne 0x778309
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x778309
mov ecx, 0xe
mov byte [esp + 0x390], 0xa
mov eax, dword [edx]
cmp esi, 1
je 0x778460
mov ecx, 2
cmp esi, 2
je 0x7784dc
cmp esi, 3
mov dword [esp + 0x2bc], esi
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x408], ecx
jmp 0x778384
mov dword [esp + 0x2bc], esi
mov eax, 1
mov byte [esp + 0x194], 0x78
mov byte [esp + 0x21c], 0x63
mov byte [esp + 0x370], 0x3d
mov esi, dword [esp + 0x434]
mov ecx, dword [esi]
test ecx, ecx
jne 0x778504
mov edx, 3
sub edx, ecx
xor edx, ecx
mov dword [esp + 0x228], esi
mov dword [esp + 0x22c], esi
jne 0x77bcd1
jmp 0x778512
mov byte [esp + 0x390], 0x73
mov eax, dword [edx]
cmp esi, 1
je 0x777eaa
mov ecx, 0xa
cmp esi, 2
je 0x77870a
cmp esi, 3
mov dword [esp + 0x2f0], eax
jne 0x778998
mov eax, 0xd
mov bh, byte [esp + 0x368]
movzx ecx, bh
cmp ecx, 4
jne 0x7783f9
xor ecx, ecx
mov eax, dword [esp + 0x2f0]
mov edx, eax
imul edx, edx
and edx, 3
mov esi, 3
jmp 0x7783da
mov bh, 4
inc ecx
cmp edx, 2
sete al
movzx eax, al
mov edi, dword [esp + 0x2f0]
cmp edi, eax
mov eax, edi
cmove eax, esi
mov edi, ecx
not edi
and edi, 1
add edi, ecx
setne bl
movzx edi, bl
cmp ecx, edi
jb 0x7783c0
mov byte [esp + 0x368], bh
jmp 0x778998
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x3d8], ecx
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 0x2b4], ecx
jmp 0x778512
mov dword [esp + 0x2bc], esi
mov edx, dword [esp + 0x340]
mov dword [esp + 0x408], edx
mov edx, dword [esp + 0x338]
mov dword [esp + 0x404], edx
mov edx, dword [esp + 0x33c]
mov dword [esp + 0x400], edx
mov esi, dword [esp + 0x348]
mov edx, dword [esp + 0x364]
mov dword [esp + 0x40c], edx
mov edx, dword [esp + 0x36c]
mov dword [esp + 0x410], edx
mov edx, dword [esp + 0x3fc]
mov dword [esp + 0x39c], edx
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2f0], eax
jmp 0x77bd60
mov edi, dword [esp + 0x3fc]
mov dword [esp + 0x39c], edi
mov edi, dword [esp + 0x3f8]
mov dword [esp + 0x334], edi
mov dword [esp + 0x2b4], eax
jmp 0x77ae0d
mov dword [esp + 0x228], esi
mov dword [esp + 0x22c], esi
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
jne 0x778579
mov ecx, 0x16
movzx edx, byte [esp + 0x370]
cmp edx, 0x29
je 0x7785fc
mov eax, 0xc
cmp edx, 0x2b
je 0x77878d
mov eax, 0xf
cmp edx, 0x3d
mov edi, dword [esp + 0x228]
jne 0x778917
mov bl, byte [esp + 0x230]
mov bh, byte [esp + 0x314]
mov esi, dword [esp + 0x2ac]
jmp 0x77929e
mov ecx, dword [esp + 0x2f0]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ecx, eax
mov eax, 3
cmovne eax, ecx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x408], ecx
mov byte [esp + 0x368], 0x23
jmp 0x778998
cmp ecx, 6
je 0x77e034
mov ecx, dword [esp + 0x2ac]
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
sete al
movzx eax, al
cmp ecx, eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov byte [esp + 0x370], 0x46
mov byte [esp + 0x314], 0x1c
mov byte [esp + 0x38c], 0x1f
mov byte [esp + 0x384], 0x41
mov byte [esp + 0x350], 0x43
mov byte [esp + 0x368], 0x23
mov byte [esp + 0x3a0], 0x40
mov byte [esp + 0x37c], 0x56
mov byte [esp + 0x390], 0x73
mov byte [esp + 0x3ac], 0x19
mov byte [esp + 0x35c], 0x12
mov byte [esp + 0x358], 0xe
mov byte [esp + 0x378], 0x49
setne byte [esp + 0x230]
mov dword [esp + 0x3a4], 0
mov eax, dword [esp + 0x228]
mov dword [esp + 0x398], eax
jmp 0x778882
mov eax, dword [esp + 0x2b4]
jmp 0x778998
mov edx, dword [esp + 0x410]
mov dword [esp + 0x3f4], edx
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], edx
mov dword [esp + 0x3e0], edi
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3d0], edx
mov dword [esp + 0x3dc], ebx
mov edx, dword [esp + 0x408]
mov dword [esp + 0x3d8], edx
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2f0], eax
cmp ecx, 0xa
je 0x778163
xor eax, eax
mov ecx, dword [esp + 0x2f8]
lea ecx, [ecx + ecx*2]
mov bl, byte [esp + 0x17c]
mov esi, dword [esp + 0x1c8]
mov edi, dword [esp + 0x2d4]
jmp 0x77583d
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov edx, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x228]
mov dword [esp + 0x404], edx
cmp eax, 0xc
jne 0x7788b7
mov byte [esp + 0x370], 0x29
mov byte [esp + 0x314], 0x1c
mov byte [esp + 0x38c], 0x1f
mov byte [esp + 0x384], 0x41
mov byte [esp + 0x350], 0x43
mov byte [esp + 0x368], 0x23
mov byte [esp + 0x3a0], 0x40
mov byte [esp + 0x37c], 0x56
mov byte [esp + 0x390], 0x73
mov byte [esp + 0x3ac], 0x19
mov byte [esp + 0x35c], 0x12
mov byte [esp + 0x358], 0xe
cmp dword [esp + 0x2ac], 0
mov byte [esp + 0x378], 0x49
setne byte [esp + 0x230]
mov dword [esp + 0x3a4], 0
mov dword [esp + 0x398], ecx
mov dword [esp + 0x228], ecx
mov byte [esp + 0x388], 0x2c
mov byte [esp + 0x3b4], 0x69
mov byte [esp + 0x394], 0x47
mov byte [esp + 0x354], 0x5d
mov byte [esp + 0x374], 0x11
mov byte [esp + 0x360], 3
jmp 0x7773bf
mov dword [esp + 0x228], ecx
mov eax, 0xf
mov byte [esp + 0x35c], 0x12
mov esi, dword [esp + 0x31c]
mov ecx, esi
shl ecx, 6
mov edx, dword [esp + 0x1a8]
mov ecx, dword [edx + ecx + 0x1c]
lea esi, [esi*4]
mov edx, dword [esp + 0x280]
add esi, dword [edx]
mov dword [esp + 0x380], esi
cmp dword [ecx], 0
mov ecx, dword [esp + 0x2b8]
mov ecx, dword [ecx]
mov dword [esp + 0x2bc], ecx
je 0x7795ae
jmp 0x7781c7
xor ecx, ecx
mov bl, byte [esp + 0x230]
mov bh, byte [esp + 0x314]
mov esi, dword [esp + 0x2ac]
jmp 0x77722f
mov dword [esp + 0x348], edx
mov dword [esp + 0x3b0], ecx
mov dword [esp + 0x3a8], eax
cmp esi, 9
je 0x77bca2
mov eax, esi
and eax, 1
inc eax
xor eax, esi
jne 0x77e034
jmp 0x77bca2
mov ecx, 5
mov bl, 0x12
inc edi
dec esi
mov eax, 1
mov edx, edi
xor edx, esi
setne dl
movzx edx, dl
cmp edi, edx
jb 0x778970
mov byte [esp + 0x3a0], bl
jmp 0x779b2d
xor edx, edx
mov edi, dword [esp + 0x380]
mov ebx, dword [esp + 0x3ec]
jmp 0x7789c5
mov ecx, 0xe
mov esi, edx
imul esi, esi
and esi, 3
cmp esi, 2
adc edx, 0
mov dword [edi], eax
mov esi, edx
and esi, 1
inc esi
xor esi, edx
test edx, edx
je 0x7789b0
test esi, esi
je 0x7789b0
mov esi, dword [esp + 0x3c0]
mov edx, dword [esp + 0x410]
mov dword [esp + 0x3f4], edx
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], edx
mov dword [esp + 0x3e0], ebx
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x3dc], edx
mov edx, dword [esp + 0x408]
mov dword [esp + 0x3d8], edx
mov dword [esp + 0x2b4], eax
mov bl, byte [esp + 0x3b4]
cmp ecx, 0xe
jne 0x778a9c
mov byte [esp + 0x3b4], bl
mov dword [esp + 0x3c0], esi
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov ebx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
jmp 0x779710
mov ecx, 8
movzx edx, byte [esp + 0x318]
cmp edx, 0xb
je 0x778b1f
mov eax, 0xf
cmp edx, 0x6c
jne 0x778b2b
mov byte [esp + 0x3b4], bl
mov dword [esp + 0x380], edi
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], ecx
mov ebx, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x408], ecx
mov dword [esp + 0x3c0], esi
jmp 0x778ce6
mov dword [esp + 0x3c0], esi
jmp 0x77d47e
mov byte [esp + 0x318], 0x1d
mov eax, dword [esp + 0x308]
mov dword [esp], eax
call fcn.004936c0
jmp 0x77c075
mov edx, dword [esp + 0x31c]
mov eax, edx
shl eax, 6
mov ecx, dword [esp + 0x1a8]
mov eax, dword [ecx + eax + 0x18]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
lea edx, [edx*4]
mov esi, dword [esp + 0x280]
add edx, dword [esi]
mov dword [esp + 0x2b0], edx
cmp eax, ecx
mov edi, 0x10
mov ecx, dword [esp + 0x2b8]
mov edx, dword [ecx]
jne 0x778bf3
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov esi, dword [esp + 0x364]
jmp 0x774ba5
mov dword [esp + 0x270], edx
mov ecx, 0xc
mov eax, 0x18
movzx edx, byte [esp + 0x384]
cmp edx, 0x41
mov edi, dword [esp + 0x380]
jne 0x777944
jmp 0x779dd1
mov eax, 0x16
mov byte [esp + 0x384], 0x33
mov ecx, dword [esp + 0x2b0]
mov ecx, dword [ecx]
mov dword [esp + 0x32c], ecx
mov ecx, dword [esp + 0x270]
cmp ecx, 1
je 0x778dfb
cmp ecx, 3
je 0x778e69
mov eax, dword [esp + 0x32c]
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x2e8]
mov dword [esp + 0x32c], 2
mov edi, 2
jmp 0x779220
cmp eax, 0xf
jne 0x778da9
mov dword [esp + 0x3ec], ebx
xor esi, esi
mov edi, dword [esp + 0x380]
mov bl, byte [esp + 0x3b4]
jmp 0x778d31
mov byte [esp + 0x318], 0x6c
add eax, ecx
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x308]
mov dword [esp], eax
call fcn.004936c0
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 0x778d10
mov esi, dword [esp + 0x3c0]
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
jmp 0x77c075
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
jmp 0x7796ac
mov edx, dword [esp + 0x410]
mov dword [esp + 0x3f4], edx
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], edx
mov dword [esp + 0x3e0], ebx
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x3dc], edx
mov edx, dword [esp + 0x408]
mov dword [esp + 0x3d8], edx
mov edx, dword [esp + 0x32c]
mov dword [esp + 0x234], edx
mov edi, dword [esp + 0x380]
mov bh, byte [esp + 0x3b4]
jmp 0x77cb3c
xor edx, edx
movzx eax, bl
cmp eax, 0x1c
je 0x778fd5
mov dword [esp + 0x270], ecx
mov ecx, 2
cmp eax, 0x1d
jne 0x7790ab
mov ecx, dword [esp + 0x32c]
mov esi, ecx
imul esi, esi
and esi, 3
mov edi, 3
mov dword [esp + 0x3f4], ecx
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3f4]
jmp 0x778eee
mov dword [esp + 0x39c], 5
mov bl, 0x76
inc edx
cmp esi, 3
sete al
movzx eax, al
cmp ecx, eax
mov eax, ecx
cmove eax, edi
mov byte [esp + 0x314], bl
test edx, edx
jne 0x778f06
mov ebx, edx
not ebx
and ebx, 1
neg ebx
cmp ebx, edx
jne 0x778ed0
mov edx, dword [esp + 0x410]
mov dword [esp + 0x3f4], edx
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], edx
mov edx, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], edx
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x3dc], edx
mov edx, dword [esp + 0x408]
mov dword [esp + 0x3d8], edx
mov dword [esp + 0x234], ecx
mov ecx, dword [esp + 0x39c]
cmp ecx, 5
jne 0x778f79
mov dword [esp + 0x32c], eax
jmp 0x7796ac
mov bh, byte [esp + 0x1b4]
movzx edx, bh
cmp edx, 4
je 0x778f9e
mov ecx, 0xa
cmp edx, 0x5e
jne 0x778fc9
mov dword [esp + 0x32c], eax
jmp 0x77911b
mov ecx, 0xe
mov byte [esp + 0x1b4], 0x5e
mov dword [esp + 0x304], 1
mov edx, dword [esp + 0x438]
mov dword [esp + 0x30c], edx
jmp 0x77e20f
xor edx, edx
mov esi, 3
jmp 0x776622
mov byte [esp + 0x314], bl
mov dword [esp + 0x270], ecx
mov ecx, dword [esp + 0x32c]
mov esi, ecx
imul esi, esi
and esi, 3
mov eax, ecx
jmp 0x77902e
mov byte [esp + 0x314], 0x1d
mov eax, 3
sub eax, edx
xor eax, edx
setne al
movzx eax, al
add edx, eax
cmp esi, 3
sete al
movzx eax, al
cmp ecx, eax
mov eax, ecx
mov edi, 3
cmove eax, edi
mov edi, edx
or edi, 2
mov ebx, edx
xor ebx, 2
add ebx, edi
setne bl
movzx edi, bl
cmp edx, edi
jb 0x779000
mov edx, dword [esp + 0x410]
mov dword [esp + 0x3f4], edx
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], edx
mov edx, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], edx
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3d0], edx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x3dc], edx
mov edx, dword [esp + 0x408]
mov dword [esp + 0x3d8], edx
mov dword [esp + 0x234], ecx
mov dword [esp + 0x32c], eax
jmp 0x7796ac
mov byte [esp + 0x314], bl
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x32c]
mov dword [esp + 0x234], eax
mov bh, byte [esp + 0x1b4]
cmp ecx, 2
je 0x779187
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x779187
xor eax, eax
mov esi, dword [esp + 0x30c]
mov edi, dword [esp + 0x304]
jmp 0x779159
mov bh, 0x33
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add eax, ecx
mov edi, 1
mov esi, dword [esp + 0x438]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne dl
movzx edx, dl
cmp eax, edx
jb 0x779140
mov dword [esp + 0x304], edi
mov dword [esp + 0x30c], esi
mov byte [esp + 0x1b4], bh
jmp 0x77cc9a
mov byte [esp + 0x1b4], bh
mov dword [esp + 0x410], 0xe
mov byte [esp + 0x314], 0x1c
mov eax, dword [esp + 0x234]
test eax, eax
mov ecx, 3
cmovne ecx, eax
mov dword [esp + 0x32c], ecx
cmp dword [esp + 0x410], 0xe
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
jne 0x777cb0
jmp 0x7796ac
cmp edi, 2
mov dword [esp + 0x2e8], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov edx, dword [esp + 0x3f8]
je 0x7796ac
jmp 0x77a097
mov eax, 0x1a
test edx, edx
je 0x779274
mov ecx, 0xc
cmp edx, 3
mov dword [esp + 0x32c], edx
mov dword [esp + 0x234], edx
je 0x779433
jmp 0x77ad71
mov dword [esp + 0x32c], edx
mov dword [esp + 0x234], edx
mov bl, byte [esp + 0x230]
mov bh, byte [esp + 0x314]
mov esi, dword [esp + 0x2ac]
mov edi, dword [esp + 0x228]
cmp eax, 0xf
jne 0x779417
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x779417
xor eax, eax
jmp 0x779382
mov byte [esp + 0x370], 0x2b
mov bh, 0x1c
mov byte [esp + 0x38c], 0x1f
mov byte [esp + 0x384], 0x41
mov byte [esp + 0x350], 0x43
mov byte [esp + 0x368], 0x23
mov byte [esp + 0x3a0], 0x40
mov byte [esp + 0x37c], 0x56
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
mov byte [esp + 0x390], 0x73
mov byte [esp + 0x3ac], 0x19
setne cl
movzx ecx, cl
add eax, ecx
mov byte [esp + 0x35c], 0x12
mov byte [esp + 0x358], 0xe
test esi, esi
mov byte [esp + 0x378], 0x49
setne bl
mov ecx, 0x1a
mov dword [esp + 0x3a4], 0
mov dword [esp + 0x398], edi
mov byte [esp + 0x388], 0x2c
mov byte [esp + 0x3b4], 0x69
mov byte [esp + 0x394], 0x47
mov byte [esp + 0x354], 0x5d
mov byte [esp + 0x374], 0x11
mov byte [esp + 0x360], 3
mov edx, 3
sub edx, eax
xor edx, eax
setne dl
movzx edx, dl
cmp eax, edx
jb 0x7792c0
mov dword [esp + 0x228], edi
mov dword [esp + 0x2ac], esi
mov byte [esp + 0x314], bh
mov byte [esp + 0x230], bl
mov esi, dword [esp + 0x3c0]
cmp ecx, 0x10
jne 0x77954e
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
je 0x77954e
mov eax, 2
mov edx, dword [esp + 0x3c4]
test dl, dl
je 0x779614
mov ecx, 1
movzx edx, dl
cmp edx, 0x23
mov dword [esp + 0x3c0], esi
mov edi, esi
mov edx, dword [esp + 0x364]
mov esi, dword [esp + 0x36c]
je 0x77c828
jmp 0x779914
mov dword [esp + 0x228], edi
mov dword [esp + 0x2ac], esi
mov byte [esp + 0x314], bh
mov byte [esp + 0x230], bl
mov ecx, 0xb
mov eax, 0xe
movzx edx, byte [esp + 0x38c]
cmp edx, 0x7d
mov edx, dword [esp + 0x3f4]
mov dword [esp + 0x410], edx
mov edx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], edx
mov edx, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], edx
mov edx, dword [esp + 0x3d0]
mov dword [esp + 0x400], edx
mov edx, dword [esp + 0x3dc]
mov dword [esp + 0x404], edx
mov edx, dword [esp + 0x3d8]
mov dword [esp + 0x408], edx
jne 0x7794ca
cmp ecx, 0xb
je 0x7794b2
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jne 0x77a65f
mov dword [esp + 0x32c], 1
mov byte [esp + 0x38c], 0x7d
jmp 0x7796ac
cmp eax, 0xe
jne 0x7795ae
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x7795ae
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov byte [esp + 0x38c], 0x1f
mov dword [esp + 0x32c], 1
jmp 0x7796ac
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov dword [esp + 0x3c0], esi
jmp 0x7773bf
movzx eax, byte [esp + 0x3ac]
cmp eax, 0x19
je 0x777de5
xor eax, eax
mov edi, dword [esp + 0x380]
mov edx, dword [esp + 0x2bc]
mov ebx, dword [esp + 0x3ec]
jmp 0x7795fc
mov byte [esp + 0x3ac], 0x49
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add eax, ecx
mov dword [edi], edx
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x7795e0
jmp 0x779710
mov dword [esp + 0x3c0], esi
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x39c], ecx
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x334], ecx
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x338]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x348]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x36c]
mov dword [esp + 0x410], ecx
mov edx, dword [esp + 0x264]
mov bl, byte [esp + 0x290]
mov esi, dword [esp + 0x2c4]
mov edi, dword [esp + 0x2d4]
jmp 0x775703
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x32c]
mov dword [eax], ecx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov ebx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov edi, dword [esp + 0x380]
mov esi, 0xe
mov eax, 3
mov ecx, dword [esp + 0x31c]
sub eax, ecx
xor eax, ecx
setne al
movzx edx, al
add edx, ecx
mov ecx, dword [esp + 0x434]
cmp edx, dword [ecx]
jb 0x77738b
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x3a4], edx
mov dword [esp + 0x380], edi
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x398], ecx
cmp esi, 7
mov ecx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x404]
jne 0x7797e1
mov eax, 3
sub eax, esi
xor eax, esi
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ecx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3dc], edx
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov edx, dword [esp + 0x3f8]
jne 0x77a097
jmp 0x77bce8
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ecx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3dc], edx
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
jmp 0x77bce8
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], ebx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x3f8], eax
mov ecx, 0xb
mov eax, dword [esp + 0x280]
mov eax, dword [eax]
mov esi, dword [esp + 0x260]
mov edx, dword [eax + esi*4]
cmp edx, 1
je 0x7798ef
mov eax, 4
cmp edx, 3
mov ecx, dword [esp + 0x33c]
je 0x779985
cmp edx, 2
jne 0x7799f3
mov eax, dword [esp + 0x2e8]
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x268], esi
mov esi, 2
jmp 0x779e35
mov eax, dword [esp + 0x2e8]
mov dword [esp + 0x300], eax
mov edi, eax
mov dword [esp + 0x268], esi
mov edx, dword [esp + 0x364]
mov esi, dword [esp + 0x36c]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp ecx, eax
mov ecx, dword [esp + 0x264]
jne 0x779a11
cmp ecx, 0xd
jne 0x779caf
mov dword [esp + 0x36c], esi
mov dword [esp + 0x364], edx
mov al, 7
mov dword [esp + 0x3c4], eax
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 1
ja 0x779cd2
mov ecx, 3
cmp dword [esp + 0x42c], 0x17
mov esi, edi
mov dword [esp + 0x3c0], esi
jb 0x77c88a
mov edx, dword [esp + 0x340]
mov dword [esp + 0x408], edx
mov edx, dword [esp + 0x338]
mov dword [esp + 0x404], edx
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x348]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x36c]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 0x300], ecx
mov dword [esp + 0x3c0], ecx
mov dword [esp + 0x268], esi
jmp 0x77d012
mov eax, dword [esp + 0x2e8]
mov ecx, eax
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x268], esi
mov esi, ecx
jmp 0x779e35
mov dword [esp + 0x36c], esi
mov dword [esp + 0x364], edx
mov ecx, 0x14
mov esi, edi
test esi, esi
je 0x779ac4
mov ebx, 4
cmp esi, 3
mov dword [esp + 0x3c0], esi
mov dword [esp + 0x300], esi
jne 0x779e35
cmp ebx, 4
je 0x779b45
xor eax, eax
test al, al
mov dword [esp + 0x3c0], esi
mov eax, dword [esp + 0x2b4]
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x408], ecx
je 0x77bca2
jmp 0x779ba7
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0x3c0], esi
mov dword [esp + 0x300], esi
cmp ecx, 5
jne 0x779ba7
mov edx, ecx
and edx, 1
xor edx, ecx
not edx
test edx, edx
jne 0x778998
mov eax, dword [esp + 0x2b4]
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x408], ecx
mov dword [esp + 0x3c0], esi
movzx edx, byte [esp + 0x1dc]
cmp edx, 0x31
je 0x779c2f
mov ecx, 7
cmp edx, 0x6f
mov ebx, dword [esp + 0x3ec]
jne 0x779c9c
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x3e0], ebx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x2b4], eax
mov byte [esp + 0x1dc], 0x6f
mov esi, 1
jmp 0x779e35
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x2b4], eax
mov byte [esp + 0x1dc], 0x41
mov esi, 1
jmp 0x779e35
mov dword [esp + 0x2b4], eax
mov edi, dword [esp + 0x3a4]
jmp 0x77740e
mov dword [esp + 0x36c], esi
mov dword [esp + 0x364], edx
mov al, 7
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x3c0], edi
jmp 0x77c622
mov dword [esp + 0x3c0], edi
jmp 0x77c622
mov dword [esp + 0x39c], 9
mov bh, 3
inc eax
cmp edx, 3
sete bl
movzx edi, bl
mov ecx, dword [esp + 0x3c0]
cmp ecx, edi
cmove ecx, esi
mov dword [esp + 0x300], ecx
test eax, eax
jne 0x779d1b
mov edi, eax
imul edi, edi
and edi, 3
cmp edi, 1
jbe 0x779ce0
mov byte [esp + 0x290], bh
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov ebx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov edi, dword [esp + 0x380]
mov ecx, dword [esp + 0x39c]
mov dword [esp + 0x380], edi
cmp ecx, 9
jne 0x778c21
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov esi, dword [esp + 0x300]
mov eax, dword [esp + 0x2e0]
mov dword [eax], esi
mov ecx, dword [esp + 0x268]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
mov edx, ecx
adc edx, 0
mov eax, dword [esp + 0x274]
cmp edx, dword [eax]
jae 0x779e86
mov ecx, 6
mov eax, edx
mov dword [esp + 0x260], edx
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x300], esi
jb 0x77ba83
mov dword [esp + 0x260], edx
mov dword [esp + 0x300], esi
mov eax, 0x12
movzx ecx, byte [esp + 0x34c]
cmp ecx, 0x46
je 0x779f34
cmp ecx, 0x54
jne 0x77a04b
mov dword [esp + 0x2a0], esi
xor ebx, ebx
mov esi, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2dc]
jmp 0x779f0d
mov edi, 0xf
mov byte [esp + 0x34c], 0x3f
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add ebx, eax
mov eax, dword [esp + 0x344]
mov dword [esp], eax
call fcn.0062ddc0
mov dword [esp + 0x434], 0
mov ecx, esi
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp ebx, eax
jb 0x779ed0
mov dword [esp + 0x2dc], ecx
mov eax, dword [esp + 0x2a0]
jmp 0x779220
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x39c], ecx
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0x2e8], esi
mov esi, dword [esp + 0x2e0]
cmp eax, 9
jne 0x77a015
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x77a015
mov dword [esp + 0x2e0], esi
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], edx
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov al, byte [esp + 0x3e4]
movzx eax, al
cmp eax, 5
je 0x77a2d7
mov esi, 0xc
cmp eax, 0x21
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov edi, dword [esp + 0x380]
mov ebx, dword [esp + 0x3ec]
je 0x77d4f7
jmp 0x777a9d
mov byte [esp + 0x34c], 0x54
mov eax, dword [esp + 0x344]
mov dword [esp], eax
mov edi, edx
call fcn.0062ddc0
mov edx, edi
mov dword [esp + 0x434], 0
mov dword [esp + 0x2dc], esi
mov dword [esp + 0x2e0], esi
jmp 0x77a097
mov byte [esp + 0x34c], 0x46
mov eax, dword [esp + 0x344]
mov dword [esp], eax
call fcn.0062ddc0
mov dword [esp + 0x434], 0
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0x2e8], esi
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x2dc], eax
mov dword [esp + 0x334], edx
mov esi, 0xb
mov eax, dword [esp + 0x2b8]
mov edx, dword [eax]
mov eax, dword [esp + 0x2dc]
mov edi, dword [eax]
cmp edx, 1
je 0x77a449
mov byte [esp + 0x2ec], 0x5a
mov byte [esp + 0x1e8], 0x71
mov ecx, 7
cmp edx, 2
je 0x77a47a
mov eax, 0x15
cmp edx, 3
mov dword [esp + 0x310], edi
mov dword [esp + 0x3c8], edi
mov ecx, dword [esp + 0x2dc]
mov dword [esp + 0x2c4], ecx
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x338]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x400], ecx
mov edi, dword [esp + 0x348]
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x36c]
mov dword [esp + 0x410], ecx
jne 0x77c761
cmp eax, 7
je 0x77a78b
xor eax, eax
test al, al
jne 0x77a797
mov dword [esp + 0x3ec], edi
xor eax, eax
mov edx, dword [esp + 0x310]
imul edx, edx
and edx, 3
mov esi, 3
jmp 0x77a1c5
mov ecx, eax
or ecx, 2
mov edi, eax
xor edi, 2
add edi, ecx
mov ecx, 0x11
setne bl
movzx edi, bl
add eax, edi
cmp edx, 2
sete bl
movzx edi, bl
mov ebx, dword [esp + 0x310]
cmp ebx, edi
cmove ebx, esi
mov dword [esp + 0x3c8], ebx
mov edi, eax
not edi
and edi, 1
add edi, eax
setne bl
movzx edi, bl
cmp eax, edi
jb 0x77a190
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov ebx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x3f8], eax
mov edi, dword [esp + 0x3a4]
cmp ecx, 8
jne 0x77a6fe
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
je 0x77a6fe
mov eax, dword [esp + 0x2b8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x280]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x31c]
mov dword [ecx + edx*4], eax
jmp 0x779709
mov byte [esp + 0x3e4], 0x4b
mov eax, dword [esp + 0x2f8]
mov ecx, eax
and eax, 1
xor eax, ecx
cmp eax, 0xffffffff
setne al
movzx edx, al
add edx, ecx
mov eax, dword [ebp + 0x20]
cmp edx, dword [eax + 8]
jb 0x77a7a3
mov byte [esp + 0x3f4], 0x7b
mov ecx, edx
mov dword [esp + 0x218], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov ebx, dword [esp + 0x408]
mov dword [esp + 0x340], ebx
mov esi, dword [esp + 0x404]
mov dword [esp + 0x338], esi
mov dword [esp + 0x33c], ecx
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x348], ecx
mov edi, dword [esp + 0x40c]
mov dword [esp + 0x364], edi
mov edx, dword [esp + 0x410]
mov dword [esp + 0x36c], edx
mov dword [esp + 0x258], ebx
mov dword [esp + 0x254], esi
mov dword [esp + 0x24c], ecx
mov dword [esp + 0x248], edi
mov dword [esp + 0x244], edx
je 0x77a82f
movzx eax, byte [esp + 0x3f4]
cmp eax, 0x58
mov edi, dword [esp + 0x3ec]
mov ebx, dword [esp + 0x404]
je 0x776812
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x3e0], edi
mov edx, dword [esp + 0x400]
mov dword [esp + 0x3d0], edx
mov dword [esp + 0x3dc], ebx
mov esi, dword [esp + 0x408]
mov dword [esp + 0x3d8], esi
mov dword [esp + 0x258], esi
mov dword [esp + 0x254], ebx
mov dword [esp + 0x250], edx
mov edx, 4
mov dword [esp + 0x24c], edi
mov dword [esp + 0x248], ecx
mov dword [esp + 0x244], eax
mov esi, dword [esp + 0x2fc]
jmp 0x77df16
mov byte [esp + 0x2ec], 0x5a
mov byte [esp + 0x1e8], 0x71
mov dword [esp + 0x310], edi
mov dword [esp + 0x3c8], edi
mov dword [esp + 0x2c4], eax
mov eax, dword [esp + 0x334]
jmp 0x775e87
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x3f8], eax
mov dword [esp + 0x310], edi
mov dword [esp + 0x3c8], edi
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0x2c4], eax
cmp ecx, 5
je 0x77a65f
xor eax, eax
test al, al
jne 0x77a65f
mov ecx, 1
movzx edx, byte [esp + 0x1e8]
cmp edx, 9
je 0x77addc
cmp edx, 0x6d
je 0x77ae71
mov edi, 0xf
mov eax, 0x14
cmp edx, 0x71
je 0x77c71e
cmp eax, 6
jne 0x77adc4
xor eax, eax
mov ecx, dword [esp + 0x2f8]
lea ecx, [ecx + ecx*2]
mov bl, byte [esp + 0x17c]
mov edi, dword [esp + 0x1c8]
jmp 0x77a556
mov esi, 0xc
mov bl, 0x74
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
adc eax, 0
mov edx, dword [edi]
mov dword [esp + 0x330], edx
mov edx, dword [edx + ecx*8]
mov dword [esp + 0x2d4], edx
mov edx, dword [esp + 0x2f8]
mov dword [esp + 0x2d8], edx
mov edx, eax
not edx
and edx, 1
add edx, eax
setne dl
movzx edx, dl
cmp eax, edx
jb 0x77a520
mov byte [esp + 0x17c], bl
mov eax, dword [esp + 0x340]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x410], eax
mov ecx, dword [esp + 0x3a8]
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x39c], eax
cmp esi, 0xb
jne 0x77ae89
imul esi, esi
and esi, 3
cmp esi, 2
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov dword [esp + 0x3a8], ecx
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3b0], eax
jb 0x77bca2
jmp 0x77585f
mov bl, byte [esp + 0x1a0]
movzx eax, bl
cmp eax, 0x4e
je 0x77a773
cmp eax, 0x7a
je 0x777373
xor ecx, ecx
mov esi, dword [esp + 0x364]
jmp 0x77a6a3
mov eax, 3
mov bl, 0x4e
inc ecx
mov dword [esp + 0x468], 0x70000003
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
cmp ecx, edx
jb 0x77a690
mov byte [esp + 0x1a0], bl
mov ecx, dword [esp + 0x340]
mov edi, dword [esp + 0x348]
mov dword [esp + 0x364], esi
mov dword [esp + 0x348], edi
mov dword [esp + 0x340], ecx
cmp eax, 3
jne 0x776d2d
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x77bca2
jmp 0x776d2d
mov dword [esp + 0x3a4], edi
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x334], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
jmp 0x77c761
mov byte [esp + 0x1a0], 0x7a
mov dword [esp + 0x468], 0x70000003
jmp 0x77bca2
mov edx, dword [esp + 0x334]
jmp 0x77da15
mov edx, dword [esp + 0x334]
jmp 0x77da15
mov dword [esp + 0x218], edx
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov edi, dword [esp + 0x408]
mov dword [esp + 0x340], edi
mov edx, dword [esp + 0x404]
mov dword [esp + 0x338], edx
mov dword [esp + 0x33c], eax
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x348], ecx
mov dword [esp + 0x250], eax
mov esi, dword [esp + 0x40c]
mov dword [esp + 0x364], esi
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov dword [esp + 0x258], edi
mov dword [esp + 0x254], edx
mov dword [esp + 0x24c], ecx
mov dword [esp + 0x248], esi
mov dword [esp + 0x244], eax
mov ecx, 0xf
mov al, byte [esp + 0x3cc]
movzx eax, al
cmp eax, 0x13
jne 0x7748b8
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x334], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x400], eax
mov ebx, dword [esp + 0x348]
mov eax, dword [esp + 0x364]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x410], eax
cmp ecx, 0xd
mov ecx, dword [esp + 0x334]
je 0x77aa6b
xor eax, eax
test al, al
jne 0x77aa6b
mov ecx, dword [esp + 0x1c8]
mov edi, dword [ecx]
mov esi, dword [esp + 0x218]
lea ecx, [esi + esi*2]
lea edx, [edi + ecx*8]
mov dword [esp + 0x1e4], edx
mov edx, dword [edi + ecx*8]
cmp edx, 0xf
jg 0x77aad9
mov dword [esp + 0x278], edi
mov byte [esp + 0x3cc], 0x13
mov ecx, 0x15
cmp edx, 4
je 0x77abc8
cmp edx, 5
mov dword [esp + 0x288], edx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x340], ecx
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x2c0], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x338], ecx
mov dword [esp + 0x3dc], ecx
mov dword [esp + 0x2e4], ecx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x2c8], eax
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x364], ecx
mov dword [esp + 0x3f0], ecx
mov dword [esp + 0x2d0], ecx
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x36c], ecx
mov dword [esp + 0x3f4], ecx
mov dword [esp + 0x2cc], ecx
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov edx, dword [esp + 0x334]
mov dword [esp + 0x3f8], edx
mov dword [esp + 0x348], ebx
mov dword [esp + 0x3e0], ebx
mov dword [esp + 0x3d0], esi
mov dword [esp + 0x2a8], ebx
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x2f8], esi
mov eax, 9
jne 0x775f95
movzx eax, byte [esp + 0x3b8]
cmp eax, 0x6a
je 0x77ad89
cmp eax, 0x6e
je 0x774fee
mov byte [esp + 0x3b8], 0x6e
jmp 0x774ff6
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], ecx
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], ebx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov esi, dword [esp + 0x3c0]
jmp 0x77c899
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x278], edi
mov byte [esp + 0x3cc], 0x13
mov ecx, 0xa
cmp edx, 0x10
je 0x77ac98
cmp edx, 0x26
mov dword [esp + 0x288], edx
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov ebx, dword [esp + 0x334]
mov dword [esp + 0x3f8], ebx
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov edx, dword [esp + 0x404]
mov dword [esp + 0x338], edx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x33c], ecx
mov dword [esp + 0x2c8], ecx
mov esi, dword [esp + 0x3ec]
mov dword [esp + 0x348], esi
mov edi, dword [esp + 0x40c]
mov dword [esp + 0x364], edi
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x36c], ecx
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2e4], edx
mov edx, ebx
mov dword [esp + 0x2a8], esi
mov dword [esp + 0x2d0], edi
mov eax, dword [esp + 0x218]
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x3d0], eax
mov eax, 9
je 0x779fd3
jmp 0x775f95
mov dword [esp + 0x288], edx
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x2c8], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x348], ebx
mov dword [esp + 0x2a8], ebx
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x2f8], esi
mov dword [esp + 0x3d0], esi
jmp 0x776643
mov dword [esp + 0x288], edx
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x2c0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x2e4], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x2c8], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x348], eax
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x2cc], eax
mov eax, dword [esp + 0x218]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x2f8], eax
cmp ecx, 0xa
je 0x77c34c
xor eax, eax
test al, al
je 0x7796ac
jmp 0x77c34c
mov edi, 7
mov byte [esp + 0x3b8], 0x6a
mov eax, dword [esp + 0x178]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp], eax
call fcn.007898d0
mov dword [esp + 0x468], eax
test eax, eax
jne 0x77bca2
jmp 0x77c921
mov dword [esp + 0x3c8], 2
mov byte [esp + 0x1e8], 0xa
jmp 0x77c745
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x334], eax
mov edx, dword [esp + 0x380]
mov esi, dword [esp + 0x2bc]
mov eax, dword [esp + 0x2f0]
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x2bc], esi
mov dword [esp + 0x380], edx
mov eax, ecx
or eax, 2
mov edx, ecx
xor edx, 2
add edx, eax
setne al
movzx eax, al
cmp ecx, eax
jne 0x77ae50
mov dword [esp + 0x3c8], 2
mov byte [esp + 0x1e8], 9
jmp 0x77c761
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x3f8], eax
jmp 0x778163
mov dword [esp + 0x3c8], 2
mov byte [esp + 0x1e8], 0x71
jmp 0x77c745
mov dword [esp + 0x3a8], ecx
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
jmp 0x77585f
cmp eax, 3
jne 0x77af28
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x77af28
mov esi, 8
mov byte [esp + 0x328], 0xb
test byte [esp + 0x188], 1
je 0x77e203
jmp 0x77d6be
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x334], eax
mov dword [esp + 0x3c8], 1
jmp 0x77c761
mov dword [esp + 0x39c], eax
mov ebx, edx
lea eax, [esp + 0x468]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.007855d0
mov dword [esp + 0x468], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x77b7a1
mov eax, 0x10
mov ecx, dword [esp + 0x430]
cmp ecx, 0x10
jb 0x77b305
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
mov ecx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x404]
je 0x77b338
mov esi, 0x10
mov al, byte [esp + 0x284]
movzx eax, al
cmp eax, 0x3c
je 0x77c9c1
cmp eax, 0x5c
jne 0x77b256
mov byte [esp + 0x284], 0x5c
mov byte [esp + 0x1a4], 8
mov dword [esp + 0x418], 0
mov dword [esp + 0x414], 0
mov eax, dword [esp + 0x458]
mov ecx, dword [esp + 0x45c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x298]
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0x1a
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00764f60
mov dword [esp + 0x468], 0
mov eax, dword [esp + 0x438]
lea ecx, [esp + 0x414]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x418]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627540
mov dword [esp + 0x468], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x77e203
jmp 0x77d9b4
mov byte [esp + 0x284], 0x3c
mov byte [esp + 0x1a4], 8
mov dword [esp + 0x418], 0
mov dword [esp + 0x414], 0
mov eax, dword [esp + 0x458]
mov ecx, dword [esp + 0x45c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x298]
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0x1a
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00764f60
mov dword [esp + 0x468], 0
mov eax, dword [esp + 0x438]
lea ecx, [esp + 0x414]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x418]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627540
mov dword [esp + 0x468], eax
test eax, eax
je 0x77d9b4
jmp 0x77e203
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x340], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x338], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x33c], ecx
mov ecx, dword [esp + 0x3ec]
jmp 0x77b35b
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov dword [esp + 0x3a8], ebx
mov dword [esp + 0x1d0], ebx
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x1b0], eax
jmp 0x77bca2
mov esi, 5
mov byte [esp + 0x1a4], 0x43
mov eax, dword [esp + 0x414]
mov ecx, dword [esp + 0x418]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x22
call fcn.007855d0
mov dword [esp + 0x468], eax
mov eax, dword [esp + 0x418]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x468]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x77c4cf
mov eax, 3
mov edx, dword [esp + 0x438]
mov dword [esp + 0x320], edx
mov esi, dword [esp + 0x1b0]
mov ecx, esi
and ecx, 1
inc ecx
xor ecx, esi
sete cl
movzx ecx, cl
cmp esi, ecx
setne byte [esp + 0x188]
cmp dword [edx], 0
jne 0x77bbd9
cmp esi, ecx
mov eax, 0xd
mov ecx, 0xa
mov edi, dword [esp + 0x3a4]
mov ebx, dword [esp + 0x3ec]
je 0x77ba04
cmp ecx, 0xa
jne 0x779709
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
je 0x779709
mov dword [esp + 0x3a4], edi
mov esi, 9
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0xfffffff9
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 3
mov dword [esp + 4], 0x22
call fcn.007855d0
mov dword [esp + 0x468], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
jmp 0x77c411
mov dword [esp + 0x3a4], edi
cmp eax, 6
jne 0x77bb99
movzx eax, byte [esp + 0x360]
cmp eax, 0x32
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov eax, 5
mov ecx, 1
mov esi, dword [esp + 0x2e8]
jne 0x77d36f
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp ecx, eax
jne 0x77bb8d
mov edi, 0xe
mov byte [esp + 0x360], 0x32
mov eax, dword [esp + 0x31c]
lea eax, [eax*4]
mov ecx, dword [esp + 0x280]
add eax, dword [ecx]
mov ecx, dword [esp + 0x43c]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x208]
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov ecx, 0x32
mov edx, dword [esp + 0x204]
call fcn.00782fd0
mov dword [esp + 0x468], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x77d417
cmp edi, 5
jne 0x77bbc1
cmp edi, 0xd
jne 0x7763e7
jmp 0x77cc9a
mov dword [esp + 0x2e8], esi
jmp 0x779895
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ebx
jmp 0x77c4fe
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x3d8], ecx
jmp 0x77aef7
mov byte [esp + 0x328], 0xb
mov eax, edi
or eax, 2
mov ecx, edi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add edi, eax
mov eax, dword [esp + 0x320]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00786870
mov dword [esp + 0x468], eax
mov eax, edi
and eax, 1
xor eax, edi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp edi, eax
jb 0x77bc40
jmp 0x77e203
mov byte [esp + 0x227], 0x15
mov dword [esp + 0x468], 0x7000002a
mov ecx, 0xc
mov edx, dword [esp + 0x424]
test edx, edx
je 0x77bfc9
mov eax, 0xf
mov dword [esp + 0x1c0], edx
imul edx, edx
and edx, 3
cmp edx, 2
je 0x77dbcd
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jne 0x77bf40
mov ecx, 0x1c
movzx eax, byte [esp + 0x21c]
cmp eax, 0x63
jne 0x77be84
mov eax, dword [esp + 0x340]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x400], eax
mov esi, dword [esp + 0x348]
mov eax, dword [esp + 0x364]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov edx, dword [esp + 0x3f8]
cmp ecx, 0xe
mov bl, byte [esp + 0x2ec]
mov edi, dword [esp + 0x2c4]
je 0x77bf54
imul ecx, ecx
and ecx, 3
cmp ecx, 2
je 0x77bf54
mov dword [esp + 0x334], edx
mov eax, 0xc
mov ecx, 5
mov byte [esp + 0x21c], 0x63
mov byte [esp + 0x34c], 0x46
mov byte [esp + 0x290], 0x35
mov byte [esp + 0x1dc], 0x6f
lea edx, [esp + 0x448]
mov dword [esp + 0x2e0], edx
mov dword [esp + 0x448], 0
mov dword [esp + 0x2e8], 0
mov edx, dword [esp + 0x22c]
cmp dword [edx], 0
mov dword [esp + 0x260], 0
mov dword [esp + 0x274], edx
mov dword [esp + 0x344], edx
mov ebx, esi
jne 0x77d0ac
cmp eax, 4
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], ebx
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x3f8], eax
mov esi, dword [esp + 0x2e8]
jne 0x779e94
jmp 0x77c622
mov ecx, 4
mov eax, 3
mov byte [esp + 0x21c], 0xa
mov byte [esp + 0x34c], 0x46
mov dword [esp + 0x448], 0
mov edi, dword [esp + 0x22c]
mov edx, dword [edi]
mov esi, edx
imul esi, esi
and esi, 3
cmp esi, 2
sete bl
movzx esi, bl
mov dword [esp + 0x2e8], 0
cmp edx, esi
mov byte [esp + 0x290], 0x35
mov byte [esp + 0x1dc], 0x6f
lea edx, [esp + 0x448]
mov dword [esp + 0x2e0], edx
mov dword [esp + 0x260], 0
mov dword [esp + 0x274], edi
mov dword [esp + 0x344], edi
mov esi, dword [esp + 0x29c]
jne 0x778146
cmp eax, 3
jne 0x776f22
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x776f22
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
call fcn.0063bfd0
jmp 0x77bfd5
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], edx
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], esi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov edx, dword [esp + 0x380]
mov esi, dword [esp + 0x2bc]
jmp 0x777f0c
mov dword [esp + 0x1c0], edx
jmp 0x77dbcd
mov esi, dword [esp + 0x3c0]
mov edi, dword [esp + 0x434]
test edi, edi
je 0x77c023
xor ebx, ebx
jmp 0x77c014
mov eax, ebx
not eax
and eax, 1
add eax, ebx
setne al
movzx eax, al
add ebx, eax
mov dword [esp], edi
call fcn.0062ddc0
mov dword [esp + 0x434], 0
test ebx, ebx
jne 0x77c023
mov eax, 3
sub eax, ebx
xor eax, ebx
jne 0x77bff0
mov ecx, 0x19
mov byte [esp + 0x318], 0x6c
mov edx, dword [esp + 0x450]
test edx, edx
jne 0x77c062
mov eax, edx
and eax, 1
xor eax, edx
mov dword [esp + 0x308], edx
not eax
test eax, eax
mov edi, dword [esp + 0x380]
mov bl, byte [esp + 0x3b4]
jne 0x77c075
jmp 0x778a37
mov dword [esp + 0x308], edx
mov edi, dword [esp + 0x380]
jmp 0x778a30
mov dword [esp + 0x380], edi
mov edi, 8
mov ecx, dword [esp + 0x438]
test ecx, ecx
jne 0x77c1eb
mov byte [esp + 0x25c], 3
mov byte [esp + 0x3b4], bl
mov eax, ecx
not eax
and eax, 1
add eax, ecx
mov dword [esp + 0x324], ecx
je 0x775378
movzx eax, byte [esp + 0x25c]
mov edx, esi
cmp eax, 3
je 0x77c115
cmp eax, 0x57
jne 0x77c158
mov eax, dword [esp + 0x43c]
mov dword [esp + 0x200], eax
test eax, eax
mov esi, dword [esp + 0x2bc]
je 0x77c340
mov eax, dword [esp + 0x200]
imul eax, eax
and eax, 3
cmp eax, 3
je 0x77c340
mov byte [esp + 0x25c], 0x46
mov byte [esp + 0x1c4], 0x47
jmp 0x77c2d4
mov byte [esp + 0x25c], 3
mov byte [esp + 0x1c4], 0x47
mov ecx, dword [esp + 0x43c]
test ecx, ecx
jne 0x77c206
mov eax, ecx
and eax, 1
xor eax, ecx
mov dword [esp + 0x200], ecx
not eax
test eax, eax
mov esi, dword [esp + 0x2bc]
jne 0x77c340
jmp 0x77c2d4
mov eax, 0xa
mov byte [esp + 0x25c], 0x57
mov byte [esp + 0x1c4], 0x47
mov ecx, dword [esp + 0x43c]
test ecx, ecx
mov esi, dword [esp + 0x2bc]
jne 0x77c219
mov dword [esp + 0x200], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x3c0], edx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], ecx
mov edi, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov ebx, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x408], ecx
jb 0x77c340
jmp 0x77c26d
mov byte [esp + 0x25c], 3
mov dword [esp + 0x324], ecx
mov byte [esp + 0x3b4], bl
jmp 0x775378
mov dword [esp + 0x200], ecx
mov esi, dword [esp + 0x2bc]
jmp 0x77c2d4
mov dword [esp + 0x200], ecx
mov dword [esp + 0x3c0], edx
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], ecx
mov edi, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov ebx, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x408], ecx
cmp eax, 9
mov edx, dword [esp + 0x380]
je 0x777e09
xor eax, eax
test al, al
jne 0x777e09
mov edx, dword [esp + 0x3c0]
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], edi
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3dc], ebx
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x2bc], esi
mov ecx, 1
mov edi, 0x16
movzx eax, byte [esp + 0x1c4]
cmp eax, 0x12
mov dword [esp + 0x3c0], edx
jne 0x77c312
cmp edi, 0xf
je 0x776d2d
imul edi, edi
and edi, 3
cmp edi, 2
jne 0x77c329
jmp 0x776d2d
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
cmp ecx, eax
jne 0x77cc9a
mov eax, dword [esp + 0x200]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call fcn.0064bf00
mov eax, dword [esp + 0x468]
jmp 0x7746f8
mov eax, 1
movzx ecx, byte [esp + 0x187]
cmp ecx, 0x4e
je 0x77c46f
mov esi, 7
cmp ecx, 0x75
je 0x77c47b
cmp ecx, 0x7e
jne 0x77c52d
mov esi, 5
mov byte [esp + 0x187], 0x75
lea eax, [esp + 0x460]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp], eax
call fcn.00789bd0
mov dword [esp + 0x468], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x3d8], eax
jne 0x77bca2
cmp esi, 5
je 0x779f8d
xor eax, eax
test al, al
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
je 0x77e203
jmp 0x779fd3
mov esi, dword [esp + 0x2f4]
jmp 0x77cc10
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
cmp esi, 5
jne 0x77c53a
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
jmp 0x77e203
mov byte [esp + 0x187], 0x4e
jmp 0x774f38
mov byte [esp + 0x187], 0x7e
jmp 0x774f38
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x404], edi
mov dword [esp + 0x3ec], esi
cmp eax, 0xa
je 0x77b86f
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x775dd2
jmp 0x77b86f
mov dword [esp + 0x3c4], 0
cmp dword [esp + 0x42c], 0x17
setb cl
mov eax, dword [esp + 0x264]
cmp eax, 0xd
jne 0x77c614
mov dword [esp + 0x36c], esi
mov dword [esp + 0x364], edx
imul eax, eax
and eax, 3
cmp eax, 1
ja 0x77c622
mov eax, 0xa
test cl, cl
je 0x77c622
cmp eax, 3
mov esi, dword [esp + 0x3c0]
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
je 0x779fd3
mov dword [esp + 0x36c], esi
mov dword [esp + 0x364], edx
movzx eax, byte [esp + 0x1e0]
cmp eax, 1
je 0x77c6ba
cmp eax, 6
je 0x77c951
cmp eax, 0x48
jne 0x77625e
mov edi, 5
mov esi, 0xd
mov byte [esp + 0x1e0], 6
mov byte [esp + 0x27c], 0x76
mov dword [esp + 0x420], 0
mov dword [esp + 0x41c], 0
lea eax, [esp + 0x420]
mov dword [esp + 8], eax
lea eax, [esp + 0x41c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp], eax
call fcn.006276a0
mov dword [esp + 0x468], eax
test eax, eax
jne 0x774edc
cmp edi, 5
jne 0x77c732
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3f8]
mov dword [esp + 0x334], eax
mov eax, 0x17
mov ecx, 0xc
movzx edx, byte [esp + 0x2ec]
cmp edx, 0x5a
mov edx, dword [esp + 0x39c]
mov dword [esp + 0x3fc], edx
mov edx, dword [esp + 0x334]
mov dword [esp + 0x3f8], edx
mov esi, dword [esp + 0x3c0]
jne 0x77c88a
cmp eax, 0x10
je 0x7763c2
cmp eax, 2
mov eax, dword [esp + 0x348]
je 0x77c575
mov ecx, dword [esp + 0x340]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x338]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x33c]
mov dword [esp + 0x400], ecx
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x40c], edx
mov dword [esp + 0x410], esi
mov edx, dword [esp + 0x3a8]
mov eax, dword [esp + 0x3b0]
jmp 0x77afd5
cmp ecx, 3
je 0x77c899
mov edi, 0x13
mov eax, 0xd
movzx ecx, byte [esp + 0x227]
cmp ecx, 0x18
mov dword [esp + 0x3c0], esi
jne 0x77c921
cmp eax, 0xd
jne 0x77c939
mov eax, 0xb
mov byte [esp + 0x227], 0x18
mov dword [esp + 0x468], 0x7000002a
mov ecx, dword [esp + 0x2fc]
mov dword [esp + 0x2fc], ecx
cmp eax, 0xb
je 0x77bca2
movzx eax, byte [esp + 0x394]
cmp eax, 0x7a
jne 0x7777f3
mov byte [esp + 0x394], 0x47
test ecx, ecx
je 0x77cb07
cmp ecx, 3
mov dword [esp + 0x2f4], ecx
je 0x77cb0e
jmp 0x77e330
cmp edi, 7
je 0x77501f
xor eax, eax
test al, al
je 0x77bc8f
jmp 0x77501f
mov byte [esp + 0x190], 0x22
mov dword [esp + 0x468], 0x30000003
jmp 0x77bca2
mov esi, 0x1c
mov byte [esp + 0x1e0], 0x48
mov byte [esp + 0x27c], 0x76
mov dword [esp + 0x420], 0
mov dword [esp + 0x41c], 0
lea eax, [esp + 0x420]
mov dword [esp + 8], eax
lea eax, [esp + 0x41c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp], eax
call fcn.006276a0
mov dword [esp + 0x468], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x776413
cmp esi, 0x10
jne 0x7762b8
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
je 0x7762b8
mov ebx, 0xb
mov esi, 0x1b
mov byte [esp + 0x284], 0x4e
mov byte [esp + 0x1a4], 8
mov dword [esp + 0x418], 0
mov dword [esp + 0x414], 0
mov eax, dword [esp + 0x458]
mov ecx, dword [esp + 0x45c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x298]
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0x1a
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00764f60
mov dword [esp + 0x468], 0
mov eax, dword [esp + 0x438]
lea ecx, [esp + 0x414]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x418]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627540
mov dword [esp + 0x468], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x340]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x400], eax
mov edi, dword [esp + 0x348]
mov eax, dword [esp + 0x364]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov ecx, dword [esp + 0x3f8]
je 0x77d949
jmp 0x77e1f4
mov dword [esp + 0x2f4], ecx
mov bh, byte [esp + 0x3b4]
movzx edx, bh
cmp edx, 0x69
je 0x77cb72
mov eax, 0xd
cmp edx, 0x72
mov edi, dword [esp + 0x380]
jne 0x77cba1
mov dword [esp + 0x2fc], ecx
mov ecx, dword [esp + 0x270]
cmp eax, 0xd
jne 0x77cc2c
mov dword [esp + 0x270], ecx
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x77cc4d
mov eax, 0xc
mov dword [esp + 0x2f4], 1
mov bl, 0x72
jmp 0x77d44c
mov dword [esp + 0x400], 0x17
mov edi, dword [esp + 0x3c0]
mov dword [esp + 0x2fc], ecx
cmp dword [esp + 0x400], 0xe
jne 0x77cbaf
mov dword [esp + 0x3c0], edi
jmp 0x77bca2
xor eax, eax
mov edi, dword [esp + 0x2f4]
jmp 0x77787e
xor ecx, ecx
mov bl, byte [esp + 0x3b4]
mov esi, dword [esp + 0x2f4]
jmp 0x77cbee
mov eax, 0xa
mov bl, 0x69
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
add ecx, edx
mov esi, 1
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
cmp ecx, edx
jb 0x77cbd0
mov byte [esp + 0x3b4], bl
mov dword [esp + 0x3c0], edi
mov dword [esp + 0x2f4], esi
cmp eax, 1
je 0x774f30
mov ecx, dword [esp + 0x2fc]
jmp 0x77e330
mov byte [esp + 0x3b4], bh
mov dword [esp + 0x380], edi
mov dword [esp + 0x270], ecx
mov edx, dword [esp + 0x234]
jmp 0x77924a
mov byte [esp + 0x3b4], bh
mov dword [esp + 0x380], edi
mov edx, dword [esp + 0x234]
jmp 0x77924a
cmp esi, 1
jne 0x77cc7b
imul esi, esi
and esi, 3
cmp esi, 2
jb 0x7762b8
mov dword [esp + 0x2f4], 2
mov byte [esp + 0x354], 0x5d
mov ecx, dword [esp + 0x2fc]
jmp 0x77e330
mov dl, byte [esp + 0x3d4]
movzx ecx, dl
cmp ecx, 1
je 0x77cd80
mov eax, 0xb
cmp ecx, 0x78
mov edi, dword [esp + 0x30c]
jne 0x77cd64
mov dl, 0x78
mov ebx, dword [esp + 0x1f8]
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
setne al
movzx esi, al
add esi, ebx
cmp esi, dword [edi]
jae 0x77ce7d
mov eax, 4
mov ecx, esi
not ecx
and ecx, 1
add ecx, esi
mov dword [esp + 0x240], esi
je 0x77ce84
mov dword [esp + 0x23c], edi
mov ecx, dword [esp + 0x304]
mov dword [esp + 0x238], ecx
mov esi, dword [esp + 0x2cc]
mov dword [esp + 0x3f4], esi
mov esi, dword [esp + 0x2d0]
mov dword [esp + 0x3f0], esi
mov esi, dword [esp + 0x26c]
mov dword [esp + 0x3e0], esi
mov esi, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], esi
mov esi, dword [esp + 0x2e4]
mov dword [esp + 0x3dc], esi
mov dword [esp + 0x3d8], ecx
cmp eax, 4
jne 0x776072
mov byte [esp + 0x3d4], dl
mov esi, dword [esp + 0x3c0]
jmp 0x77612f
mov ecx, 0xb
mov byte [esp + 0x3d4], 1
mov eax, dword [esp + 0x1f8]
inc eax
mov dword [esp + 0x240], eax
mov edx, dword [esp + 0x30c]
cmp eax, dword [edx]
mov dword [esp + 0x23c], edx
mov eax, dword [esp + 0x304]
mov dword [esp + 0x238], eax
mov edx, dword [esp + 0x2cc]
mov dword [esp + 0x410], edx
mov edx, dword [esp + 0x2d0]
mov dword [esp + 0x40c], edx
mov edx, dword [esp + 0x26c]
mov dword [esp + 0x3ec], edx
mov edx, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], edx
mov esi, dword [esp + 0x2e4]
mov dword [esp + 0x404], esi
mov dword [esp + 0x408], eax
mov dword [esp + 0x400], edx
jae 0x779fd3
cmp ecx, 7
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov esi, dword [esp + 0x3c0]
jne 0x77612f
jmp 0x77bca2
mov dword [esp + 0x240], esi
mov byte [esp + 0x3d4], 0x78
mov dword [esp + 0x23c], edi
mov eax, dword [esp + 0x304]
mov dword [esp + 0x238], eax
mov ecx, dword [esp + 0x2cc]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x2d0]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x26c]
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x2c8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x2e4]
mov dword [esp + 0x404], ecx
mov dword [esp + 0x408], eax
jmp 0x779fd3
mov dword [esp + 0x404], ebx
mov dword [esp + 0x3ec], edi
mov dword [esp + 0x2fc], esi
mov eax, 0xb
mov byte [esp + 0x220], 0x57
mov edx, dword [esp + 0x43c]
test edx, edx
jne 0x77cfa9
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
mov dword [esp + 0x1f4], edx
mov esi, dword [esp + 0x24c]
mov edi, esi
mov ecx, dword [esp + 0x258]
mov dword [esp + 0x39c], ecx
mov dword [esp + 0x3fc], ecx
mov edx, dword [esp + 0x254]
mov dword [esp + 0x2ac], edx
mov edx, dword [esp + 0x250]
mov dword [esp + 0x29c], edx
mov dword [esp + 0x3f8], esi
mov edx, dword [esp + 0x248]
mov dword [esp + 0x208], edx
mov edx, dword [esp + 0x244]
mov dword [esp + 0x204], edx
mov edx, edi
mov dword [esp + 0x3a8], esi
mov dword [esp + 0x3b0], ecx
jne 0x77afdc
jmp 0x77d012
mov dword [esp + 0x1f4], edx
mov edx, dword [esp + 0x24c]
mov dword [esp + 0x3a8], edx
mov ecx, dword [esp + 0x258]
mov dword [esp + 0x3b0], ecx
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x254]
mov dword [esp + 0x2ac], ecx
mov ecx, dword [esp + 0x250]
mov dword [esp + 0x29c], ecx
mov dword [esp + 0x3f8], edx
mov ecx, dword [esp + 0x248]
mov dword [esp + 0x208], ecx
mov ecx, dword [esp + 0x244]
mov dword [esp + 0x204], ecx
cmp eax, 4
je 0x77d18f
xor eax, eax
test al, al
jne 0x77d18f
mov eax, 0x1c
mov ecx, 0xa
movzx edx, byte [esp + 0x220]
cmp edx, 0x41
mov edx, dword [esp + 0x3fc]
mov dword [esp + 0x39c], edx
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0x334], edx
mov edx, dword [esp + 0x408]
mov dword [esp + 0x340], edx
mov edx, dword [esp + 0x404]
mov dword [esp + 0x338], edx
mov edx, dword [esp + 0x400]
mov dword [esp + 0x33c], edx
mov ebx, dword [esp + 0x3ec]
mov dword [esp + 0x348], ebx
mov edx, dword [esp + 0x40c]
mov dword [esp + 0x364], edx
mov edx, dword [esp + 0x410]
mov dword [esp + 0x36c], edx
jne 0x77d114
cmp ecx, 5
je 0x77982c
mov dword [esp + 0x3ec], ebx
mov byte [esp + 0x220], 0x57
mov byte [esp + 0x1f0], 0x56
mov eax, dword [esp + 0x1f4]
mov eax, dword [eax + 4]
mov dword [esp + 0x19c], eax
test eax, eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov edx, dword [esp + 0x334]
mov dword [esp + 0x3f8], edx
mov dword [esp + 0x3a8], edx
mov dword [esp + 0x3b0], eax
jne 0x77d5c9
jmp 0x77afdc
cmp eax, 0xc
je 0x77d230
imul eax, eax
and eax, 3
cmp eax, 2
je 0x77d230
mov eax, 0x15
mov byte [esp + 0x220], 0x41
mov byte [esp + 0x1f0], 0x56
mov ecx, dword [esp + 0x1f4]
mov edx, dword [ecx + 4]
test edx, edx
jne 0x77d34c
mov esi, 0xa
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
mov dword [esp + 0x19c], edx
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x3b0], ecx
jne 0x77d759
jmp 0x77d36f
xor eax, eax
mov bh, byte [esp + 0x290]
movzx ecx, bh
cmp ecx, 3
je 0x77d276
cmp ecx, 0x3e
jne 0x77d29b
mov ecx, dword [esp + 0x3c0]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp ecx, eax
mov esi, 3
cmovne esi, ecx
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov byte [esp + 0x290], 0x35
jmp 0x779e35
mov eax, 8
mov byte [esp + 0x27c], 0x4e
mov ecx, dword [esp + 0x270]
mov bl, byte [esp + 0x314]
mov byte [esp + 0x314], bl
mov dword [esp + 0x270], ecx
cmp eax, 8
je 0x77bca2
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x7796ac
jmp 0x77bca2
mov edx, dword [esp + 0x3c0]
imul edx, edx
and edx, 3
mov esi, 3
mov dword [esp + 0x300], ecx
mov dword [esp + 0x39c], ecx
jmp 0x779d0a
mov ecx, dword [esp + 0x3c0]
and ecx, 1
inc ecx
mov edx, 3
jmp 0x77d2d6
mov bh, 0x3e
mov esi, eax
imul esi, esi
and esi, 3
cmp esi, 2
adc eax, 0
mov edi, dword [esp + 0x3c0]
mov esi, edi
xor esi, ecx
sete bl
movzx esi, bl
cmp edi, esi
cmove edi, edx
mov esi, eax
and esi, 1
xor esi, eax
cmp esi, 0xffffffff
setne bl
movzx esi, bl
cmp eax, esi
jb 0x77d2b0
mov byte [esp + 0x290], bh
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov esi, edi
jmp 0x779e35
mov dword [esp + 0x19c], edx
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x3b0], ecx
cmp eax, 5
jne 0x77d560
mov byte [esp + 0x360], 3
mov eax, dword [esp + 0x31c]
lea eax, [eax*4]
mov ecx, dword [esp + 0x280]
add eax, dword [ecx]
mov ecx, dword [esp + 0x43c]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x208]
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov ecx, 0x32
mov edx, dword [esp + 0x204]
call fcn.00782fd0
mov dword [esp + 0x468], 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 + 0x2e8]
jne 0x77bca2
movzx edx, byte [esp + 0x374]
cmp edx, 0xb
je 0x77de46
cmp eax, 9
je 0x77ddb3
imul eax, eax
and eax, 3
cmp eax, 3
je 0x77ddb3
mov byte [esp + 0x3b4], bl
mov dword [esp + 0x380], edi
mov ecx, dword [esp + 0x2fc]
jmp 0x77e330
mov byte [esp + 0x3b4], bl
cmp ecx, 8
jne 0x77774e
mov esi, 0xa
mov byte [esp + 0x318], 0xb
mov eax, dword [esp + 0x308]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov ebx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
cmp esi, 0xa
jne 0x7766b6
mov esi, dword [esp + 0x3c0]
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
mov bl, byte [esp + 0x3b4]
jmp 0x77c075
mov eax, dword [esp + 0x340]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0x334], edx
movzx eax, byte [esp + 0x1f0]
cmp eax, 0x14
mov ecx, dword [esp + 0x1f4]
mov edx, dword [esp + 0x19c]
mov edi, dword [esp + 0x3ec]
je 0x7769b8
cmp eax, 0x56
jne 0x77d822
cmp esi, 8
mov edi, dword [esp + 0x348]
mov eax, dword [esp + 0x364]
mov ecx, dword [esp + 0x36c]
jne 0x77d7d0
mov eax, 3
movzx ecx, byte [esp + 0x328]
cmp ecx, 0x50
je 0x77dcde
xor edi, edi
cmp ecx, 0x7b
mov ebx, dword [ebp + 0xc]
je 0x77d745
jmp 0x77bc76
mov esi, 0xe
mov byte [esp + 0x328], 0x50
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
adc edi, 0
mov eax, dword [esp + 0x320]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00786870
mov dword [esp + 0x468], eax
mov eax, edi
and eax, 1
xor eax, edi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp edi, eax
jb 0x77d710
cmp esi, 0xa
mov eax, dword [esp + 0x340]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x410], eax
mov edx, dword [esp + 0x3a8]
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x39c], eax
je 0x77afdc
jmp 0x77e203
mov esi, dword [esp + 0x340]
mov dword [esp + 0x408], esi
mov esi, dword [esp + 0x338]
mov dword [esp + 0x404], esi
mov esi, dword [esp + 0x33c]
mov dword [esp + 0x400], esi
mov dword [esp + 0x40c], eax
mov dword [esp + 0x410], ecx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0x39c], eax
mov edx, dword [esp + 0x3f8]
jmp 0x77da15
mov ebx, edx
movzx eax, byte [esp + 0x210]
cmp eax, 0x5e
jne 0x776a9d
mov esi, 0xe
mov byte [esp + 0x210], 0x5e
mov byte [esp + 0x1ac], 0x2a
lea eax, [esp + 0x444]
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x444], 0
mov eax, dword [esp + 0x424]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.0063c260
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
mov dword [esp + 0x1b8], 0
cmp eax, ecx
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov ecx, ebx
mov dword [esp + 0x3f8], ecx
je 0x776d2d
cmp esi, 0xe
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], ecx
je 0x776baf
mov eax, 0xa
movzx ecx, byte [esp + 0x1a4]
cmp ecx, 0x43
jne 0x77dced
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x40c], ecx
mov esi, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x400], ecx
mov edi, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x408], ecx
jmp 0x77c547
mov ecx, 0xa
mov al, byte [esp + 0x294]
movzx eax, al
cmp eax, 0x22
je 0x77db6b
cmp eax, 0x75
mov ecx, dword [esp + 0x404]
je 0x77dbf8
cmp eax, 0x7e
jne 0x77dc6b
mov dword [esp + 0x468], 0x700002d2
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], edx
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov dword [esp + 0x338], ecx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov ebx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov byte [esp + 0x294], 0xe
mov eax, 0x1e
cmp eax, 0x10
je 0x778b47
xor eax, eax
test al, al
jne 0x778b47
mov eax, dword [esp + 0x410]
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3e0], ebx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x3d8], eax
jmp 0x77bca2
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], edx
cmp ecx, 0xa
je 0x77dbe0
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
jne 0x77bfd5
mov byte [esp + 0x294], 0x22
mov dword [esp + 0x468], 0x700002d2
jmp 0x77bca2
mov dword [esp + 0x468], 0x700002d2
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov dword [esp + 0x338], ecx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], edx
mov byte [esp + 0x294], 0x7e
jmp 0x77bca2
mov dword [esp + 0x468], 0x700002d2
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov dword [esp + 0x338], ecx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x348], edi
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f8], edx
mov byte [esp + 0x294], 0x75
jmp 0x77bca2
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x2fc]
jmp 0x77df8e
mov byte [esp + 0x1a4], 8
mov eax, dword [esp + 0x414]
mov ecx, dword [esp + 0x418]
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], 0x22
call fcn.007855d0
mov dword [esp + 0x468], eax
mov eax, dword [esp + 0x418]
mov dword [esp], eax
call fcn.004936c0
cmp dword [esp + 0x468], 0
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
je 0x77b8f0
mov byte [esp + 0x3b4], bl
mov dword [esp + 0x380], edi
mov eax, 1
mov byte [esp + 0x374], 0xb
mov ecx, dword [esp + 0x2b8]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x280]
mov ecx, dword [ecx]
mov edi, dword [esp + 0x31c]
lea esi, [ecx + edi*4]
mov ecx, dword [ecx + edi*4]
cmp edx, 1
je 0x77e004
cmp edx, 2
je 0x77e2a7
mov dword [esp + 0x28c], esi
mov dword [esp + 0x410], 6
cmp edx, 3
mov dword [esp + 0x2f4], ecx
mov dword [esp + 0x2fc], ecx
jne 0x77e330
cmp dword [esp + 0x410], 1
mov dword [esp + 0x2f4], ecx
mov ecx, dword [esp + 0x2fc]
je 0x77c34c
jmp 0x77deb8
mov edx, 1
movzx eax, byte [esp + 0x388]
cmp eax, 0x2c
jne 0x77dfac
mov esi, ecx
mov eax, dword [esp + 0x340]
mov dword [esp + 0x408], eax
mov ebx, dword [esp + 0x338]
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x400], eax
mov edi, dword [esp + 0x348]
mov eax, dword [esp + 0x364]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x410], eax
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp edx, eax
jne 0x77cef3
test esi, esi
mov eax, 3
cmovne eax, esi
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x408]
mov dword [esp + 0x340], eax
mov dword [esp + 0x338], ebx
mov eax, dword [esp + 0x400]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x36c], eax
mov byte [esp + 0x388], 0x7f
mov eax, 5
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x348], edi
cmp eax, 3
je 0x77dfd6
imul eax, eax
and eax, 3
cmp eax, 2
je 0x77dfd6
mov ecx, esi
jmp 0x77e330
mov byte [esp + 0x388], 0x2c
mov edx, 3
mov eax, 3
sub eax, ecx
xor eax, ecx
cmove edx, ecx
test ecx, ecx
cmovne edx, ecx
mov dword [esp + 0x2f4], edx
jmp 0x77e330
mov dword [esp + 0x2fc], esi
mov byte [esp + 0x328], 0x7b
mov eax, dword [esp + 0x320]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00786870
mov dword [esp + 0x468], eax
jmp 0x77e203
mov dword [esp + 0x28c], esi
mov dword [esp + 0x2f4], ecx
mov edx, ecx
mov dword [esp + 0x2fc], edx
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
mov ecx, edx
je 0x77c8eb
mov edx, 0x17
mov bl, byte [esp + 0x3a0]
movzx eax, bl
cmp eax, 0x40
je 0x77e0b7
cmp eax, 0x68
jne 0x77e19f
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov byte [esp + 0x3a0], 0x40
mov eax, 1
jmp 0x778998
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x2b4]
mov esi, 3
xor edi, edi
cmp edx, 0xd
jne 0x77897e
mov ecx, 3
sub ecx, edx
xor ecx, edx
je 0x77897e
mov byte [esp + 0x3a0], bl
mov ecx, dword [esp + 0x410]
mov dword [esp + 0x3f4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x400]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x404]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x408]
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x2b4], eax
mov ecx, dword [esp + 0x2fc]
jmp 0x77e330
mov eax, 8
mov dword [esp + 0x2b4], 1
mov cl, 0x68
mov edx, dword [esp + 0x364]
mov esi, dword [esp + 0x36c]
cmp eax, 8
je 0x77e232
mov dword [esp + 0x36c], esi
mov dword [esp + 0x364], edx
mov byte [esp + 0x3a0], cl
imul eax, eax
and eax, 3
cmp eax, 2
je 0x77e247
mov ebx, 0x11
mov dword [esp + 0x468], 0x7000002a
cmp ebx, 0xb
je 0x77e203
xor eax, eax
test al, al
je 0x77bca2
mov ecx, 1
mov eax, dword [esp + 0x32c]
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
cmp ecx, edx
mov dword [esp + 0x32c], eax
je 0x77bca2
jmp 0x77cc9a
mov dword [esp + 0x36c], esi
mov dword [esp + 0x364], edx
mov byte [esp + 0x3a0], cl
mov eax, dword [esp + 0x3f4]
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x2b4]
jmp 0x778998
mov dword [esp + 0x28c], esi
jmp 0x77e2d5
mov dl, byte [esp + 0x354]
mov esi, 7
movzx eax, dl
cmp eax, 4
je 0x77e303
cmp eax, 0x5d
jne 0x77e31d
mov dword [esp + 0x2f4], 2
mov byte [esp + 0x354], 0x3a
jmp 0x77e330
mov byte [esp + 0x354], dl
mov dword [esp + 0x2f4], ecx
mov dword [esp + 0x2fc], ecx
jmp 0x77cc67
mov dword [esp + 0x2f4], 2
mov byte [esp + 0x354], 4
xor eax, eax
mov esi, dword [esp + 0x28c]
mov edi, dword [esp + 0x2f4]
jmp 0x777924