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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x350
mov esi, edx
mov edi, ecx
mov dword [esp + 0x284], 0x1a
mov dword [esp + 0x314], 0
mov dword [esp + 0x310], 0
mov dword [esp + 0x318], 0
mov dword [esp + 0x30c], 0
mov dword [esp + 0x308], 0
mov dword [esp + 0x304], 0
mov dword [esp + 0x300], 0
mov dword [esp + 0x2fc], 0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x2d0], xmm0
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e9], 0
mov dword [esp + 0x2e5], 0
mov eax, dword [0x7dc5e8]
mov dword [esp + 0x2c8], eax
movsd xmm1, qword [0x7dc5e0]
movsd qword [esp + 0x2c0], xmm1
movsd xmm1, qword [0x7dc5d8]
movsd qword [esp + 0x2b8], xmm1
movapd xmmword [esp + 0x2a0], xmm0
mov dword [esp + 0x29c], 0
lea eax, [esp + 0x310]
mov dword [esp], eax
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0
call fcn.007c51a0
mov ecx, esi
mov dword [esp + 0x310], 0x2a
mov dword [ecx + 0x64], 0xc
test edi, edi
jne 0x4de2fe
mov dword [esp + 0x98], edi
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x144], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x204], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x184], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x190], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x150], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x23c], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x244], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x200], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x278], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x24c], eax
mov dword [esp + 0x248], eax
mov dword [esp + 0x240], eax
mov dword [esp + 0x264], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x154], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x280], eax
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x27c], eax
mov dword [esp + 0x1c8], eax
jae 0x4de638
mov eax, 0xa
mov edx, 0x700002bb
mov dword [esp + 0x190], 0
cmp dword [ecx + 0x9c], 0
mov dword [esp + 0x268], ecx
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1e0], ecx
mov byte [esp + 0xcf], cl
mov dword [esp + 0x204], ecx
mov dword [esp + 0x198], ecx
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x184], ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x160], ecx
mov dword [esp + 0x180], ecx
mov dword [esp + 0x200], ecx
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x250], ecx
mov dword [esp + 0x24c], ecx
mov dword [esp + 0x248], ecx
mov dword [esp + 0x240], ecx
mov dword [esp + 0x264], ecx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x100], ecx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x114], ecx
mov dword [esp + 0x104], ecx
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x188], ecx
mov dword [esp + 0x134], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x148], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x28c], ecx
mov dword [esp + 0x230], ecx
mov dword [esp + 0x288], ecx
mov dword [esp + 0x210], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x150], ecx
mov dword [esp + 0x124], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x158], ecx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x164], ecx
mov dword [esp + 0x194], ecx
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x220], ecx
mov dword [esp + 0x174], ecx
mov dword [esp + 0x170], ecx
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x178], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x118], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x234], ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x138], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x17c], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x1f0], ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x278], ecx
mov dword [esp + 0x218], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x108], ecx
mov dword [esp + 0x214], ecx
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x144], ecx
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x280], ecx
mov dword [esp + 0x26c], ecx
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x27c], ecx
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x224], ecx
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x208], ecx
mov dword [esp + 0x254], ecx
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x14c], ecx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x154], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x244], ecx
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x270], ecx
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x274], ecx
mov dword [esp + 0x1dc], 0x700002bb
jne 0x4e30e2
jmp 0x4de74c
mov dword [esp + 0x98], edi
mov dword [esp + 0x144], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x204], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x184], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x190], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x150], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x23c], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x244], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x200], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x278], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x24c], eax
mov dword [esp + 0x248], eax
mov dword [esp + 0x240], eax
mov dword [esp + 0x264], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x154], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x280], eax
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x27c], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0xc8], edi
mov byte [esp + 0xcf], dl
mov dword [esp + 0x268], ecx
cmp dword [esp + 0x284], 0xa
mov ecx, dword [esp + 0x250]
mov esi, dword [esp + 0x24c]
mov edi, dword [esp + 0x248]
je 0x4de6e3
xor eax, eax
test al, al
jne 0x4de6e3
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x264]
mov dword [esp + 0x214], eax
mov dword [esp + 0x1f8], esi
mov dword [esp + 0x1f4], edi
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x26c], ecx
mov dword [esp + 0x224], ecx
mov dword [esp + 0x20c], esi
mov dword [esp + 0x208], edi
mov ecx, dword [esp + 0x240]
mov dword [esp + 0x254], ecx
mov dword [esp + 0x22c], eax
mov ebx, dword [esp + 0x278]
jmp 0x4de977
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x264]
mov dword [esp + 0x214], eax
mov dword [esp + 0x1f8], esi
mov dword [esp + 0x1f4], edi
mov dword [esp + 0x1fc], ecx
mov edx, dword [esp + 0x280]
mov ebx, ecx
mov dword [esp + 0x224], ecx
mov dword [esp + 0x20c], esi
mov dword [esp + 0x208], edi
mov ecx, dword [esp + 0x240]
mov dword [esp + 0x254], ecx
mov dword [esp + 0x22c], eax
jmp 0x4e3b03
mov eax, dword [esp + 0x2a4]
cmp eax, 2
ja 0x4de783
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
je 0x4de783
cmp eax, 2
je 0x4de7ba
mov al, 1
test al, al
je 0x4de7ba
mov dword [esp + 0x1b0], edx
mov ebx, dword [esp + 0x278]
jmp 0x4e2b75
mov ecx, dword [esp + 0x29c]
mov esi, edx
test ecx, ecx
jne 0x4de863
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
mov ebx, dword [esp + 0x278]
je 0x4de86a
mov edx, esi
mov dword [esp + 0x1b0], edx
jmp 0x4e2b75
mov esi, edx
mov eax, 0x13
mov ecx, dword [esp + 0x2a8]
cmp ecx, 0x22
sbb dl, dl
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb cl, cl
and cl, dl
test cl, 1
jne 0x4de8cf
mov ecx, dword [esp + 0x29c]
test ecx, ecx
mov edx, esi
je 0x4de917
mov esi, edx
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
mov ebx, dword [esp + 0x278]
jne 0x4de86a
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x1f8]
mov dword [esp + 0x25c], ecx
mov edx, dword [esp + 0x1f4]
mov dword [esp + 0x260], edx
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x258], ecx
mov dword [esp + 0x1dc], esi
mov dword [esp + 0x1b0], esi
mov dl, byte [esp + 0xcf]
mov edi, dword [esp + 0xc8]
jmp 0x4e2631
mov ebx, dword [esp + 0x278]
mov edi, 0xc
mov dword [esp], ecx
mov dword [esp + 4], 0x34
call fcn.0064bf00
mov edx, esi
mov dword [esp + 0x1b0], edx
cmp edi, 0xc
je 0x4e2b75
mov eax, dword [esp + 0x1d4]
mov eax, dword [eax]
mov ecx, dword [esp + 0x9c]
mov dword [ecx], eax
mov dword [esp + 0x23c], 1
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x274], ebx
jmp 0x4e2fc6
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x1f8]
mov dword [esp + 0x25c], ecx
mov edx, dword [esp + 0x1f4]
mov dword [esp + 0x260], edx
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x258], ecx
mov dword [esp + 0x1dc], esi
mov dword [esp + 0x1b0], esi
jmp 0x4de95d
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x1f8]
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x1f4]
mov dword [esp + 0x260], ecx
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x258], ecx
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x1b0], edx
mov dl, byte [esp + 0xcf]
mov edi, dword [esp + 0xc8]
mov ebx, dword [esp + 0x278]
jmp 0x4e2631
lea eax, [esp + 0x318]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x314]
mov esi, dword [esp + 0x318]
lea edi, [esi + esi*2]
lea ecx, [edi*8 + 0x18]
lea edx, [esp + 0x314]
mov dword [esp + 0x1ec], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
jne 0x4de9da
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
je 0x4de9da
mov dword [esp + 0x278], ebx
mov edx, 0x70000003
jmp 0x4de74c
mov dword [esp + 0x314], eax
mov ecx, dword [esp + 0x318]
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
add edx, ecx
mov dword [esp + 0x318], edx
shl esi, 3
lea ecx, [esi + esi*2]
mov dword [eax + ecx], 0x10
mov eax, dword [esp + 0x314]
mov dword [eax + ecx + 4], 0
mov eax, dword [esp + 0x314]
mov byte [eax + ecx + 8], 0
mov eax, dword [esp + 0x314]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x314]
mov dword [eax + ecx + 0x10], 8
mov eax, dword [esp + 0x314]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], 8
call fcn.00492770
mov esi, eax
test esi, esi
jne 0x4deaae
mov eax, 3
sub eax, esi
xor eax, esi
je 0x4deaae
mov esi, 0xa
mov edx, 0x70000003
mov dword [esp + 0x278], ebx
mov dword [esp + 0x1dc], edx
cmp esi, 6
mov ecx, dword [esp + 0x27c]
mov dword [esp + 0x270], ecx
mov dword [esp + 0x274], ebx
jne 0x4de74c
jmp 0x4e1b39
mov dword [esp + 0x278], ebx
mov ebx, dword [esp + 0x268]
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 8], 8
call fcn.007c51d0
mov eax, dword [esp + 0x314]
mov dword [eax + edi*8 + 0x14], esi
lea eax, [ebx + 0x1a0]
mov dword [esp + 0x1cc], eax
mov eax, dword [ebx + 0x1a0]
lea ecx, [ebx + 0x9c]
mov dword [esp + 0x15c], ecx
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0x9c]
lea esi, [ebx + 8]
mov dword [esp + 0x244], esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
lea eax, [esp + 0x310]
mov dword [esp], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 3
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
call fcn.00508b80
test eax, eax
je 0x4deb6f
mov edx, eax
jmp 0x4de74c
mov dword [esp + 0x1dc], eax
call fcn.0044c050
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x324], edx
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0x314]
mov esi, dword [esp + 0x318]
lea ebx, [esi + esi*2]
lea ecx, [ebx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
jne 0x4debca
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x4dede4
mov dword [esp + 0x314], eax
mov ecx, dword [esp + 0x318]
mov edi, 3
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
add edx, ecx
mov dword [esp + 0x318], edx
shl esi, 3
lea ecx, [esi + esi*2]
mov dword [eax + ecx], 4
mov eax, dword [esp + 0x314]
mov dword [eax + ecx + 4], 0
mov eax, dword [esp + 0x314]
mov byte [eax + ecx + 8], 0
mov eax, dword [esp + 0x314]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x314]
mov dword [eax + ecx + 0x10], 8
mov eax, dword [esp + 0x314]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], 8
call fcn.00492770
mov esi, eax
test esi, esi
je 0x4dede4
lea eax, [esp + 0x320]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 8
call fcn.007c51d0
mov eax, dword [esp + 0x314]
mov dword [eax + ebx*8 + 0x14], esi
mov ebx, dword [esp + 0x268]
mov eax, dword [ebx + 0x1a0]
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0x9c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 4], eax
mov dword [esp], ecx
lea ecx, [esp + 0x310]
call fcn.004b44f0
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 0xffcb
call fcn.00427270
mov dword [esp + 0x5c], eax
test eax, eax
je 0x4dedf9
mov esi, 0x16
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x1a0]
mov dword [esp + 0x340], 0
mov dword [esp + 0x33c], 0
mov dword [esp + 0x328], 4
mov dword [esp + 0x32c], 2
mov dword [esp + 0x330], eax
mov dword [esp + 0x334], ecx
mov dword [esp + 0x338], 0xfffffff9
test ecx, ecx
je 0x4df0ea
xor eax, eax
test al, al
jne 0x4df0ea
lea eax, [esp + 0x33c]
mov dword [esp + 8], eax
lea eax, [esp + 0x340]
mov dword [esp + 4], eax
lea eax, [esp + 0x328]
mov dword [esp], eax
call fcn.00593400
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4defd7
mov esi, 9
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x314]
mov ecx, dword [esp + 0x318]
mov dword [esp + 0x50], ecx
lea ecx, [ecx + ecx*2]
lea ecx, [ecx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
jne 0x4dee0c
mov edx, eax
or edx, 2
mov dword [esp + 0x48], eax
mov ecx, eax
xor ecx, 2
add ecx, edx
jne 0x4defd7
jmp 0x4e06ac
mov dword [esp + 0x1dc], 0x70000003
mov esi, 0xe
jmp 0x4e241f
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
jmp 0x4e1045
mov dword [esp + 0x48], eax
jmp 0x4e06ac
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x1ec]
mov dword [esi], ecx
mov eax, dword [esp + 0x1d0]
inc dword [eax]
mov eax, dword [esp + 0x50]
lea eax, [eax*8]
lea eax, [eax + eax*2]
mov dword [ecx + eax], 0x22
mov ecx, dword [esi]
mov dword [ecx + eax + 4], 0xfffffff9
mov ecx, dword [esi]
mov byte [ecx + eax + 8], 0xff
mov ecx, dword [esi]
mov dword [ecx + eax + 0xc], 0
mov ecx, dword [esi]
mov edx, dword [esp + 0x54]
mov dword [ecx + eax + 0x10], edx
mov ecx, dword [esi]
mov dword [ecx + eax + 0x14], 0
mov dword [esp], edx
call fcn.00492770
test eax, eax
je 0x4deea0
mov dword [esp + 0x60], eax
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4defd7
mov ecx, 0xb
cmp dword [esp + 0x54], 0
je 0x4defbf
jmp 0x4deea9
mov dword [esp + 0x60], eax
jmp 0x4defd7
cmp ecx, 3
jne 0x4defa3
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
je 0x4defa3
mov eax, dword [esp + 0x16c]
mov eax, dword [eax]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x18c]
mov ecx, dword [eax]
mov edi, dword [esp + 0x288]
mov edx, edi
shl edx, 6
mov esi, dword [ecx + edx + 0x10]
mov eax, dword [esi]
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x244]
mov ebx, dword [eax]
mov eax, dword [ecx + edx]
mov dword [esp + 0x274], eax
mov eax, dword [ecx + edx + 4]
mov ecx, dword [ecx + edx + 0xc]
mov edx, dword [esp + 0x268]
mov esi, dword [edx]
mov dword [esp + 0x270], esi
mov edx, dword [edx + 4]
mov esi, dword [esp + 0x284]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x260]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x274]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x270]
mov dword [esp], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c], 0xffffffff
jmp 0x4e36f4
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.007c51d0
mov eax, dword [esp + 0x1ec]
mov eax, dword [eax]
mov ecx, dword [esp + 0x50]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x60]
mov dword [eax + ecx*8 + 0x14], edx
mov edi, 0xd
mov eax, dword [esp + 0x340]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.004234b0
mov ebx, dword [esp + 0x278]
jmp 0x4e0840
mov eax, 5
lea ecx, [esp + 0x2a4]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x2a4]
shl ecx, 8
lea edx, [esp + 0x2a8]
mov dword [esp + 0x94], edx
or ecx, dword [esp + 0x2a8]
mov edx, dword [esp + 0x268]
mov dword [edx + 0xd0], ecx
mov ecx, dword [esp + 0x1cc]
mov ecx, dword [ecx]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
cmp ecx, edx
je 0x4df17b
mov esi, 7
mov eax, dword [esp + 0x244]
mov eax, dword [eax]
mov dword [esp + 0x348], 0
mov dword [esp + 0x344], 0
mov dword [esp + 0x328], 4
mov dword [esp + 0x32c], 2
mov dword [esp + 0x330], eax
mov dword [esp + 0x334], ecx
mov dword [esp + 0x338], 0xfffffffd
lea eax, [esp + 0x344]
mov dword [esp + 8], eax
lea eax, [esp + 0x348]
mov dword [esp + 4], eax
lea eax, [esp + 0x328]
mov dword [esp], eax
call fcn.00593400
test eax, eax
je 0x4df0ea
xor eax, eax
test al, al
je 0x4df1ca
cmp esi, 7
je 0x4df0fe
imul esi, esi
and esi, 3
cmp esi, 3
jne 0x4defd7
mov esi, 9
mov eax, dword [esp + 0x344]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1d0]
mov eax, dword [eax]
mov dword [esp + 0x158], eax
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x18]
mov ecx, dword [esp + 0x1ec]
mov ecx, dword [ecx]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
test eax, eax
jne 0x4df16f
mov edx, 8
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0xdc], eax
jne 0x4e0d8b
jmp 0x4e2f80
mov dword [esp + 0xdc], eax
jmp 0x4e2f80
mov ecx, dword [esp + 0x250]
mov dword [esp + 0x258], ecx
mov ecx, dword [esp + 0x24c]
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x248]
mov dword [esp + 0x260], ecx
mov esi, dword [esp + 0x264]
cmp eax, 5
jne 0x4e0f09
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x4df939
jmp 0x4e0f09
mov esi, 0x16
mov eax, dword [esp + 0x348]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x244]
mov eax, dword [eax]
mov dword [esp + 0x2c0], eax
mov eax, dword [esp + 0x1cc]
mov eax, dword [eax]
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x2c8], 0xfffffff8
lea eax, [esp + 0x300]
mov dword [esp + 8], eax
lea eax, [esp + 0x304]
mov dword [esp + 4], eax
lea eax, [esp + 0x2b8]
mov dword [esp], eax
call fcn.00593400
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4df368
mov esi, 0x13
mov edi, dword [esp + 0x300]
mov eax, dword [esp + 0x304]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x1d0]
mov eax, dword [eax]
mov dword [esp + 0x154], eax
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x18]
mov ecx, dword [esp + 0x1ec]
mov ecx, dword [ecx]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
test eax, eax
mov dword [esp + 0x1a8], 0x70000003
je 0x4df4fb
mov dword [esp + 0x14c], edi
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x4e0ef1
mov ebx, dword [esp + 0x1ec]
mov dword [ebx], eax
mov edi, dword [esp + 0x1d0]
mov ecx, dword [edi]
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
add edx, ecx
mov dword [edi], edx
mov ecx, dword [esp + 0x154]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx], 0x21
mov eax, dword [ebx]
mov dword [eax + ecx + 4], 0xfffffff8
mov eax, dword [ebx]
mov byte [eax + ecx + 8], 0xff
mov eax, dword [ebx]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [ebx]
mov edx, dword [esp + 0x14c]
mov dword [eax + ecx + 0x10], edx
mov eax, dword [ebx]
mov dword [eax + ecx + 0x14], 0
mov esi, 0x16
mov dword [esp], edx
call fcn.00492770
mov dword [esp + 0x1a8], 0x70000003
test eax, eax
jne 0x4df507
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0xa8], eax
jne 0x4df8ce
jmp 0x4e2134
mov edi, dword [esp + 0x1c8]
mov eax, dword [esp + 0x254]
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x264]
cmp esi, 0xd
jne 0x4df422
cmp edi, 0x21
jg 0x4df468
mov dword [esp + 0x264], edx
mov dword [esp + 0x240], ecx
mov dword [esp + 0x254], eax
cmp edi, 0x11
je 0x4df513
mov edx, 0x14
cmp edi, 0x21
mov dword [esp + 0x1c8], edi
mov ebx, dword [esp + 0x22c]
mov dword [esp + 0x228], ebx
mov ecx, dword [esp + 0x20c]
mov dword [esp + 0x25c], ecx
mov edi, dword [esp + 0x208]
mov dword [esp + 0x260], edi
mov eax, dword [esp + 0x224]
mov dword [esp + 0x258], eax
mov dword [esp + 0x214], ebx
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1f4], edi
mov dword [esp + 0x1fc], eax
je 0x4df784
jmp 0x4e0080
mov dword [esp + 0x240], ecx
mov dword [esp + 0x254], eax
mov dword [esp + 0x1c8], edi
mov eax, dword [esp + 0x250]
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x248]
mov dword [esp + 0x260], eax
mov esi, edx
jmp 0x4df939
mov dword [esp + 0x264], edx
mov dword [esp + 0x240], ecx
mov dword [esp + 0x254], eax
mov eax, 0xb
cmp edi, 0x22
je 0x4df5ec
mov eax, edi
mov dword [esp + 0x1c8], eax
mov edi, 0x12
cmp eax, 0x27
mov ebx, dword [esp + 0x22c]
mov dword [esp + 0x228], ebx
mov ecx, dword [esp + 0x20c]
mov dword [esp + 0x25c], ecx
mov edx, dword [esp + 0x208]
mov dword [esp + 0x260], edx
mov eax, dword [esp + 0x224]
mov dword [esp + 0x258], eax
mov dword [esp + 0x214], ebx
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1f4], edx
mov dword [esp + 0x1fc], eax
je 0x4e2982
jmp 0x4e0080
mov dword [esp + 0x14c], edi
jmp 0x4e0ef1
mov dword [esp + 0xa8], eax
jmp 0x4e2134
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax]
cmp ecx, 3
mov edx, dword [esp + 0x278]
mov esi, dword [esp + 0x27c]
jb 0x4df53a
mov eax, 3
sub eax, ecx
xor eax, ecx
jne 0x4df567
mov eax, 0x1c
cmp ecx, 2
jne 0x4df69e
imul ecx, ecx
and ecx, 3
cmp ecx, 1
ja 0x4df69e
mov ecx, dword [esp + 0x94]
cmp dword [ecx], 0x22
jb 0x4df69e
imul eax, dword [esp + 0x254], 0x1c
mov ecx, dword [esi + eax + 0x14]
mov eax, dword [esi + eax + 0x18]
mov edx, dword [esp + 0x100]
mov dword [esp + 0xc], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 0x34
call fcn.0064be40
mov edx, eax
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp edx, eax
jne 0x4df64c
mov dword [esp + 0x280], edx
mov eax, dword [esp + 0x29c]
mov ecx, dword [eax]
mov edx, dword [esp + 0xe4]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0xec]
mov dword [edx], ecx
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0xf0]
mov dword [eax], ecx
mov ebx, dword [esp + 0x224]
jmp 0x4e0536
mov dword [esp + 0x1c8], edi
mov ecx, dword [esp + 0x22c]
mov dword [esp + 0x214], ecx
mov ecx, dword [esp + 0x20c]
mov dword [esp + 0x1f8], ecx
mov ecx, dword [esp + 0x208]
mov dword [esp + 0x1f4], ecx
mov ecx, dword [esp + 0x224]
mov dword [esp + 0x1fc], ecx
mov ebx, dword [esp + 0x26c]
mov edx, dword [esp + 0x280]
mov esi, dword [esp + 0x278]
mov edi, dword [esp + 0x27c]
jmp 0x4e17d3
mov dword [esp + 0x1c8], edi
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1f4], eax
mov ebx, dword [esp + 0x224]
mov dword [esp + 0x1fc], ebx
jmp 0x4e3b03
mov dword [esp + 0x1c8], edi
mov ecx, dword [esp + 0x22c]
mov dword [esp + 0x214], ecx
mov ecx, dword [esp + 0x20c]
mov dword [esp + 0x1f8], ecx
mov ecx, dword [esp + 0x208]
mov dword [esp + 0x1f4], ecx
mov ecx, dword [esp + 0x224]
mov dword [esp + 0x1fc], ecx
jmp 0x4e245a
mov edx, dword [esp + 0xdc]
mov edi, dword [esp + 0x1ec]
mov dword [edi], edx
mov esi, dword [esp + 0x1d0]
mov eax, dword [esi]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
adc eax, 0
mov dword [esi], eax
mov eax, dword [esp + 0x158]
lea eax, [eax*8]
lea eax, [eax + eax*2]
mov dword [edx + eax], 5
mov ecx, dword [edi]
mov dword [ecx + eax + 4], 0xfffffffd
mov ecx, dword [edi]
mov byte [ecx + eax + 8], 0xff
mov ecx, dword [edi]
mov dword [ecx + eax + 0xc], 0
mov ecx, dword [edi]
mov edx, dword [esp + 0x124]
mov dword [ecx + eax + 0x10], edx
mov ecx, dword [edi]
mov dword [ecx + eax + 0x14], 0
mov esi, 0xd
mov dword [esp], edx
call fcn.00492770
test eax, eax
je 0x4df82b
mov edx, 5
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov dword [esp + 0x164], eax
je 0x4e2ca9
cmp edx, 5
jne 0x4df7b5
mov ecx, edx
and ecx, 1
xor ecx, edx
not ecx
test ecx, ecx
je 0x4df7b5
mov eax, 4
cmp dword [esp + 0x124], 0
mov edx, dword [esp + 0x264]
jne 0x4dfd77
jmp 0x4e029a
mov esi, 0x14
mov dword [esp + 0x298], 0
mov eax, dword [esp + 0x1a0]
mov eax, dword [eax]
imul ecx, dword [esp + 0x254], 0x1c
mov edx, dword [eax + ecx + 0x14]
mov eax, dword [eax + ecx + 0x18]
mov ecx, dword [esp + 0x114]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], 0x2d
call fcn.0064be40
mov edx, eax
test edx, edx
je 0x4e0773
xor eax, eax
test al, al
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov ebx, dword [esp + 0x224]
je 0x4e3b03
jmp 0x4e0773
mov dword [esp + 0x164], eax
jmp 0x4e2ca9
mov esi, 6
mov ecx, dword [esp + 0x14c]
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
sete al
movzx eax, al
cmp ecx, eax
jne 0x4df86f
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov ebx, dword [esp + 0x278]
jmp 0x4e13ad
mov esi, 0xb
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
call fcn.007c51d0
jmp 0x4e1247
mov eax, dword [esp + 0x1ec]
mov eax, dword [eax]
mov ecx, dword [esp + 0x154]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0xa8]
mov dword [eax + ecx*8 + 0x14], edx
mov dword [esp + 0x1a8], 0
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x304]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x304], 0
mov edx, dword [esp + 0x1a8]
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp edx, eax
mov eax, dword [esp + 0x250]
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x248]
mov dword [esp + 0x260], eax
mov esi, dword [esp + 0x264]
jne 0x4de74c
mov eax, dword [esp + 0x244]
mov eax, dword [eax]
lea ecx, [esp + 0x30c]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x310]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0059a8d0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4df9db
mov dword [esp + 0x1dc], eax
mov ebx, 0xf
mov ecx, dword [esp + 0x268]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00412c70
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x178], eax
mov eax, dword [eax + 4]
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov dword [esp + 0x1c4], 0
cmp eax, ecx
mov dword [esp + 0x1c0], 0
jne 0x4e0364
jmp 0x4e0163
mov ecx, dword [esp + 0x258]
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x25c]
mov dword [esp + 0x24c], ecx
mov ecx, dword [esp + 0x260]
mov dword [esp + 0x248], ecx
mov dword [esp + 0x264], esi
mov edx, eax
jmp 0x4de74c
mov esi, dword [esp + 0x1d8]
mov ebx, dword [esi + 8]
imul edx, dword [esp + 0x240], 0x1c
mov edi, dword [ebx + edx + 4]
mov ecx, edi
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb eax, eax
and eax, 1
cmp edi, eax
lea eax, [esi + 8]
mov dword [esp + 0x1a0], eax
jne 0x4dface
cmp dword [ebx + edx + 0x14], 4
je 0x4dfbbe
mov al, 1
test al, al
je 0x4dfbbe
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x1c8], edi
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x250]
mov ebx, eax
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x248]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x240]
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x264]
mov dword [esp + 0x22c], eax
mov edx, 0x30000003
jmp 0x4e3b03
lea esi, [ebx + edx]
mov eax, dword [esi]
cmp eax, 3
jne 0x4dfc2d
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x1c8], edi
mov dword [esp + 0x284], 0xa
mov ebx, 8
mov eax, dword [esp + 0x1cc]
mov eax, dword [eax]
mov ecx, dword [esp + 0x15c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x244]
mov ecx, dword [ecx]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.004dd150
mov dword [esp + 0x280], eax
test eax, eax
mov edi, dword [esp + 0x264]
mov dword [esp + 0x228], edi
mov ecx, dword [esp + 0x24c]
mov dword [esp + 0x25c], ecx
mov edx, dword [esp + 0x248]
mov dword [esp + 0x260], edx
mov eax, dword [esp + 0x250]
mov dword [esp + 0x258], eax
mov dword [esp + 0x26c], eax
mov dword [esp + 0x224], eax
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x208], edx
mov eax, dword [esp + 0x240]
mov dword [esp + 0x254], eax
mov dword [esp + 0x22c], edi
mov ecx, dword [esp + 0x268]
mov dl, byte [esp + 0xcf]
mov edi, dword [esp + 0xc8]
jne 0x4de638
jmp 0x4dfef2
mov dword [esp + 0x1c8], edi
mov esi, 0xc
mov eax, dword [ebx + edx + 0x18]
mov dword [esp + 0x27c], ebx
mov eax, dword [eax]
mov dword [esp + 0x214], eax
mov dword [esp + 0x238], 0x30000003
mov ecx, dword [esp + 0x250]
mov dword [esp + 0x26c], ecx
mov dword [esp + 0x224], ecx
mov edx, dword [esp + 0x24c]
mov dword [esp + 0x20c], edx
mov edi, dword [esp + 0x248]
mov dword [esp + 0x208], edi
mov eax, dword [esp + 0x240]
mov ebx, dword [esp + 0x264]
jmp 0x4e3d59
cmp edi, 0x3e
jne 0x4dfcc4
cmp ecx, 1
ja 0x4dfcc4
mov dword [esp + 0x1c8], edi
mov eax, 0x14
mov ecx, 8
mov dword [esp + 0x280], 0x30000003
cmp dword [ebx + edx + 0x14], 8
mov dword [esp + 0x27c], ebx
mov ebx, dword [esp + 0x250]
mov dword [esp + 0x26c], ebx
mov dword [esp + 0x224], ebx
mov edx, dword [esp + 0x24c]
mov dword [esp + 0x20c], edx
mov edx, dword [esp + 0x248]
mov dword [esp + 0x208], edx
mov edx, dword [esp + 0x240]
mov dword [esp + 0x254], edx
mov edx, dword [esp + 0x264]
mov dword [esp + 0x22c], edx
mov edx, 0x30000003
je 0x4e02c4
jmp 0x4e3adc
mov esi, 0xd
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
sub eax, ecx
cmp eax, 1
ja 0x4dfe12
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x4dfe12
cmp edi, 3
jne 0x4dfe92
mov eax, 0xc
mov ecx, edi
or ecx, 2
mov edx, edi
mov dword [esp + 0x1c8], edi
xor edx, 2
add edx, ecx
mov dword [esp + 0x270], ebx
mov ecx, dword [esp + 0x250]
mov dword [esp + 0x224], ecx
mov ecx, dword [esp + 0x24c]
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x248]
mov dword [esp + 0x208], ecx
mov ecx, dword [esp + 0x240]
mov dword [esp + 0x254], ecx
mov edx, dword [esp + 0x264]
mov dword [esp + 0x22c], edx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x27c], ebx
je 0x4dff79
mov dword [esp + 0x264], edx
cmp eax, 4
je 0x4dfe5f
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x4dfe5f
mov esi, 9
mov ecx, dword [esp + 0x268]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x208]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x20c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], 0x80dc4c
call fcn.0043ab10
mov eax, dword [esp + 0x30c]
mov eax, dword [eax + 8]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov ebx, dword [esp + 0x278]
mov edi, dword [esp + 0x288]
jmp 0x4e18b5
mov dword [esp + 0x27c], ebx
mov eax, dword [esp + 0x250]
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x248]
mov dword [esp + 0x208], eax
mov ecx, dword [esp + 0x240]
mov eax, ecx
mov edx, dword [esp + 0x264]
mov dword [esp + 0x22c], edx
jmp 0x4df384
mov edi, 0x15
mov eax, dword [esp + 0x124]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x164]
mov dword [esp], eax
call fcn.007c51d0
mov edx, dword [esp + 0x264]
jmp 0x4e011f
mov dword [esp + 0x1c8], edi
mov dword [esp + 0x270], ebx
mov dword [esp + 0x27c], ebx
mov eax, dword [esp + 0x250]
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x248]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x240]
mov dword [esp + 0x254], eax
mov edx, dword [esp + 0x264]
mov dword [esp + 0x22c], edx
jmp 0x4dff79
mov dword [esp + 0xc8], edi
mov byte [esp + 0xcf], dl
mov dword [esp + 0x268], ecx
cmp ebx, 7
jne 0x4e0080
mov eax, ebx
or eax, 2
xor ebx, 2
add ebx, eax
mov eax, dword [esp + 0x228]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x260]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x274], eax
jne 0x4e2fc6
jmp 0x4e0080
mov dword [esp + 0x264], edx
imul eax, dword [esp + 0x254], 0x1c
mov edi, dword [esp + 0x27c]
add eax, edi
mov ecx, dword [esp + 0x1cc]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x15c]
mov esi, dword [edx]
mov edx, dword [esp + 0x244]
mov edx, dword [edx]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x190]
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0x11
xor ecx, ecx
call fcn.00522bc0
mov dword [esp + 0x280], eax
test eax, eax
mov dword [esp + 0x108], edi
mov ebx, dword [esp + 0x224]
mov dword [esp + 0x26c], ebx
mov ecx, dword [esp + 0x270]
mov dword [esp + 0x27c], ecx
mov edi, dword [esp + 0x22c]
mov dword [esp + 0x228], edi
mov ecx, dword [esp + 0x20c]
mov dword [esp + 0x25c], ecx
mov edx, dword [esp + 0x208]
mov dword [esp + 0x260], edx
mov dword [esp + 0x258], ebx
mov esi, dword [esp + 0x28c]
mov dword [esp + 0x284], esi
mov dword [esp + 0x214], edi
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1f4], edx
mov dword [esp + 0x1fc], ebx
mov edx, eax
jne 0x4e3b03
mov ebx, 0xb
mov eax, dword [esp + 0x254]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x30c]
cmp ecx, dword [eax + 4]
jb 0x4e0310
mov dword [esp + 0x1d8], eax
mov edi, 0xe
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
mov dword [esp + 0x240], ecx
mov ecx, dword [esp + 0x228]
mov dword [esp + 0x214], ecx
mov edx, dword [esp + 0x25c]
mov dword [esp + 0x1f8], edx
mov eax, dword [esp + 0x260]
mov dword [esp + 0x1f4], eax
mov esi, dword [esp + 0x258]
mov dword [esp + 0x1fc], esi
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x250], esi
mov dword [esp + 0x24c], edx
mov dword [esp + 0x248], eax
mov edx, ecx
mov esi, ecx
je 0x4e0364
cmp edi, 0xe
jne 0x4e029a
mov eax, edi
not eax
and eax, 1
add eax, edi
mov eax, dword [esp + 0x250]
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x248]
mov dword [esp + 0x260], eax
mov esi, edx
je 0x4e029a
mov ebx, 6
mov edi, 3
mov ecx, dword [esp + 0x268]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00412cb0
mov eax, dword [esp + 0x244]
mov eax, dword [eax]
lea ecx, [esp + 0x2c0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x2c0], eax
mov eax, dword [esp + 0x1cc]
mov eax, dword [eax]
lea ecx, [esp + 0x2c4]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x2c4], eax
lea eax, [esp + 0x2c8]
mov dword [esp + 0xf4], eax
mov dword [esp + 0x2c8], 0xfffffffe
lea ecx, [esp + 0x2b8]
mov dword [esp + 0x120], ecx
lea eax, [esp + 0x300]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x2d0]
mov dword [esp + 0xc], eax
mov dword [esp], ecx
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 0
call fcn.005938f0
mov dword [esp + 0x280], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x258]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x260]
mov dword [esp + 0x248], eax
mov dword [esp + 0x264], esi
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0x26c], eax
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
je 0x4e145c
jmp 0x4e0f41
mov dword [esp + 0x264], edx
mov ecx, 9
mov eax, dword [esp + 0x1ec]
mov eax, dword [eax]
mov edx, dword [esp + 0x158]
lea edx, [edx + edx*2]
mov esi, dword [esp + 0x164]
mov dword [eax + edx*8 + 0x14], esi
cmp ecx, 8
je 0x4e02d7
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
jne 0x4df1ca
imul eax, dword [esp + 0x254], 0x1c
mov ecx, dword [esp + 0x27c]
mov eax, dword [ecx + eax + 0x18]
mov ecx, dword [eax]
mov dword [esp + 0x25c], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x228], eax
jmp 0x4e0b78
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x240], ecx
mov esi, dword [esp + 0x228]
mov dword [esp + 0x214], esi
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x260]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c0], esi
cmp ebx, 0xb
jne 0x4e03ac
mov eax, ebx
and eax, 1
xor eax, ebx
not eax
test eax, eax
je 0x4e03ac
mov eax, dword [esp + 0x258]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x260]
mov dword [esp + 0x248], eax
mov dword [esp + 0x264], esi
jmp 0x4dfa13
mov ecx, 0xf
lea eax, [esp + 0x29c]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x268]
lea edx, [eax + 0xe8]
mov dword [esp + 0xe4], edx
lea edx, [eax + 0xa8]
mov dword [esp + 0xec], edx
lea edx, [eax + 0xa4]
mov dword [esp + 0xf0], edx
lea edx, [esp + 0x298]
mov dword [esp + 0x114], edx
lea eax, [eax + 0xb0]
mov dword [esp + 0x104], eax
mov dword [esp + 0x250], 0
mov eax, dword [esp + 0x178]
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x24c], 0
mov dword [esp + 0x248], 0
mov dword [esp + 0x240], 0
mov dword [esp + 0x264], 0
jmp 0x4e0ca9
mov dword [esp + 0x27c], esi
mov dword [esp + 0x278], edx
mov dword [esp + 4], 0x14
mov dword [esp], 1
call fcn.00493840
mov ebx, eax
test ebx, ebx
mov edx, 0x70000003
je 0x4e06fc
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4e06fc
mov eax, dword [esp + 0x30c]
mov eax, dword [eax + 8]
imul ecx, dword [esp + 0x254], 0x1c
mov eax, dword [eax + ecx + 0x18]
mov ecx, dword [eax]
mov dword [ebx], ecx
mov edx, dword [esp + 0xd4]
mov edx, dword [edx]
cmp edx, 2
jne 0x4e04f0
mov esi, edx
not esi
and esi, 1
add esi, edx
je 0x4e04f9
mov edx, dword [esp + 0x94]
cmp dword [edx], 0x21
mov edi, dword [esp + 0x1c8]
jne 0x4e0500
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0xec]
mov dword [edx], ecx
mov ecx, dword [ebx]
jmp 0x4e0500
mov edi, dword [esp + 0x1c8]
jmp 0x4e0500
mov edi, dword [esp + 0x1c8]
mov eax, dword [eax + 8]
mov dword [ebx + 8], eax
mov dword [ebx + 0x10], 0
mov eax, dword [esp + 0xe4]
mov dword [eax], ecx
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0xf0]
mov dword [eax], ecx
mov eax, dword [esp + 0x100]
mov dword [eax], ebx
mov dword [esp + 0x280], 0x70000003
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
cmp eax, 7
jb 0x4e05fb
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 3
je 0x4e05fb
mov esi, 0x15
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
cmp eax, 7
jne 0x4e0666
mov dword [esp + 0x1c8], edi
mov eax, dword [esp + 0x94]
mov eax, dword [eax]
cmp eax, 0x63
ja 0x4e066d
mov edi, eax
or edi, 2
xor eax, 2
add eax, edi
je 0x4e066d
mov edi, 7
movzx edx, dl
cmp ecx, edx
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1f4], eax
mov eax, ebx
mov dword [esp + 0x28c], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x26c], eax
mov dword [esp + 0x284], eax
je 0x4e3970
jmp 0x4e06ac
mov dword [esp + 0x1c8], edi
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ecx, eax
mov dword [esp + 0x28c], ebx
mov dword [esp + 0x284], ebx
mov dword [esp + 0x26c], ebx
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x260], eax
mov dword [esp + 0x258], ebx
jne 0x4e0080
jmp 0x4e070f
mov dword [esp + 0x1c8], edi
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x28c], ebx
mov dword [esp + 0x1fc], ebx
mov dword [esp + 0x26c], ebx
cmp esi, 9
je 0x4dee15
xor eax, eax
test al, al
jne 0x4dee15
mov eax, dword [esp + 0x214]
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0x258], eax
jmp 0x4e0080
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
jmp 0x4e3b03
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x26c], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax]
mov ecx, dword [esp + 0xf0]
mov dword [ecx], eax
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov ecx, dword [esp + 0x22c]
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x20c]
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x208]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x258], eax
jmp 0x4e0080
cmp esi, 5
je 0x4e07b0
imul esi, esi
and esi, 3
cmp esi, 3
je 0x4e07b0
mov eax, dword [esp + 0x298]
mov ecx, dword [eax]
movsd xmm0, qword [ecx]
mov ecx, dword [esp + 0x104]
movsd qword [ecx], xmm0
mov dword [esp], eax
mov dword [esp + 4], 0x2d
call fcn.0064bf00
jmp 0x4e0b4e
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x274], eax
jmp 0x4e1b39
mov eax, dword [esp + 0x294]
mov dword [esp + 0x8c], eax
test eax, eax
je 0x4e0b4e
xor eax, eax
test al, al
jne 0x4e0b4e
mov edi, 1
mov esi, 9
mov ecx, dword [esp + 0x268]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0042d060
mov edx, dword [esp + 0x8c]
mov ecx, dword [edx]
mov dword [esp + 0x64], ecx
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp ecx, eax
mov dword [esp + 0x118], edx
je 0x4e1f31
mov eax, edi
or eax, 2
mov ecx, edi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp edi, eax
jne 0x4e0884
mov dword [esp + 0x278], ebx
mov eax, dword [esp + 0x8c]
lea eax, [eax + 4]
mov dword [esp + 0x110], eax
xor eax, eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x1e8], ecx
mov edi, dword [esp + 0x288]
jmp 0x4e0897
mov dword [esp + 0x278], ebx
mov edi, dword [esp + 0x28c]
jmp 0x4e1161
mov ecx, 0x1e
mov edx, dword [esp + 0x110]
mov edx, dword [edx]
mov dword [esp + 0x1ac], edx
mov esi, eax
shl esi, 6
add esi, edx
mov dword [esp + 0x160], esi
mov edx, dword [esp + 0x1e8]
mov dword [esp + 0x180], edx
mov ebx, eax
mov esi, dword [esp + 0x28c]
mov eax, dword [esp + 0x280]
mov dword [esp + 0x238], eax
jne 0x4e1e83
jmp 0x4e0b0b
mov dword [esp + 0x288], edi
mov eax, 6
mov edi, ebx
shl ebx, 6
mov ecx, dword [esp + 0x1ac]
cmp dword [ecx + ebx + 0x24], 0
je 0x4e09f4
mov dword [esp + 0x284], esi
lea eax, [ecx + ebx + 0x24]
mov dword [esp + 0x28c], eax
mov esi, ecx
mov dword [esp + 0x260], 0x10
call fcn.0042b980
mov ecx, eax
mov dword [esp + 0x184], ecx
mov dword [ecx + 0x34], edi
mov dword [esp + 0x200], edi
mov eax, dword [esp + 0x268]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
mov eax, dword [esp + 0x244]
mov eax, dword [eax]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 0
mov eax, dword [esp + 0x160]
movsd xmm0, qword [eax]
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esi + ebx + 8]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esi + ebx + 0x10]
movsd qword [ecx + 0x20], xmm0
movsd xmm0, qword [esi + ebx + 0x18]
movsd qword [ecx + 0x28], xmm0
mov eax, dword [esp + 0x28c]
mov eax, dword [eax]
add ecx, 0x38
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], pe_nt_image_headers32
call fcn.004959f0
mov ecx, 8
lea eax, [esi + ebx + 0x28]
mov dword [esp + 0xc4], eax
mov eax, dword [esi + ebx + 0x28]
mov dword [esp + 0xc0], eax
test eax, eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x1e8], eax
mov edx, dword [esp + 0x238]
jne 0x4e14e2
jmp 0x4e1ada
mov dword [esp + 0x200], edi
mov dword [esp + 0x28c], esi
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x1f8]
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x1f4]
mov dword [esp + 0x260], ecx
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x258], ecx
mov ecx, dword [esp + 0x238]
mov dword [esp + 0x280], ecx
mov ecx, dword [esp + 0x180]
mov dword [esp + 0x1e8], ecx
mov ecx, dword [esp + 0x268]
mov dl, byte [esp + 0xcf]
mov edi, dword [esp + 0xc8]
jmp 0x4e2678
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x274], eax
mov dword [esp + 0x280], edx
je 0x4e1b39
mov ebx, dword [esp + 0x200]
mov eax, ebx
shl eax, 6
mov ecx, dword [esp + 0x1ac]
mov eax, dword [ecx + eax + 0x2c]
mov esi, dword [esp + 0x184]
mov dword [esi + 0x1c8], eax
mov dword [esp], esi
mov edi, edx
call fcn.00412100
mov dword [esp], esi
call fcn.0042b9c0
mov eax, dword [esp + 0x118]
mov edx, dword [eax]
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x280], edi
mov edi, dword [esp + 0x288]
lea eax, [ebx + 1]
cmp eax, edx
jae 0x4e0b2e
mov dword [esp + 0x1e8], edx
mov ecx, eax
not ecx
and ecx, 1
lea ecx, [ebx + ecx + 1]
test ecx, ecx
jne 0x4e0897
jmp 0x4e0b35
mov dword [esp + 0x1e8], edx
mov esi, 0x15
mov eax, dword [esp + 0x294]
mov dword [esp], eax
call fcn.006275f0
jmp 0x4e35b7
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x224]
mov dword [esp + 0x258], eax
jmp 0x4e0080
mov dword [esp + 0x290], 0
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
cmp eax, 2
jb 0x4e0bec
xor ecx, ecx
test cl, cl
jne 0x4e0bec
cmp eax, 2
sete cl
imul eax, eax
and eax, 3
cmp eax, 3
sete dl
or dl, cl
mov eax, dword [esp + 0x94]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx edx, dl
cmp edx, 1
jne 0x4e0d0e
movzx ecx, cl
cmp eax, ecx
jne 0x4e0d0e
mov eax, dword [esp + 0x1a0]
mov eax, dword [eax]
imul ecx, dword [esp + 0x254], 0x1c
mov esi, dword [eax + ecx + 0x18]
mov dword [esp + 4], 0x40
mov dword [esp], 1
call fcn.00493840
test eax, eax
mov edx, 0x70000003
je 0x4e0cfb
xor ecx, ecx
test cl, cl
jne 0x4e0cfb
mov ecx, 0xb
movsd xmm0, qword [esi]
movsd qword [eax], xmm0
movsd xmm0, qword [esi + 8]
movsd qword [eax + 8], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x18]
movsd qword [eax + 0x18], xmm0
mov edx, dword [esi + 0x20]
mov dword [eax + 0x20], edx
mov edx, dword [esi + 0x24]
mov dword [eax + 0x24], edx
mov edx, dword [esi + 0x28]
mov dword [eax + 0x28], edx
mov edx, dword [esi + 0x2c]
mov dword [eax + 0x2c], edx
mov dword [eax + 0x30], 0
mov edx, dword [esi + 0x30]
mov dword [eax + 0x34], edx
mov edx, dword [esi + 0x34]
mov dword [eax + 0x38], edx
mov dword [esp + 0xe0], 0x70000003
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x224]
mov dword [esp + 0xac], eax
cmp ecx, 0xb
jne 0x4dfa13
mov eax, dword [esp + 0xb8]
lea ecx, [eax + 0x34]
mov dword [esp + 0x194], ecx
cmp dword [eax + 0x34], 0
je 0x4e0ce8
lea eax, [eax + 0x38]
mov dword [esp + 0x168], eax
xor edi, edi
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x170], eax
jmp 0x4e0dd0
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x170], eax
jmp 0x4e0ec3
mov eax, dword [esp + 0x224]
mov dword [esp + 0xac], eax
jmp 0x4e2828
mov esi, 0x18
mov eax, dword [esp + 0x1a0]
mov eax, dword [eax]
imul ecx, dword [esp + 0x254], 0x1c
mov edx, dword [eax + ecx + 0x14]
mov eax, dword [eax + ecx + 0x18]
lea ecx, [esp + 0x290]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00627650
mov edx, eax
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp edx, eax
jne 0x4e0da8
mov dword [esp + 0xe0], edx
mov edx, 0x11
mov dword [esp + 0xb4], 0
mov eax, dword [esp + 0x290]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x224]
mov dword [esp + 0xac], eax
cmp edx, 8
jne 0x4e0cb2
mov ecx, 3
sub ecx, edx
xor ecx, edx
jne 0x4df1ca
jmp 0x4e0cb2
mov ecx, dword [esp + 0x27c]
mov ebx, dword [esp + 0x278]
mov edi, dword [esp + 0x280]
mov eax, dword [esp + 0x224]
mov dword [esp + 0xac], eax
jmp 0x4e280a
mov ebx, 2
mov eax, dword [esp + 0x168]
mov eax, dword [eax]
mov eax, dword [eax + edi*4]
mov edx, dword [esp + 0x268]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00427270
mov esi, eax
test esi, esi
je 0x4e29d8
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4e29d8
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x4e0e2b
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x4e0e7d
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x268]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 0x39
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
xor edx, edx
call fcn.00509b10
mov ebx, 9
mov dword [esp], esi
call fcn.004234b0
jmp 0x4e1558
mov ecx, dword [esp + 0x230]
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx edi, al
add edi, ecx
mov eax, dword [esp + 0x194]
cmp edi, dword [eax]
jae 0x4e0ec3
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x4e0dd0
mov edx, dword [esp + 0x170]
test edx, edx
jne 0x4e0ee4
mov eax, 0x14
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jb 0x4df17b
mov esi, 0xe
mov dword [esp], edx
call fcn.004936c0
cmp esi, 0xe
jne 0x4df8ce
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x4df8ce
mov eax, dword [esp + 0x290]
test eax, eax
je 0x4e0b4e
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
je 0x4e0b4e
mov dword [esp], eax
call fcn.00627720
mov dword [esp + 0x290], 0
jmp 0x4e0b4e
cmp edi, 3
jne 0x4e290c
mov eax, edi
and eax, 1
xor eax, edi
not eax
test eax, eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x274], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov edx, dword [esp + 0x280]
mov ebx, dword [esp + 0x26c]
jne 0x4e3b03
mov eax, dword [esp + 0x2d0]
cmp eax, 0x636f6964
je 0x4e0fe2
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4e0fe2
mov eax, 0x18
mov dword [esp + 0x280], 0x7000002f
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x28c], ecx
mov ebx, dword [esp + 0x234]
mov ecx, dword [esp + 0x268]
jmp 0x4e1213
mov edi, 2
lea eax, [esp + 0x2e4]
mov ecx, dword [esp + 0x268]
lea ecx, [ecx + 0x1b0]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 8
call fcn.007c51d0
mov ecx, dword [esp + 0x130]
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
sete al
movzx eax, al
cmp ecx, eax
mov edx, ecx
mov eax, dword [esp + 0x234]
mov ebx, eax
mov dword [esp + 0x280], ecx
mov dword [esp + 0x26c], eax
jne 0x4e3b03
cmp edi, 2
jne 0x4e115a
mov eax, edi
and eax, 1
xor eax, edi
not eax
test eax, eax
je 0x4e115a
mov esi, 6
mov ecx, dword [esp + 0x268]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004124f0
mov eax, dword [esp + 0x15c]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4e10c3
cmp dword [esp + 0x190], 0
jne 0x4e11d8
mov esi, 0x10
mov ecx, dword [esp + 0x190]
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je 0x4e11d8
cmp esi, 6
je 0x4e10d2
xor eax, eax
test al, al
je 0x4e1744
mov esi, 0xc
mov eax, dword [esp + 0x244]
mov eax, dword [eax]
mov ecx, dword [esp + 0xfc]
mov dword [ecx], eax
mov eax, dword [esp + 0x1cc]
mov eax, dword [eax]
mov ecx, dword [esp + 0xf8]
mov dword [ecx], eax
mov edi, 9
mov eax, dword [esp + 0xf4]
mov dword [eax], 0xffffffce
lea eax, [esp + 0x2f4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.005953b0
mov dword [esp + 0x21c], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov edx, dword [esp + 0x1f0]
mov ebx, dword [esp + 0x278]
jne 0x4e3889
jmp 0x4e304d
mov edi, dword [esp + 0x284]
mov esi, 0x16
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10
mov dword [esp], 0
lea ecx, [esp + 0x310]
xor edx, edx
call fcn.00522bc0
mov edx, eax
test edx, edx
mov dword [esp + 0x28c], edi
mov dword [esp + 0x1dc], edx
jne 0x4de74c
jmp 0x4e2366
mov eax, dword [esp + 0x190]
mov edx, dword [eax]
test edx, edx
je 0x4e1207
mov eax, 0x15
mov ecx, edx
mov dword [esp + 0x144], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x4e2a8a
jmp 0x4e1744
mov dword [esp + 0x144], edx
jmp 0x4e1744
cmp eax, 0xa
jne 0x4e126b
mov dword [esp + 0x268], ecx
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x4e1272
mov dword [esp + 0x26c], ebx
mov esi, 0xf
mov eax, dword [esp + 0x1b4]
cmp dword [eax], 0
je 0x4e2dbb
cmp esi, 0xb
jne 0x4e128c
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
je 0x4e128c
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
jmp 0x4df897
mov dword [esp + 0x268], ecx
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov edx, dword [esp + 0x280]
jmp 0x4e3b03
mov eax, dword [esp + 0x288]
mov edx, eax
shl edx, 6
mov eax, dword [esp + 0x220]
mov eax, dword [eax + edx + 0x14]
test eax, eax
jne 0x4e12d5
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 1
ja 0x4e12d5
mov eax, dword [esp + 0x220]
lea esi, [eax + edx + 0x14]
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [esi], eax
mov dword [esp + 0x78], eax
mov esi, 9
mov ecx, dword [eax]
test ecx, ecx
je 0x4e130a
mov edi, 0x10
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
jne 0x4e0f41
jmp 0x4e2849
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
jmp 0x4e2849
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
je 0x4e3056
mov dword [esp + 0x1f0], edx
mov esi, 0x16
lea eax, [esp + 0x300]
mov dword [esp + 8], eax
lea eax, [esp + 0x304]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.00593400
mov dword [esp + 0x150], 0
test eax, eax
je 0x4e1398
mov edi, 0xa
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov dword [esp + 0x280], eax
mov ecx, dword [esp + 0x234]
mov dword [esp + 0x26c], ecx
jne 0x4e399a
jmp 0x4e13ad
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x234]
mov dword [esp + 0x26c], eax
mov dword [esp + 0x278], ebx
cmp esi, 6
je 0x4df897
xor eax, eax
test al, al
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov edi, dword [esp + 0x230]
je 0x4e1577
jmp 0x4df897
mov ecx, 0x18
mov eax, dword [esp + 0x138]
mov edx, dword [eax + 4]
test edx, edx
je 0x4e140d
mov eax, edx
mov dword [esp + 0x144], edx
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x4e1419
jmp 0x4e1d4a
mov dword [esp + 0x144], edx
jmp 0x4e1d4a
mov ebx, 1
mov ecx, dword [esp + 0x144]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x13c], eax
mov eax, dword [eax]
cmp eax, 0xffffffce
jne 0x4e1455
mov edx, ecx
mov esi, 0x12
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x138], edx
jne 0x4e15d5
jmp 0x4e145c
mov dword [esp + 0x138], ecx
mov eax, 3
sub eax, ebx
xor eax, ebx
setne al
movzx eax, al
cmp ebx, eax
je 0x4e13e1
jmp 0x4e0f98
mov edi, dword [esp + 0x13c]
test edi, edi
je 0x4e1685
mov eax, dword [edi + 8]
mov dword [esp + 0x300], eax
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00493840
mov dword [esp + 0xbc], eax
mov dword [esp + 0x304], eax
test eax, eax
mov edx, 0x70000003
je 0x4e1731
mov ecx, 9
xor eax, eax
test al, al
mov dword [esp + 0x11c], edi
mov eax, dword [esp + 0x234]
mov ebx, eax
mov dword [esp + 0x26c], eax
jne 0x4e3b03
mov dword [esp + 0x238], edx
cmp ecx, 8
je 0x4e1691
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x4e1691
mov ebx, 0xa
mov eax, dword [esp + 0x300]
mov esi, dword [esp + 0x11c]
mov ecx, dword [esi + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
call fcn.007c51d0
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x238]
mov dword [esp + 0x280], eax
mov dword [esp + 0x150], esi
mov edi, dword [esp + 0x230]
cmp ebx, 9
je 0x4e1679
imul ebx, ebx
and ebx, 3
cmp ebx, 3
mov dword [esp + 0x230], edi
je 0x4e0e8f
mov esi, 8
mov eax, dword [esp + 0x300]
mov ecx, dword [esp + 0x304]
lea edx, [esp + 0x308]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0062d620
mov edx, eax
test edx, edx
mov dword [esp + 0x230], edi
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x10c], eax
mov ebx, dword [esp + 0x234]
jne 0x4e3b03
cmp esi, 8
je 0x4e15e9
imul esi, esi
and esi, 3
cmp esi, 2
jne 0x4e1478
mov ecx, dword [esp + 0x308]
mov eax, dword [ecx]
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp eax, edx
je 0x4e1755
mov eax, dword [esp + 0x268]
lea edx, [eax + 0xa4]
mov dword [esp + 0x16c], edx
lea edx, [eax + 0xa8]
mov dword [esp + 0x1b4], edx
lea eax, [eax + 0x1b8]
mov dword [esp + 0x12c], eax
xor edi, edi
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov ebx, dword [esp + 0x278]
mov dword [esp + 0x210], 0
mov dword [esp + 0x21c], 0
jmp 0x4e178b
mov dword [esp + 0x230], edi
jmp 0x4e0e8f
mov dword [esp + 0x11c], edi
jmp 0x4e1744
mov ecx, 0xa
mov eax, dword [esp + 0xc0]
mov eax, dword [eax]
mov edx, dword [esp + 0x184]
mov dword [edx + 0x1b8], eax
mov esi, dword [esp + 0xc4]
mov eax, dword [esi]
mov ax, word [eax + 4]
mov word [edx + 0x1bc], ax
mov eax, dword [esi]
mov ax, word [eax + 6]
mov word [edx + 0x1be], ax
mov eax, dword [esi]
mov al, byte [eax + 8]
mov byte [edx + 0x1c0], al
mov eax, dword [esi]
mov al, byte [eax + 9]
mov byte [edx + 0x1c1], al
mov eax, dword [esi]
mov al, byte [eax + 0xa]
mov byte [edx + 0x1c2], al
mov eax, dword [esi]
mov al, byte [eax + 0xb]
mov byte [edx + 0x1c3], al
mov eax, dword [esi]
mov al, byte [eax + 0xc]
mov byte [edx + 0x1c4], al
mov eax, dword [esi]
mov al, byte [eax + 0xd]
mov byte [edx + 0x1c5], al
mov eax, dword [esi]
mov al, byte [eax + 0xe]
mov byte [edx + 0x1c6], al
mov eax, dword [esi]
mov al, byte [eax + 0xf]
mov byte [edx + 0x1c7], al
mov esi, dword [esp + 0x204]
jmp 0x4e2be4
mov dword [esp + 0x11c], edi
mov ebx, dword [esp + 0x234]
jmp 0x4e3b03
mov eax, dword [esp + 0x268]
mov dword [eax + 0x1c0], 1
mov dword [esp + 0x21c], 0
mov ecx, dword [esp + 0x268]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00412560
mov edx, dword [esp + 0x21c]
mov ebx, dword [esp + 0x234]
jmp 0x4e3b03
mov esi, dword [esp + 0x29c]
test esi, esi
jne 0x4e1862
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x4e1862
mov dword [esp + 0x188], esi
mov dword [esp + 0x288], edi
mov eax, 5
mov edx, 0x70000031
mov esi, ebx
mov edi, dword [esp + 0x270]
mov ebx, dword [esp + 0x234]
cmp eax, 5
je 0x4e1926
imul eax, eax
and eax, 3
cmp eax, 3
je 0x4e1926
mov dword [esp + 0x27c], edi
mov dword [esp + 0x278], esi
mov dword [esp + 0x280], edx
mov dword [esp + 0x26c], ebx
mov esi, 0xa
mov dword [esp + 0x294], 0
mov eax, dword [esp + 0x1a0]
mov eax, dword [eax]
imul ecx, dword [esp + 0x254], 0x1c
mov edx, dword [eax + ecx + 0x14]
mov eax, dword [eax + ecx + 0x18]
lea ecx, [esp + 0x294]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006274b0
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4e0b4e
jmp 0x4e2a24
mov eax, 0x14
mov edx, dword [ecx + 8]
mov dword [esp + 0x134], edx
mov ecx, edi
shl ecx, 6
mov ecx, dword [edx + ecx + 0x10]
test ecx, ecx
je 0x4e1939
mov dword [esp + 0x280], 0x70000031
mov dword [esp + 0x188], esi
mov esi, 0xf
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
mov ecx, dword [esp + 0x234]
mov dword [esp + 0x26c], ecx
je 0x4e1f93
cmp esi, 9
je 0x4e195e
mov dword [esp + 0x288], edi
xor eax, eax
test al, al
mov dword [esp + 0x278], ebx
mov eax, dword [esp + 0x108]
mov dword [esp + 0x27c], eax
mov edx, dword [esp + 0x264]
jne 0x4dff79
mov dword [esp + 0x274], ebx
mov dword [esp + 0x264], edx
mov eax, dword [esp + 0x188]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x4e1986
mov eax, 8
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
mov dword [esp + 0xa0], edx
jne 0x4e3255
jmp 0x4e1b39
mov dword [esp + 0x27c], edi
mov dword [esp + 0x278], esi
jmp 0x4e06fc
mov dword [esp + 0x280], 0x70000031
mov dword [esp + 0x188], esi
mov ecx, dword [esp + 0x234]
mov dword [esp + 0x26c], ecx
jmp 0x4e1f93
mov dword [esp + 0x288], edi
mov dword [esp + 0x278], ebx
mov eax, dword [esp + 0x108]
mov dword [esp + 0x27c], eax
mov edx, dword [esp + 0x264]
jmp 0x4dff79
mov dword [esp + 0xa0], edx
jmp 0x4e1b39
mov esi, 5
mov ecx, edi
shl ecx, 6
mov eax, dword [esp + 0x134]
mov eax, dword [eax + ecx + 0x18]
test eax, eax
je 0x4e19e6
xor edx, edx
test dl, dl
jne 0x4e19e6
mov edx, dword [esp + 0x134]
cmp dword [edx + ecx + 0x1c], 0
je 0x4e1a07
mov dword [esp + 0x288], edi
mov ecx, 0x17
cmp dword [eax], 5
je 0x4e1a1a
xor eax, eax
test al, al
mov edx, dword [esp + 0x264]
je 0x4e18eb
jmp 0x4e1cb9
mov dword [esp + 0x288], edi
mov eax, dword [esp + 0x270]
mov dword [esp + 0x27c], eax
mov dword [esp + 0x278], ebx
jmp 0x4e0773
mov dword [esp + 0x274], ebx
mov dword [esp + 0x288], edi
jmp 0x4e1b39
mov edx, dword [esp + 0x264]
jmp 0x4e1cb9
mov edi, dword [esp + 0x288]
mov eax, dword [esp + 0xa0]
cmp dword [eax + edi*4], 3
je 0x4e1a44
mov al, 1
test al, al
jne 0x4e1b39
mov esi, 6
mov eax, edi
shl eax, 6
mov edx, dword [esp + 0x134]
mov ecx, dword [edx + eax + 4]
mov eax, dword [edx + eax + 0xc]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x268]
mov dword [esp], eax
call fcn.00410fa0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov ecx, dword [esp + 0x274]
jne 0x4e1b1d
mov dword [esp + 0x260], 0xa
mov eax, dword [esp + 0x29c]
mov eax, dword [eax + 0x10]
mov dword [eax + edi*4], 0
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov edx, dword [esp + 0x280]
mov eax, dword [esp + 0x270]
mov dword [esp + 0x27c], eax
mov dword [esp + 0x278], ecx
mov eax, dword [esp + 0x260]
cmp eax, 0xa
jne 0x4e0a70
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x274], eax
mov dword [esp + 0x280], edx
jmp 0x4e1b39
mov eax, dword [esp + 0x270]
mov dword [esp + 0x27c], eax
mov ebx, ecx
mov edx, dword [esp + 0x1dc]
jmp 0x4dea7d
call fcn.00449410
mov ecx, dword [esp + 0x29c]
mov ecx, dword [ecx + 0x10]
mov edx, 3
sub edx, ecx
xor edi, edi
xor edx, ecx
mov esi, dword [esp + 0x288]
lea edx, [ecx + esi*4]
cmove edi, edx
test ecx, ecx
cmovne edi, edx
mov dword [esp + 0x1d4], edi
mov ecx, dword [esp + 0x308]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x220], ecx
shl esi, 6
mov ecx, dword [ecx + esi + 0x10]
test ecx, ecx
jne 0x4e1c4c
mov edx, ecx
or edx, 2
mov edi, ecx
xor edi, 2
add edi, edx
je 0x4e1c4c
mov ecx, 0xd
mov edx, dword [esp + 0x220]
mov edx, dword [edx + esi + 0x18]
test edx, edx
je 0x4e1c9d
xor ebx, ebx
test bl, bl
jne 0x4e1c9d
mov ecx, 4
mov edi, dword [esp + 0x220]
mov esi, dword [edi + esi + 0x1c]
test esi, esi
je 0x4e1ce5
mov dword [esp + 0xa4], esi
imul esi, esi
and esi, 3
cmp esi, 3
je 0x4e1cec
mov esi, 0x11
cmp dword [esp + 0x1d4], 0
je 0x4e1cff
mov ecx, 0xa
test eax, eax
mov edi, dword [esp + 0x270]
jne 0x4e1d19
mov esi, eax
and esi, 1
xor esi, eax
not esi
test esi, esi
je 0x4e1d19
mov ecx, 0xf
mov eax, 9
cmp dword [edx], 0
mov edx, dword [esp + 0x210]
mov dword [esp + 0x23c], edx
je 0x4e2297
jmp 0x4e1f50
mov edx, dword [ecx]
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 3
sete cl
mov eax, dword [esp + 0x1d4]
test eax, eax
mov edi, dword [esp + 0x270]
mov ebx, dword [esp + 0x274]
je 0x4e1f00
imul eax, eax
and eax, 3
cmp eax, 1
ja 0x4e1f00
mov eax, 0x10
movzx ecx, cl
cmp edx, ecx
jne 0x4e2731
jmp 0x4e1f00
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
mov edx, dword [esp + 0x264]
mov ebx, dword [esp + 0x274]
mov dword [esp + 0x274], ebx
mov dword [esp + 0x264], edx
cmp ecx, 0xd
jne 0x4e1b39
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
jne 0x4e2fc6
jmp 0x4e1b39
mov dword [esp + 0xa4], esi
mov ebx, dword [esp + 0x270]
mov edx, dword [esp + 0x274]
jmp 0x4e24f9
mov edx, dword [esp + 0x280]
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
jmp 0x4e2542
mov dword [esp + 0x27c], edi
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x274]
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
cmp ecx, 0xa
jne 0x4e1744
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
je 0x4e1744
mov eax, 0xa
mov ecx, dword [esp + 0xa4]
mov ecx, dword [ecx]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp ecx, edx
jne 0x4e1da8
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x28c], ecx
mov ecx, dword [esp + 0x268]
mov ebx, dword [esp + 0x26c]
jmp 0x4e1213
mov eax, 0xb
mov ecx, dword [esp + 0x1d4]
cmp dword [ecx], 0
jne 0x4e1dda
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x28c], ecx
mov ecx, dword [esp + 0x26c]
mov edx, dword [esp + 0x280]
jmp 0x4e2d7c
mov edi, dword [esp + 0x288]
mov ecx, edi
shl ecx, 6
mov eax, dword [esp + 0x220]
mov eax, dword [eax + ecx + 0x14]
test eax, eax
je 0x4e1e02
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 3
jne 0x4e1e23
mov eax, dword [esp + 0x220]
lea esi, [eax + ecx + 0x14]
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [esi], eax
mov ecx, dword [eax]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
cmp ecx, edx
mov ecx, dword [esp + 0x278]
jne 0x4e1ed8
mov ecx, 0xf
mov edx, dword [esp + 0x1d4]
mov edx, dword [edx]
mov dword [eax], edx
mov dword [esp + 0x23c], 1
mov eax, dword [esp + 0x280]
mov dword [esp + 0x238], eax
mov ebx, dword [esp + 0x200]
mov edx, dword [esp + 0x1e8]
mov esi, dword [esp + 0x284]
cmp ecx, 0xf
jne 0x4e08ea
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je 0x4e08ea
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x200], ebx
mov dword [esp + 0x288], edi
mov dword [esp + 0x28c], esi
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x238]
mov dword [esp + 0x280], eax
jmp 0x4e291a
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], ecx
jmp 0x4e27c0
mov dword [esp + 0x274], ebx
mov dword [esp + 0x174], edx
mov esi, 0xe
mov eax, 0x17
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
sete cl
movzx ecx, cl
cmp edx, ecx
mov dword [esp + 0x27c], edi
jne 0x4e1f50
cmp esi, 9
jne 0x4e1fae
mov dword [esp + 0x278], ebx
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0x200]
jmp 0x4e0b35
mov dword [esp + 0x270], edi
cmp eax, 9
jne 0x4e201a
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0x274]
je 0x4e20a6
mov eax, 6
mov ecx, dword [esp + 0x1d4]
cmp dword [ecx], 0
jne 0x4e202a
cmp eax, 6
je 0x4e200e
xor eax, eax
test al, al
je 0x4e1992
mov edx, dword [esp + 0x1f0]
jmp 0x4e22e3
mov eax, dword [esp + 0x1b4]
cmp dword [eax], 0
mov edi, dword [esp + 0x288]
je 0x4e2098
mov esi, 0x10
mov eax, edi
shl eax, 6
mov edx, dword [esp + 0x220]
lea ecx, [edx + eax + 0x14]
mov dword [esp + 0x74], ecx
mov ecx, dword [edx + eax + 0x14]
test ecx, ecx
je 0x4e2126
mov dword [esp + 0x278], ebx
mov eax, ecx
mov dword [esp + 0x88], ecx
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x4e21ab
jmp 0x4e2134
mov edx, dword [esp + 0x1f0]
jmp 0x4e22e3
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0x274]
jmp 0x4e20a6
mov ecx, edi
shl ecx, 6
mov eax, dword [esp + 0x220]
mov eax, dword [eax + ecx + 0x14]
test eax, eax
je 0x4e2044
mov dl, 1
test dl, dl
jne 0x4e2065
mov eax, dword [esp + 0x220]
lea esi, [eax + ecx + 0x14]
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [esi], eax
mov ecx, dword [eax]
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
sete dl
movzx edx, dl
cmp ecx, edx
jne 0x4e27c0
mov ecx, dword [esp + 0x1d4]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov dword [esp + 0x23c], 1
jmp 0x4e2fc6
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov eax, edi
shl eax, 6
mov ecx, dword [esp + 0x220]
mov ecx, dword [ecx + eax + 0x14]
test ecx, ecx
jne 0x4e20e1
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
je 0x4e20e1
mov dword [esp + 0x274], ebx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x288], edi
jmp 0x4e27c0
mov dword [esp + 0x274], ebx
mov dword [esp + 0x288], edi
mov esi, 0x11
mov eax, dword [ecx]
mov dword [esp + 0x84], ecx
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
je 0x4e2fc6
jmp 0x4e217f
mov dword [esp + 0x278], ebx
mov dword [esp + 0x88], ecx
cmp esi, 0x10
jne 0x4df837
mov esi, 7
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x74]
mov dword [ecx], eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x274], eax
cmp esi, 7
jne 0x4e21f4
mov eax, 3
sub eax, esi
xor eax, esi
je 0x4e21f4
mov eax, dword [esp + 0x270]
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 0x274]
mov dword [esp + 0x278], eax
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4e221d
mov edi, 9
mov eax, dword [esp + 0x1b4]
mov eax, dword [eax]
mov dword [edx], eax
mov dword [esp + 0x23c], 1
mov edx, dword [esp + 0x278]
mov ebx, dword [esp + 0x27c]
jmp 0x4e23c4
mov eax, 0x1a
mov ecx, dword [esp + 0x84]
mov dword [ecx], 0
mov dword [esp + 0x23c], 1
mov ebx, dword [esp + 0x274]
jmp 0x4e2ed8
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x274], eax
jmp 0x4e27c0
mov eax, dword [esp + 0x1d4]
cmp dword [eax], 0
je 0x4e1f00
mov dword [esp + 0x274], ebx
mov dword [esp + 0x174], edx
mov eax, dword [esp + 0x288]
shl eax, 6
mov edx, dword [esp + 0x220]
lea ecx, [edx + eax + 0x14]
mov dword [esp + 0x7c], ecx
mov eax, dword [edx + eax + 0x14]
test eax, eax
jne 0x4e24a1
mov ecx, 0x13
mov edx, eax
and edx, 1
xor edx, eax
not edx
test edx, edx
je 0x4e24a1
cmp ecx, 0xf
jne 0x4e2487
mov dword [esp + 0x270], edi
mov eax, 0xb
mov ecx, dword [esp + 0x1b4]
mov ecx, dword [ecx]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp ecx, edx
mov edi, dword [esp + 0x288]
mov edx, dword [esp + 0x1f0]
mov ebx, dword [esp + 0x274]
jne 0x4e335f
mov eax, edi
shl eax, 6
mov ecx, dword [esp + 0x220]
mov ecx, dword [ecx + eax + 0x14]
test ecx, ecx
jne 0x4e2315
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je 0x4e2315
mov dword [esp + 0x274], ebx
mov dword [esp + 0x288], edi
jmp 0x4e27c0
mov dword [esp + 0x1f0], edx
mov esi, 9
mov eax, dword [ecx]
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
cmp eax, edx
jne 0x4e2434
mov dword [esp + 0x288], edi
mov eax, dword [esp + 0x270]
mov dword [esp + 0x27c], eax
mov dword [esp + 0x278], ebx
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
cmp esi, 9
jne 0x4e237b
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
jne 0x4e290c
mov esi, 0x19
mov edi, 0x18
mov eax, dword [esp + 0x244]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0059ab80
mov dword [esp + 0x1dc], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov edx, dword [esp + 0x278]
mov ebx, dword [esp + 0x27c]
jne 0x4e2e5b
cmp edi, 9
jne 0x4e23d8
mov eax, edi
not eax
and eax, 1
add eax, edi
jne 0x4e251c
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x278], edx
mov esi, 0x10
mov eax, dword [esp + 0x244]
mov eax, dword [eax]
lea ecx, [esp + 0x2a0]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0059a7b0
mov edx, 0x70000030
test eax, eax
mov dword [esp + 0x1dc], 0x70000030
jne 0x4de74c
cmp esi, 0xe
jne 0x4df003
mov edx, dword [esp + 0x1dc]
jmp 0x4de74c
mov dword [esp + 0x288], edi
mov eax, 0xd
mov dword [ecx], 0
mov dword [esp + 0x23c], 1
mov edx, ebx
mov esi, dword [esp + 0x270]
cmp eax, 0xd
jne 0x4e0452
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x4e0452
mov dword [esp + 0x270], esi
mov dword [esp + 0x274], edx
jmp 0x4e2fc6
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov ecx, dword [esp + 0x7c]
mov dword [ecx], eax
mov ecx, 0x16
mov edx, dword [eax]
mov esi, edi
mov edi, edx
imul edi, edi
and edi, 3
cmp edi, 2
sete bl
movzx edi, bl
cmp edx, edi
mov edi, 0x1b
mov edx, dword [esp + 0x210]
mov dword [esp + 0x23c], edx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x274]
mov ebx, eax
mov edx, dword [esp + 0x1dc]
mov dword [esp + 0x27c], esi
je 0x4de888
jmp 0x4e37ac
cmp ecx, 4
je 0x4e252f
xor eax, eax
test al, al
jne 0x4e252f
mov eax, dword [esp + 0x80]
mov dword [eax], 0
mov dword [esp + 0x23c], 1
mov dword [esp + 0x270], ebx
mov dword [esp + 0x274], edx
jmp 0x4e2fc6
mov dword [esp + 0x270], ebx
mov dword [esp + 0x274], edx
jmp 0x4e27c0
mov edi, dword [esp + 0x270]
mov dword [esp + 0x238], edx
cmp esi, 7
mov ecx, dword [esp + 0x26c]
mov ebx, dword [esp + 0x274]
je 0x4e26f2
xor eax, eax
test al, al
jne 0x4e26f2
mov eax, 0x19
mov ecx, dword [esp + 0x16c]
mov ecx, dword [ecx]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp ecx, edx
jne 0x4e271c
mov dword [esp + 0x270], edi
mov ecx, dword [esp + 0x288]
shl ecx, 6
mov eax, dword [esp + 0x220]
mov edi, dword [eax + ecx + 0x14]
test edi, edi
setne al
mov edx, edi
imul edx, edx
and edx, 3
cmp edx, 2
sbb dl, dl
and dl, al
mov eax, 0xc
mov esi, dword [esp + 0x1b4]
cmp dword [esi], 0
jne 0x4e27d3
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x1f8]
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x1f4]
mov dword [esp + 0x260], ecx
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x258], ecx
mov ecx, dword [esp + 0x238]
mov dword [esp + 0x280], ecx
mov ecx, dword [esp + 0x270]
mov dword [esp + 0x27c], ecx
cmp eax, 0xc
jne 0x4e2ad2
mov dword [esp + 0x278], ebx
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x4e2b21
mov eax, 4
mov ebx, 7
test dl, 1
mov ecx, dword [esp + 0x210]
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0x268]
je 0x4dfef2
cmp eax, 4
je 0x4e2882
xor eax, eax
test al, al
jne 0x4e2882
mov dword [esp + 0xc8], edi
mov byte [esp + 0xcf], dl
mov dword [esp + 0x268], ecx
mov eax, dword [esp + 0x228]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x260]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 0x1fc], eax
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0x200]
mov edx, dword [esp + 0x1e8]
jmp 0x4e0b0b
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov dword [esp + 0x278], ebx
mov ebx, ecx
mov dword [esp + 0x27c], edi
mov edx, dword [esp + 0x238]
jmp 0x4e3b03
mov ecx, dword [esp + 0x238]
mov dword [esp + 0x280], ecx
mov edx, dword [esp + 0x174]
cmp eax, 0x10
je 0x4e223e
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4e223e
mov dword [esp + 0x174], edx
mov eax, dword [esp + 0x288]
mov ecx, eax
shl ecx, 6
mov eax, dword [esp + 0x220]
mov eax, dword [eax + ecx + 0x14]
test eax, eax
je 0x4e2778
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 3
jne 0x4e2799
mov eax, dword [esp + 0x220]
lea esi, [eax + ecx + 0x14]
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [esi], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x4e29fb
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x4e29fb
mov dword [esp + 0x274], ebx
mov dword [esp + 0x270], edi
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
jmp 0x4e2fc6
mov esi, 9
test dl, dl
je 0x4e2c0f
mov byte [esp + 0xcf], dl
mov dword [esp + 0x90], edi
mov dword [esp + 0xc8], edi
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x270]
mov edi, dword [esp + 0x238]
cmp esi, 9
mov dword [esp + 0x27c], ecx
mov dword [esp + 0x278], ebx
mov dword [esp + 0x280], edi
je 0x4e2c61
mov dword [esp + 0xe0], edx
mov esi, 1
mov dword [esp + 0x280], edx
mov eax, dword [esp + 0xac]
mov dword [esp + 0x26c], eax
mov ecx, esi
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp esi, ecx
jne 0x4e2a5d
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov edx, dword [esp + 0x280]
mov ebx, dword [esp + 0x26c]
jmp 0x4e3b03
mov esi, 0xb
cmp dword [edi], 0
jne 0x4e2ce2
mov dword [esp + 0xc8], edi
mov byte [esp + 0xcf], dl
mov dword [esp + 0x268], ecx
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x228]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x260]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
cmp esi, 0xb
mov esi, dword [esp + 0x284]
jne 0x4e292d
mov dword [esp + 0x28c], esi
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x274], eax
jmp 0x4e2fc6
mov edi, 0xc
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0xd0]
mov dword [eax], ecx
mov eax, dword [esp + 0x300]
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.007c51a0
mov eax, dword [esp + 0x300]
mov ecx, dword [esp + 0xd8]
mov dword [ecx], eax
mov eax, dword [esp + 0x300]
mov dword [esp + 0x140], eax
mov dword [esp + 0x28c], esi
cmp edi, 0xc
jne 0x4e0b8b
mov eax, edi
not eax
and eax, 1
add eax, edi
je 0x4e0b8b
mov ebx, 8
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0x148]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x140]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.007c51d0
mov dword [esp + 0x21c], 0
mov edi, dword [esp + 0x230]
cmp ebx, 2
mov dword [esp + 0x230], edi
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
je 0x4e0e8f
jmp 0x4e1760
mov esi, 4
mov ecx, dword [esp + 0x16c]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov dword [esp + 0x23c], 1
mov dword [esp + 0x278], ebx
mov dword [esp + 0x27c], edi
cmp esi, 4
je 0x4e290c
imul esi, esi
and esi, 3
cmp esi, 3
mov ebx, dword [esp + 0x278]
jne 0x4e07d1
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], ebx
jmp 0x4e2fc6
mov eax, 6
mov ecx, dword [esp + 0x1b4]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x78]
mov dword [edx], ecx
mov dword [esp + 0x23c], 1
mov ecx, dword [esp + 0x28c]
mov dword [esp + 0x284], ecx
cmp eax, 6
jne 0x4e1419
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 0x274], eax
jne 0x4e2fc6
jmp 0x4e1419
mov dword [esp + 0xc8], edi
mov byte [esp + 0xcf], dl
mov eax, dword [esp + 0x228]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x260]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 0x1fc], eax
mov edx, dword [esp + 0x1dc]
jmp 0x4e2b75
mov dword [esp + 0xc8], edi
mov byte [esp + 0xcf], dl
mov eax, dword [esp + 0x228]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x260]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 0x1fc], eax
mov edx, dword [esp + 0x1dc]
mov ebx, dword [esp + 0x278]
mov dword [esp + 0x278], ebx
mov dword [esp + 0x1dc], edx
mov eax, 0x14
mov ecx, 0xe
lea edx, [esp + 0x318]
mov dword [esp + 0x198], edx
mov edx, dword [esp + 0x318]
mov dword [esp + 0x1e0], edx
xor esi, esi
test edx, edx
lea edx, [esp + 0x314]
mov dword [esp + 0x1e4], edx
mov edx, dword [esp + 0x28c]
mov dword [esp + 0x284], edx
mov edx, dword [esp + 0x280]
mov dword [esp + 0x238], edx
mov edi, dword [esp + 0x27c]
jne 0x4e34e3
mov dword [esp + 0x204], esi
cmp ecx, 0xa
mov edx, dword [esp + 0x238]
je 0x4e0ab0
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x4e3cab
jmp 0x4e0ab0
mov dword [esp + 0xc8], edi
mov byte [esp + 0xcf], dl
mov eax, dword [esp + 0x220]
lea esi, [eax + ecx + 0x14]
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov dword [esp + 0x90], eax
mov dword [esi], eax
mov eax, dword [esp + 0x238]
mov dword [esp + 0x280], eax
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x270]
mov eax, dword [esp + 0x90]
mov eax, dword [eax]
test eax, eax
je 0x4e2d45
mov esi, 0xa
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4e2d45
cmp esi, 0xa
mov ecx, dword [esp + 0x278]
mov edx, dword [esp + 0x27c]
jne 0x4df1ca
mov eax, esi
not eax
and eax, 1
add eax, esi
mov dword [esp + 0x270], edx
mov dword [esp + 0x274], ecx
jne 0x4e2fc6
jmp 0x4df1ca
mov byte [esp + 0xcf], dl
mov dword [esp + 0x268], ecx
mov dword [edi], 0
mov dword [esp + 0xc8], edi
mov dword [esp + 0x23c], 1
mov eax, dword [esp + 0x228]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x260]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 0x1fc], eax
jmp 0x4e290c
mov dword [esp + 0x274], ebx
mov dword [esp + 0x270], ecx
mov dword [esp + 0xe0], edx
mov eax, dword [esp + 0x1b4]
mov eax, dword [eax]
mov ecx, dword [esp + 0x90]
mov dword [ecx], eax
mov dword [esp + 0x23c], 1
jmp 0x4e2fc6
cmp eax, 0xb
je 0x4e2dad
xor eax, eax
test al, al
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov eax, edx
mov dword [esp + 0x280], edx
mov ebx, ecx
mov dword [esp + 0x26c], ecx
je 0x4e3b03
jmp 0x4e2dbb
mov dword [esp + 0x280], edx
mov dword [esp + 0x26c], ecx
mov eax, dword [esp + 0x288]
shl eax, 6
mov ecx, dword [esp + 0x220]
mov edx, dword [ecx + eax + 0x14]
test edx, edx
jne 0x4e2e13
mov esi, 3
mov eax, edx
not eax
and eax, 1
add eax, edx
je 0x4e2e13
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x27c]
mov edi, dword [esp + 0x278]
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
mov ecx, dword [esp + 0x280]
jmp 0x4e3a05
mov ecx, 6
mov esi, 0xe
mov eax, dword [edx]
mov dword [esp + 0x80], edx
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
cmp eax, edx
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
mov edx, dword [esp + 0x278]
mov ebx, dword [esp + 0x27c]
jne 0x4e24f9
cmp esi, 0xe
je 0x4e251c
imul esi, esi
and esi, 3
cmp esi, 2
mov dword [esp + 0x270], ebx
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x274], edx
mov dword [esp + 0x278], edx
mov edx, dword [esp + 0x1dc]
jne 0x4de74c
jmp 0x4e2fc6
mov dword [esp + 0x1f0], edx
mov eax, edi
shl eax, 6
mov edx, dword [esp + 0x220]
lea ecx, [edx + eax + 0x14]
mov dword [esp + 0x17c], ecx
mov edx, dword [edx + eax + 0x14]
test edx, edx
jne 0x4e2f14
mov dword [esp + 0x288], edi
mov eax, 0xa
mov ecx, 3
sub ecx, edx
xor ecx, edx
je 0x4e2f1b
mov dword [esp + 0x274], ebx
cmp eax, 0xa
je 0x4e2ef3
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x4e2fc6
mov dword [esp + 4], 4
mov dword [esp], 1
call fcn.00493a50
mov edx, eax
mov eax, dword [esp + 0x17c]
mov dword [eax], edx
jmp 0x4e2f1b
mov dword [esp + 0x288], edi
mov esi, 0xd
mov eax, dword [edx]
test eax, eax
je 0x4e2f5d
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x274], edx
mov dword [esp + 0x278], edx
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x270]
mov dword [esp + 0x27c], eax
jne 0x4e2fc6
jmp 0x4e2f80
mov dword [esp + 0x278], edx
mov eax, dword [esp + 0x270]
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 0x210]
mov dword [esp + 0x23c], eax
cmp esi, 9
mov ecx, dword [esp + 0x278]
mov edx, dword [esp + 0x27c]
jne 0x4e2fa2
mov eax, esi
not eax
and eax, 1
add eax, esi
jne 0x4df6e2
mov eax, dword [esp + 0x1b4]
mov eax, dword [eax]
mov dword [ecx], eax
mov dword [esp + 0x23c], 1
mov dword [esp + 0x270], edx
mov dword [esp + 0x274], ecx
mov eax, dword [esp + 0x308]
mov edx, dword [eax + 8]
add eax, 8
mov edi, dword [esp + 0x288]
mov esi, edi
shl esi, 6
mov ecx, dword [edx + esi + 0x10]
test ecx, ecx
je 0x4e3079
mov dword [esp + 0x18c], eax
mov eax, 8
mov ecx, dword [ecx]
test ecx, ecx
mov edi, dword [esp + 0x270]
je 0x4e30db
cmp ecx, 3
jne 0x4e31fa
mov esi, 0x11
mov eax, dword [esp + 0x12c]
mov dword [eax], 3
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov dword [esp + 0x27c], edi
mov ebx, dword [esp + 0x274]
mov eax, dword [esp + 0x23c]
mov dword [esp + 0x218], eax
cmp esi, 0xc
je 0x4e131d
mov dword [esp + 0x1f0], edx
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov edi, dword [esp + 0x27c]
mov esi, ebx
jmp 0x4e3216
mov dword [esp + 0x18c], eax
mov eax, 0x11
cmp dword [edx + esi + 0x18], 0
je 0x4e334a
xor ecx, ecx
test cl, cl
jne 0x4e334a
mov ecx, 1
mov eax, dword [edx + esi + 0x1c]
mov dword [esp + 0x1f0], edx
test eax, eax
jne 0x4e3441
mov edx, eax
not edx
and edx, 1
add edx, eax
je 0x4e344a
mov eax, dword [esp + 0x23c]
mov dword [esp + 0x218], eax
mov edx, dword [esp + 0x1f0]
jmp 0x4e3379
mov dword [esp + 0x1f0], edx
cmp eax, 8
je 0x4e3115
xor eax, eax
test al, al
jne 0x4e3115
mov eax, dword [esp + 0x270]
mov dword [esp + 0x27c], eax
mov ebx, dword [esp + 0x274]
mov eax, dword [esp + 0x23c]
mov dword [esp + 0x218], eax
jmp 0x4de977
mov eax, dword [esp + 0x1b4]
mov eax, dword [eax]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x244]
mov eax, dword [eax]
mov dword [esp + 0x27c], eax
mov ecx, dword [esp + 0x288]
mov edx, ecx
shl edx, 6
mov eax, dword [esp + 0x1f0]
mov esi, dword [eax + edx]
mov dword [esp + 0x278], esi
mov edi, dword [eax + edx + 4]
mov edx, dword [eax + edx + 0xc]
mov eax, dword [esp + 0x268]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov esi, dword [esp + 0x284]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x27c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
mov edi, ecx
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x278]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0
call fcn.0042fd40
mov esi, eax
mov eax, dword [esp + 0x23c]
mov dword [esp + 0x218], eax
jmp 0x4e3435
mov dword [esp + 0x1f0], edx
mov eax, dword [esp + 0x23c]
mov dword [esp + 0x218], eax
mov esi, dword [esp + 0x274]
mov dword [esp + 0x274], esi
mov dword [esp + 0x270], edi
mov ecx, 3
mov eax, 0x13
mov edx, dword [esp + 0x29c]
mov edx, dword [edx + 0x10]
mov dword [esp + 0xb0], edx
test edx, edx
mov dword [esp + 0x27c], edi
mov dword [esp + 0x278], esi
je 0x4deea9
cmp eax, 8
jne 0x4e3269
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x4e1a26
mov edi, dword [esp + 0x288]
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x18c]
mov ecx, dword [eax]
mov edx, edi
shl edx, 6
mov esi, dword [ecx + edx + 0x10]
mov eax, dword [esi]
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x244]
mov ebx, dword [eax]
mov eax, dword [ecx + edx]
mov dword [esp + 0x27c], eax
mov eax, dword [ecx + edx + 4]
mov ecx, dword [ecx + edx + 0xc]
mov edx, dword [esp + 0x268]
mov esi, dword [edx]
mov dword [esp + 0x278], esi
mov edx, dword [edx + 4]
mov esi, dword [esp + 0x284]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x260]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x27c]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x278]
mov dword [esp], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c], 0xffffffff
jmp 0x4e342e
mov ecx, dword [esp + 0x23c]
mov dword [esp + 0x218], ecx
mov ebx, dword [esp + 0x274]
cmp eax, 0xb
je 0x4e2e9b
xor eax, eax
test al, al
jne 0x4e2e9b
mov dword [esp + 0x274], ebx
mov dword [esp + 0x1f0], edx
mov eax, dword [esp + 0x244]
mov eax, dword [eax]
mov dword [esp + 0x288], eax
mov ecx, edi
shl ecx, 6
mov eax, edx
mov edx, dword [eax + ecx]
mov dword [esp + 0x284], edx
mov esi, dword [eax + ecx + 4]
mov ecx, dword [eax + ecx + 0xc]
mov ebx, dword [esp + 0x268]
mov eax, edi
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
mov edx, dword [esp + 0x288]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x284]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], edi
mov edi, eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
call fcn.0042fd40
mov esi, eax
mov ebx, dword [esp + 0x274]
jmp 0x4e3710
mov ebx, dword [esp + 0x200]
jmp 0x4e3460
mov ebx, dword [esp + 0x200]
nop word cs:[eax + eax]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp ecx, eax
jne 0x4e3571
call fcn.00449410
mov edx, dword [esp + 0x308]
mov ecx, dword [edx + 8]
add edx, 8
mov dword [esp + 0x1a4], edx
test eax, eax
jne 0x4e354f
mov eax, 0xb
mov ecx, dword [ecx + esi + 0x18]
cmp dword [ecx], 3
je 0x4e34b2
mov ecx, 3
xor edx, edx
test dl, dl
je 0x4e3460
mov dword [esp + 0x200], ebx
mov ecx, dword [esp + 0x23c]
mov dword [esp + 0x218], ecx
mov esi, dword [esp + 0x204]
mov edx, dword [esp + 0x280]
mov edi, dword [esp + 0x270]
mov ebx, dword [esp + 0x274]
cmp eax, 0xb
je 0x4e3516
xor eax, eax
test al, al
jne 0x4e3516
mov dword [esp + 0x204], esi
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov dword [esp + 0x27c], edi
mov dword [esp + 0x278], ebx
jmp 0x4e3c17
mov dword [esp + 0x274], ebx
mov dword [esp + 0x270], edi
mov dword [esp + 0x280], edx
mov dword [esp + 0x204], esi
mov eax, dword [esp + 0x12c]
mov dword [eax], 3
mov edi, dword [esp + 0x288]
mov ebx, dword [esp + 0x200]
jmp 0x4e357f
mov eax, dword [ecx + esi + 0x1c]
mov eax, dword [eax]
cmp eax, 3
je 0x4e3564
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x4e3571
mov eax, dword [esp + 0x12c]
mov dword [eax], 3
mov eax, dword [esp + 0x23c]
mov dword [esp + 0x218], eax
mov esi, 0x10
mov eax, dword [esp + 0x29c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x128], eax
xor ecx, ecx
test eax, eax
mov eax, dword [esp + 0x270]
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 0x274]
mov dword [esp + 0x278], eax
je 0x4e35ca
cmp esi, 0x10
jne 0x4e39ca
mov eax, dword [esp + 0x128]
mov ecx, dword [eax + edi*4]
mov dword [esp + 0x284], ecx
mov dword [esp + 0x200], ebx
mov dword [esp + 0x288], edi
mov eax, dword [esp + 0x1a4]
mov ecx, dword [eax]
mov edx, edi
shl edx, 6
mov eax, dword [ecx + edx + 0x3c]
mov dword [esp + 0x274], eax
mov eax, dword [ecx + edx + 0x34]
mov dword [esp + 0x270], eax
mov eax, dword [ecx + edx + 0x2c]
mov dword [esp + 0x260], eax
mov eax, dword [ecx + edx + 0x28]
mov dword [esp + 0x25c], eax
mov eax, dword [ecx + edx + 0x24]
mov dword [esp + 0x258], eax
mov eax, dword [ecx + edx + 0x20]
mov dword [esp + 0x238], eax
mov esi, dword [ecx + edx + 0x1c]
mov eax, dword [ecx + edx + 0x18]
mov edi, dword [ecx + edx]
mov dword [esp + 0x228], edi
mov edi, dword [ecx + edx + 4]
mov dword [esp + 0x40], edi
mov ebx, dword [ecx + edx + 0xc]
mov edx, dword [esi]
mov eax, dword [eax]
mov ecx, dword [esp + 0x244]
mov esi, dword [ecx]
mov ecx, dword [esp + 0x268]
mov edi, dword [ecx]
mov dword [esp + 0x44], edi
mov ecx, dword [ecx + 4]
mov edi, dword [esp + 0x284]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x274]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x270]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x260]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x25c]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x258]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x238]
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x288]
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x228]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 0x18], 0xffffffff
call fcn.0042fd40
mov esi, eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x270], eax
mov ebx, dword [esp + 0x278]
mov dword [esp], esi
call fcn.00411e90
mov dword [esp], esi
call fcn.004302d0
mov eax, edi
or eax, 2
mov ecx, edi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add eax, edi
mov ecx, dword [esp + 0x308]
cmp eax, dword [ecx]
jae 0x4e3754
mov edi, eax
mov eax, dword [esp + 0x218]
mov dword [esp + 0x210], eax
jmp 0x4e178b
mov dword [esp + 0x288], edi
mov edi, 0xb
mov ecx, 7
mov edx, 3
mov esi, dword [esp + 0x218]
sub edx, esi
xor edx, esi
setne dl
movzx edx, dl
mov dword [esp + 0x21c], 0
cmp esi, edx
mov esi, dword [esp + 0x270]
mov dword [esp + 0x27c], esi
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov eax, ebx
jne 0x4e399a
mov dword [esp + 0x274], eax
mov dword [esp + 0x270], esi
cmp ecx, 7
je 0x4e37c9
xor eax, eax
test al, al
je 0x4e2fc6
mov esi, 5
mov eax, dword [esp + 0x304]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x304], 0
mov eax, dword [esp + 0x308]
lea ecx, [esp + 0x2fc]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x304]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00627ff0
mov ecx, eax
test ecx, ecx
jne 0x4e39e9
mov eax, 3
sub eax, ecx
xor eax, ecx
je 0x4e39e9
mov edi, 0x10
mov ebx, dword [esp + 0x2fc]
mov dword [esp + 0x300], ebx
mov eax, dword [esp + 0x15c]
mov eax, dword [eax]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x4e3a5e
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0x270]
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov ebx, dword [esp + 0x274]
mov edx, dword [esp + 0x1f0]
mov dword [esp + 0x1f0], edx
cmp edi, 9
je 0x4e3b5c
xor eax, eax
test al, al
jne 0x4e3b68
mov eax, 0x19
cmp dword [esp + 0x10c], 0
mov edx, 0x700002bb
je 0x4e3b74
xor ecx, ecx
test cl, cl
jne 0x4e3b74
mov ecx, dword [esp + 0x10c]
lea eax, [ecx + 8]
mov dword [esp + 0xd8], eax
lea eax, [ecx + 4]
mov dword [esp + 0x148], eax
mov esi, dword [esp + 0x68]
cmp esi, dword [ecx + 8]
jbe 0x4e3bac
mov eax, esi
not eax
and eax, 1
add eax, esi
je 0x4e3bac
mov dword [esp + 0x278], ebx
mov eax, dword [esp + 0x148]
mov eax, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00492a60
test eax, eax
jne 0x4e3be6
mov dword [esp + 0x280], 0x70000003
mov edi, 0x15
mov ecx, eax
and ecx, 1
xor ecx, eax
mov dword [esp + 0xd0], eax
not ecx
test ecx, ecx
mov dword [esp + 0x140], esi
mov ebx, dword [esp + 0x234]
mov dword [esp + 0x26c], ebx
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x28c], ecx
mov esi, 0x10
je 0x4e28f9
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x1fc], eax
cmp edi, 7
mov dword [esp + 0x28c], ebx
mov edx, dword [esp + 0x280]
je 0x4e070f
jmp 0x4e3b03
cmp edi, 0xa
jne 0x4e39dd
mov dword [esp + 0x278], ebx
mov ecx, edi
and ecx, 1
xor ecx, edi
not ecx
test ecx, ecx
mov edx, dword [esp + 0x280]
mov ebx, dword [esp + 0x26c]
jne 0x4e3b03
jmp 0x4e1760
mov dword [esp + 0x200], ebx
mov dword [esp + 0x288], edi
jmp 0x4e0b4e
mov dword [esp + 0x278], ebx
jmp 0x4e1760
mov eax, dword [esp + 0x234]
mov dword [esp + 0x26c], eax
mov edx, dword [esp + 0x270]
mov edi, dword [esp + 0x274]
cmp esi, 3
je 0x4e3b42
imul esi, esi
and esi, 3
cmp esi, 3
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov dword [esp + 0x278], edi
mov dword [esp + 0x274], edi
mov eax, ecx
mov dword [esp + 0x280], ecx
mov ebx, dword [esp + 0x26c]
mov dword [esp + 0x27c], edx
mov dword [esp + 0x270], edx
mov edx, eax
jne 0x4e3b03
jmp 0x4e2fc6
mov esi, 7
mov eax, dword [esp + 0x304]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.00593cf0
mov edx, eax
mov dword [esp + 0x21c], 0
test edx, edx
jne 0x4e3b95
mov dword [esp + 0x68], ebx
mov eax, 9
mov ecx, 3
sub ecx, edx
xor ecx, edx
mov ebx, dword [esp + 0x234]
mov dword [esp + 0x26c], ebx
mov edi, edx
mov edx, dword [esp + 0x274]
mov dword [esp + 0x278], edx
mov edx, edi
mov edi, dword [esp + 0x270]
mov dword [esp + 0x27c], edi
je 0x4e2549
cmp eax, 9
jne 0x4e06fc
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
jne 0x4e1760
test ebx, ebx
jne 0x4e3b15
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
jne 0x4e3b21
mov dword [esp], ebx
mov esi, edx
call fcn.004936c0
mov edx, esi
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x280], edx
mov dword [esp + 0x26c], ebx
jmp 0x4de74c
mov dword [esp + 0x274], edi
mov dword [esp + 0x270], edx
mov dword [esp + 0x280], ecx
jmp 0x4e2fc6
mov dword [esp + 0x278], ebx
jmp 0x4e1760
mov dword [esp + 0x278], ebx
jmp 0x4e1760
mov dword [esp + 0x278], ebx
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x28c], ecx
mov ecx, dword [esp + 0x234]
jmp 0x4e2d7c
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0x234]
mov dword [esp + 0x26c], eax
jmp 0x4e2542
mov dword [esp + 0x278], ebx
mov dword [esp + 0x280], 0x700002bb
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x140], esi
mov eax, dword [esp + 0x234]
mov dword [esp + 0x26c], eax
jmp 0x4e299a
mov dword [esp + 0x280], 0x70000003
mov dword [esp + 0xd0], eax
mov dword [esp + 0x140], esi
mov eax, dword [esp + 0x234]
mov dword [esp + 0x26c], eax
mov esi, 0x10
jmp 0x4e28f9
mov ebx, edx
mov eax, dword [esp + 0x1e4]
mov eax, dword [eax]
mov edi, dword [esp + 0x204]
lea ecx, [edi + edi*2]
mov eax, dword [eax + ecx*8 + 0x14]
test eax, eax
jne 0x4e3c4a
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jae 0x4e3c4a
mov edx, dword [esp + 0x1e0]
jmp 0x4e3c72
mov esi, 5
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x198]
mov eax, dword [eax]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], edi
mov edi, ebx
jmp 0x4e3ced
mov dword [esp + 0x1e0], edx
mov ecx, edi
mov dword [esp + 0x1bc], ecx
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
add eax, ecx
mov dword [esp + 0x204], eax
cmp eax, edx
mov dword [esp + 0x1b8], edx
mov edx, ebx
jb 0x4e3c17
mov edi, edx
mov esi, 6
mov eax, dword [esp + 0x1e4]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004936c0
mov ecx, dword [esp + 0x30c]
test ecx, ecx
jne 0x4e3ce6
mov eax, 3
sub eax, ecx
xor eax, ecx
mov dword [esp + 0x19c], ecx
jne 0x4e3da1
jmp 0x4e3ced
mov dword [esp + 0x19c], ecx
cmp esi, 5
je 0x4e3ddd
imul esi, esi
and esi, 3
cmp esi, 2
je 0x4e3ddd
mov dword [esp + 0x238], edi
mov esi, 0x18
mov eax, dword [esp + 0x19c]
mov dword [esp], eax
mov dword [esp + 4], 0x2a
call fcn.0064bf00
mov eax, dword [esp + 0x284]
mov dword [esp + 0x28c], eax
mov edx, dword [esp + 0x1f8]
mov edi, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x1fc]
mov eax, dword [esp + 0x254]
mov ebx, dword [esp + 0x22c]
cmp esi, 0xc
mov esi, dword [esp + 0x238]
mov dword [esp + 0x280], esi
mov dword [esp + 0x254], eax
mov dword [esp + 0x22c], ebx
mov eax, dword [esp + 0x214]
mov dword [esp + 0x228], eax
mov dword [esp + 0x25c], edx
mov dword [esp + 0x260], edi
mov dword [esp + 0x258], ecx
je 0x4e0080
mov eax, dword [esp + 0x304]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x308]
test eax, eax
jne 0x4e3dc6
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x4e3dce
mov dword [esp], eax
call fcn.0062ddc0
mov eax, dword [esp + 0x1b0]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, edi
mov edx, dword [esp + 0x1b8]
mov edi, dword [esp + 0x1bc]
jmp 0x4e3c72