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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x280
mov eax, dword [ebp + 8]
mov dword [esp + 0x278], 0
mov dword [esp + 0x274], 0
mov dword [esp + 0x270], 0
mov dword [esp + 0x26c], 0
mov dword [esp + 0x268], 0
mov dword [esp + 0x264], 0
mov dword [esp + 0x260], 0
mov dword [esp + 0x25c], 0
mov dword [esp + 0x258], 0
mov dword [esp + 0x23c], 0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x240], xmm0
cmp dword [eax + 8], 0
jne 0x74fa56
mov byte [esp + 0x5b], al
mov byte [esp + 0x6f], al
mov byte [esp + 0x63], al
mov byte [esp + 0x5a], al
mov byte [esp + 0x97], al
mov byte [esp + 0x57], al
mov byte [esp + 0x37], al
mov byte [esp + 0x8f], al
mov byte [esp + 0x126], al
mov byte [esp + 0xb3], al
mov byte [esp + 0x17e], al
mov byte [esp + 0x18b], al
mov byte [esp + 0x177], al
mov esi, 0xd
mov dword [esp + 0xf0], 0
mov dword [esp + 0x19c], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x208], eax
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x204], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x184], eax
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x190], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x200], eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x1ac], eax
mov byte [esp + 0x1d7], al
mov byte [esp + 0x176], al
mov byte [esp + 0x58], al
mov byte [esp + 0x59], al
mov byte [esp + 0xdb], al
mov byte [esp + 0x175], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x11f], al
mov byte [esp + 0x87], al
mov byte [esp + 0xfb], al
mov byte [esp + 0xea], al
mov byte [esp + 0xeb], al
mov byte [esp + 0x127], al
mov byte [esp + 0x1b3], al
mov byte [esp + 0x1bf], al
mov byte [esp + 0x17f], al
mov byte [esp + 0x77], al
jmp 0x753887
mov byte [esp + 0xb3], 0x2f
mov byte [esp + 0x176], 0xa
mov byte [esp + 0x126], 0x75
mov byte [esp + 0x8f], 0x5b
mov byte [esp + 0x6f], 0x42
mov byte [esp + 0x57], 0x39
mov byte [esp + 0x97], 2
mov byte [esp + 0x5a], 0x2c
mov byte [esp + 0x63], 0x5c
mov byte [esp + 0x58], 5
mov byte [esp + 0x5b], cl
mov byte [esp + 0x59], cl
mov byte [esp + 0xdb], cl
mov byte [esp + 0x175], cl
mov esi, 0xf
lea eax, [eax + 4]
mov dword [esp + 0x19c], eax
lea eax, [esp + 0x224]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x230]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x234]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x228]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x22c]
mov dword [esp + 0x38], eax
mov dword [esp + 0xf0], 0
mov dword [esp + 0x208], 0xffffffff
mov dword [esp + 0xe0], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x1e0], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x184], eax
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x190], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x204], 0
mov byte [esp + 0x87], al
mov byte [esp + 0xfb], al
mov byte [esp + 0xeb], al
mov byte [esp + 0x1b3], al
mov byte [esp + 0x77], al
mov byte [esp + 0x177], al
mov byte [esp + 0x11f], al
mov byte [esp + 0xea], al
mov byte [esp + 0x1ab], al
mov byte [esp + 0x17e], al
mov byte [esp + 0x17f], al
mov byte [esp + 0x1d7], al
mov byte [esp + 0x18b], al
mov byte [esp + 0x127], al
mov byte [esp + 0x1bf], al
mov byte [esp + 0x37], 0x42
mov byte [esp + 0x4b], 0xa
cmp esi, 3
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x208]
mov edx, dword [esp + 0x204]
mov edi, ebx
je 0x74fe1d
imul esi, esi
and esi, 3
cmp esi, 3
mov dword [esp + 0xf4], edi
mov dword [esp + 0x88], edx
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1e4], ecx
mov esi, edi
mov dword [esp + 0x1fc], edi
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x200], eax
mov ebx, edx
mov dword [esp + 0x220], edx
mov edx, esi
jne 0x753d07
jmp 0x74fe4b
mov dword [esp + 0xf4], edi
mov dword [esp + 0x88], edx
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x200], eax
mov ebx, edx
mov edx, edi
mov byte [esp + 0x11f], 0x30
mov eax, dword [esp + 0x19c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x200]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0xa8], eax
test ebx, ebx
jne 0x74fec8
mov edi, edx
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 1
ja 0x74fed6
mov esi, 9
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
mov dword [esp + 0x144], eax
test eax, eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x13c], eax
mov edx, edi
mov dword [esp + 0x1fc], edx
jne 0x7538dd
jmp 0x754155
mov dword [esp + 0x144], ebx
mov edi, edx
jmp 0x75161d
mov dword [esp + 0x144], ebx
jmp 0x75161d
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x753d36
mov dl, 7
mov eax, dword [esp + 0x19c]
mov ecx, dword [eax]
mov dword [esp + 0x154], ecx
mov edi, dword [esp + 0x1cc]
lea eax, [edi + edi*2]
lea esi, [ecx + eax*8]
mov dword [esp + 0x18c], esi
mov ecx, dword [ecx + eax*8]
cmp ecx, 0x15
jle 0x74ff9c
cmp ecx, 0x21
jle 0x74fffa
cmp ecx, 0x22
je 0x7500ad
cmp ecx, 0x31
je 0x750100
mov byte [esp + 0x176], 7
mov ebx, 0x16
cmp ecx, 0x32
mov ecx, dword [esp + 0x204]
mov esi, ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov dword [esp + 0x20c], eax
mov edx, dword [esp + 0x1cc]
mov dword [esp + 0x200], edx
mov edx, esi
mov dword [esp + 0x220], ecx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1e4], eax
mov esi, 0xc
je 0x751332
jmp 0x7539d5
cmp ecx, 7
jg 0x75004a
mov byte [esp + 0x176], 7
mov esi, 6
cmp ecx, 3
je 0x750114
cmp ecx, 4
mov ecx, dword [esp + 0x204]
mov edx, ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x200], edi
mov dword [esp + 0x220], ecx
mov esi, 0xc
je 0x750430
jmp 0x7539d5
mov byte [esp + 0x176], 7
cmp ecx, 0x16
je 0x75014a
cmp ecx, 0x19
mov ecx, dword [esp + 0x204]
mov edx, ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x200], edi
mov dword [esp + 0x220], ecx
mov esi, 0xc
je 0x7513df
jmp 0x7539d5
cmp ecx, 8
je 0x750180
mov byte [esp + 0x176], 7
mov eax, 5
cmp ecx, 0x12
mov edx, dword [esp + 0x204]
mov esi, edx
mov ecx, dword [esp + 0x208]
mov dword [esp + 0x214], ecx
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x200], edi
mov dword [esp + 0x220], edx
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1e4], ecx
mov esi, 0xc
je 0x7546d5
jmp 0x7539d5
mov byte [esp + 0x176], 7
mov edx, dword [esp + 0x1d8]
mov esi, dword [esp + 0x21c]
mov ecx, dword [esp + 0x204]
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x200], edi
mov dword [esp + 0x210], ecx
mov ebx, dword [esp + 0x178]
jmp 0x752242
mov byte [esp + 0x176], 7
mov edi, dword [esp + 0x1cc]
jmp 0x753e3f
mov ecx, dword [esp + 0x204]
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x200], edi
mov dword [esp + 0x220], ecx
jmp 0x75341c
mov ecx, dword [esp + 0x204]
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x200], edi
mov dword [esp + 0x220], ecx
jmp 0x75031b
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov esi, dword [esp + 0x178]
mov ebx, dword [esp + 0x208]
mov eax, 0xe
movzx ecx, byte [esp + 0x6f]
cmp ecx, 0x2f
je 0x75020c
mov eax, 2
cmp ecx, 0x42
je 0x75024f
mov dword [esp + 0x178], esi
mov byte [esp + 0x176], dl
cmp ecx, 0x5d
jne 0x750295
mov byte [esp + 0x6f], 0x42
lea eax, [edi + edi*2]
mov edx, dword [esp + 0x154]
mov ecx, dword [edx + eax*8 + 0x10]
mov eax, dword [edx + eax*8 + 0x14]
lea edx, [esp + 0x274]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627130
mov dword [esp + 0x278], eax
test eax, eax
jmp 0x7502dd
mov dword [esp + 0x178], esi
mov byte [esp + 0x176], dl
mov ecx, ebx
mov dword [esp + 0x200], edi
mov dword [esp + 0x1cc], edi
mov edi, ecx
mov ecx, dword [esp + 0x204]
mov edx, ecx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1e4], ebx
mov dword [esp + 0x208], ebx
jmp 0x750805
mov dword [esp + 0x178], esi
mov byte [esp + 0x176], dl
mov ecx, dword [esp + 0x204]
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1e4], ebx
mov dword [esp + 0x214], ebx
mov dword [esp + 0x208], ebx
mov dword [esp + 0x200], edi
mov dword [esp + 0x1cc], edi
mov edx, ecx
jmp 0x751ad6
mov byte [esp + 0x6f], 0x2f
lea eax, [edi + edi*2]
mov edx, dword [esp + 0x154]
mov ecx, dword [edx + eax*8 + 0x10]
mov eax, dword [edx + eax*8 + 0x14]
lea edx, [esp + 0x274]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627130
mov dword [esp + 0x278], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x214], ebx
mov dword [esp + 0x200], edi
mov dword [esp + 0x1cc], edi
mov eax, dword [esp + 0x204]
mov edx, eax
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x208], ebx
mov dword [esp + 0x220], eax
jne 0x7507d9
jmp 0x75187c
mov eax, 0xb
movzx edx, byte [esp + 0x57]
cmp edx, 0x19
je 0x750342
mov ecx, 0x18
mov edi, 0x13
cmp edx, 0x39
je 0x75452b
jmp 0x753f62
mov esi, dword [esp + 0x21c]
mov ecx, dword [esp + 0x220]
mov dword [esp + 0x1f4], ecx
cmp eax, 0xb
jne 0x75041d
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x75041d
mov dword [esp + 0x218], esi
mov edi, 0x11
mov byte [esp + 0x57], 0x19
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 0
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov eax, dword [esp + 0x200]
lea eax, [eax + eax*2]
mov esi, dword [esp + 0x154]
mov ecx, dword [esi + eax*8 + 0x10]
mov edx, dword [esi + eax*8 + 0x14]
mov eax, dword [esi + eax*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 + 0x278], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov edx, dword [esp + 0x1f4]
mov dword [esp + 0x1d8], edx
mov dword [esp + 0x220], edx
jne 0x7513be
jmp 0x75097e
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
jmp 0x75273b
lea eax, [esp + 0x260]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18c]
mov dword [esp], eax
call fcn.00789690
mov dword [esp + 0x278], 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 + 0x21c]
mov dword [esp + 0x218], eax
mov ebx, dword [esp + 0x204]
mov esi, ebx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov dword [esp + 0x210], ebx
mov dword [esp + 0x20c], eax
mov edx, dword [esp + 0x1cc]
mov dword [esp + 0x200], edx
mov edx, esi
mov dword [esp + 0x220], ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1e4], eax
je 0x75187c
jmp 0x7537c7
imul esi, esi
and esi, 3
cmp esi, 2
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov ebx, dword [esp + 0x210]
jae 0x7537c7
mov eax, dword [esp + 0x19c]
mov eax, dword [eax]
mov ebx, dword [esp + 0x200]
lea ecx, [ebx + ebx*2]
mov eax, dword [eax + ecx*8 + 0x14]
cmp dword [eax + 0x10], 0x7469636f
mov edx, dword [esp + 0x208]
mov esi, dword [esp + 0x204]
je 0x750555
xor eax, eax
test al, al
jne 0x750555
mov cl, 0x76
mov eax, 9
mov edi, 0x13
movzx ecx, cl
cmp ecx, 0x7a
mov ecx, dword [esp + 0x220]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1e4], ebx
je 0x754b67
jmp 0x750571
mov eax, dword [esp + 0x220]
mov dword [esp + 0x110], eax
mov edx, eax
mov dword [esp + 0x214], ebx
jmp 0x75187c
cmp edi, 5
je 0x750596
xor eax, eax
test al, al
jne 0x750596
mov dword [esp + 0x200], ebx
mov dword [esp + 0x204], esi
mov dword [esp + 0x208], edx
jmp 0x754b87
mov dword [esp + 0x200], ebx
mov dword [esp + 0x204], esi
mov dword [esp + 0x208], edx
mov eax, 0xd
movzx ecx, byte [esp + 0xeb]
cmp ecx, 5
jne 0x7505e3
mov byte [esp + 0xeb], 5
mov dword [esp + 0x278], 0x70000003
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
jmp 0x7537c0
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x21c], ecx
mov ebx, dword [esp + 0x210]
mov edx, dword [esp + 0x130]
cmp eax, 2
jne 0x75065c
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x75065c
mov edi, 0x11
mov dword [esp], edx
mov dword [esp + 0x130], edx
mov dword [esp + 4], 0x2b
call fcn.0064bf00
mov esi, dword [esp + 0x21c]
mov dword [esp + 0x210], ebx
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x1f4], eax
jmp 0x752664
mov dword [esp + 0x130], edx
mov esi, 0x12
mov byte [esp + 0xeb], 0xc
mov dword [esp + 0x278], 0x70000003
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x210], eax
jmp 0x7531c1
cmp edx, 0x32
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov dword [esp + 0x200], edi
mov ecx, dword [esp + 0x204]
mov edx, ecx
mov dword [esp + 0x20c], eax
mov dword [esp + 0x220], ecx
jne 0x75187c
mov esi, edx
mov edi, 3
lea eax, [esp + 0x268]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18c]
mov dword [esp], eax
call fcn.0078a250
mov dword [esp + 0x278], eax
test eax, eax
jne 0x75074b
imul eax, eax
and eax, 3
cmp eax, 2
mov edx, esi
mov dword [esp + 0x210], edx
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], eax
mov dword [esp + 0x220], edx
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1e4], eax
jb 0x75187c
jmp 0x754c5b
mov edx, esi
mov dword [esp + 0x1e8], edx
mov eax, dword [esp + 0x214]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x210], edx
jmp 0x754c5b
mov byte [esp + 0x6f], 0x5d
mov eax, dword [esp + 0x200]
lea eax, [eax + eax*2]
mov esi, edx
mov edx, dword [esp + 0x154]
mov ecx, dword [edx + eax*8 + 0x10]
mov eax, dword [edx + eax*8 + 0x14]
lea edx, [esp + 0x274]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627130
mov edx, esi
mov dword [esp + 0x278], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], eax
mov dword [esp + 0x220], edx
je 0x75187c
mov eax, 6
mov dword [esp + 0x278], 0x700002bb
mov dword [esp + 0x1e8], edx
mov edi, dword [esp + 0x214]
mov dword [esp + 0x1e4], edi
mov dword [esp + 0x210], edx
cmp eax, 6
jne 0x75083d
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x75083d
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov ebx, dword [esp + 0x210]
mov dword [esp + 0x20c], edi
mov dword [esp + 0x220], edx
jmp 0x7537c7
mov byte [esp + 0x6f], 0x1e
mov eax, dword [esp + 0x200]
lea eax, [eax + eax*2]
mov esi, edx
mov edx, dword [esp + 0x154]
mov ecx, dword [edx + eax*8 + 0x10]
mov eax, dword [edx + eax*8 + 0x14]
lea edx, [esp + 0x274]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627130
mov edx, esi
mov dword [esp + 0x278], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x20c], edi
mov dword [esp + 0x214], edi
jmp 0x7507cc
mov dword [esp + 0x1f4], edx
mov edi, 0x1a
mov byte [esp + 0x63], 0x5c
lea eax, [esp + 0x26c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18c]
mov dword [esp], eax
call fcn.0078a000
mov dword [esp + 0x278], eax
test eax, eax
je 0x752297
mov dword [esp + 0x178], ebx
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x1d8], eax
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 0x21c], esi
mov eax, dword [esp + 0x210]
mov dword [esp + 0x220], eax
mov edx, dword [esp + 0x1e0]
jmp 0x752baf
mov dword [esp + 0x218], esi
mov dword [esp + 0x178], ebx
mov byte [esp + 0x5a], 0x41
mov byte [esp + 0x59], 0x4a
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
test eax, eax
jne 0x7509a5
mov edi, 9
mov ecx, eax
mov dword [esp + 0x1c8], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov eax, dword [esp + 0x210]
mov ebx, eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x1f4]
jae 0x7509ba
cmp edi, 9
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov dword [esp + 0x1d8], edx
mov ebx, dword [esp + 0x50]
jne 0x750ea7
jmp 0x753bd4
mov dword [esp + 0x1c8], eax
mov ebx, dword [esp + 0x210]
mov edx, dword [esp + 0x1f4]
mov dword [esp + 0x220], ebx
mov edi, 2
mov byte [esp + 0xdb], 0xb
mov eax, dword [esp + 0x19c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x200]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x64], eax
mov esi, dword [esp + 0x1c8]
lea ecx, [esi + 4]
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0x26c]
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], eax
mov ebx, edx
call fcn.00627540
mov ecx, 8
mov dword [esp + 0x278], eax
test eax, eax
mov dword [esp + 0x1d8], ebx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x204]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x220]
mov edx, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x218]
mov dword [esp + 0x21c], esi
mov ebx, dword [esp + 0x1f8]
je 0x751da3
mov dword [esp + 0x220], edx
cmp ecx, 8
je 0x750b6a
xor eax, eax
test al, al
jne 0x750b6a
mov dword [esp + 0x218], esi
mov edi, 0x12
mov byte [esp + 0x1ab], 0x22
mov byte [esp + 0x17e], 0x76
mov eax, dword [esp + 0x23c]
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
add ecx, eax
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [eax], ecx
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x15
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
mov edx, 2
call fcn.007846d0
mov dword [esp + 0x278], eax
test eax, eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x210], eax
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x1ec], eax
mov ebx, dword [esp + 0x1f4]
jne 0x7518dd
jmp 0x754ab8
mov eax, 1
movzx ecx, byte [esp + 0xdb]
cmp ecx, 0xb
jne 0x750bab
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x208], ecx
mov ecx, dword [esp + 0x1f4]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x21c], esi
mov edi, dword [esp + 0x1fc]
jmp 0x753973
mov byte [esp + 0xdb], 0x7e
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x278], 0x700002bb
mov dword [esp + 0x21c], esi
mov eax, dword [esp + 0x214]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x204], eax
mov ebx, dword [esp + 0x78]
jmp 0x7537c7
test edx, edx
jne 0x750c66
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 1
ja 0x750c72
mov esi, ebx
mov dword [esp + 0x220], edx
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
test eax, eax
je 0x750c7e
mov edi, 7
xor ecx, ecx
test cl, cl
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 0x168], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0x148], eax
je 0x752b43
jmp 0x750d6f
mov dword [esp + 0xac], edx
jmp 0x752b78
mov dword [esp + 0xac], edx
jmp 0x752b78
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 0x168], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0x148], eax
jmp 0x750d6f
mov esi, 0x10
mov byte [esp + 0x97], 2
mov edi, dword [esp + 0xac]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
shl eax, 4
add eax, 0x10
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [edi + 4], eax
test eax, eax
je 0x750d32
mov edx, 8
mov ecx, eax
mov dword [esp + 0xc0], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov eax, dword [esp + 0x90]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x168], eax
mov dword [esp + 0x148], edi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xb8], edi
jne 0x751b9c
jmp 0x754946
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x168], eax
mov dword [esp + 0x148], edi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xb8], edi
jmp 0x754946
mov dword [esp + 0x278], 0x70000003
mov eax, dword [esp + 0x114]
mov eax, dword [eax]
test eax, eax
mov ebx, esi
jne 0x750da7
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
je 0x750da7
mov eax, dword [esp + 0x168]
mov esi, dword [esp + 0x148]
jmp 0x750dce
mov edi, 0xf
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x168]
mov dword [esp + 0x160], eax
mov esi, dword [esp + 0x148]
jmp 0x752e4b
mov dword [esp + 0x15c], esi
mov dword [esp + 0x160], eax
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x1f8], ebx
mov ebx, esi
jmp 0x7537c7
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add ecx, eax
mov dword [edx], ecx
shl eax, 4
mov ecx, dword [esp + 0xc0]
mov word [ecx + eax], 4
mov word [ecx + eax + 2], 0
mov edx, dword [esp + 0x64]
mov dword [ecx + eax + 4], edx
mov word [ecx + eax + 8], 0xfe
mov word [ecx + eax + 0xa], 0
mov edx, dword [esp + 0x1c8]
mov dword [ecx + eax + 0xc], edx
mov dword [esp + 0x278], 0
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
jmp 0x75187c
mov eax, esi
not eax
and eax, 1
add eax, esi
mov eax, dword [esp + 0x220]
mov dword [esp + 0x1d8], eax
mov ecx, dword [esp + 0x21c]
mov dword [esp + 0x218], ecx
mov edx, eax
jne 0x7513be
mov eax, dword [esp + 0x44]
mov dword [eax], 1
lea eax, [esp + 0x224]
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
mov eax, dword [esp + 0x4c]
mov dword [eax], 0
mov eax, dword [esp + 0x19c]
mov eax, dword [eax]
mov edi, dword [esp + 0x200]
lea ecx, [edi + edi*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov esi, dword [esp + 0x3c]
mov dword [esi], edx
mov eax, dword [eax + ecx*8 + 0x14]
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
test eax, eax
je 0x750f25
mov esi, 0x1b
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x750f25
mov dword [esp + 0x12c], eax
jmp 0x75429a
mov edx, 0xa
mov dword [esp + 0x278], 0x70000003
mov ecx, dword [esp + 0x220]
mov dword [esp + 0x1d8], ecx
jmp 0x7547f2
mov byte [esp + 0x37], 0x40
mov eax, dword [esp + 0x19c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x200]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x5c], eax
mov esi, dword [esp + 0x12c]
lea eax, [esi + 4]
mov dword [esp + 0x1e0], eax
mov dword [esp + 8], esi
mov dword [esp + 4], eax
lea eax, [esp + 0x230]
mov dword [esp], eax
call fcn.006279b0
mov dword [esp + 0x278], eax
test eax, eax
jne 0x750fc7
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov edx, dword [esp + 0x220]
je 0x750fe0
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edx
mov edi, dword [esp + 0x1e0]
mov cl, byte [esp + 0x8f]
jmp 0x750ff2
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x30], esi
mov esi, eax
mov edx, dword [esp + 0x220]
jmp 0x7510f4
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x30], esi
mov esi, eax
jmp 0x7510f4
mov esi, 3
mov byte [esp + 0x175], 0x28
test edx, edx
jne 0x75105f
mov eax, edx
and eax, 1
xor eax, edx
not eax
test eax, eax
je 0x75105f
mov esi, 2
movzx eax, cl
cmp eax, 0xe
je 0x754342
mov dword [esp + 0x220], edx
cmp eax, 0x5b
jne 0x751080
mov byte [esp + 0x8f], 0xe
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
test eax, eax
je 0x7510cc
mov ecx, eax
mov dword [esp + 0x1a4], ecx
xor eax, eax
test al, al
jmp 0x751153
mov byte [esp + 0x8f], cl
mov dword [esp + 0x194], edx
mov dword [esp + 0x220], edx
mov dword [esp + 0x1e0], edi
jmp 0x75291d
mov byte [esp + 0x8f], 0x5b
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
mov dword [esp + 0x1a4], eax
test eax, eax
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x194], eax
mov dword [esp + 0x1e0], edi
jne 0x7548a9
jmp 0x754969
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x194], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1e0], edi
jmp 0x754969
mov dword [esp + 0x2c], edx
mov dword [esp + 0x218], esi
mov dword [esp + 0x220], edx
mov edi, 2
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x278], 0x700002bb
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1d8], eax
cmp edi, 2
mov eax, dword [esp + 0x220]
jne 0x751c1a
imul edi, edi
and edi, 3
cmp edi, 2
mov edx, eax
jb 0x7513be
jmp 0x751c1a
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x194], ecx
mov dword [esp + 0x1e0], edi
je 0x7548a9
jmp 0x754969
mov byte [esp + 0x126], 0x18
mov esi, dword [esp + 0x194]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
shl eax, 4
add eax, 0x10
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esi + 4], eax
test eax, eax
jne 0x7511d5
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
mov edi, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], esi
jne 0x754969
mov ecx, 0xf
mov edi, dword [esp + 0x194]
mov edx, dword [edi]
mov esi, edx
imul esi, esi
and esi, 3
cmp esi, 2
mov esi, edx
adc esi, 0
mov dword [edi], esi
shl edx, 4
mov word [eax + edx], 4
mov word [eax + edx + 2], 0
mov esi, dword [esp + 0x5c]
mov dword [eax + edx + 4], esi
mov word [eax + edx + 8], 4
mov word [eax + edx + 0xa], 0
mov esi, dword [esp + 0x12c]
mov dword [eax + edx + 0xc], esi
mov dword [esp + 0x278], 0
mov edx, dword [esp + 0x1e0]
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x1e8], edi
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x1e4], eax
cmp ecx, 0xf
jne 0x7512a5
mov dword [esp + 0x1e0], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov edx, dword [esp + 0x1e8]
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x214], eax
jb 0x75187c
jmp 0x75313f
mov dword [esp + 0x1e0], edx
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
jmp 0x75313f
mov dword [esp + 0x220], edx
mov byte [esp + 0x175], 0x28
mov dword [esp + 0x278], 0x70000003
mov eax, dword [edi]
mov dword [esp + 0xfc], eax
test eax, eax
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x134], eax
je 0x751370
mov ebx, 7
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x1f0], edi
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
mov edx, dword [esp + 0x220]
cmp ebx, 7
jne 0x7513ab
imul ebx, ebx
and ebx, 3
cmp ebx, 2
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], eax
mov dword [esp + 0x220], edx
mov edi, dword [esp + 0x1f0]
jae 0x7506df
mov eax, dword [esp + 0x138]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x1f0], edi
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov edx, dword [esp + 0x220]
mov eax, dword [esp + 0x134]
mov dword [esp + 0x1d8], eax
jmp 0x7513be
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
jmp 0x7506df
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov ebx, dword [esp + 0x1d8]
mov dword [esp + 0x220], edx
jmp 0x7537c7
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
test eax, eax
je 0x7514c3
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x7514c3
mov edi, eax
movzx eax, byte [esp + 0x4b]
cmp eax, 0x45
jne 0x751514
mov esi, 0x10
mov byte [esp + 0x4b], 0xa
mov eax, dword [esp + 0x19c]
mov eax, dword [eax]
mov ebx, dword [esp + 0x1cc]
lea ecx, [ebx + ebx*2]
lea edx, [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, edi
add ecx, 4
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0078a0b0
mov dword [esp + 0x278], eax
test eax, eax
jne 0x7515ac
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0xf4], edi
mov ecx, dword [esp + 0x204]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1e4], eax
mov edx, edi
mov dword [esp + 0x20c], eax
mov dword [esp + 0x200], ebx
mov ebx, ecx
mov dword [esp + 0x220], ecx
jne 0x74fe4b
jmp 0x753a17
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x278], 0x70000003
mov ecx, dword [esp + 0x204]
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1e4], eax
mov ebx, ecx
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x200], eax
mov dword [esp + 0x220], ecx
jmp 0x7537c7
mov esi, 3
mov byte [esp + 0x4b], 0x45
mov eax, dword [esp + 0x19c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1cc]
lea ecx, [ecx + ecx*2]
lea edx, [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ebx, edi
mov ecx, ebx
add ecx, 4
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0078a0b0
mov dword [esp + 0x278], eax
test eax, eax
mov ecx, dword [esp + 0x204]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1e4], eax
mov edi, ebx
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x200], eax
mov dword [esp + 0x220], ecx
je 0x74fdb2
jmp 0x7515f0
mov dword [esp + 0xf4], edi
mov ecx, dword [esp + 0x204]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x200], ebx
mov dword [esp + 0x220], ecx
jmp 0x753a17
mov dword [esp], ebx
call fcn.004936c0
mov dword [esp + 0x278], 0x700002bb
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x1fc], edi
mov ebx, dword [esp + 0x88]
jmp 0x7537c7
mov esi, dword [esp + 0x144]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
shl eax, 4
add eax, 0x10
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esp + 0xe4], eax
mov dword [esi + 4], eax
mov edx, esi
test eax, eax
je 0x7516a5
movzx eax, byte [esp + 0xb3]
cmp eax, 0x15
jne 0x751705
mov eax, 8
mov esi, dword [esp + 0x21c]
mov dword [esp + 0x1dc], edi
mov dword [esp + 0x1fc], edi
mov edi, dword [esp + 0x20c]
mov dword [esp + 0x220], ebx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x13c], ecx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xc4], edx
jmp 0x752a47
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov esi, dword [esp + 0x204]
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov dword [esp + 0x1dc], edi
mov dword [esp + 0x1fc], edi
mov dword [esp + 0x220], ebx
mov ecx, 0x17
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x13c], eax
mov dword [esp + 0xc8], edx
mov dword [esp + 0xc4], edx
mov ebx, esi
jmp 0x75411b
mov byte [esp + 0xb3], 0x15
mov esi, edx
mov eax, dword [esi]
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
add ecx, eax
mov dword [esi], ecx
shl eax, 4
mov edx, dword [esp + 0xe4]
mov word [edx + eax], 4
mov word [edx + eax + 2], 0
mov ecx, dword [esp + 0xa8]
mov dword [edx + eax + 4], ecx
mov word [edx + eax + 8], 0xfd
mov word [edx + eax + 0xa], 0
mov dword [edx + eax + 0xc], edi
mov dword [esp + 0x278], 0
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x1dc], edi
mov dword [esp + 0x1fc], edi
mov dword [esp + 0x220], ebx
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], esi
mov edx, esi
jmp 0x750e67
mov byte [esp + 0x11f], 0x30
mov dword [esp + 0x278], 0x70000003
mov eax, dword [esp + 0x13c]
mov eax, dword [eax]
test eax, eax
jne 0x7517d4
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x7517e0
mov dword [esp], eax
mov esi, edx
call fcn.004936c0
mov edx, esi
mov dword [esp + 0x220], ebx
mov dword [esp], edx
mov esi, edx
call fcn.004936c0
mov dword [esp + 0x1dc], esi
mov ebx, dword [esp + 0x144]
jmp 0x7537c7
mov dword [esp + 0x218], esi
mov byte [esp + 0xb3], 0x2f
mov edx, dword [esp + 0xc8]
mov eax, dword [edx]
lea ecx, [eax + 1]
mov dword [edx], ecx
shl eax, 4
mov edx, dword [esp + 0xe4]
mov word [edx + eax], 4
mov word [edx + eax + 2], 0
mov ecx, dword [esp + 0xa8]
mov dword [edx + eax + 4], ecx
mov word [edx + eax + 8], 0xfd
mov word [edx + eax + 0xa], 0
mov ecx, dword [esp + 0x1fc]
mov dword [edx + eax + 0xc], ecx
mov dword [esp + 0x278], 0
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x20c], edi
mov dword [esp + 0x214], edi
mov ebx, edx
mov eax, 0x13
mov edx, dword [esp + 0x200]
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
adc edx, 0
mov ecx, dword [ebp + 8]
cmp edx, dword [ecx + 8]
jb 0x7519ae
mov dword [esp + 0x1cc], edx
mov edi, 7
xor ecx, ecx
test cl, cl
mov dword [esp + 0x1e8], ebx
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x104], ecx
mov dword [esp + 0x100], ebx
jne 0x753cc8
cmp edi, 7
mov edx, dword [esp + 0x218]
je 0x75191c
imul edi, edi
and edi, 3
cmp edi, 2
je 0x75191c
mov dword [esp + 0x21c], edx
mov eax, dword [esp + 0x214]
mov dword [esp + 0x208], eax
mov dword [esp + 0x204], ebx
mov ebx, dword [esp + 0x210]
jmp 0x7537c7
mov eax, dword [esp + 0x274]
test eax, eax
je 0x7519f4
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov edi, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x214]
je 0x7519dd
mov eax, dword [eax + 0xc]
mov dword [esp + 0x70], eax
test eax, eax
je 0x7519dd
mov al, 1
test al, al
je 0x7519dd
mov edi, ecx
mov al, 0x32
movzx ecx, al
cmp ecx, 0xa
je 0x751a3f
mov eax, 0x1b
cmp ecx, 0x5e
jne 0x751b08
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x21c], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 0xf0], edx
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x1c4], ecx
mov ecx, edx
jmp 0x753b19
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1e8], ebx
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x104], ecx
mov dword [esp + 0x100], ebx
jmp 0x753cc8
mov dword [esp + 0x21c], edx
mov dword [esp + 0x208], ecx
mov dword [esp + 0x204], ebx
jmp 0x751a17
mov dword [esp + 0x21c], edx
mov eax, dword [esp + 0x214]
mov dword [esp + 0x208], eax
mov dword [esp + 0x204], ebx
mov edi, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x100]
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x104]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1d0], ecx
jmp 0x751b77
mov eax, 1
mov esi, dword [esp + 0x104]
mov ecx, esi
or ecx, 2
mov edx, esi
xor edx, 2
add edx, ecx
mov byte [esp + 0x1ab], 0x17
mov byte [esp + 0xea], 0x5f
setne cl
movzx ecx, cl
add ecx, esi
mov byte [esp + 0x87], 5
setne byte [esp + 0x5b]
mov dword [esp + 0x208], edi
mov dword [esp + 0x204], ebx
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x21c], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 0xf0], edx
mov ecx, esi
mov esi, 4
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1d0], edx
mov ecx, dword [esp + 0x20c]
mov dword [esp + 0x214], ecx
mov edx, dword [esp + 0x220]
jne 0x753112
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
jne 0x75076e
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], eax
mov dword [esp + 0x220], edx
jmp 0x7520cc
mov byte [esp + 0x1ab], 0x17
mov byte [esp + 0xea], 0x5f
mov byte [esp + 0x87], 5
mov edx, dword [esp + 0x104]
mov eax, edx
or eax, 2
mov ecx, edx
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add eax, edx
setne byte [esp + 0x5b]
mov dword [esp + 0x208], edi
mov dword [esp + 0x204], ebx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0xf0], ecx
mov eax, edx
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1d0], ecx
je 0x7520cc
jmp 0x75313f
mov edx, 6
mov dword [esp + 0x278], 0x700002bb
mov dword [esp + 0x1fc], edi
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x210], eax
cmp edx, 6
mov ebx, dword [esp + 0x210]
jne 0x750df2
jmp 0x7537c7
mov esi, 2
mov byte [esp + 0x87], 0x20
mov eax, dword [ebp + 8]
lea ecx, [eax + 4]
mov dword [esp + 0x184], ecx
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov edx, dword [esp + 0x260]
mov edi, dword [esp + 0x264]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.0068e9b0
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x7546ff
mov dword [esp + 0x278], 0x7000002d
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov ebx, dword [esp + 0x1d0]
jmp 0x7537c7
mov eax, esi
not eax
and eax, 1
add eax, esi
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov ebx, dword [esp + 0x210]
je 0x7537c7
mov eax, dword [esp + 0x184]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
mov esi, dword [eax + 0x14]
mov edi, dword [eax + 0x18]
mov ecx, dword [esp + 0x260]
mov edx, dword [esp + 0x264]
cmp esi, ecx
sbb edi, edx
jae 0x751cd6
mov edi, 3
sub edi, esi
xor edi, esi
je 0x751cd6
mov edi, 0x17
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
cmp edi, 0xc
jne 0x751ce4
mov eax, edi
or eax, 2
xor edi, 2
add edi, eax
mov ebx, dword [esp + 0x210]
jne 0x7537c7
jmp 0x751ce4
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
mov esi, eax
test esi, esi
je 0x751df6
mov al, 1
test al, al
je 0x751df6
mov al, 0x46
movzx eax, al
cmp eax, 0x46
jne 0x751e14
mov byte [esp + 0xfb], 2
mov eax, dword [esp + 0x184]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x80], eax
mov dword [esi], 8
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
mov ecx, esi
add ecx, 4
mov dword [esp + 0xec], ecx
mov dword [esi + 4], eax
test eax, eax
jne 0x751e8b
mov dword [esp + 0x1f8], esi
mov edi, 0xa
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x180], esi
mov ebx, esi
mov edx, dword [esp + 0x220]
je 0x7532eb
cmp edi, 2
je 0x750bf6
imul edi, edi
and edi, 3
cmp edi, 3
je 0x750bf6
mov dword [esp + 0x220], edx
mov esi, dword [esp + 0x180]
mov dword [esp + 0x278], 0x70000003
mov dword [esp], ebx
call fcn.004936c0
mov dword [esp + 0x180], esi
mov dword [esp + 0x1f8], ebx
mov ebx, dword [esp + 0x1d0]
jmp 0x7537c7
mov dword [esp + 0x1f8], esi
mov dword [esp + 0x278], 0x70000003
mov ebx, dword [esp + 0x1d0]
jmp 0x7537c7
mov byte [esp + 0xfb], 2
mov eax, dword [esp + 0x184]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x80], eax
mov dword [esi], 8
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
mov ecx, esi
add ecx, 4
mov dword [esp + 0xec], ecx
mov dword [esi + 4], eax
test eax, eax
je 0x751ea5
mov dword [esp + 0xb4], eax
mov eax, 0xd
mov cl, 1
test cl, cl
mov ebx, esi
mov dword [esp + 0x180], esi
jne 0x7532ca
jmp 0x751dc9
mov dword [esp + 0xb4], eax
mov dword [esp + 0x180], esi
mov dword [esp + 0x1f8], esi
jmp 0x7532e4
mov dword [esp + 0xb4], eax
mov ebx, esi
jmp 0x751dc9
mov byte [esp + 0xfb], 2
mov eax, dword [esp + 0x184]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
add eax, 0x14
mov ecx, dword [esp + 0x180]
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
call fcn.007ce510
mov edx, dword [esp + 0x1d0]
test edx, edx
jne 0x751f1a
mov eax, edx
or eax, 2
mov ecx, edx
xor ecx, 2
add ecx, eax
mov dword [esp + 0x1b4], edx
jne 0x751f23
jmp 0x751f9f
mov dword [esp + 0x1b4], edx
jmp 0x751f9f
mov esi, 0x16
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
test eax, eax
je 0x751f5d
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1b4], eax
jne 0x751f9f
jmp 0x751f6b
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1b4], eax
cmp esi, 6
jne 0x7549c3
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov dword [esp + 0x220], ebx
jne 0x7504eb
jmp 0x7549c3
mov esi, dword [esp + 0x1b4]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
shl eax, 4
add eax, 0x10
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esi + 4], eax
test eax, eax
jne 0x751ffe
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x751ffe
mov dword [esp + 0xa0], eax
mov eax, 0xc
mov edx, ebx
mov edi, dword [esp + 0x1f0]
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], esi
jmp 0x7549a2
mov cl, 0xc
movzx ecx, cl
cmp ecx, 0xc
jne 0x75209f
mov edx, dword [esi]
mov ecx, 3
sub ecx, edx
xor ecx, edx
setne cl
movzx ecx, cl
add ecx, edx
mov dword [esi], ecx
shl edx, 4
mov word [eax + edx], 4
mov word [eax + edx + 2], 0
mov ecx, dword [esp + 0x80]
mov dword [eax + edx + 4], ecx
mov word [eax + edx + 8], 0xfe
mov word [eax + edx + 0xa], 0
mov ecx, dword [esp + 0x1f8]
mov dword [eax + edx + 0xc], ecx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x278], 0
mov eax, dword [esp + 0x210]
mov dword [esp + 0x220], ebx
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0x118], ecx
mov ebx, esi
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], esi
jmp 0x75238a
mov dword [esp + 0xa0], eax
mov edi, 6
mov eax, dword [esp + 0x210]
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], esi
jmp 0x7522f2
mov edx, dword [esp + 0x1d0]
test edx, edx
je 0x75217f
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 2
je 0x75217f
mov ecx, 3
mov dword [esp + 0x118], 0xffffffff
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x210]
mov esi, dword [esp + 0x220]
mov dword [esp + 0x210], esi
mov ebx, edx
mov edi, dword [esp + 0x1cc]
cmp ecx, 3
jne 0x752226
mov dword [esp + 0x1cc], edi
mov dword [esp + 0x1d0], edx
mov edx, ecx
and edx, 1
xor edx, ecx
not edx
test edx, edx
mov esi, dword [esp + 0x218]
mov dword [esp + 0x21c], esi
mov edx, dword [esp + 0x1f4]
mov dword [esp + 0x1d8], edx
mov ecx, dword [esp + 0x210]
mov dword [esp + 0x220], ecx
jne 0x75238a
jmp 0x752242
mov al, 0x52
movzx eax, al
cmp eax, 0x20
je 0x75218e
cmp eax, 0x59
jne 0x7521d4
mov eax, dword [esp + 0x70]
mov dword [eax + 0xc], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x14c], 0xffffffff
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov dword [esp + 0x118], 0xffffffff
mov dword [esp + 0x178], edx
jmp 0x753330
mov eax, 0x10
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0xc], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x14c], 0xffffffff
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x21c], ecx
mov ebx, dword [esp + 0x220]
mov dword [esp + 0x118], 0xffffffff
mov dword [esp + 0x178], edx
jmp 0x753311
mov dword [esp + 0x1cc], edi
mov dword [esp + 0x1d0], edx
mov esi, dword [esp + 0x218]
mov edx, dword [esp + 0x1f4]
movzx eax, byte [esp + 0x63]
cmp eax, 0x5c
jne 0x7508a3
mov dword [esp + 0x1f4], edx
mov edi, 0xc
mov byte [esp + 0x63], 0x47
lea eax, [esp + 0x26c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18c]
mov dword [esp], eax
call fcn.0078a000
mov dword [esp + 0x278], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x7522cd
movzx ecx, byte [esp + 0x5a]
cmp ecx, 0x2c
je 0x75091a
mov eax, 0x10
cmp ecx, 0x5a
jne 0x75251c
mov dword [esp + 0x178], ebx
mov ebx, dword [esp + 0x210]
mov ecx, dword [esp + 0x1f4]
jmp 0x753b8c
mov dword [esp + 0x178], ebx
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x21c], esi
mov eax, dword [esp + 0x210]
mov ebx, eax
mov dword [esp + 0x220], ebx
cmp edi, 6
jne 0x75250e
mov ecx, edi
and ecx, 1
xor ecx, edi
not ecx
test ecx, ecx
je 0x752515
mov esi, dword [esp + 0x9c]
mov ecx, dword [esi]
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
add edx, ecx
mov dword [esi], edx
shl ecx, 4
mov esi, dword [esp + 0xa0]
mov word [esi + ecx], 4
mov word [esi + ecx + 2], 0
mov edx, dword [esp + 0x80]
mov dword [esi + ecx + 4], edx
mov word [esi + ecx + 8], 0xfe
mov word [esi + ecx + 0xa], 0
mov edx, dword [esp + 0x1f8]
mov dword [esi + ecx + 0xc], edx
mov dword [esp + 0x278], 0
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0x118], ecx
mov ebx, dword [esp + 0x98]
mov ecx, 8
movzx edx, byte [esp + 0xea]
cmp edx, 0x59
jne 0x7523fd
mov byte [esp + 0xea], 0x5f
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1a
mov dword [esp + 4], 0
mov dword [esp], 2
lea edx, [esp + 0x240]
mov ecx, ebx
call fcn.0077e350
mov dword [esp + 0x278], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x178], ebx
je 0x75248d
jmp 0x7537c7
mov dword [esp + 0x178], ebx
mov dword [esp + 0x210], eax
mov edx, dword [esp + 0x220]
cmp ecx, 8
jne 0x7524ed
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je 0x7524ed
mov dword [esp + 0x220], edx
mov byte [esp + 0xea], 0x59
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1a
mov dword [esp + 4], 0
mov dword [esp], 2
lea edx, [esp + 0x240]
mov ebx, dword [esp + 0x178]
mov ecx, ebx
call fcn.0077e350
mov dword [esp + 0x278], eax
test eax, eax
jne 0x7537c7
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x7537c7
mov ecx, 0xa
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0x240]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], 0
mov edi, dword [esp + 0x20c]
mov esi, dword [esp + 0x21c]
mov eax, dword [esp + 0x118]
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x150], eax
mov dword [esp + 0x210], eax
jmp 0x7529a8
mov esi, dword [esp + 0x21c]
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
mov dword [esp + 0x1f4], edx
jmp 0x7525ba
mov ebx, eax
jmp 0x7537c7
mov ebx, eax
jmp 0x7537c7
mov dword [esp + 0x218], esi
mov dword [esp + 0x178], ebx
mov byte [esp + 0x5a], 0x5a
mov byte [esp + 0x59], 0x4a
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
test eax, eax
jne 0x7509a5
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x210]
mov ebx, eax
mov dword [esp + 0x220], eax
mov edx, dword [esp + 0x1f4]
jne 0x753bd4
jmp 0x7509ba
mov dword [esp + 0x1f4], edx
mov byte [esp + 0x1bf], 0x28
mov ecx, dword [esp + 0x268]
test ecx, ecx
je 0x7525b3
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
mov dword [esp + 0x190], ecx
jne 0x75273b
jmp 0x7525ba
mov dword [esp + 0x190], ecx
mov edi, 5
mov byte [esp + 0xeb], 5
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
mov dword [esp + 0x268], eax
test eax, eax
je 0x7526b3
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x7526b3
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax], 1
mov eax, dword [esp + 0x268]
mov eax, dword [eax]
shl eax, 3
lea eax, [eax + eax*4]
mov dword [esp + 4], eax
mov dword [esp], 1
call fcn.00493840
mov ecx, dword [esp + 0x268]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x268]
mov eax, dword [eax + 4]
test eax, eax
jne 0x75272f
mov edi, 0xd
mov dword [esp + 0x1c0], eax
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x752d1d
cmp edi, 0xd
jne 0x7526f0
mov ecx, esi
mov eax, edi
or eax, 2
xor edi, 2
add edi, eax
je 0x7526f9
mov esi, 7
mov dword [esp + 0x278], 0x70000003
mov dword [esp + 0x21c], ecx
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x1f4]
mov ebx, dword [esp + 0x1ec]
jmp 0x753a93
mov dword [esp + 0x218], esi
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x220], eax
mov edx, dword [esp + 0x208]
mov esi, dword [esp + 0x204]
mov ebx, dword [esp + 0x200]
jmp 0x750571
mov dword [esp + 0x21c], esi
jmp 0x752700
mov dword [esp + 0x21c], ecx
mov ebx, dword [esp + 0x210]
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x220], eax
mov edx, dword [esp + 0x130]
jmp 0x7537f5
mov dword [esp + 0x1c0], eax
jmp 0x752d1d
mov bl, 0x30
mov edx, dword [esp + 0x190]
mov ecx, dword [edx]
mov dword [esp + 0x128], ecx
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ecx, eax
mov edi, dword [esp + 0x1f4]
jne 0x75278e
mov dword [esp + 0x21c], esi
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], eax
mov dword [esp + 0x220], edi
mov dword [esp + 0x164], edx
jmp 0x7527ec
mov byte [esp + 0x127], 0x30
mov byte [esp + 0x18b], 0x41
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax]
mov dword [esp + 0xd4], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0xd0], eax
mov eax, dword [edx + 4]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], edi
mov dword [esp + 0x164], edx
mov edi, dword [esp + 0x214]
jmp 0x7529c9
movzx eax, bl
cmp eax, 0x70
jne 0x75288c
mov dword [esp + 0x190], edx
mov byte [esp + 0x127], 0x30
mov byte [esp + 0x1b3], 0x47
mov eax, 3
mov ecx, dword [esp + 0x128]
sub eax, ecx
xor eax, ecx
setne al
movzx eax, al
add eax, ecx
mov ecx, dword [esp + 0x164]
mov dword [ecx], eax
mov eax, dword [esp + 0x268]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
mov ecx, dword [esp + 0x268]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x268]
mov dword [esp + 0x10c], eax
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x752976
mov eax, ecx
not eax
and eax, 1
add eax, ecx
mov dword [esp + 0x108], ecx
jne 0x752939
jmp 0x752c7c
mov dword [esp + 0x190], edx
mov esi, 9
mov byte [esp + 0x127], 0x70
mov byte [esp + 0x1b3], 0x47
mov ecx, dword [esp + 0x128]
mov eax, ecx
and eax, 1
xor eax, ecx
cmp eax, 0xffffffff
setne al
movzx eax, al
add eax, ecx
mov ecx, dword [esp + 0x164]
mov dword [ecx], eax
mov eax, dword [esp + 0x268]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
mov ecx, dword [esp + 0x268]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x268]
mov dword [esp + 0x10c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x108], eax
test eax, eax
je 0x75291d
mov eax, 1
xor ecx, ecx
test cl, cl
je 0x75383f
cmp esi, 3
jne 0x752939
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
mov edi, dword [esp + 0x1f0]
jne 0x7548a9
movzx eax, byte [esp + 0x1b3]
cmp eax, 0x47
jne 0x75295e
mov byte [esp + 0x1b3], 0x47
mov dword [esp + 0x278], 0x70000003
jmp 0x7537c0
mov byte [esp + 0x1b3], 0x78
mov dword [esp + 0x278], 0x70000003
jmp 0x7537c0
mov dword [esp + 0x108], ecx
jmp 0x752c7c
mov eax, 5
cmp esi, dword [esp + 0x128]
jae 0x752a47
mov ecx, 0x15
mov edx, 3
sub edx, esi
xor edx, esi
je 0x752a47
cmp ecx, 0xa
je 0x752b22
xor eax, eax
test al, al
mov dword [esp + 0x20c], edi
mov dword [esp + 0x21c], esi
jne 0x753330
mov ecx, 0xa
movzx eax, byte [esp + 0x18b]
cmp eax, 0x4b
jne 0x752a81
mov ebx, dword [esp + 0x21c]
lea ecx, [ebx + ebx*4]
mov dword [esp + 0x214], edi
mov edi, dword [esp + 0xcc]
mov eax, dword [edi + ecx*8 + 4]
xor eax, dword [esp + 0xd0]
mov edx, dword [edi + ecx*8]
xor edx, dword [esp + 0xd4]
mov esi, ebx
imul esi, esi
and esi, 3
cmp esi, 2
mov esi, ebx
adc esi, 0
or edx, eax
mov eax, 8
mov byte [esp + 0x18b], 0x4b
lea ecx, [edi + ecx*8]
mov edi, dword [esp + 0x214]
mov dword [esp + 0x1c0], ecx
jne 0x752982
jmp 0x753d26
cmp eax, 5
jne 0x751804
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x751804
mov dword [esp + 0x21c], esi
mov dword [esp + 0x20c], edi
mov edx, dword [esp + 0x190]
mov bl, byte [esp + 0x127]
jmp 0x7527ec
mov dword [esp + 0x20c], edi
cmp ecx, 0xa
jne 0x753666
mov eax, 3
sub eax, ecx
xor eax, ecx
je 0x753666
mov eax, dword [esp + 0x21c]
lea edx, [eax + eax*4]
mov dword [esp + 0x218], edx
mov ebx, dword [esp + 0xcc]
mov ecx, dword [ebx + edx*8]
mov esi, dword [ebx + edx*8 + 4]
xor esi, dword [esp + 0xd0]
mov edi, ecx
xor edi, dword [esp + 0xd4]
mov edx, eax
not edx
and edx, 1
add edx, eax
setne dl
or edi, esi
mov edi, 0xa
mov byte [esp + 0x18b], 0x41
mov eax, dword [esp + 0x218]
lea eax, [ebx + eax*8]
je 0x752b35
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x752b35
mov dword [esp + 0x1c0], eax
movzx eax, dl
mov ecx, dword [esp + 0x21c]
add ecx, eax
mov edi, dword [esp + 0x20c]
mov esi, ecx
jmp 0x752982
mov dword [esp + 0x20c], edi
mov dword [esp + 0x21c], esi
jmp 0x753330
mov dword [esp + 0x1c0], eax
mov esi, dword [esp + 0x1f8]
cmp edi, 7
mov ebx, esi
mov dword [esp + 0x1f8], ebx
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
mov edx, dword [esp + 0x220]
mov dword [esp + 0x1f4], edx
mov esi, dword [esp + 0x21c]
jne 0x752d1d
mov dword [esp + 0x220], edx
mov edi, 0xd
mov eax, 0x11
movzx ecx, byte [esp + 0x97]
cmp ecx, 0x57
mov dword [esp + 0x1f8], ebx
mov ecx, dword [esp + 0x1c8]
mov edx, dword [esp + 0x1e0]
je 0x7540e7
cmp edi, 0xd
jne 0x752c4f
mov esi, ecx
mov dword [esp + 0x1e0], edx
mov eax, edi
or eax, 2
xor edi, 2
add edi, eax
je 0x752c69
mov dword [esp + 0x214], 0xe
mov edi, 2
mov byte [esp + 0x97], 0x57
mov ebx, dword [esp + 0xac]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
shl eax, 4
add eax, 0x10
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esp + 0xc0], eax
mov dword [ebx + 4], eax
test eax, eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x114], eax
mov dword [esp + 0x168], esi
mov dword [esp + 0x148], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x1c8], esi
jne 0x754eaf
jmp 0x753c2d
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x1c8], ecx
mov ebx, dword [esp + 0x210]
jmp 0x7537c7
mov dword [esp + 0x1c8], esi
mov ebx, dword [esp + 0x210]
jmp 0x7537c7
mov eax, dword [esp + 0x10c]
mov eax, dword [eax]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
sub eax, ecx
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x108]
mov dword [ecx + eax*8 + 4], 0
mov dword [ecx + eax*8], 0
mov dword [ecx + eax*8 + 0xc], 0
mov dword [ecx + eax*8 + 8], 0
mov dword [ecx + eax*8 + 0x14], 0
mov dword [ecx + eax*8 + 0x10], 0
mov dword [ecx + eax*8 + 0x1c], 0
mov dword [ecx + eax*8 + 0x18], 0
mov dword [ecx + eax*8 + 0x24], 0
mov dword [ecx + eax*8 + 0x20], 0
lea eax, [ecx + eax*8]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x1f4], eax
mov esi, dword [esp + 0x21c]
mov edi, 0x1b
mov al, byte [esp + 0x1bf]
movzx eax, al
cmp eax, 0x28
jne 0x752e1a
mov ebx, esi
mov edi, 2
mov byte [esp + 0x1bf], 0x28
mov eax, dword [esp + 0x274]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx]
movsd xmm0, qword [ecx]
mov esi, dword [esp + 0x1c0]
movsd qword [esi], xmm0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x24]
mov eax, dword [eax]
mov dword [esi + 0x20], eax
mov byte [esi + 0xc], 1
mov eax, dword [esi + 0x14]
mov dword [esp], eax
call fcn.00689a80
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
lea ecx, [esi + 0x10]
mov dword [esp + 0x170], ecx
mov dword [esi + 0x10], eax
mov dword [esp + 4], eax
mov dword [esp], 1
call fcn.00493840
mov dword [esi + 0x14], eax
test eax, eax
jne 0x752f21
mov ecx, eax
and ecx, 1
xor ecx, eax
mov dword [esp + 0x16c], eax
not ecx
test ecx, ecx
mov dword [esp + 0x21c], ebx
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], eax
mov ebx, dword [esp + 0x1f4]
mov dword [esp + 0x220], ebx
mov dword [esp + 0x198], esi
jne 0x752f57
jmp 0x75344d
mov dword [esp + 0x21c], esi
mov ebx, dword [esp + 0x1f8]
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x220], eax
mov esi, dword [esp + 0x15c]
cmp edi, 0xf
jne 0x752e68
mov eax, edi
or eax, 2
xor edi, 2
add edi, eax
je 0x752e68
mov eax, dword [esp + 0x160]
jmp 0x750dce
mov dword [esp + 0x218], ebx
mov dword [esp + 0x15c], esi
mov byte [esp + 0x1bf], 0x16
mov eax, dword [esp + 0x274]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx]
movsd xmm0, qword [ecx]
mov edi, dword [esp + 0x1c0]
movsd qword [edi], xmm0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x24]
mov eax, dword [eax]
mov dword [edi + 0x20], eax
mov byte [edi + 0xc], 1
mov eax, dword [edi + 0x14]
mov dword [esp], eax
call fcn.00689a80
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
lea ecx, [edi + 0x10]
mov dword [esp + 0x170], ecx
mov dword [edi + 0x10], eax
mov dword [esp + 4], eax
mov dword [esp], 1
call fcn.00493840
mov dword [edi + 0x14], eax
test eax, eax
je 0x752f50
mov esi, 0x1a
mov dword [esp + 0x16c], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x198], edi
jne 0x7543e4
jmp 0x752f57
mov dword [esp + 0x16c], eax
mov dword [esp + 0x21c], ebx
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], eax
mov ebx, dword [esp + 0x1f4]
mov dword [esp + 0x198], esi
jmp 0x75344d
mov dword [esp + 0x16c], eax
mov dword [esp + 0x278], 0x70000003
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x218]
mov dword [esp + 0x1f8], eax
jmp 0x7537c0
mov ecx, esi
not ecx
and ecx, 1
add ecx, esi
mov dword [esp + 0x1f8], eax
jne 0x754661
mov esi, 0xb
mov byte [esp + 0x17f], 0x39
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x170]
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x16c]
mov dword [esp], eax
call fcn.007ce510
movsd xmm0, qword [esp + 0x260]
mov eax, dword [esp + 0x198]
movsd qword [eax + 0x18], xmm0
mov eax, dword [esp + 0x268]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00787c50
mov dword [esp + 0x278], eax
test eax, eax
jne 0x753279
mov edi, 0x13
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x210], eax
je 0x753279
cmp edi, 0xb
mov ecx, dword [esp + 0x220]
je 0x753087
xor eax, eax
test al, al
jne 0x753087
mov eax, 0x10
mov edi, 0x15
movzx ecx, byte [esp + 0x17f]
cmp ecx, 0x39
mov ecx, dword [esp + 0x208]
mov dword [esp + 0x214], ecx
mov esi, dword [esp + 0x204]
mov ecx, dword [esp + 0x21c]
mov dword [esp + 0x218], ecx
jne 0x7547a7
jmp 0x753c8b
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov edx, ecx
jmp 0x7513be
mov esi, 1
mov byte [esp + 0x17f], 0x1c
lea eax, [esp + 0x278]
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 + 0x278], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x210], eax
je 0x7531e4
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp esi, eax
mov ebx, dword [esp + 0x210]
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
je 0x7537c7
movzx eax, byte [esp + 0x87]
cmp eax, 0x20
je 0x751bb1
mov esi, 0xe
mov edi, 8
mov byte [esp + 0x87], 5
mov eax, dword [ebp + 8]
lea ecx, [eax + 4]
mov dword [esp + 0x184], ecx
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov edx, dword [esp + 0x260]
mov ebx, dword [esp + 0x264]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], edx
call fcn.0068e9b0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x75112d
cmp esi, 0xe
je 0x751c3f
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov ebx, dword [esp + 0x210]
jmp 0x7537c7
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x25c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 8
call fcn.007855d0
mov dword [esp + 0x278], eax
test eax, eax
jne 0x7537c0
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x7537c0
mov esi, 0xf
mov byte [esp + 0x77], 0x28
mov eax, dword [esp + 0x25c]
mov dword [esp], eax
call fcn.00689a80
mov dword [esp + 0x25c], 0
test byte [esp + 0x5b], 1
mov ebx, dword [esp + 0x1ec]
je 0x7537c7
cmp esi, 0xb
je 0x7537c0
imul esi, esi
and esi, 3
cmp esi, 3
je 0x7537c0
mov eax, 0xc
mov cl, byte [esp + 0x77]
movzx ecx, cl
cmp ecx, 0x28
je 0x7532b5
cmp ecx, 0x38
jne 0x7536be
mov byte [esp + 0x77], 0x6e
jmp 0x75360d
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 0x210], ecx
mov esi, dword [esp + 0x1f8]
mov dword [esp + 0x1f8], esi
cmp eax, 0xc
je 0x753608
xor eax, eax
test al, al
jne 0x753608
mov edx, dword [esp + 0x220]
movzx ecx, byte [esp + 0xfb]
cmp ecx, 3
je 0x753730
mov edi, 5
mov eax, 0xc
cmp ecx, 0x44
mov ebx, edx
jne 0x75344d
cmp eax, 0xc
je 0x751eb3
imul eax, eax
and eax, 3
cmp eax, 2
je 0x751eb3
mov dword [esp + 0x220], ebx
mov ecx, 0x15
mov al, byte [esp + 0x1ab]
movzx eax, al
cmp eax, 0x1f
je 0x7534da
cmp eax, 0x22
jne 0x753509
mov esi, 0xc
mov byte [esp + 0x1ab], 0x17
mov byte [esp + 0x17e], 0x76
mov eax, dword [esp + 0x23c]
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
add ecx, eax
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [eax], ecx
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x15
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
mov edx, 2
call fcn.007846d0
mov dword [esp + 0x278], eax
test eax, eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x1ec], eax
mov ebx, eax
mov dword [esp + 0x210], eax
jne 0x7537c7
cmp esi, 6
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov ebx, dword [esp + 0x204]
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
je 0x754498
jmp 0x754ab8
cmp edi, 2
je 0x7535dd
xor eax, eax
test al, al
jne 0x7535e9
mov esi, 0xa
mov byte [esp + 0xfb], 3
mov eax, dword [esp + 0x184]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
add eax, 0x14
mov ecx, dword [esp + 0x180]
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
call fcn.007ce510
mov ecx, dword [esp + 0x1d0]
test ecx, ecx
jne 0x7535f5
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
mov dword [esp + 0x1b4], ecx
mov edx, dword [esp + 0x1dc]
jne 0x751f23
jmp 0x75419a
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x204]
mov dword [esp + 0x1f4], eax
mov esi, dword [esp + 0x21c]
mov edx, dword [esp + 0x220]
jmp 0x750a74
mov esi, 5
mov edi, 0xf
mov byte [esp + 0x1ab], 0x1f
mov byte [esp + 0x17e], 0x76
mov eax, dword [esp + 0x23c]
inc eax
mov ecx, dword [esp + 0x274]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x1c]
mov ecx, dword [ecx]
mov dword [ecx], eax
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x15
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
mov edx, 2
call fcn.007846d0
mov dword [esp + 0x278], 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 + 0x150]
mov dword [esp + 0x210], eax
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x1ec], eax
jne 0x754516
jmp 0x754a76
mov dword [esp + 0x220], ebx
jmp 0x752f99
mov dword [esp + 0x220], ebx
jmp 0x752f99
mov dword [esp + 0x1b4], ecx
mov edx, dword [esp + 0x1dc]
jmp 0x75419a
mov byte [esp + 0x77], 0x28
mov eax, dword [ebp + 8]
mov edi, eax
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x140]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov esi, dword [eax + ecx*8 + 0x14]
mov eax, dword [eax + ecx*8 + 4]
lea ecx, [edi + 4]
mov dword [esp + 0x68], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0068ece0
mov dword [esp + 0x278], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov ebx, dword [esp + 0x1ec]
jne 0x7537c7
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
mov ecx, dword [esp + 0x140]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov esi, dword [eax + ecx*8 + 0x14]
mov edi, dword [eax + ecx*8 + 4]
movzx eax, byte [eax + ecx*8 + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 3
call fcn.007855d0
mov dword [esp + 0x278], eax
jmp 0x7537c0
mov edi, 0xc
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x140]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov ebx, dword [eax + ecx*8 + 0x14]
mov eax, dword [eax + ecx*8 + 4]
mov byte [esp + 0x77], 0x38
lea ecx, [esi + 4]
mov dword [esp + 0x68], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0068ece0
mov dword [esp + 0x278], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov ecx, 0x13
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x210], eax
jne 0x751cb8
jmp 0x752a88
mov dword [esp + 0x220], edx
mov byte [esp + 0xfb], 0x44
mov eax, dword [esp + 0x184]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c4]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
add eax, 0x14
mov ecx, dword [esp + 0x180]
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
call fcn.007ce510
mov edx, dword [esp + 0x1d0]
test edx, edx
jne 0x7537ad
mov ecx, 0x16
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 2
mov ebx, dword [esp + 0x220]
mov dword [esp + 0x1b4], edx
jb 0x7546aa
jmp 0x751f9f
mov ebx, dword [esp + 0x220]
mov dword [esp + 0x1b4], edx
jmp 0x751f9f
mov ebx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x270]
test edx, edx
je 0x7537ee
mov eax, 2
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
mov dword [esp + 0x1ac], ebx
jne 0x7505ff
jmp 0x7537f5
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x130], edx
mov esi, 0xb
mov edx, dword [esp + 0x268]
test edx, edx
je 0x7538ba
mov eax, edx
and eax, 1
inc eax
xor eax, edx
je 0x7538ba
mov cl, 0x1e
mov eax, 0xd
movzx ecx, cl
cmp ecx, 0x1e
jne 0x753903
mov dword [esp + 0xa4], edx
mov dword [esp + 0x210], ebx
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
je 0x752c7c
mov esi, 0x12
mov ebx, dword [esp + 0xa4]
mov dword [esp], ebx
mov dword [esp + 4], 0x2f
call fcn.0064bf00
mov edi, dword [esp + 0x1fc]
mov cl, byte [esp + 0x1ab]
mov edx, dword [esp + 0x1e0]
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x1ab], cl
cmp esi, 0xd
jne 0x75392a
mov dword [esp + 0x1e0], edx
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
jne 0x751b77
jmp 0x753941
mov dword [esp + 0xa4], edx
mov dword [esp + 0x210], ebx
mov edx, dword [esp + 0x1dc]
mov edi, dword [esp + 0x1fc]
mov ebx, dword [esp + 0x220]
cmp esi, 9
jne 0x753933
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x220], ebx
jne 0x75161d
jmp 0x753941
mov dword [esp], edx
mov dword [esp + 0xa4], edx
mov dword [esp + 4], 0x2f
call fcn.0064bf00
mov dword [esp + 0x210], ebx
mov edi, dword [esp + 0x1fc]
jmp 0x753941
mov dword [esp + 0x1e0], edx
jmp 0x753941
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x220], ebx
mov esi, 0x11
mov byte [esp + 0x177], 0x43
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x120], eax
test eax, eax
je 0x753a17
mov eax, 0xa
xor ecx, ecx
test cl, cl
jne 0x753a17
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jne 0x753a3c
mov esi, 0x10
mov byte [esp + 0xdb], 0xb
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x278], 0x700002bb
mov dword [esp + 0x1fc], edi
mov eax, dword [esp + 0x78]
mov dword [esp + 0x210], eax
mov edx, dword [esp + 0x1e8]
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x214], eax
cmp esi, 0xc
je 0x7541c6
xor eax, eax
test al, al
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov dword [esp + 0x1e8], edx
mov eax, dword [esp + 0x214]
mov dword [esp + 0x1e4], eax
mov ebx, dword [esp + 0x210]
je 0x7537c7
jmp 0x75187c
cmp esi, 0x10
jne 0x753ac0
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
mov ebx, dword [esp + 0xf4]
jne 0x7515f0
jmp 0x753ac0
movzx eax, byte [esp + 0x177]
cmp eax, 0x43
jne 0x753a62
mov byte [esp + 0x177], 0x43
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.00689a80
jmp 0x753ac0
mov esi, 0xf
mov byte [esp + 0x177], 0x47
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.00689a80
mov dword [esp + 0x1fc], edi
mov ebx, dword [esp + 0x210]
mov eax, dword [esp + 0x220]
cmp esi, 7
je 0x7541d9
mov dword [esp + 0x220], eax
imul esi, esi
and esi, 3
cmp esi, 3
mov edi, dword [esp + 0x1fc]
mov dword [esp + 0x210], ebx
je 0x7537c7
mov bl, 0x2d
mov eax, dword [esp + 0x25c]
test eax, eax
je 0x753ad5
mov dword [esp], eax
call fcn.00689a80
mov eax, 3
movzx ecx, bl
cmp ecx, 0xd
je 0x753c61
cmp ecx, 0x2d
je 0x753ee2
mov eax, 0xf
cmp ecx, 0x2e
jne 0x753f16
mov dword [esp + 0x1fc], edi
mov ecx, dword [esp + 0x1d0]
mov edi, dword [esp + 0x208]
mov ebx, dword [esp + 0x204]
mov dword [esp + 0x1d0], ecx
cmp eax, 0xf
jne 0x75408a
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x75408a
mov edx, dword [esp + 0x274]
test edx, edx
je 0x754851
mov dword [esp + 0x204], ebx
mov dword [esp + 0x208], edi
mov byte [esp + 0x1d7], 0x49
mov eax, 0x11
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
mov dword [esp + 0x158], edx
mov ecx, dword [esp + 0x1d8]
mov esi, dword [esp + 0x21c]
mov ebx, dword [esp + 0x220]
je 0x754661
cmp eax, 0x10
jne 0x75439b
mov dword [esp + 0x218], esi
mov byte [esp + 0x5a], 0x2c
mov byte [esp + 0x59], 0x4a
mov dword [esp + 4], 8
mov dword [esp], 1
mov esi, ecx
call fcn.00493840
mov edx, esi
mov dword [esp + 0x1c8], eax
test eax, eax
mov dword [esp + 0x220], ebx
jne 0x7509ba
mov esi, edx
mov edx, 9
mov cl, byte [esp + 0x59]
movzx ecx, cl
cmp ecx, 0x4a
jne 0x7547cb
mov dword [esp + 0x214], 0x10
mov dword [esp + 0x278], 0x70000003
mov dword [esp + 0x1d8], esi
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov esi, dword [esp + 0x168]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x210], ebx
mov byte [esp + 0x59], 0x35
mov ecx, esi
cmp dword [esp + 0x214], 0xe
je 0x754873
xor eax, eax
test al, al
mov esi, dword [esp + 0x1f8]
mov dword [esp + 0x168], ecx
mov ebx, dword [esp + 0x210]
je 0x7537c7
jmp 0x750d6f
mov ecx, dword [esp + 0x208]
mov dword [esp + 0x214], ecx
mov esi, dword [esp + 0x204]
mov ecx, dword [esp + 0x21c]
mov dword [esp + 0x218], ecx
mov dword [esp + 0x1fc], edi
cmp eax, 3
jne 0x753d49
mov ecx, 0xf
mov byte [esp + 0x1d7], 0x49
mov eax, dword [esp + 0x274]
mov dword [esp + 0x158], eax
test eax, eax
je 0x754119
mov eax, 6
xor edx, edx
test dl, dl
mov ebx, esi
jne 0x75411b
cmp eax, 6
mov ecx, dword [esp + 0x1fc]
mov edx, dword [esp + 0x218]
mov edi, dword [esp + 0x214]
je 0x754014
xor eax, eax
test al, al
mov dword [esp + 0x21c], edx
mov dword [esp + 0x208], edi
mov dword [esp + 0x204], ebx
mov edi, ecx
jne 0x75464b
mov eax, 9
mov cl, byte [esp + 0x176]
movzx ecx, cl
cmp ecx, 7
jne 0x753de7
mov edi, dword [esp + 0x20c]
cmp eax, 8
mov edx, dword [esp + 0x220]
jne 0x74fee2
mov dword [esp + 0x214], edi
mov dword [esp + 0x1f4], edx
jmp 0x752d16
mov ebx, 0x10
mov byte [esp + 0x17f], 0x39
lea eax, [esp + 0x278]
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 + 0x278], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x214]
mov dword [esp + 0x208], eax
mov dword [esp + 0x204], esi
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x210], eax
je 0x7531e4
jmp 0x7548cb
mov byte [esp + 0x176], 0xa
mov eax, dword [esp + 0x19c]
mov ecx, dword [eax]
mov dword [esp + 0x154], ecx
mov edi, dword [esp + 0x1cc]
lea eax, [edi + edi*2]
lea edx, [ecx + eax*8]
mov dword [esp + 0x18c], edx
mov edx, dword [ecx + eax*8]
cmp edx, 0x15
jle 0x754030
cmp edx, 0x21
jle 0x7541e5
mov ecx, 4
cmp edx, 0x22
je 0x754400
cmp edx, 0x31
jne 0x75069c
mov esi, dword [esp + 0x208]
mov ebx, dword [esp + 0x204]
mov dword [esp + 0x204], ebx
mov dword [esp + 0x208], esi
mov dword [esp + 0x1cc], edi
lea eax, [esp + 0x23c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18c]
mov dword [esp], eax
call fcn.0078a180
mov dword [esp + 0x278], 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 + 0x21c]
mov dword [esp + 0x218], eax
mov edx, ebx
mov dword [esp + 0x214], esi
mov dword [esp + 0x210], ebx
mov dword [esp + 0x20c], esi
mov dword [esp + 0x200], edi
mov dword [esp + 0x220], ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1e4], esi
je 0x75187c
jmp 0x7537c7
mov byte [esp + 0x1d7], 0x49
mov eax, dword [esp + 0x274]
mov dword [esp + 0x158], eax
test eax, eax
je 0x7543bc
xor eax, eax
test al, al
mov dword [esp + 0x1fc], edi
je 0x75464b
jmp 0x754661
mov esi, 0xa
mov byte [esp + 0x1d7], 0x49
mov edx, dword [esp + 0x274]
test edx, edx
je 0x7543c8
mov ecx, 0xc
mov dword [esp + 0x158], edx
imul edx, edx
and edx, 3
cmp edx, 3
mov dword [esp + 0x1fc], edi
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x218], eax
je 0x7543e4
cmp ecx, 0xc
je 0x75463b
xor eax, eax
test al, al
jne 0x754644
mov esi, 6
mov byte [esp + 0x57], 0x25
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 0
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov eax, dword [esp + 0x200]
lea eax, [eax + eax*2]
mov edi, dword [esp + 0x154]
mov ecx, dword [edi + eax*8 + 0x10]
mov edx, dword [edi + eax*8 + 0x14]
mov eax, dword [edi + eax*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 + 0x278], eax
test eax, eax
jne 0x7545d2
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov eax, dword [esp + 0x220]
mov dword [esp + 0x1d8], eax
jne 0x750ea7
jmp 0x7545d2
mov dword [esp + 0x21c], edx
mov dword [esp + 0x208], edi
mov dword [esp + 0x204], ebx
mov edi, ecx
jmp 0x75464b
cmp edx, 7
jg 0x75423b
cmp edx, 3
je 0x754467
cmp edx, 4
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov ecx, dword [esp + 0x204]
mov edx, ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x200], edi
mov dword [esp + 0x220], ecx
je 0x750430
jmp 0x75187c
mov dword [esp + 0x204], ebx
mov dword [esp + 0x208], edi
mov ecx, 0x1f
mov eax, 8
mov edx, dword [esp + 0x1c4]
mov edi, edx
or edx, 2
mov esi, edi
xor esi, 2
add esi, edx
mov byte [esp + 0x1ab], 0x17
mov byte [esp + 0xea], 0x5f
setne dl
movzx edx, dl
add edx, edi
mov byte [esp + 0x87], 5
setne byte [esp + 0x5b]
mov edx, dword [esp + 0x1e0]
jne 0x751262
mov dword [esp + 0x1e0], edx
cmp eax, 8
jne 0x750cad
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x750cad
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
jmp 0x7520cc
mov ebx, esi
cmp ecx, 0xf
mov eax, dword [esp + 0x214]
mov dword [esp + 0x208], eax
mov dword [esp + 0x204], ebx
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov edx, dword [esp + 0x1dc]
mov ebx, dword [esp + 0x220]
je 0x754661
mov esi, 0x12
movzx eax, byte [esp + 0x11f]
cmp eax, 0x7c
jne 0x75419a
mov byte [esp + 0x11f], 0x7c
mov dword [esp + 0x278], 0x70000003
mov eax, dword [esp + 0x13c]
mov eax, dword [eax]
test eax, eax
je 0x7517e0
xor ecx, ecx
test cl, cl
je 0x7517d4
jmp 0x7517e0
cmp esi, 0xa
je 0x7541ba
imul esi, esi
and esi, 3
cmp esi, 3
jne 0x7517a9
mov dword [esp + 0x1dc], edx
jmp 0x751f9f
mov dword [esp + 0x1dc], edx
jmp 0x751f9f
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
jmp 0x75187c
mov dword [esp + 0x220], eax
jmp 0x7537c7
mov eax, 0xb
cmp edx, 0x16
je 0x7545ee
cmp edx, 0x19
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov ecx, dword [esp + 0x204]
mov edx, ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x200], edi
mov dword [esp + 0x220], ecx
je 0x7513df
jmp 0x75187c
cmp edx, 8
je 0x754626
mov esi, 0x10
cmp edx, 0x12
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov ecx, dword [esp + 0x204]
mov edx, ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x200], edi
mov dword [esp + 0x220], ecx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1e4], eax
jne 0x75187c
cmp esi, 0x10
je 0x754731
xor eax, eax
test al, al
jne 0x754731
movzx eax, byte [esp + 0x37]
cmp eax, 0x1b
je 0x754fbf
cmp eax, 0x40
je 0x750f48
mov esi, 1
mov byte [esp + 0x37], 0x1b
mov eax, dword [esp + 0x19c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x200]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x5c], eax
mov edi, dword [esp + 0x12c]
lea ebx, [edi + 4]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
lea eax, [esp + 0x230]
mov dword [esp], eax
call fcn.006279b0
mov dword [esp + 0x278], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x75509f
mov dword [esp + 0x30], edi
mov edx, dword [esp + 0x220]
mov dword [esp + 0x2c], edx
mov edi, ebx
mov cl, byte [esp + 0x8f]
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
je 0x750ff2
mov dword [esp + 0x220], edx
mov byte [esp + 0x8f], 0x49
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
test eax, eax
jne 0x754886
mov ecx, eax
mov dword [esp + 0x1a4], ecx
mov eax, 3
sub eax, ecx
xor eax, ecx
jmp 0x751153
mov dword [esp + 0x21c], esi
mov dword [esp + 0x1d8], ecx
mov edi, dword [esp + 0x1fc]
mov dword [esp + 0x220], ebx
jmp 0x75464b
mov dword [esp + 0x1fc], edi
jmp 0x754661
mov dword [esp + 0x158], edx
mov dword [esp + 0x1fc], edi
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x218], eax
cmp esi, 0xa
mov eax, dword [esp + 0x218]
je 0x752f83
mov dword [esp + 0x1f8], eax
jmp 0x752f99
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x210]
mov esi, dword [esp + 0x204]
mov dword [esp + 0x1e8], esi
mov edx, dword [esp + 0x208]
mov dword [esp + 0x1e4], edx
mov dword [esp + 0x20c], edx
mov dword [esp + 0x200], edi
mov dword [esp + 0x210], esi
mov edx, dword [esp + 0x1d0]
mov ebx, dword [esp + 0x178]
jmp 0x752128
mov ecx, dword [esp + 0x204]
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x200], edi
mov dword [esp + 0x220], ecx
mov edi, 0xe
movzx eax, byte [esp + 0x58]
cmp eax, 5
jne 0x7544b3
mov ebx, dword [esp + 0x220]
jmp 0x754f2b
mov esi, 4
mov edi, 8
mov byte [esp + 0x58], 0x5b
mov eax, dword [esp + 0x200]
lea eax, [eax + eax*2]
mov ebx, dword [esp + 0x154]
mov ecx, dword [ebx + eax*8 + 0x10]
mov edx, dword [ebx + eax*8 + 0x14]
mov eax, dword [ebx + eax*8 + 4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0068ee80
mov dword [esp + 0x278], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x220]
mov dword [esp + 0x210], eax
jne 0x75452b
cmp esi, 4
je 0x7504c7
mov ebx, dword [esp + 0x210]
jmp 0x7537c7
cmp edi, 8
je 0x754fa7
imul edi, edi
and edi, 3
cmp edi, 2
je 0x754fb3
mov esi, 0x11
mov edi, 0xb
mov byte [esp + 0x57], 0x39
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 0
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov eax, dword [esp + 0x200]
lea eax, [eax + eax*2]
mov ebx, dword [esp + 0x154]
mov ecx, dword [ebx + eax*8 + 0x10]
mov edx, dword [ebx + eax*8 + 0x14]
mov eax, dword [ebx + eax*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 + 0x278], eax
test eax, eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x1d8], eax
jne 0x753032
cmp esi, 6
je 0x750e7a
mov eax, dword [esp + 0x220]
mov dword [esp + 0x1d8], eax
jmp 0x750ea7
mov ebx, dword [esp + 0x210]
mov edx, dword [esp + 0x204]
mov dword [esp + 0x1e8], edx
mov ecx, dword [esp + 0x208]
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x200], edi
mov ecx, edx
jmp 0x754cf9
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov dl, 0xa
jmp 0x75018e
mov edi, dword [esp + 0x1fc]
jmp 0x75464b
mov edi, dword [esp + 0x1fc]
mov eax, dword [esp + 0x158]
mov dword [esp], eax
call fcn.00627240
mov dword [esp + 0x1fc], edi
movzx eax, byte [esp + 0x1d7]
cmp eax, 0x26
jne 0x754682
mov byte [esp + 0x1d7], 0x49
cmp dword [esp + 0x1ac], 0
jne 0x7546c4
jmp 0x7546da
mov eax, 4
mov byte [esp + 0x1d7], 0x26
mov edx, dword [esp + 0x1ac]
test edx, edx
je 0x7546d5
mov ecx, 9
imul edx, edx
and edx, 3
cmp edx, 3
je 0x7546d5
cmp ecx, 9
je 0x7546c4
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
mov ebx, dword [esp + 0x220]
jne 0x751f23
mov eax, dword [esp + 0x1ac]
mov dword [esp], eax
call fcn.00627360
jmp 0x7546da
cmp eax, 4
jne 0x754731
mov esi, 3
mov eax, dword [esp + 0x26c]
mov dword [esp + 0xe0], eax
test eax, eax
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
je 0x754722
cmp esi, 2
jne 0x754713
mov eax, esi
not eax
and eax, 1
add eax, esi
jne 0x751c63
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.006275f0
mov eax, dword [esp + 0x278]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, 0xb
lea eax, [esp + 0x270]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18c]
mov dword [esp], eax
call fcn.00789540
mov dword [esp + 0x278], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov ecx, dword [esp + 0x220]
mov edx, ecx
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
mov dword [esp + 0x210], ecx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1e4], eax
je 0x75187c
cmp edi, 0xb
jne 0x75309c
mov eax, 3
sub eax, edi
xor eax, edi
je 0x75309c
mov ebx, dword [esp + 0x210]
jmp 0x7537c7
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x1d8], esi
mov eax, dword [esp + 0x12c]
mov edi, dword [esp + 0x200]
cmp edx, 9
jne 0x754829
mov ecx, 3
sub ecx, edx
xor ecx, edx
je 0x754829
mov dword [esp + 0x200], edi
mov dword [esp + 0x12c], eax
mov byte [esp + 0x59], 0x4a
mov dword [esp + 0x278], 0x70000003
mov ebx, dword [esp + 0x50]
jmp 0x7537c7
mov dword [esp + 0x200], edi
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
mov edx, dword [esp + 0x220]
jmp 0x7513be
mov dword [esp + 0x204], ebx
mov dword [esp + 0x208], edi
mov byte [esp + 0x1d7], 0x49
mov dword [esp + 0x158], edx
jmp 0x754661
mov esi, dword [esp + 0x1f8]
mov dword [esp + 0x168], ecx
jmp 0x750d6f
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x194], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1e0], edi
movzx eax, byte [esp + 0x126]
cmp eax, 0x18
je 0x75117a
mov ebx, 0x1f
cmp eax, 0x3b
jne 0x7548e0
mov dword [esp + 0x1f0], edi
cmp ebx, 0x10
jne 0x754a0e
mov ebx, dword [esp + 0x210]
jmp 0x7537c7
mov esi, 0x17
mov byte [esp + 0x126], 0x3b
mov edi, dword [esp + 0x194]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
shl eax, 4
add eax, 0x10
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [edi + 4], eax
test eax, eax
je 0x754923
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jne 0x7511d5
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], edi
cmp esi, 0x10
mov ecx, dword [esp + 0x1f8]
je 0x754ca4
xor eax, eax
test al, al
mov esi, ecx
mov edi, dword [esp + 0x1f0]
jne 0x750d6f
movzx edx, byte [esp + 0x175]
cmp edx, 0x24
je 0x754a01
mov ecx, 1
mov eax, 0x15
cmp edx, 0x28
mov ebx, dword [esp + 0x1c8]
mov dword [esp + 0x1f0], edi
mov edx, dword [esp + 0x220]
je 0x754e27
cmp eax, 0xc
jne 0x7512bf
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x7512bf
mov ebx, edx
mov dword [esp + 0x1f0], edi
mov dword [esp + 0x220], ebx
mov dword [esp + 0x278], 0x70000003
mov eax, dword [esp + 0xec]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x1f8]
mov dword [esp], eax
call fcn.004936c0
mov ebx, dword [esp + 0x1b8]
jmp 0x7537c7
mov byte [esp + 0x175], 0x20
jmp 0x7512ce
mov byte [esp + 0x126], 0x75
mov esi, dword [esp + 0x194]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
shl eax, 4
add eax, 0x10
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esi + 4], eax
test eax, eax
jne 0x7511d5
mov edi, 0xa
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 0x1f0], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], esi
je 0x7511d5
cmp edi, 0xa
je 0x754cab
imul edi, edi
and edi, 3
cmp edi, 3
mov edi, dword [esp + 0x1f0]
mov eax, dword [esp + 0x208]
mov dword [esp + 0x214], eax
mov ebx, dword [esp + 0x204]
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x218], eax
je 0x754969
mov esi, ebx
mov eax, 7
movzx ecx, byte [esp + 0x17e]
cmp ecx, 0x55
jne 0x754b59
mov byte [esp + 0x17e], 0x76
mov bl, 0xf
mov eax, dword [esp + 0x274]
lea ecx, [esp + 0x258]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x25c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.006271c0
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov dword [eax + 0xc], 0
mov eax, dword [esp + 0x278]
test eax, eax
mov edx, dword [esp + 0x214]
jne 0x754cb7
mov bh, 0x59
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov dword [esp + 0x208], edx
mov dword [esp + 0x204], esi
mov esi, dword [esp + 0x218]
jne 0x754c1c
jmp 0x754ccc
mov edx, dword [esp + 0x214]
mov ebx, dword [esp + 0x200]
mov dword [esp + 0x200], ebx
mov dword [esp + 0x204], esi
mov dword [esp + 0x208], edx
cmp eax, 7
je 0x754bac
xor eax, eax
test al, al
jne 0x754bac
mov dword [esp + 0x278], 0x7000002f
mov eax, dword [esp + 0x218]
mov dword [esp + 0x21c], eax
mov ebx, dword [esp + 0x110]
jmp 0x7537c7
mov byte [esp + 0x17e], 0x55
mov bh, 0x59
mov bl, 0xf
mov eax, dword [esp + 0x274]
lea ecx, [esp + 0x258]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x25c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.006271c0
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x274]
mov eax, dword [eax + 0xc]
mov dword [eax + 0xc], 0
mov eax, dword [esp + 0x278]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov esi, dword [esp + 0x218]
jne 0x754ccc
movzx eax, bh
cmp eax, 0x23
je 0x754d3b
cmp eax, 0x3f
mov edx, dword [esp + 0x220]
je 0x754d86
mov edi, 0x13
cmp eax, 0x59
jne 0x754dd1
mov dword [esp + 0x218], esi
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
cmp edi, 3
mov esi, dword [esp + 0x218]
jne 0x752582
mov eax, edi
and eax, 1
xor eax, edi
not eax
test eax, eax
je 0x752582
mov dword [esp + 0x21c], esi
mov ebx, dword [esp + 0x210]
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], eax
mov dword [esp + 0x220], edx
jmp 0x7537c7
mov esi, ecx
jmp 0x750d6f
mov edi, dword [esp + 0x1f0]
jmp 0x754969
mov dword [esp + 0x208], edx
mov dword [esp + 0x204], esi
mov esi, dword [esp + 0x218]
movzx eax, bl
cmp eax, 0x5a
jne 0x754d24
mov eax, 0x16
mov dword [esp + 0x278], 0x700002bb
mov dword [esp + 0x21c], esi
mov ebx, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x220]
mov dword [esp + 0x220], ecx
cmp eax, 0xb
jne 0x7537c7
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x210], ebx
jb 0x75031b
jmp 0x7537c7
mov dword [esp + 0x278], 0x700002bb
mov dword [esp + 0x21c], esi
jmp 0x7537c0
mov ecx, 9
mov byte [esp + 0x1bf], 0x28
mov eax, dword [esp + 0x268]
mov dword [esp + 0x190], eax
test eax, eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
mov edx, dword [esp + 0x220]
mov dword [esp + 0x1f4], edx
mov dword [esp + 0x21c], esi
jne 0x75273b
jmp 0x752412
mov ebx, 9
mov ecx, dword [esp + 0x268]
test ecx, ecx
je 0x755049
mov byte [esp + 0x1bf], 0x28
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
mov dword [esp + 0x190], ecx
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
mov dword [esp + 0x1f4], edx
jne 0x75273b
jmp 0x755058
mov ebx, esi
mov edi, edx
mov eax, 0x12
mov byte [esp + 0x1bf], 0x28
mov esi, dword [esp + 0x268]
test esi, esi
jne 0x75508a
mov ecx, 0x11
mov edx, esi
and edx, 1
xor edx, esi
mov dword [esp + 0x190], esi
not edx
test edx, edx
mov edx, edi
mov dword [esp + 0x1f4], edx
mov esi, ebx
mov dword [esp + 0x21c], esi
mov ebx, dword [esp + 0x1c8]
je 0x750357
mov dword [esp + 0x220], 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 0x754ecb
mov edi, 1
mov byte [esp + 0x175], 0x24
mov dword [esp + 0x278], 0x70000003
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax]
test ecx, ecx
jne 0x754efa
mov eax, ecx
not eax
and eax, 1
add eax, ecx
mov dword [esp + 0xfc], ecx
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x134], eax
mov dword [esp + 0x1c8], ebx
mov esi, ebx
mov ebx, dword [esp + 0x220]
je 0x754f2b
cmp edi, 1
mov dword [esp + 0x1c8], esi
mov edi, dword [esp + 0x1f0]
jne 0x750df2
jmp 0x751370
mov esi, dword [esp + 0x21c]
mov dword [esp + 0x1c8], ebx
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x1f4], eax
jmp 0x7525ba
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x1c8], ebx
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x134], eax
mov ebx, dword [esp + 0x220]
cmp edi, 1
je 0x754f94
imul edi, edi
and edi, 3
cmp edi, 3
je 0x754f94
mov esi, 6
mov byte [esp + 0x58], 5
mov eax, dword [esp + 0x200]
lea eax, [eax + eax*2]
mov edi, dword [esp + 0x154]
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 + 0x278], eax
test eax, eax
mov dword [esp + 0x220], ebx
mov dword [esp + 0x210], ebx
jne 0x7537c7
jmp 0x751f6b
mov dword [esp + 0x220], ebx
mov edi, dword [esp + 0x1f0]
jmp 0x751302
mov ebx, dword [esp + 0x210]
jmp 0x7537c7
mov ebx, dword [esp + 0x210]
jmp 0x7537c7
mov ebx, 0x15
mov byte [esp + 0x37], 0x42
mov eax, dword [esp + 0x19c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x200]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x5c], eax
mov esi, dword [esp + 0x12c]
lea edi, [esi + 4]
mov dword [esp + 8], esi
mov dword [esp + 4], edi
lea eax, [esp + 0x230]
mov dword [esp], eax
call fcn.006279b0
mov dword [esp + 0x278], eax
test eax, eax
mov dword [esp + 0x30], esi
mov edx, dword [esp + 0x220]
mov dword [esp + 0x2c], edx
mov cl, byte [esp + 0x8f]
je 0x750ff2
mov esi, dword [esp + 0x21c]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1e0], edi
jmp 0x755058
mov byte [esp + 0x1bf], 0x28
mov dword [esp + 0x190], ecx
cmp ebx, 9
je 0x7524f4
imul ebx, ebx
and ebx, 3
cmp ebx, 2
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x214], eax
mov dword [esp + 0x1f4], edx
jne 0x7510f8
jmp 0x7525ba
mov dword [esp + 0x190], esi
mov dword [esp + 0x1f4], edi
mov esi, ebx
jmp 0x750357
mov dword [esp + 0x1e0], ebx
mov esi, dword [esp + 0x21c]
mov dword [esp + 0x30], edi
mov edx, dword [esp + 0x220]
jmp 0x7510f4