Function at 0x6a6b10
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x370
mov eax, dword [ebp + 8]
mov dword [esp + 0x368], 0
mov dword [esp + 0x364], 0
mov dword [esp + 0x360], 0
mov dword [esp + 0x35c], 0
mov dword [esp + 0x358], 0
mov dword [esp + 0x354], 0
mov dword [esp + 0x350], 0
mov dword [esp + 0x34c], 0
mov dword [esp + 0x348], 0
mov dword [esp + 0x344], 0
mov dword [esp + 0x340], 0
mov dword [esp + 0x32c], 0x10
mov eax, dword [eax + 8]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6a6f4f
mov byte [esp + 0x14b], al
mov byte [esp + 0xbf], al
mov byte [esp + 0xf1], al
mov byte [esp + 0x8b], al
mov byte [esp + 0xaf], al
mov byte [esp + 0x5b], al
mov byte [esp + 0xfd], al
mov byte [esp + 0xea], al
mov byte [esp + 0xe0], al
mov byte [esp + 0x7b], al
mov byte [esp + 0xcb], al
mov byte [esp + 0xf3], al
mov byte [esp + 0xc9], al
mov byte [esp + 0xca], al
mov esi, 7
mov dword [esp + 0xe4], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x150], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x114], eax
mov word [esp + 0x12c], ax
mov word [esp + 0xfe], ax
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], eax
mov word [esp + 0x1a2], ax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x190], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x184], eax
mov word [esp + 0x13a], ax
mov word [esp + 0x18a], ax
mov dword [esp + 0x144], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x15c], eax
mov byte [esp + 0x156], al
mov byte [esp + 0xa2], al
mov byte [esp + 0x157], al
mov byte [esp + 0x53], al
mov byte [esp + 0x52], al
mov byte [esp + 0x6b], al
mov byte [esp + 0xeb], al
mov byte [esp + 0xf2], al
mov byte [esp + 0x107], al
mov byte [esp + 0xd3], al
mov byte [esp + 0x10f], al
mov byte [esp + 0xa3], al
mov dword [esp + 0x194], eax
mov dword [esp + 0x180], eax
cmp esi, 7
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x94]
mov edi, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
je 0x6a75bf
mov eax, esi
and eax, 1
inc eax
xor eax, esi
je 0x6a75bf
mov ebx, 0xd
mov esi, dword [esp + 0x118]
movsd xmm0, qword [esi + 0x60]
movsd xmm1, qword [esi + 0x68]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov eax, dword [edx]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 4
call fcn.0068f340
mov dword [esp + 0x15c], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6ac068
mov cl, 0x51
mov eax, 0x18
movzx ecx, cl
cmp ecx, 7
mov di, word [esp + 0x12c]
je 0x6a9f7d
mov cl, 5
mov dword [esp + 0x70], 0xf
movzx ecx, cl
mov dword [esp + 0xe4], 0
cmp ecx, 5
jne 0x6a7343
mov byte [esp + 0x14b], al
mov byte [esp + 0xbf], al
mov byte [esp + 0xf1], al
mov byte [esp + 0xa3], al
mov byte [esp + 0x107], al
mov byte [esp + 0xfd], al
mov byte [esp + 0xea], al
mov byte [esp + 0xe0], al
mov byte [esp + 0xa2], al
mov byte [esp + 0x7b], al
mov byte [esp + 0xeb], al
mov byte [esp + 0xf2], al
mov byte [esp + 0x8b], al
mov byte [esp + 0xaf], al
mov dword [esp + 0x74], 0
xor edx, edx
xor ecx, ecx
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x150], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x114], eax
mov word [esp + 0x12c], ax
mov word [esp + 0xfe], ax
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x190], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], eax
mov word [esp + 0x1a2], ax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x184], eax
mov word [esp + 0x13a], ax
mov word [esp + 0x18a], ax
mov dword [esp + 0x144], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x100], eax
mov byte [esp + 0x5b], al
mov byte [esp + 0xd3], al
mov byte [esp + 0xc9], al
mov byte [esp + 0x10f], al
mov byte [esp + 0xca], al
mov byte [esp + 0x156], al
mov byte [esp + 0x157], al
mov byte [esp + 0x53], al
mov byte [esp + 0x52], al
mov byte [esp + 0x6b], al
mov byte [esp + 0xcb], al
mov byte [esp + 0xf3], al
mov dword [esp + 0x194], eax
mov dword [esp + 0xc0], esi
mov dword [esp + 0x180], eax
mov dword [esp + 0x13c], edi
mov dword [esp + 0x134], ebx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x4c], edx
xor ecx, ecx
mov eax, dword [esp + 0x70]
cmp eax, 0xf
mov esi, 0xffffffff
mov bl, byte [esp + 0xca]
mov edi, dword [esp + 0x60]
mov dl, byte [esp + 0x6b]
mov dh, byte [esp + 0x52]
mov bh, byte [esp + 0x53]
je 0x6a7312
imul eax, eax
and eax, 3
cmp eax, 3
je 0x6a7312
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x368], ecx
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ecx, eax
jne 0x6a75df
mov byte [esp + 0xf3], 0x45
mov dword [esp + 0x120], 0x20
mov dword [esp + 0x1b4], ecx
jmp 0x6acf84
mov eax, 0xe7
mov ebx, 0xe7
add bl, 0x1e
mov edx, 0xe7
add dl, 0x69
mov dword [esp + 0x180], edx
xor bl, dl
movzx ebx, bl
xor ebx, eax
mov dl, bl
add dl, 0xb9
add bl, 0x71
mov dword [esp + 0x194], ebx
mov dh, 0x67
mov bh, 0x4c
mov byte [esp + 0x157], 0x35
mov byte [esp + 0x156], 8
mov bl, 0xd
inc ecx
mov eax, dword [ebp + 8]
lea edi, [eax + 4]
dec esi
mov dword [esp + 0x164], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x174], 0
mov eax, ecx
and eax, 1
xor eax, esi
setne al
movzx eax, al
cmp ecx, eax
jb 0x6a7280
mov byte [esp + 0x53], bh
mov byte [esp + 0x52], dh
mov byte [esp + 0x6b], dl
mov dword [esp + 0x60], edi
mov byte [esp + 0xca], bl
jmp 0x6acb0b
mov byte [esp + 0x14b], al
mov byte [esp + 0xf1], al
mov byte [esp + 0xc9], al
mov byte [esp + 0x7b], al
mov byte [esp + 0xcb], al
mov byte [esp + 0xf3], al
mov byte [esp + 0xbf], al
mov byte [esp + 0x8b], al
mov byte [esp + 0x107], al
mov byte [esp + 0xea], al
mov byte [esp + 0xe0], al
mov byte [esp + 0xa2], al
mov byte [esp + 0xa3], al
mov byte [esp + 0xfd], al
xor esi, esi
xor ebx, ebx
xor ecx, ecx
xor eax, eax
xor edi, edi
mov dword [esp + 0x150], edx
mov dword [esp + 0xb4], edx
mov dword [esp + 0x14c], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x140], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xcc], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x11c], edx
mov dword [esp + 0x100], edx
mov dword [esp + 0xdc], edx
mov dword [esp + 0x124], edx
mov dword [esp + 0x120], edx
mov dword [esp + 0x118], edx
mov dword [esp + 0xf4], edx
mov dword [esp + 0xd4], edx
mov dword [esp + 0x110], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0xec], edx
mov dword [esp + 0xd8], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0xa4], edx
mov dword [esp + 0xc4], edx
mov dword [esp + 0x178], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x114], edx
mov word [esp + 0x12c], dx
mov word [esp + 0xfe], dx
mov dword [esp + 0x108], edx
mov dword [esp + 0xf8], edx
mov dword [esp + 0x17c], edx
mov dword [esp + 0x128], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0xb8], edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x1ac], edx
mov dword [esp + 0x15c], edx
mov dword [esp + 0x1b0], edx
mov dword [esp + 0x190], edx
mov byte [esp + 0xeb], dl
mov byte [esp + 0xf2], dl
mov byte [esp + 0xaf], dl
mov byte [esp + 0xd3], dl
mov byte [esp + 0x10f], dl
mov byte [esp + 0x5b], dh
mov dword [esp + 0x13c], edi
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x74], esi
cmp dword [esp + 0x70], 0xf
je 0x6a752a
mov dword [esp + 0x1b4], 0x30000017
xor eax, eax
test al, al
je 0x6ab9f5
mov al, 0x50
mov dword [esp + 0x180], eax
mov byte [esp + 0x6b], 0x6b
mov al, 0x23
mov dword [esp + 0x194], eax
mov byte [esp + 0x52], 0x67
mov byte [esp + 0x53], 0x4c
mov byte [esp + 0x157], 0x35
mov byte [esp + 0x156], 8
mov byte [esp + 0xca], 0xd
mov eax, dword [ebp + 8]
lea eax, [eax + 4]
mov dword [esp + 0x60], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x1b4], 0x30000017
mov dword [esp + 0x16c], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x174], 0
jmp 0x6acb0b
mov edx, ebx
mov ax, word [esp + 0x1a2]
mov cx, ax
mov eax, dword [esp + 0x19c]
mov esi, dword [esp + 0x198]
jmp 0x6a85d2
mov dword [esp + 0x1b4], ecx
jmp 0x6ab9f5
mov dword [esp + 0x44], 0xc
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
mov dword [esp + 0x158], ecx
mov eax, dword [esp + 0x174]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*8]
mov dword [esp + 0x5c], edx
mov edi, dword [ecx + eax*8]
cmp edi, 0x1d
jg 0x6a7728
mov byte [esp + 0xca], 0x7d
cmp edi, 0xd
mov ebx, dword [esp + 0x164]
ja case.default.0x6a7721
mov ecx, 0xf
mov dword [esp + 0x3c], 6
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x16c]
mov ax, bx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x168]
mov ax, dx
mov dword [esp + 0x54], eax
mov esi, dword [esp + 0x170]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x160]
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x174]
mov dword [esp + 0xc0], eax
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x1a8], esi
mov ax, dx
mov word [esp + 0x1a2], ax
mov ax, bx
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x198], eax
mov dword [esp + 0x184], eax
mov ax, bx
mov word [esp + 0x13a], ax
mov ax, dx
mov word [esp + 0x18a], ax
mov dword [esp + 0x144], esi
mov dword [esp + 0x18c], edi
mov edi, dword [esp + 0x48]
mov ax, dx
mov edx, dword [esp + 0x64]
mov word [esp + 0x40], ax
mov ax, bx
mov word [esp + 0x42], ax
mov eax, dword [esp + 0x38]
jmp dword [eax*4 + 0x7ebf28]
mov byte [esp + 0xca], 0x7d
cmp edi, 0x3c
mov eax, dword [esp + 0x164]
jg 0x6a77eb
mov ebx, 5
cmp edi, 0x1e
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov esi, dword [esp + 0x160]
je 0x6a7891
cmp edi, 0x1f
mov dword [esp + 0x1a4], esi
mov edi, esi
mov esi, dword [esp + 0x170]
mov dword [esp + 0x1a8], esi
mov bx, dx
mov word [esp + 0x1a2], bx
mov bx, cx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x198], eax
mov dword [esp + 0x184], eax
mov bx, cx
mov word [esp + 0x13a], bx
mov bx, dx
mov word [esp + 0x18a], bx
mov dword [esp + 0x144], esi
mov dword [esp + 0x18c], edi
mov ebx, dword [esp + 0x174]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x54], edx
mov dword [esp + 0x70], ecx
mov edx, eax
je 0x6ac000
jmp case.0x6a7721.1
cmp edi, 0x3d
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov esi, dword [esp + 0x160]
je 0x6a78d6
cmp edi, 0x47
mov dword [esp + 0x1a4], esi
mov edi, esi
mov esi, dword [esp + 0x170]
mov dword [esp + 0x1a8], esi
mov bx, dx
mov word [esp + 0x1a2], bx
mov bx, cx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x198], eax
mov dword [esp + 0x184], eax
mov bx, cx
mov word [esp + 0x13a], bx
mov bx, dx
mov word [esp + 0x18a], bx
mov dword [esp + 0x144], esi
mov dword [esp + 0x18c], edi
mov ebx, dword [esp + 0x174]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x54], edx
mov dword [esp + 0x70], ecx
mov edx, eax
je 0x6ab442
jmp case.0x6a7721.1
mov dword [esp + 0x184], eax
mov ax, cx
mov word [esp + 0x13a], ax
mov ax, dx
mov word [esp + 0x18a], ax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x144], eax
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x174]
mov dword [esp + 0xc0], eax
jmp 0x6a7979
mov esi, ecx
jmp 0x6ac485
mov edi, dword [esp + 0x160]
mov dword [esp + 0x48], edi
mov esi, dword [esp + 0x170]
mov dword [esp + 0x6c], esi
mov edx, dword [esp + 0x168]
mov ax, dx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x16c]
mov ax, cx
mov dword [esp + 0x70], eax
mov eax, ebx
mov dword [esp + 0x184], eax
mov ax, cx
mov word [esp + 0x13a], ax
mov ax, dx
mov edx, ebx
mov word [esp + 0x18a], ax
mov dword [esp + 0x144], esi
mov dword [esp + 0x18c], edi
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x174]
mov dword [esp + 0xc0], eax
mov ebx, edx
mov ecx, dword [esp + 0x44]
cmp ecx, 0xc
jne 0x6ab9f5
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
mov dword [esp + 0x64], ebx
jne case.0x6abb11.1
jmp 0x6ab9f5
cmp ebx, 5
jne 0x6ad08a
lea eax, [esp + 0x360]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.007898a0
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
test eax, eax
jmp 0x6a8295
xor eax, eax
test al, al
mov edx, dword [esp + 0x184]
mov ax, word [esp + 0x13a]
mov dword [esp + 0x70], eax
mov ax, word [esp + 0x18a]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x6c], eax
mov edi, dword [esp + 0x18c]
je 0x6a8d0d
mov esi, edx
mov ebx, dword [esp + 0x70]
lea eax, [esp + 0x364]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.00789840
mov dword [esp + 0x368], eax
test eax, eax
je 0x6a7a62
mov ecx, eax
mov dword [esp + 0x1b4], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov dword [esp + 0x64], esi
mov dword [esp + 0x184], esi
mov ax, bx
mov word [esp + 0x13a], ax
mov eax, dword [esp + 0x54]
mov word [esp + 0x18a], ax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x144], eax
mov dword [esp + 0x18c], edi
jne 0x6ab9f5
jmp case.0x6abb11.1
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x64], esi
jmp 0x6a838c
mov eax, 0xd
mov byte [esp + 0x156], 0x23
mov byte [esp + 0xa2], 0x70
mov ecx, dword [esp + 0xc0]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x158]
mov ecx, dword [edx + ecx*8 + 0x10]
cmp ecx, 4
je 0x6ab1f5
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
je 0x6ab1f5
mov ecx, 5
mov al, byte [esp + 0xa2]
movzx edx, al
cmp edx, 0xc
je 0x6a7ae2
cmp edx, 0x33
je 0x6a7afc
mov eax, 3
cmp edx, 0x70
jne 0x6a7b3d
mov esi, dword [esp + 0x118]
jmp 0x6a9b73
mov edx, dword [esp + 0x180]
mov edi, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
jmp 0x6a7f2a
mov eax, 0xc
mov byte [esp + 0xa2], 0x33
mov dword [esp + 0x368], 0x30000003
mov dword [esp + 0x1b4], 0x30000003
cmp eax, 9
jne 0x6ab9f5
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x6acc89
xor eax, eax
jmp 0x6a7b65
mov bh, al
add bh, 0x23
mov esi, ecx
and esi, 1
xor esi, ecx
cmp esi, 0xffffffff
setne bl
movzx esi, bl
add ecx, esi
mov esi, dword [edi + edx*8 + 0x14]
mov esi, dword [esi]
mov dword [esp + 0x1a8], esi
mov esi, dword [esp + 0x18c]
mov dword [esp + 0x1a4], esi
mov si, word [esp + 0x18a]
mov word [esp + 0x1a2], si
mov si, word [esp + 0x13a]
mov dword [esp + 0x19c], esi
mov esi, dword [esp + 0x184]
test ecx, ecx
je 0x6a7b80
mov byte [esp + 0x157], bh
jmp 0x6acf3d
mov dl, 0x73
mov eax, dword [esp + 0xc0]
lea eax, [eax + eax*2]
mov esi, dword [esp + 0x158]
mov eax, dword [esi + eax*8 + 0x10]
cmp eax, 2
je 0x6a7c12
imul eax, eax
and eax, 3
cmp eax, 3
jmp 0x6a7d0f
mov ecx, dword [esp + 0x184]
mov byte [esp + 0x53], dl
mov ebx, 0xe
movzx eax, byte [esp + 0x52]
cmp eax, 0x17
jne 0x6a7c4a
mov dword [esp + 0x184], ecx
mov dword [esp + 0x158], esi
mov eax, dword [esp + 0x100]
mov edi, dword [esp + 0x190]
jmp 0x6a7c99
mov byte [esp + 0x52], 0x67
mov eax, dword [esp + 0xc0]
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*8 + 0x14]
mov dword [esp + 0x158], esi
movzx eax, word [eax]
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0x18c]
mov eax, dword [esp + 0x144]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x13a]
mov dword [esp + 0x70], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x184], ecx
jmp case.0x6abb11.1
mov dword [esp + 0x190], edi
mov dword [esp + 0x100], eax
cmp ebx, 0xe
jne 0x6ace7b
mov eax, ebx
or eax, 2
xor ebx, 2
add ebx, eax
je 0x6ace7b
mov byte [esp + 0x52], 0x17
mov eax, dword [esp + 0xc0]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x158]
mov eax, dword [ecx + eax*8 + 0x14]
movzx eax, word [eax]
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0x18c]
mov eax, dword [esp + 0x144]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x13a]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x64], eax
jmp case.0x6abb11.1
mov ecx, dword [esp + 0x184]
je 0x6a7c19
mov dword [esp + 0x368], 0x30000003
mov dword [esp + 0x1b4], 0x30000003
jmp 0x6ab9f5
mov byte [esp + 0x7b], 0x6d
mov eax, dword [esp + 0x174]
lea ecx, [eax + eax*2]
mov edi, dword [esp + 0x158]
cmp dword [edi + ecx*8 + 0x10], 4
je 0x6a7df4
mov eax, 6
xor edx, edx
test dl, dl
jne 0x6a7df4
mov esi, dword [esp + 0x160]
mov dword [esp + 0x1a4], esi
mov ebx, dword [esp + 0x170]
mov dword [esp + 0x1a8], ebx
mov edi, dword [esp + 0x168]
mov cx, di
mov word [esp + 0x1a2], cx
mov edx, dword [esp + 0x16c]
mov cx, dx
mov dword [esp + 0x19c], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x198], ecx
mov dword [esp + 0x184], ecx
mov cx, dx
mov word [esp + 0x13a], cx
mov cx, di
mov word [esp + 0x18a], cx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x18c], esi
mov edi, dword [esp + 0x174]
mov esi, edi
mov dl, byte [esp + 0xfd]
jmp 0x6ad3b7
mov eax, dword [edi + ecx*8 + 0x14]
mov esi, dword [eax]
mov edi, dword [esp + 0x170]
mov dword [esp + 0x6c], edi
mov edx, dword [esp + 0x168]
mov ax, dx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x16c]
mov ax, cx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x64], eax
mov dword [esp + 0x184], eax
mov ax, cx
mov word [esp + 0x13a], ax
mov ax, dx
mov word [esp + 0x18a], ax
mov dword [esp + 0x144], edi
mov edi, esi
mov eax, dword [esp + 0x160]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0xc0], eax
jmp case.0x6abb11.1
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
adc eax, 0
mov dword [esp + 0x368], 0x30000003
mov dword [esp + 0x1b4], 0x30000003
test eax, eax
je 0x6a7e80
test cl, cl
je 0x6a7e80
jmp 0x6ab9f5
mov eax, 0x16
mov esi, dword [esp + 0xc0]
lea ecx, [esi + esi*2]
mov edx, dword [esp + 0x158]
cmp dword [edx + ecx*8 + 0x10], 2
mov bl, byte [esp + 0x10f]
je 0x6a7edf
xor ecx, ecx
test cl, cl
je 0x6a7d1c
cmp eax, 0xa
jne 0x6a7f5b
mov dword [esp + 0xc0], esi
mov byte [esp + 0x10f], bl
mov edx, dword [esp + 0x13c]
cmp edx, 0x10
je 0x6a8e86
mov ecx, 4
mov esi, 3
cmp edx, 0x20
mov edx, dword [esp + 0x180]
mov edi, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
jne 0x6aafee
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x180], edx
cmp ecx, 4
je 0x6a9cb6
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
jne 0x6a7d1c
mov byte [esp + 0x10f], bl
xor ecx, ecx
mov ebx, dword [esp + 0x194]
movzx edx, bl
cmp edx, 0xb
je 0x6a8080
cmp edx, 0x23
je 0x6a815a
mov eax, 6
cmp edx, 0x63
jne 0x6acd20
mov ebx, 0x95
add ebx, 0xffffff79
lea eax, [esi + esi*2]
mov dword [esp + 0xc0], esi
mov edi, dword [esp + 0x19c]
jmp 0x6a8012
mov dl, bl
add dl, 0x15
mov dword [esp + 0x194], edx
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
adc ecx, 0
mov edx, dword [esp + 0x158]
mov edx, dword [edx + eax*8 + 0x14]
movzx edi, word [edx]
mov edx, dword [esp + 0x18c]
mov dword [esp + 0x1a4], edx
mov edx, dword [esp + 0x144]
mov dword [esp + 0x1a8], edx
mov dx, word [esp + 0x18a]
mov word [esp + 0x1a2], dx
mov edx, dword [esp + 0x184]
mov dword [esp + 0x198], edx
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x6a7fb0
mov dword [esp + 0x19c], edi
cmp ebx, 0xe
jne 0x6aac3b
mov eax, ebx
not eax
and eax, 1
add eax, ebx
mov edi, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x64], eax
jne case.0x6abb11.1
jmp 0x6aac3b
lea eax, [esi + esi*2]
mov dword [esp + 0x70], eax
mov dword [esp + 0xc0], esi
mov edx, dword [esp + 0x198]
mov si, word [esp + 0x1a2]
mov edi, dword [esp + 0x19c]
jmp 0x6a810a
mov ebx, 0x2d
add bl, 0xde
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
add ecx, edx
mov eax, dword [esp + 0x158]
mov edx, dword [esp + 0x70]
mov edx, dword [eax + edx*8 + 0x14]
movzx edi, word [edx]
mov edx, dword [esp + 0x18c]
mov dword [esp + 0x1a4], edx
mov edx, dword [esp + 0x144]
mov dword [esp + 0x1a8], edx
mov dx, word [esp + 0x18a]
mov si, dx
mov edx, dword [esp + 0x184]
mov dword [esp + 0x194], ebx
test ecx, ecx
jne 0x6a81a2
mov eax, edi
mov di, si
mov ebx, edx
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
mov edx, dword [esp + 0x1a8]
jne 0x6a80b0
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x6c], edx
mov dx, di
mov dword [esp + 0x54], edx
mov edi, ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x64], ebx
jmp case.0x6abb11.1
mov al, 0x63
mov dword [esp + 0x194], eax
lea eax, [esi + esi*2]
mov dword [esp + 0xc0], esi
mov ecx, dword [esp + 0x158]
mov eax, dword [ecx + eax*8 + 0x14]
movzx eax, word [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x18c]
mov eax, dword [esp + 0x144]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x18a]
mov dword [esp + 0x54], eax
jmp 0x6a7cff
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 0x6c], ecx
mov cx, si
mov dword [esp + 0x54], ecx
mov dword [esp + 0x70], edi
mov edi, eax
mov dword [esp + 0x64], edx
jmp case.0x6abb11.1
mov bl, cl
add bl, 0x48
mov dword [esp + 0x194], ebx
mov esi, eax
and esi, 1
xor esi, eax
cmp esi, 0xffffffff
setne bl
movzx esi, bl
add eax, esi
mov esi, dword [esp + 0x158]
mov esi, dword [esi + edx*8 + 0x14]
movzx esi, word [esi]
mov dword [esp + 0x19c], esi
mov esi, dword [esp + 0x18c]
mov dword [esp + 0x1a4], esi
mov ebx, dword [esp + 0x144]
mov si, word [esp + 0x18a]
mov word [esp + 0x1a2], si
mov esi, dword [esp + 0x184]
mov dword [esp + 0x198], esi
mov esi, eax
imul esi, esi
and esi, 3
cmp esi, 2
sbb esi, esi
and esi, 1
cmp eax, esi
jb 0x6a81d0
mov dword [esp + 0x1a8], ebx
mov esi, dword [esp + 0x1b4]
jmp 0x6a8f21
lea eax, [esp + 0x350]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.007895f0
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov edi, dword [esp + 0x18c]
mov eax, dword [esp + 0x144]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x18a]
mov dword [esp + 0x54], eax
mov ax, word [esp + 0x13a]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x64], eax
jne 0x6ab9f5
jmp case.0x6abb11.1
mov edx, dword [esp + 0x3c]
mov eax, edx
or eax, 2
xor edx, 2
add edx, eax
mov dword [esp + 0x64], ebx
mov dword [esp + 0x184], ebx
mov ax, si
mov word [esp + 0x13a], ax
mov ax, cx
mov word [esp + 0x18a], ax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x144], eax
mov dword [esp + 0x18c], edi
je 0x6ab72b
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x70]
lea eax, [esp + 0x358]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.00789690
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
test eax, eax
je 0x6a838c
xor eax, eax
test al, al
mov dword [esp + 0x184], esi
mov ax, bx
mov word [esp + 0x13a], ax
mov eax, dword [esp + 0x54]
mov word [esp + 0x18a], ax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x144], eax
mov dword [esp + 0x18c], edi
je 0x6ab9f5
jmp case.0x6abb11.1
mov dword [esp + 0x184], esi
mov ax, bx
mov word [esp + 0x13a], ax
mov eax, dword [esp + 0x54]
mov word [esp + 0x18a], ax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x144], eax
mov dword [esp + 0x18c], edi
jmp case.0x6abb11.1
mov byte [esp + 0x6b], 0x6b
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x64], eax
mov ax, bx
mov word [esp + 0x13a], ax
mov ax, si
jmp 0x6a83a2
imul ecx, ecx
and ecx, 3
cmp ecx, 2
je 0x6acbaa
mov esi, 9
mov al, 0x50
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0xc0]
mov edx, eax
and eax, 1
xor eax, edx
cmp eax, 0xffffffff
setne al
movzx ecx, al
add ecx, edx
mov eax, dword [ebp + 8]
cmp ecx, dword [eax + 8]
jb 0x6a847f
mov eax, ecx
mov dword [esp + 0x174], ecx
imul eax, eax
and eax, 3
cmp eax, 3
mov eax, dword [esp + 0x198]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x16c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x168], eax
mov dword [esp + 0x170], ebx
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x160], edi
mov dword [esp + 0x1a4], edi
jne 0x6a84d2
jmp 0x6ac16f
mov dword [esp + 0x174], ecx
mov eax, dword [esp + 0x198]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x16c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x168], eax
mov dword [esp + 0x170], ebx
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x160], edi
mov dword [esp + 0x1a4], edi
jmp 0x6ac16f
xor ecx, ecx
mov eax, 0xdb
xor eax, 0xcd
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x4c]
jmp 0x6a8541
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
add ecx, edx
mov esi, dword [esp + 0x364]
mov edi, dword [esp + 0x198]
mov ebx, dword [esp + 0x19c]
mov dx, word [esp + 0x1a2]
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x1a8]
mov dword [esp + 0x134], edx
mov edx, dword [esp + 0x1a4]
mov dword [esp + 0x13c], edx
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x6a84f0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0xe4], esi
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x164], ecx
mov ecx, dword [esp + 0x19c]
mov dx, cx
mov dword [esp + 0x70], edx
mov dx, word [esp + 0x1a2]
mov bx, dx
mov esi, dword [esp + 0x1a8]
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x1a4]
mov dword [esp + 0x48], edi
mov dword [esp + 0x160], edi
jmp 0x6ab842
imul eax, eax
and eax, 3
cmp eax, 2
mov ecx, ebx
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x64]
jb 0x6ab959
mov dword [esp + 0x64], esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.006925c0
test eax, eax
jne 0x6a86a0
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x6a86a0
mov dword [esp + 0x118], eax
mov al, 0x6b
movzx eax, al
cmp eax, 0x3c
je 0x6a8775
cmp eax, 0x6d
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x130]
jne 0x6a8803
mov dword [esp + 0x48], edi
mov eax, 0xe
mov dword [esp + 0x368], 0x70000027
mov dword [esp + 0x1b4], 0x70000027
mov edi, ecx
mov bx, dx
mov word [esp + 0x12c], bx
mov bx, si
mov word [esp + 0xfe], bx
mov dword [esp + 0x114], edi
mov dword [esp + 0x130], esi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x74], ecx
cmp eax, 0xc
je 0x6a887b
xor eax, eax
test al, al
mov edi, dword [esp + 0x48]
je 0x6ab9f5
jmp case.0x6abb11.1
mov cl, 0x25
mov esi, 8
movzx ecx, cl
cmp ecx, 0x25
jne 0x6a874b
mov dword [esp + 0x48], edi
mov ebx, 0xc
mov esi, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x118], eax
mov edx, dword [esp + 0x360]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], 1
call fcn.00692830
test eax, eax
jne 0x6a8842
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x4c]
mov cx, ax
mov word [esp + 0x42], cx
mov ecx, dword [esp + 0x130]
mov dx, cx
mov word [esp + 0x44], dx
mov word [esp + 0x12c], ax
mov ax, cx
mov word [esp + 0xfe], ax
mov edi, dword [esp + 0x158]
jne 0x6a88e2
jmp 0x6ab5b6
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x4c]
mov dx, cx
mov ecx, dword [esp + 0x130]
mov word [esp + 0x44], cx
mov bl, byte [esp + 0xf1]
jmp 0x6aa7b6
mov dword [esp + 0x44], 3
mov dword [esp + 0x1a4], edi
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x54]
mov word [esp + 0x1a2], ax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x4c]
mov word [esp + 0x12c], ax
mov eax, dword [esp + 0x130]
mov word [esp + 0xfe], ax
cmp dword [esp + 0x44], 3
je 0x6a87e8
xor eax, eax
test al, al
je case.0x6a7721.12
mov dword [esp + 0x368], 0x70000027
mov dword [esp + 0x1b4], 0x70000027
jmp 0x6ab9f5
xor eax, eax
jmp 0x6a8827
inc eax
mov dword [esp + 0x368], 0x70000027
mov dword [esp + 0x1b4], 0x70000027
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6a8810
jmp 0x6ab9f5
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x4c]
mov word [esp + 0x12c], ax
mov eax, dword [esp + 0x130]
mov word [esp + 0xfe], ax
mov edi, dword [esp + 0x158]
jmp 0x6ab5b6
mov edi, dword [esp + 0x48]
jmp case.0x6abb11.1
mov dword [esp + 0x48], edi
mov byte [esp + 0xf1], bl
mov esi, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x118], eax
mov edx, dword [esp + 0x360]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], 1
call fcn.00692830
test eax, eax
jne 0x6a8999
mov ecx, eax
and ecx, 1
xor ecx, eax
mov dword [esp + 0xf4], eax
not ecx
test ecx, ecx
mov edi, dword [esp + 0x158]
je 0x6a89a7
mov dword [esp + 0x158], edi
xor eax, eax
mov ebx, 0xf0
add ebx, 0xffffff1e
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x6c]
jmp 0x6a8938
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x368], 0x7000002e
mov dword [esp + 0x1b4], 0x7000002e
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6a8910
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a8], edi
mov ax, dx
mov word [esp + 0x1a2], ax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x198], eax
mov ax, word [esp + 0x42]
mov word [esp + 0x12c], ax
mov ax, word [esp + 0x44]
mov word [esp + 0xfe], ax
jmp 0x6a8a88
mov dword [esp + 0xf4], eax
mov edi, dword [esp + 0x158]
mov ebx, 5
mov esi, 0xa
mov ecx, dword [esp + 0x118]
lea eax, [ecx + 0xc]
mov dword [esp + 0xd4], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], eax
call fcn.0068e960
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov ax, word [esp + 0x42]
mov word [esp + 0x12c], ax
mov ax, word [esp + 0x44]
mov word [esp + 0xfe], ax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x54]
mov word [esp + 0x1a2], ax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x198], eax
jne 0x6ab93a
cmp esi, 2
jne 0x6a8a6e
mov byte [esp + 0x156], 0x36
mov byte [esp + 0xa2], 0x70
mov eax, dword [esp + 0xc0]
lea eax, [eax + eax*2]
cmp dword [edi + eax*8 + 0x10], 4
mov dword [esp + 0x158], edi
jne 0x6a7ab3
jmp 0x6ac080
mov dword [esp + 0x158], edi
mov eax, dword [esp + 0xf4]
mov ebx, dword [esp + 0x1b4]
jmp 0x6a8b0b
cmp ebx, 0xe
jne 0x6acbbd
mov eax, ebx
not eax
and eax, 1
add eax, ebx
jne 0x6ab9f5
jmp 0x6acbbd
mov dword [esp + 0x158], edi
mov esi, 4
mov eax, dword [esp + 0x350]
mov ecx, dword [esp + 0x354]
mov edx, dword [esp + 0x358]
mov edi, dword [esp + 0x35c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.0068e9b0
mov ebx, eax
mov dword [esp + 0x368], ebx
test ebx, ebx
jne 0x6a8c39
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
mov eax, dword [esp + 0xf4]
je 0x6acef5
mov dword [esp + 0xf4], eax
lea eax, [eax + 0x18]
mov dword [esp + 0xf8], eax
mov dword [esp + 8], eax
lea eax, [esp + 0x32c]
mov dword [esp + 4], eax
lea esi, [esp + 0x330]
mov dword [esp], esi
call fcn.007b45e0
mov dword [esp + 0x368], eax
test eax, eax
mov edi, dword [esp + 0x134]
je 0x6a8b7b
imul eax, eax
and eax, 3
cmp eax, 3
je 0x6a8b7b
mov cl, 4
mov eax, 0xa
movzx edx, cl
cmp edx, 4
je 0x6a8bc4
mov ecx, 0xc
cmp edx, 0x5e
jne 0x6a8c16
mov esi, ebx
jmp 0x6a8c45
mov cl, 7
mov eax, 0x14
movzx ecx, cl
cmp ecx, 7
je 0x6a8bc4
mov eax, 0xe
cmp ecx, 0xf
je 0x6ac0d2
mov dword [esp + 0x1b4], ebx
mov byte [esp + 0xeb], 0x26
mov dword [esp], esi
mov dword [esp + 4], 0x10
call fcn.007d3830
cmp eax, edi
je 0x6ac183
jmp 0x6a8d0d
cmp eax, 0xa
jne 0x6a8bd8
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x6ad08a
mov dword [esp + 0x1b4], ebx
mov byte [esp + 0xeb], 0x26
mov dword [esp], esi
mov dword [esp + 4], 0x10
call fcn.007d3830
cmp eax, edi
je 0x6ac183
mov dword [esp + 0x38], 0xd
xor eax, eax
test al, al
je case.0x6abb11.0
jmp 0x6ac183
mov ebx, 0xe
mov dword [esp + 0x368], 0x700002bb
mov dword [esp + 0x1b4], 0x700002bb
cmp ebx, 0xb
jmp 0x6aa3a3
mov eax, dword [esp + 0xf4]
jmp 0x6acef5
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
xor edi, edi
cmp ecx, eax
jne 0x6a8cba
mov ebx, 0xe5
add ebx, 0xffffff26
jmp 0x6a8c9b
mov eax, edi
not eax
and eax, 1
add eax, edi
setne al
movzx eax, al
add edi, eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x128]
mov dword [esp], eax
call fcn.0068eae0
mov eax, 3
sub eax, edi
xor eax, edi
setne al
movzx eax, al
cmp edi, eax
jb 0x6a8c70
mov dword [esp + 0x1b4], esi
jmp 0x6ab525
mov eax, 0xee
xor eax, 0xfe
jmp 0x6a8cee
mov ecx, edi
imul ecx, ecx
and ecx, 3
cmp ecx, 2
adc edi, 0
mov dword [esp + 0x368], 0x700002bb
mov esi, 0x700002bb
mov ecx, 3
sub ecx, edi
xor ecx, edi
setne cl
movzx ecx, cl
cmp edi, ecx
jb 0x6a8cd0
mov dword [esp + 0x1b4], esi
jmp 0x6ad03b
mov dword [esp + 0x368], 0x7000002e
mov dword [esp + 0x1b4], 0x7000002e
jmp 0x6ab9f5
cmp ecx, 2
adc eax, 0
mov dword [esp + 0x368], 0x7000002e
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb edx, edx
and edx, 1
mov dword [esp + 0x1b4], 0x7000002e
cmp eax, edx
jb 0x6a8d30
jmp 0x6ab9f5
mov ebx, 0x19
mov byte [esp + 0xeb], 0x26
mov byte [esp + 0xf2], 0x50
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x114]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov eax, dword [eax + ecx*8 + 0x14]
lea ecx, [edi + 4]
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.007b3b60
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6a8a88
mov eax, 7
mov bl, 0x26
mov byte [esp + 0xd3], 0x40
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x114]
lea edx, [edx + edx*2]
mov edi, dword [ecx + edx*8 + 0x14]
movzx ecx, word [esp + 0xfe]
cmp ecx, 3
ja case.default.0x6a8e0d
mov eax, 0x1c
jmp dword [ecx*4 + 0x7ebf98]
mov cl, 0x16
mov eax, 0x16
movzx ecx, cl
cmp ecx, 0x16
je 0x6a9484
cmp ecx, 0x57
je 0x6a9428
mov eax, 0xa
cmp ecx, 0x70
jne 0x6a9498
mov byte [esp + 0x10f], 0x26
mov dword [esp + 0x190], edi
mov edx, dword [esp + 0x13c]
cmp edx, 0x10
je 0x6a8e86
mov eax, 5
mov ecx, 0xa
cmp edx, 0x20
mov edx, dword [esp + 0x180]
mov edi, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
je 0x6acc09
jmp 0x6acb69
mov eax, dword [esp + 0x19c]
mov word [esp + 0x42], ax
mov esi, dword [esp + 0x1b4]
mov edi, 5
lea ecx, [esp + 0x318]
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0x118]
movsd xmm0, qword [eax + 0x20]
movsd xmm1, qword [eax + 0x28]
movsd qword [esp + 0x320], xmm1
movsd qword [esp + 0x318], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 0
call fcn.0068f340
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov ax, word [esp + 0x42]
mov dword [esp + 0x19c], eax
jne 0x6ab9f5
cmp edi, 4
jne 0x6a8f71
mov eax, 3
sub eax, edi
xor eax, edi
je 0x6a8f71
mov edi, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x64], eax
mov dword [esp + 0x1b4], esi
jmp case.0x6abb11.1
mov ax, word [esp + 0x12c]
test ax, ax
je 0x6a8f9d
mov ebx, 0xc
movzx eax, ax
imul eax, eax
and eax, 3
cmp eax, 3
je 0x6a8f9d
mov dword [esp + 0x1b4], esi
jmp 0x6a9a4e
mov al, 0xd
movzx eax, al
cmp eax, 0x5e
jne 0x6a9319
xor esi, esi
mov edi, dword [esp + 0x190]
mov ebx, dword [esp + 0xb4]
jmp 0x6a8fe2
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0068e580
test esi, esi
jne 0x6a9a9a
mov edx, esi
or edx, 2
mov ecx, esi
xor ecx, 2
add ecx, edx
jne 0x6a8fc0
jmp 0x6a9a9a
mov byte [esp + 0x10f], 0x26
mov dword [esp + 0x190], edi
mov esi, 0xe
mov byte [esp + 0x107], 0x1f
mov byte [esp + 0xa3], 0xd
lea eax, [esp + 0x238]
mov dword [esp + 0xec], eax
lea eax, [esp + 0x228]
mov dword [esp + 0xd8], eax
lea ecx, [esp + 0x218]
mov dword [esp + 0x8c], ecx
lea eax, [esp + 0x208]
mov dword [esp + 0xa4], eax
mov edx, dword [esp + 0x118]
movsd xmm0, qword [edx + 0x30]
movsd xmm1, qword [edx + 0x38]
movsd qword [esp + 0x220], xmm1
movsd qword [esp + 0x218], xmm0
lea eax, [esp + 0x1f8]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x1e8]
mov dword [esp + 0x178], eax
lea eax, [edx + 8]
mov dword [esp + 0x94], eax
mov eax, dword [edx + 8]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 1
call fcn.0068f340
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6a945f
mov edx, 5
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0x15c], eax
jne 0x6a9ac5
jmp 0x6a9466
mov byte [esp + 0x10f], 0x26
cmp eax, 7
je 0x6a9160
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x6a9160
mov esi, 0x1b
lea eax, [edi + 0x10]
mov dword [esp + 0x190], edi
mov ecx, dword [esp + 0xc4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068e580
mov dword [esp + 0x15c], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6ace7b
jmp 0x6a9466
mov dword [esp + 0x70], 0x1e
mov dword [esp + 0x368], 0x30000017
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x134]
mov dword [esp + 0x190], edi
mov edi, dword [esp + 0x13c]
mov dh, byte [esp + 0x5b]
mov dl, byte [esp + 0x10f]
jmp 0x6a74e6
mov esi, 0x1c
movzx eax, word [esp + 0x12c]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6a933c
lea esi, [esp + 0x298]
mov ebx, dword [esp + 0x118]
movsd xmm0, qword [ebx + 0x30]
movsd xmm1, qword [ebx + 0x38]
movsd qword [esp + 0x2a0], xmm1
movsd qword [esp + 0x298], xmm0
mov eax, dword [ebx + 8]
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 1
call fcn.0068f340
mov dword [esp + 0x108], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6a94ab
mov esi, 0xe
movsd xmm0, qword [ebx + 0x40]
movsd xmm1, qword [ebx + 0x48]
movsd qword [esp + 0x290], xmm1
movsd qword [esp + 0x288], xmm0
mov eax, dword [ebx + 8]
lea ecx, [esp + 0x288]
mov dword [esp + 0xb8], ecx
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 2
call fcn.0068f340
mov dword [esp + 0x108], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6a933c
mov al, 0x12
movzx ecx, al
cmp ecx, 0x12
je 0x6a97fb
mov byte [esp + 0x10f], 0x26
lea eax, [esp + 0x268]
mov dword [esp + 0xa8], eax
lea edx, [esp + 0x278]
lea ebx, [esp + 0x298]
lea eax, [esp + 0x2a8]
mov dword [esp + 0x128], eax
lea eax, [esp + 0x2b8]
mov dword [esp + 0x17c], eax
mov esi, 5
cmp ecx, 0x14
je 0x6a989a
mov eax, 0x10
mov esi, 4
cmp ecx, 0x34
je 0x6a95a3
mov dword [esp + 0x80], ebx
mov dword [esp + 0xb0], edx
lea esi, [esp + 0x268]
jmp 0x6aaaab
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.0068e580
jmp 0x6a9a9a
mov byte [esp + 0x10f], 0x26
mov dword [esp + 0x190], edi
lea ebx, [esp + 0x268]
lea ecx, [esp + 0x278]
lea edx, [esp + 0x288]
lea edi, [esp + 0x298]
lea eax, [esp + 0x2a8]
mov dword [esp + 0x128], eax
lea eax, [esp + 0x2b8]
mov dword [esp + 0x17c], eax
cmp esi, 0xe
je 0x6a9407
mov eax, esi
and eax, 1
inc eax
xor eax, esi
je 0x6a9407
mov al, 0x3e
movzx eax, al
cmp eax, 0x3e
je 0x6a9518
cmp eax, 0x71
jne 0x6a9673
lea eax, [esp + 0x268]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x278]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x288]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x298]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x2a8]
mov dword [esp + 0x128], eax
lea eax, [esp + 0x2b8]
mov dword [esp + 0x17c], eax
mov ebx, 0xd
jmp 0x6aa49e
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x80], edi
mov dword [esp + 0xb8], edx
mov dword [esp + 0xb0], ecx
jmp 0x6aac3b
mov byte [esp + 0x10f], 0x26
mov dword [esp + 0x190], edi
mov ecx, 0x10
mov edx, dword [esp + 0x13c]
cmp edx, 0x10
je 0x6a974b
mov eax, 0xf
cmp edx, 0x20
je 0x6ab0c1
jmp 0x6aa1ea
mov dword [esp + 0x15c], eax
cmp esi, 0xe
jne 0x6ab065
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
jne 0x6ace7b
jmp 0x6ab065
mov byte [esp + 0x10f], 0x26
mov dword [esp + 0x190], edi
jmp 0x6abfe8
mov dword [esp + 0x190], edi
mov esi, dword [esp + 0xc0]
jmp 0x6a7edf
mov byte [esp + 0x10f], 0x26
mov dword [esp + 0x80], esi
mov dword [esp + 0x190], edi
lea eax, [esp + 0x268]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x278]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x288]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x2a8]
mov dword [esp + 0x128], eax
lea eax, [esp + 0x2b8]
mov dword [esp + 0x17c], eax
mov eax, 9
mov ecx, dword [esp + 0x1b4]
jmp 0x6aa38a
lea edi, [esp + 0x278]
mov esi, 0x12
mov byte [esp + 0x8b], 0x77
mov ecx, dword [esp + 0x118]
movsd xmm0, qword [ecx + 0x50]
movsd xmm1, qword [ecx + 0x58]
movsd qword [esp + 0x280], xmm1
movsd qword [esp + 0x278], xmm0
lea eax, [ecx + 8]
mov dword [esp + 0x7c], eax
mov eax, dword [ecx + 8]
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 3
call fcn.0068f340
mov dword [esp + 0x108], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6a9773
mov edi, dword [esp + 0x190]
lea eax, [esp + 0x278]
lea ecx, [esp + 0x288]
lea edx, [esp + 0x298]
lea ebx, [esp + 0x2a8]
mov dword [esp + 0x128], ebx
lea ebx, [esp + 0x2b8]
cmp esi, 4
jne 0x6a97c5
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x6a97c5
lea eax, [esp + 0x268]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x278]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x288]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x298]
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x2a8]
mov dword [esp + 0x128], ecx
lea ecx, [esp + 0x2b8]
mov dword [esp + 0x17c], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x190], edi
call fcn.0068e580
mov dword [esp + 0x368], eax
test eax, eax
je 0x6a988e
mov dword [esp + 0x108], eax
mov dword [esp + 0x28], 0xd
jmp case.0x6abf0a.3
lea eax, [esp + 0x268]
mov dword [esp + 0xa8], eax
lea ecx, [esp + 0x278]
mov dword [esp + 0xb0], ecx
lea eax, [esp + 0x288]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x298]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x2a8]
mov dword [esp + 0x128], eax
lea eax, [esp + 0x2b8]
mov dword [esp + 0x17c], eax
mov edx, dword [esp + 0x118]
movsd xmm0, qword [edx + 0x50]
movsd xmm1, qword [edx + 0x58]
movsd qword [esp + 0x280], xmm1
movsd qword [esp + 0x278], xmm0
mov byte [esp + 0x8b], 0x77
mov esi, 0x16
mov ebx, 0xb
lea eax, [edx + 8]
mov dword [esp + 0x7c], eax
mov eax, dword [edx + 8]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 3
call fcn.0068f340
mov dword [esp + 0x108], eax
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6a8c31
jmp 0x6ad16a
mov dl, byte [esp + 0xaf]
mov byte [esp + 0xaf], dl
cmp ecx, 0x10
mov eax, dword [esp + 0x19c]
mov word [esp + 0x42], ax
jne 0x6accff
jmp 0x6a8e92
mov dword [esp + 0xb0], edi
lea eax, [esp + 0x268]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x288]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x298]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x2a8]
mov dword [esp + 0x128], eax
lea eax, [esp + 0x2b8]
mov dword [esp + 0x17c], eax
jmp 0x6aac3b
mov dword [esp + 0x17c], ebx
lea esi, [esp + 0x268]
mov dword [esp + 0xa8], esi
mov dword [esp + 0x80], edx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x190], edi
mov dword [esp + 0xb0], eax
jmp 0x6aa8f2
mov byte [esp + 0x10f], 0x26
lea eax, [esp + 0x268]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x278]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x288]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x298]
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x2a8]
mov dword [esp + 0x128], ecx
lea esi, [esp + 0x2b8]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.0068e580
mov dword [esp + 0x108], eax
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6a98b4
mov dword [esp + 0x17c], esi
mov dword [esp + 0x190], edi
mov esi, dword [esp + 0x1b4]
jmp 0x6aa818
mov dword [esp + 0x80], ebx
mov dword [esp + 0x190], edi
mov dword [esp + 0xb0], edx
jmp 0x6ac9dc
mov dword [esp + 0x17c], esi
mov dword [esp + 0x190], edi
mov eax, 9
jmp 0x6aacfb
mov eax, dword [esp + 0x13c]
cmp eax, 0x10
je 0x6a98e6
cmp eax, 0x20
je 0x6a9cb6
jmp 0x6aa1ea
mov dword [esp + 0x30], 0xb
mov ax, word [esp + 0x1a2]
mov word [esp + 0x40], ax
mov eax, dword [esp + 0x19c]
mov word [esp + 0x42], ax
mov ax, word [esp + 0x13a]
mov word [esp + 0x2e], ax
mov cx, word [esp + 0x18a]
cmp dword [esp + 0x30], 0xb
mov ax, word [esp + 0x40]
mov word [esp + 0x1a2], ax
mov ax, word [esp + 0x2e]
mov word [esp + 0x13a], ax
mov word [esp + 0x18a], cx
mov dword [esp + 0x70], eax
mov ax, cx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x6c], eax
mov edi, dword [esp + 0x18c]
je 0x6a8e92
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x54]
mov dl, byte [esp + 0x6b]
movzx ecx, dl
cmp ecx, 0xd
je 0x6a83c1
mov eax, 0xd
cmp ecx, 0x6c
jne 0x6a99ec
mov eax, 0xc
mov byte [esp + 0x6b], 0xd
mov cx, bx
mov word [esp + 0x13a], cx
mov cx, si
mov word [esp + 0x18a], cx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x18c], edi
mov dword [esp + 0x48], edi
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x130]
mov edi, dword [esp + 0x114]
mov bx, word [esp + 0xfe]
jmp 0x6a8666
mov cx, word [esp + 0x40]
mov word [esp + 0x1a2], cx
mov cx, word [esp + 0x42]
mov dword [esp + 0x19c], ecx
mov cx, bx
mov word [esp + 0x13a], cx
mov cx, si
mov word [esp + 0x18a], cx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x18c], edi
mov bl, byte [esp + 0xf3]
mov edi, dword [esp + 0x190]
mov esi, dword [esp + 0x118]
mov ecx, dword [esp + 0x110]
jmp 0x6a9eac
cmp ebx, 0xc
jne 0x6ab4ed
xor esi, esi
mov edi, dword [esp + 0x190]
mov ebx, dword [esp + 0xb4]
jmp 0x6a9a86
cmp edx, 2
adc esi, 0
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0068e6c0
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 2
sbb ecx, ecx
and ecx, 1
cmp esi, ecx
jb 0x6a9a70
mov dword [esp + 0x1b4], eax
mov edx, 7
mov ecx, 0x14
mov dword [esp + 0x368], eax
mov dword [esp + 0x120], 0x10
test eax, eax
je 0x6aae23
cmp edx, 5
jne 0x6ab9f5
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
mov al, byte [esp + 0xa3]
je 0x6ab9f5
movzx eax, al
cmp eax, 0xd
je 0x6a9bd0
cmp eax, 0x31
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x94]
jne 0x6a9c39
mov byte [esp + 0xa3], 0x31
mov esi, dword [esp + 0x118]
movsd xmm0, qword [esi + 0x40]
movsd xmm1, qword [esi + 0x48]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 2
call fcn.0068f340
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x6aad17
mov dword [esp + 0x15c], eax
mov eax, 0xe
cmp eax, 3
jne 0x6a9c9e
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x6a9caa
xor eax, eax
jmp 0x6a9bb7
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x368], 0x30000003
mov dword [esp + 0x1b4], 0x30000003
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6a9b90
jmp 0x6ab9f5
mov byte [esp + 0xa3], 0xd
mov eax, dword [esp + 0x118]
movsd xmm0, qword [eax + 0x40]
movsd xmm1, qword [eax + 0x48]
mov ecx, dword [esp + 0xa4]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov eax, dword [esp + 0x94]
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 2
call fcn.0068f340
mov dword [esp + 0x15c], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6ace7b
jmp 0x6aad17
mov ebx, 9
mov esi, 0x13
mov byte [esp + 0xa3], 0x2d
mov edx, dword [esp + 0x118]
movsd xmm0, qword [edx + 0x40]
movsd xmm1, qword [edx + 0x48]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 2
call fcn.0068f340
mov dword [esp + 0x15c], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6ab877
jmp 0x6ac5ae
mov dword [esp + 0x118], esi
jmp 0x6ace7b
mov dword [esp + 0x118], esi
jmp 0x6ace7b
mov bl, 0x73
lea ecx, [esp + 0x308]
mov dword [esp + 0x110], ecx
mov esi, dword [esp + 0x118]
movsd xmm0, qword [esi + 0x20]
movsd xmm1, qword [esi + 0x28]
movsd qword [esp + 0x310], xmm1
movsd qword [esp + 0x308], xmm0
mov eax, dword [esi + 8]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 0
call fcn.0068f340
mov dword [esp + 0x11c], eax
mov dword [esp + 0x368], eax
test eax, eax
mov edi, dword [esp + 0x190]
jne 0x6a9d89
mov byte [esp + 0xcb], 0x73
mov ecx, 0xd
mov al, 7
lea edx, [esp + 0x308]
mov dword [esp + 0x110], edx
mov bl, byte [esp + 0xf3]
nop word cs:[eax + eax]
cmp ecx, 0xd
jne 0x6a9e49
mov edx, ecx
not edx
and edx, 1
add edx, ecx
je 0x6a9e49
movzx eax, al
cmp eax, 7
jne 0x6a9d9c
mov ecx, 0x15
mov al, 0x29
mov bl, 0x45
cmp word [esp + 0x12c], 0
je 0x6a9d50
jmp 0x6a9fce
mov esi, dword [esp + 0x1b4]
mov eax, dword [esp + 0x100]
jmp 0x6aa13c
mov bl, 0x45
cmp eax, 0x55
jne 0x6a9e3a
movzx eax, word [esp + 0x12c]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x6a9e49
mov byte [esp + 0xf3], 0x45
lea eax, [esp + 0x308]
mov dword [esp + 0x110], eax
mov dword [esp + 0x38], 0xd
mov eax, dword [esp + 0x19c]
mov bx, ax
cmp dword [esp + 0x38], 0xd
mov ax, bx
mov dword [esp + 0x19c], eax
mov edi, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x54], eax
mov ax, bx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x64], eax
je 0x6a9fd6
jmp case.0x6abb11.1
cmp word [esp + 0x12c], 0
jne 0x6a9fce
lea eax, [esp + 0x308]
mov dword [esp + 0x110], eax
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0068e580
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6aa089
mov dword [esp + 0x11c], eax
mov al, 0x3b
movzx eax, al
cmp eax, 0x3f
jne 0x6aa0bf
lea ecx, [esp + 0x308]
mov eax, 0x1c
mov dl, byte [esp + 0x6b]
mov dword [esp + 0x118], esi
mov byte [esp + 0x6b], dl
cmp eax, 0xd
jne 0x6aa11d
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x6aa11d
mov dword [esp + 0x110], ecx
mov dword [esp + 0x190], edi
xor ecx, ecx
mov eax, 0x4b
add eax, 0xffffffbf
mov dl, 1
mov edi, dword [esp + 0x1a4]
mov esi, dword [esp + 0x198]
jmp 0x6a9f51
mov dh, al
add dh, 0x62
mov byte [esp + 0x6b], dh
mov esi, ecx
or esi, 2
mov edi, ecx
xor edi, 2
add edi, esi
setne dh
movzx esi, dh
add ecx, esi
mov edi, dword [esp + 0x18c]
mov esi, dword [esp + 0x144]
mov dword [esp + 0x1a8], esi
mov si, word [esp + 0x18a]
mov word [esp + 0x1a2], si
mov si, word [esp + 0x13a]
mov dword [esp + 0x19c], esi
mov esi, dword [esp + 0xc0]
test ecx, ecx
je 0x6a9ef9
test dl, dl
je 0x6a9ef9
mov dword [esp + 0x198], esi
mov dword [esp + 0x1a4], edi
mov byte [esp + 0xf3], bl
mov esi, dword [esp + 0x118]
mov di, word [esp + 0x12c]
mov dword [esp + 0x118], esi
cmp eax, 0xa
jne 0x6aa0f5
mov word [esp + 0x12c], di
mov edi, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x64], eax
jmp case.0x6abb11.1
mov byte [esp + 0xf3], 0x45
mov esi, 0x10
mov eax, dword [esp + 0x110]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x190]
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0068e6c0
mov dword [esp + 0x11c], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6aa0ac
xor ebx, ebx
mov eax, 0x45
add eax, 0xffffffbc
mov dword [esp + 0x70], eax
lea esi, [edi + 0x10]
mov eax, dword [esp + 0x100]
jmp 0x6aa061
add edi, ecx
setne al
movzx eax, al
add ebx, eax
mov eax, dword [esp + 0x110]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], esi
call fcn.0068e6c0
mov edi, ebx
or edi, 2
mov ecx, ebx
xor ecx, 2
mov edx, edi
add edx, ecx
setne dl
movzx edx, dl
cmp ebx, edx
jb 0x6aa040
mov edi, dword [esp + 0x190]
mov edx, dword [esp + 0x70]
jmp 0x6aae94
mov dword [esp + 0x11c], eax
mov byte [esp + 0xf3], bl
mov esi, dword [esp + 0x1b4]
mov eax, dword [esp + 0x100]
mov bl, 0x73
jmp 0x6aa13c
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xcc]
jmp 0x6ac8e2
mov byte [esp + 0xf3], bl
lea ecx, [esp + 0x308]
mov dword [esp + 0x110], ecx
lea eax, [edi + 0x10]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.0068e580
mov edx, 7
mov esi, dword [esp + 0x1b4]
jmp 0x6aa15e
mov eax, 0x1e
mov byte [esp + 0x5b], 0x32
mov byte [esp + 0xaf], 0x47
test di, di
mov word [esp + 0x12c], di
jne 0x6ac326
jmp 0x6acc89
lea eax, [edi + 0x10]
mov dword [esp + 8], ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.0068e580
jmp 0x6aaeaf
movzx ecx, bl
cmp ecx, 0x10
je 0x6aa1b8
mov byte [esp + 0xcb], bl
mov ebx, 0x14
mov edx, 0x13
cmp ecx, 0x23
jne 0x6aab10
cmp edx, 7
je 0x6aa1cb
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
mov bl, byte [esp + 0xf3]
je 0x6aa1de
xor eax, eax
mov dword [esp + 0x1b4], esi
jmp 0x6aa1a2
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
add eax, ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x1b4], ecx
mov ecx, eax
imul ecx, ecx
and ecx, 3
test eax, eax
je 0x6aa180
cmp ecx, 2
je 0x6aa180
jmp 0x6ab9f5
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x1b4], eax
jmp 0x6ab9f5
mov dword [esp + 0x1b4], esi
mov bl, byte [esp + 0xf3]
jmp 0x6aaeaf
mov dword [esp + 0x1b4], esi
jmp 0x6aaeaf
mov eax, dword [esp + 0x13c]
lea eax, [eax - 0x11]
cmp eax, 0xe
ja 0x6aa32e
lea esi, [esp + 0x2f8]
mov eax, dword [esp + 0x118]
movsd xmm0, qword [eax + 0x20]
movsd xmm1, qword [eax + 0x28]
movsd qword [esp + 0x300], xmm1
movsd qword [esp + 0x2f8], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 0
call fcn.0068f340
mov dword [esp + 0x150], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6aa353
mov byte [esp + 0xf1], 0x36
mov eax, dword [esp + 0x190]
movsd xmm0, qword [eax + 0x18]
movsd qword [esp + 0x2f0], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x2e8], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x2e0], xmm1
movsd qword [esp + 0x2d8], xmm0
lea edx, [eax + 0x10]
cmp word [esp + 0x12c], 0
jne 0x6aa3ae
lea ecx, [esp + 0x2d8]
mov dword [esp + 0x84], ecx
lea eax, [esp + 0x2f8]
mov dword [esp + 0x14c], eax
mov ebx, 0x16
mov byte [esp + 0x14b], 0x72
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp + 0x140], edx
mov dword [esp], ecx
call fcn.0068e580
mov dword [esp + 0x150], eax
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6aa6c8
jmp 0x6ab132
mov al, 0x78
movzx eax, al
cmp eax, 0x78
jne 0x6aa375
mov dword [esp + 0x368], 0x30000017
mov dword [esp + 0x1b4], 0x30000017
jmp 0x6ab9f5
mov dword [esp + 0x14c], esi
mov byte [esp + 0xf1], 0x36
lea eax, [esp + 0x2d8]
mov dword [esp + 0x84], eax
jmp 0x6aa6c8
mov eax, 2
mov dword [esp + 0x368], 0x30000017
mov ecx, 0x30000017
mov dword [esp + 0x1b4], ecx
cmp eax, 2
jne 0x6aac3b
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x6ab9f5
jmp 0x6aac3b
lea edi, [esp + 0x2d8]
lea esi, [esp + 0x2f8]
mov ebx, 0xf
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x15c], eax
cmp ebx, 0xf
jne 0x6aa548
mov ecx, 3
sub ecx, ebx
xor ecx, ebx
je 0x6aa548
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp + 0x140], edx
mov dword [esp], edi
call fcn.0068e6c0
mov dword [esp + 0x150], eax
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6aa562
mov al, 0x7e
movzx eax, al
cmp eax, 0x4d
mov ecx, dword [esp + 0x13c]
je 0x6aa575
cmp eax, 0x7e
jne 0x6aa5e6
mov dword [esp + 0x84], edi
mov dword [esp + 0x14c], esi
mov ebx, 0x13
mov esi, 8
mov byte [esp + 0xbf], 5
lea eax, [ecx - 0x10]
lea ecx, [esp + 0x2e8]
mov dword [esp + 0x90], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.0068ec00
mov dword [esp + 0x150], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6ad718
cmp ebx, 0xd
jne 0x6ad020
mov eax, 3
sub eax, ebx
xor eax, ebx
je 0x6ad020
mov dword [esp + 0x44], 9
mov ebx, 0x10
mov byte [esp + 0x8b], 0x77
mov edx, dword [esp + 0x118]
movsd xmm0, qword [edx + 0x50]
movsd xmm1, qword [edx + 0x58]
mov ecx, dword [esp + 0xb0]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
lea eax, [edx + 8]
mov dword [esp + 0x7c], eax
mov eax, dword [edx + 8]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 3
call fcn.0068f340
mov dword [esp + 0x108], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6a802f
mov ecx, dword [esp + 0x44]
cmp ecx, 9
je 0x6aa8f2
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
jne case.0x6abf0a.13
jmp 0x6aa8f2
mov dword [esp + 0x84], edi
mov dword [esp + 0x14c], esi
mov dword [esp + 0x140], edx
jmp 0x6ace7b
mov dword [esp + 0x84], edi
mov dword [esp + 0x14c], esi
jmp 0x6aa6c8
mov dword [esp + 0x84], edi
mov dword [esp + 0x14c], esi
mov esi, 0xe
mov ebx, 0x15
mov byte [esp + 0xbf], 5
lea eax, [ecx - 0x10]
lea ecx, [esp + 0x2e8]
mov dword [esp + 0x90], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.0068ec00
mov dword [esp + 0x150], eax
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6aa8da
jmp 0x6ad017
mov dword [esp + 0x84], edi
mov dword [esp + 0x14c], esi
mov byte [esp + 0xbf], 5
lea eax, [ecx - 0x10]
lea ecx, [esp + 0x2e8]
mov dword [esp + 0x90], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.0068ec00
mov dword [esp + 0x150], eax
mov dword [esp + 0x368], eax
test eax, eax
je 0x6ad020
xor eax, eax
test al, al
je 0x6aa6c8
jmp 0x6ad020
mov al, bl
add al, 0x63
mov byte [esp + 0x14b], al
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x1b4]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.0068eb50
mov eax, dword [esp + 0x14c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0068e580
mov ecx, esi
not ecx
and ecx, 1
add ecx, esi
setne cl
movzx ecx, cl
cmp esi, ecx
jb 0x6aa650
mov esi, dword [esp + 0x190]
jmp 0x6ad28c
mov esi, 0x10
mov bl, byte [esp + 0xf1]
movzx ecx, bl
cmp ecx, 0x36
jne 0x6aa766
xor eax, eax
mov ecx, 0x29
lea edx, [ecx - 0x18]
mov dword [esp + 0x44], edx
xor ecx, edx
mov esi, dword [esp + 0x150]
mov edi, dword [esp + 0x1a4]
jmp 0x6aa71e
mov bl, cl
add bl, 0xfe
mov edx, eax
and edx, 1
xor edx, eax
cmp edx, 0xffffffff
setne dl
movzx edx, dl
add eax, edx
mov dword [esp + 0x1b4], esi
mov edx, eax
not edx
and edx, 1
add edx, eax
setne dl
movzx edx, dl
cmp eax, edx
jb 0x6aa700
mov byte [esp + 0xf1], bl
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x198]
jmp case.0x6a7721.1
mov edi, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x64], eax
mov dx, word [esp + 0x12c]
mov ax, word [esp + 0xfe]
mov word [esp + 0x44], ax
mov eax, dword [esp + 0x118]
xor ecx, ecx
cmp esi, 8
jne 0x6aa800
mov word [esp + 0x42], dx
mov edx, esi
and edx, 1
xor edx, esi
not edx
test edx, edx
jne 0x6a8884
jmp 0x6aa800
mov eax, ecx
and eax, 1
xor eax, ecx
cmp eax, 0xffffffff
setne al
movzx eax, al
add ecx, eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x1b4], eax
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
cmp ecx, eax
jb 0x6aa7e0
jmp 0x6ab9f5
mov eax, dword [esp + 0x190]
lea eax, [eax + 0x10]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068e580
mov dword [esp + 0x108], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6aa885
mov dl, 0x2d
mov ecx, 1
mov eax, 2
movzx edx, dl
cmp edx, 0x2d
mov ebx, esi
mov edi, dword [ebp + 8]
jne 0x6a8c45
jmp 0x6ac1c6
mov dword [esp + 0x1b4], esi
jmp 0x6aac3b
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0068eae0
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp esi, eax
jb 0x6aa8a0
cmp ebx, 0xf
je 0x6aaccb
xor eax, eax
test al, al
je 0x6aa6c8
jmp 0x6aaccb
mov eax, 0x12
mov cl, byte [esp + 0x8b]
movzx ecx, cl
cmp ecx, 0x17
je 0x6aa976
cmp ecx, 0x77
mov eax, dword [esp + 0x7c]
jne 0x6aa983
mov ebx, 0x1c
mov byte [esp + 0x8b], 0x30
mov ecx, dword [esp + 0x118]
movsd xmm0, qword [ecx + 0x60]
movsd xmm1, qword [ecx + 0x68]
mov ecx, dword [esp + 0xa8]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 4
call fcn.0068f340
mov dword [esp + 0x108], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6aac3b
jmp 0x6acc3b
mov cx, word [esp + 0x12c]
jmp 0x6aaa1e
mov byte [esp + 0x8b], 0x77
mov ecx, dword [esp + 0x118]
movsd xmm0, qword [ecx + 0x60]
movsd xmm1, qword [ecx + 0x68]
mov ecx, dword [esp + 0xa8]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 4
call fcn.0068f340
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x6acc44
mov dword [esp + 0x108], eax
mov eax, 0x12
mov dl, byte [esp + 0xaf]
mov byte [esp + 0xaf], dl
cmp eax, 0xe
jne 0x6aac3b
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x6acc89
jmp 0x6aac3b
mov word [esp + 0x12c], cx
cmp eax, 4
mov esi, dword [esp + 0xa8]
je 0x6aab49
imul eax, eax
and eax, 3
cmp eax, 2
je 0x6aab49
mov byte [esp + 0x8b], 0x17
mov eax, dword [esp + 0x118]
movsd xmm0, qword [eax + 0x60]
movsd xmm1, qword [eax + 0x68]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 4
call fcn.0068f340
mov dword [esp + 0x368], eax
test eax, eax
je 0x6acc44
mov dword [esp + 0x108], eax
mov eax, 0x15
mov edi, dword [esp + 0x190]
mov dword [esp + 0xa8], esi
cmp eax, 0x10
jne 0x6aabd7
mov ebx, 5
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0068e580
mov dword [esp + 0x108], eax
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6aabd7
mov esi, dword [esp + 0x1b4]
mov eax, dword [esp + 0x100]
cmp ebx, 5
mov ecx, dword [esp + 0x11c]
jne 0x6aabcb
mov dword [esp + 0x190], edi
mov dword [esp + 0x100], eax
imul ebx, ebx
and ebx, 3
cmp ebx, 2
mov dword [esp + 0x1b4], ecx
jb 0x6aa818
jmp 0x6ab9f5
mov eax, dword [esp + 0xcc]
mov dword [esp + 8], eax
mov esi, dword [esp + 0x9c]
mov dword [esp + 4], esi
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call fcn.0068e6c0
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6aabe0
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x6aabec
lea eax, [esp + 0x1d8]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0068e6c0
mov dword [esp + 0x124], eax
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x6ab495
jmp 0x6ab4ed
mov dword [esp + 0x1b4], ecx
jmp 0x6ab9f5
mov dword [esp + 0x190], edi
jmp 0x6aac3b
mov dword [esp + 0x124], eax
jmp 0x6ab4ed
mov dword [esp + 0x124], eax
jmp 0x6ab4ed
mov ebx, 9
mov eax, dword [esp + 0x190]
lea eax, [eax + 0x10]
mov ecx, dword [esp + 0xb0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068e580
mov dword [esp + 0x108], eax
mov dword [esp + 0x368], eax
test eax, eax
je 0x6ad38a
xor eax, eax
mov ecx, 0xb8
add ecx, 0xffffff7c
xor ecx, 0x38
mov edi, dword [esp + 0x108]
mov ebx, dword [esp + 0x1b4]
jmp 0x6aac78
mov edx, eax
or edx, 2
mov esi, eax
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
add eax, edx
mov ebx, edi
mov esi, ecx
mov edx, eax
and edx, 1
xor edx, eax
cmp edx, 0xffffffff
setne dl
movzx edx, dl
cmp eax, edx
jb 0x6aac60
mov dword [esp + 0x1b4], ebx
cmp esi, 2
jne 0x6ab9f5
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
jne 0x6aabf8
jmp 0x6ab9f5
mov eax, dword [esp + 0x17c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x128]
mov dword [esp], eax
call fcn.0068eae0
mov eax, 1
mov ecx, dword [esp + 0x17c]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov ecx, dword [esp + 0x190]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov dword [esp + 0x120], 0x10
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jne 0x6aac3b
jmp 0x6acf84
mov esi, 0xc
mov eax, dword [esp + 0x118]
movsd xmm0, qword [eax + 0x50]
movsd xmm1, qword [eax + 0x58]
mov ecx, dword [esp + 0xc4]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov eax, dword [esp + 0x94]
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 3
call fcn.0068f340
mov dword [esp + 0x15c], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6ace7b
jmp 0x6a6e66
mov byte [esp + 0xaf], 0x47
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.0068e580
mov dword [esp + 0x15c], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6ace7b
mov eax, dword [esp + 0x190]
lea eax, [eax + 0x10]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068e580
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6ab01b
mov ecx, 0xf
mov edx, 3
sub edx, eax
xor edx, eax
mov dword [esp + 0x15c], eax
je 0x6ace7b
cmp ecx, 0xf
je 0x6aae32
xor eax, eax
test al, al
je 0x6acf84
mov ebx, 0x17
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov esi, dword [esp + 0xd8]
mov dword [esp], esi
call fcn.0068eae0
mov edi, dword [esp + 0x190]
lea eax, [edi + 0x20]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0068e580
mov edx, 0xe
mov dword [esp + 0x15c], eax
mov dword [esp + 0x368], eax
test eax, eax
mov eax, dword [esp + 0x100]
jne 0x6a7c99
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp edx, ecx
jne 0x6aaf04
mov bl, byte [esp + 0xf3]
mov dword [esp + 0x190], edi
mov dword [esp + 0x70], 0x10
movzx ecx, bl
cmp ecx, 0x76
jne 0x6aaf8e
mov byte [esp + 0xf3], bl
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x100], eax
mov edi, dword [esp + 0x13c]
mov eax, dword [esp + 0x180]
mov esi, dword [esp + 0xc0]
jmp 0x6a71d5
mov dword [esp + 0x190], edi
mov dword [esp + 0x100], eax
xor esi, esi
mov edi, dword [esp + 0xec]
mov ebx, dword [esp + 0xd8]
jmp 0x6aaf6e
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add esi, eax
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.0068eae0
mov eax, dword [esp + 0x178]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0068e580
mov dword [esp + 0x368], eax
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
jb 0x6aaf30
mov dword [esp + 0x120], eax
jmp 0x6ac7aa
mov ecx, 2
mov esi, 0x12
mov byte [esp + 0xf3], 0x76
mov dword [esp + 0x368], eax
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
mov dword [esp + 0x120], 0x20
cmp eax, edx
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x100], eax
mov edx, dword [esp + 0x180]
mov edi, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
je 0x6acb9a
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x180], edx
cmp esi, 3
je 0x6aa1ea
xor eax, eax
test al, al
je 0x6ab9f5
jmp 0x6aa1ea
mov dword [esp + 0x15c], eax
jmp 0x6ace7b
mov eax, dword [esp + 0x190]
lea eax, [eax + 0x10]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068e580
mov dword [esp + 0x15c], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6ace7b
mov edi, dword [esp + 0xec]
mov dword [esp + 4], edi
mov ebx, dword [esp + 0xd8]
mov dword [esp], ebx
call fcn.0068eae0
mov eax, dword [esp + 0x190]
lea eax, [eax + 0x20]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0068e580
mov dword [esp + 0x368], eax
test eax, eax
je 0x6ab0de
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x6ab0de
mov dword [esp + 0x15c], eax
mov eax, 2
cmp eax, 2
je 0x6ace7b
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x6a9cb6
jmp 0x6ace7b
mov esi, 0xf
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.0068eae0
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0068e6c0
mov dword [esp + 0x368], eax
test eax, eax
je 0x6ab231
mov ebx, 0xc
mov ecx, eax
mov dword [esp + 0x15c], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x6ac796
cmp ebx, 0xc
je 0x6ace7b
mov eax, 0x1b
movzx ecx, byte [esp + 0x14b]
cmp ecx, 0x74
jne 0x6ab1f5
xor esi, esi
mov edi, 3
mov eax, 0xc9
add eax, 0xffffff43
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x13c]
lea eax, [eax - 0x10]
mov dword [esp + 0x1b4], eax
lea ebx, [esp + 0x2e8]
mov eax, dword [esp + 0xdc]
jmp 0x6ab1db
mov eax, dword [esp + 0x70]
xor al, 0x78
mov byte [esp + 0x14b], al
inc esi
mov eax, dword [esp + 0x1b4]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.0068eb50
mov eax, dword [esp + 0x14c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0068e580
dec edi
mov ecx, esi
xor ecx, edi
setne cl
movzx ecx, cl
cmp esi, ecx
jb 0x6ab190
mov dword [esp + 0xdc], eax
jmp 0x6ad269
cmp eax, 0xd
je 0x6ac080
xor esi, esi
mov eax, 0x9a
lea ebx, [eax - 0x1a]
xor ebx, eax
add ebx, 0xfffffff5
mov eax, dword [esp + 0x13c]
lea eax, [eax - 0x10]
mov dword [esp + 0x1b4], eax
lea edi, [esp + 0x2e8]
mov eax, dword [esp + 0xdc]
jmp 0x6aa6a9
mov dword [esp + 0x15c], eax
jmp 0x6ac796
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add eax, ecx
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
mov edi, 0x10
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
jb 0x6ab240
mov dword [esp + 0x120], edi
jmp 0x6acf84
mov byte [esp + 0x10f], bl
mov byte [esp + 0xd3], 0x29
lea eax, [esp + 0x1c8]
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x1b8]
mov dword [esp + 0xcc], eax
mov dword [esp], edi
mov dword [esp + 0x190], edi
mov dword [esp + 4], 0x20
call fcn.00492a60
mov edx, eax
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0x1b0]
mov eax, dword [eax]
mov ecx, dword [esp + 0x114]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*8 + 0x14], edx
test edx, edx
mov esi, dword [esp + 0x118]
je 0x6ab30a
mov eax, 9
mov bl, 0x66
mov byte [esp + 0xc9], 0x29
jmp 0x6ab3a3
mov dword [esp + 0x30], 8
mov byte [esp + 0xc9], 0x29
mov ecx, dword [esp + 0x30]
cmp ecx, 8
jne case.0x6abf0a.13
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je case.0x6abf0a.13
mov dword [esp + 0x368], 0x30000003
mov dword [esp + 0x124], 0x30000003
jmp 0x6ab4ed
mov esi, dword [esp + 0x118]
movsd xmm0, qword [esi + 0x70]
movsd xmm1, qword [esi + 0x78]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov eax, dword [esi + 8]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 5
call fcn.0068f340
mov dword [esp + 0x124], eax
mov dword [esp + 0x368], eax
test eax, eax
je 0x6ab3e0
mov eax, 0x14
mov bl, 0x38
mov dword [esp + 0x118], esi
cmp eax, 9
jne 0x6ab4ed
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x6ac8b7
jmp 0x6ab4ed
mov ecx, eax
mov dword [esp + 0x124], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jne 0x6ab4ed
mov eax, 4
mov cx, word [esp + 0x12c]
test cx, cx
jne 0x6aaa1e
mov eax, dword [esp + 0xcc]
mov dword [esp + 8], eax
mov esi, dword [esp + 0x9c]
mov dword [esp + 4], esi
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call fcn.0068e580
mov dword [esp + 0x368], eax
test eax, eax
je 0x6ab465
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
je 0x6ab465
mov dword [esp + 0x124], eax
mov dword [esp + 0x44], 2
mov ecx, dword [esp + 0x44]
cmp ecx, 2
jne 0x6ac451
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
jne 0x6ab4ed
jmp 0x6ac451
lea eax, [esp + 0x1d8]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0068e580
mov dword [esp + 0x124], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6ab4ed
mov eax, 0xffffffff
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x120]
jmp 0x6ab4dc
movsd xmm0, qword [ecx + 0x18]
movsd qword [edx + 0x18], xmm0
movsd xmm0, qword [ecx + 0x10]
movsd qword [edx + 0x10], xmm0
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
mov esi, 0x20
add eax, 1
jb 0x6ab4b1
mov dword [esp + 0x120], esi
jmp 0x6acf84
mov ebx, 0x19
movzx eax, byte [esp + 0xc9]
cmp eax, 9
je 0x6ab525
mov ebx, 0x17
cmp eax, 0x3c
je 0x6ab577
cmp eax, 0x79
jne 0x6ab5ed
mov eax, dword [esp + 0x124]
mov dword [esp + 0x1b4], eax
jmp 0x6ab9f5
xor eax, eax
cmp ebx, 0xb
jne 0x6ab55f
imul ebx, ebx
and ebx, 3
cmp ebx, 2
jb 0x6aaccb
jmp 0x6ab55f
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x1b4], ecx
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6ab540
jmp 0x6ab9f5
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x64], eax
mov edi, dword [esp + 0x158]
cmp ebx, 0xc
je 0x6ab64d
xor eax, eax
test al, al
jne 0x6ab64d
mov eax, 0xe
mov byte [esp + 0xc9], 0x29
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x1b4], ecx
mov ebx, dword [esp + 0x64]
jmp 0x6ad582
mov eax, 3
mov dl, 0x79
mov ecx, dword [esp + 0x124]
mov ebx, ecx
mov esi, dword [esp + 0x170]
mov di, word [esp + 0x13a]
mov dword [esp + 0x1b4], ebx
cmp eax, 3
je 0x6ab9f5
mov word [esp + 0x13a], di
mov dword [esp + 0x170], esi
mov byte [esp + 0xc9], dl
mov dword [esp + 0x124], ecx
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x6a7982
jmp 0x6ab9f5
mov ax, word [esp + 0x12c]
mov word [esp + 0x42], ax
mov ax, word [esp + 0xfe]
mov word [esp + 0x44], ax
jmp 0x6a89a7
lea eax, [esp + 0x368]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.007855d0
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6ab9f5
mov byte [esp + 0xfd], 0x55
mov byte [esp + 0xea], 0x37
jmp 0x6ad475
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x6ad4b5
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0068e960
test eax, eax
je 0x6ab959
mov dword [esp + 0x19c], esi
mov byte [esp + 0x107], bl
mov byte [esp + 0xea], 0x2c
mov byte [esp + 0xe0], 0x19
mov ebx, 1
mov al, byte [esp + 0xe0]
movzx eax, al
cmp eax, 0x7e
jne 0x6ab877
mov eax, dword [esp + 0x340]
mov dword [esp + 0x1b4], eax
mov ecx, dword [esp + 0x344]
mov edx, dword [esp + 0x348]
mov esi, dword [esp + 0x34c]
mov edi, dword [esp + 0x350]
mov ebx, dword [esp + 0x354]
mov eax, dword [esp + 0x358]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x35c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.007858c0
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6ab9f5
mov eax, 0xd
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 0x6c], ecx
mov cx, word [esp + 0x1a2]
mov bx, cx
mov ecx, dword [esp + 0x19c]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x64], ecx
mov byte [esp + 0xe0], 0x19
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov esi, dword [esp + 0x170]
mov dword [esp + 0x170], esi
mov dword [esp + 0x168], edx
mov dword [esp + 0x16c], ecx
cmp eax, 0xd
je 0x6a85b1
mov ecx, ebx
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x64]
jmp 0x6a85d2
cmp ebx, 1
jne 0x6ace7b
mov eax, dword [esp + 0x340]
mov dword [esp + 0x1b4], eax
mov ecx, dword [esp + 0x344]
mov edx, dword [esp + 0x348]
mov esi, dword [esp + 0x34c]
mov edi, dword [esp + 0x350]
mov ebx, dword [esp + 0x354]
mov eax, dword [esp + 0x358]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x35c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.007858c0
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6ab9f5
mov ebx, 4
mov byte [esp + 0xe0], 0x7e
mov edi, dword [esp + 0x158]
cmp ebx, 4
jne 0x6a8aa5
mov eax, ebx
not eax
and eax, 1
add eax, ebx
je 0x6a8aa5
mov dword [esp + 0x1b4], eax
xor esi, esi
mov eax, dword [esp + 0x114]
lea eax, [eax + eax*2]
mov dword [esp + 0x1a8], eax
jmp 0x6ab9dd
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x1b0]
mov eax, dword [eax]
mov ebx, dword [esp + 0x1a8]
mov ecx, dword [eax + ebx*8 + 0x14]
mov edx, dword [eax + ebx*8 + 4]
mov edi, dword [eax + ebx*8]
movzx eax, byte [eax + ebx*8 + 8]
mov ebx, dword [esp + 0x1ac]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 8], 0
call fcn.007855d0
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
jb 0x6ab970
mov eax, dword [esp + 0x1b4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
mov dword [esp + 0x158], ecx
mov edi, dword [esp + 0x174]
lea eax, [edi + edi*2]
lea edx, [ecx + eax*8]
mov dword [esp + 0x5c], edx
mov eax, dword [ecx + eax*8]
cmp eax, 0x1d
jg 0x6abb59
mov byte [esp + 0xca], 6
cmp eax, 0xd
ja case.default.0x6abb11
mov dword [esp + 0x3c], 0x17
mov dword [esp + 0x30], 0x10
mov dword [esp + 0x44], 0x11
mov dword [esp + 0x38], 0xc
mov ebx, dword [esp + 0x164]
mov dword [esp + 0x64], ebx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x34], eax
mov ax, cx
mov dword [esp + 0x70], eax
mov esi, dword [esp + 0x168]
mov ax, si
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x170]
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x160]
mov dword [esp + 0x48], eax
mov dword [esp + 0xc0], edi
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], edx
mov di, si
mov word [esp + 0x40], di
mov di, cx
mov word [esp + 0x42], di
mov dword [esp + 0x198], ebx
mov dword [esp + 0x184], ebx
mov di, cx
mov word [esp + 0x13a], di
mov di, si
mov word [esp + 0x18a], di
mov edi, dword [esp + 0x48]
mov dword [esp + 0x144], edx
mov dword [esp + 0x18c], eax
mov ax, si
mov word [esp + 0x1a2], ax
mov dword [esp + 0x19c], ecx
mov eax, dword [esp + 0x34]
jmp dword [eax*4 + 0x7ebf60]
cmp dword [esp + 0x38], 0xc
jne 0x6a79ae
mov edx, dword [esp + 0x184]
mov ax, word [esp + 0x13a]
mov dword [esp + 0x70], eax
mov ax, word [esp + 0x18a]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x6c], eax
mov edi, dword [esp + 0x18c]
jmp case.0x6abf0a.0
mov byte [esp + 0xca], 6
cmp eax, 0x3c
jg 0x6abc17
cmp eax, 0x1e
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov esi, dword [esp + 0x170]
je 0x6abcdd
cmp eax, 0x1f
mov edi, dword [esp + 0x160]
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x1a8], esi
mov ax, dx
mov word [esp + 0x1a2], ax
mov ax, cx
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x198], eax
mov dword [esp + 0x184], eax
mov bx, cx
mov word [esp + 0x13a], bx
mov bx, dx
mov word [esp + 0x18a], bx
mov dword [esp + 0x144], esi
mov dword [esp + 0x18c], edi
mov ebx, dword [esp + 0x174]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x54], edx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x64], eax
je 0x6ac000
jmp case.0x6abb11.1
cmp eax, 0x3d
mov edx, dword [esp + 0x16c]
mov esi, dword [esp + 0x170]
je 0x6ac483
mov ecx, 3
cmp eax, 0x47
mov edi, dword [esp + 0x160]
mov dword [esp + 0x48], edi
mov dword [esp + 0x6c], esi
mov ebx, dword [esp + 0x168]
mov ax, bx
mov dword [esp + 0x54], eax
mov ax, dx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x64], eax
mov dword [esp + 0x184], eax
mov eax, edx
mov word [esp + 0x13a], dx
mov dx, bx
mov word [esp + 0x18a], dx
mov dword [esp + 0x144], esi
mov dword [esp + 0x18c], edi
mov edx, dword [esp + 0x174]
mov dword [esp + 0xc0], edx
mov dword [esp + 0x1a4], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x1a8], esi
mov dx, bx
mov word [esp + 0x1a2], dx
mov dx, ax
mov dword [esp + 0x19c], edx
mov eax, dword [esp + 0x164]
mov dword [esp + 0x198], eax
je 0x6abd94
jmp case.0x6abb11.1
mov eax, dword [esp + 0x164]
mov dword [esp + 0x184], eax
mov ax, cx
mov word [esp + 0x13a], ax
mov ax, dx
mov word [esp + 0x18a], ax
mov dword [esp + 0x144], esi
mov eax, dword [esp + 0x160]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0xc0], eax
jmp 0x6a7982
mov edi, dword [esp + 0x160]
mov ebx, edi
mov esi, dword [esp + 0x170]
mov dword [esp + 0x6c], esi
mov edx, dword [esp + 0x168]
mov ax, dx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x16c]
mov ax, cx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x64], eax
mov dword [esp + 0x184], eax
mov ax, cx
mov word [esp + 0x13a], ax
mov ax, dx
mov word [esp + 0x18a], ax
mov dword [esp + 0x144], esi
mov dword [esp + 0x18c], edi
jmp 0x6a7e60
cmp ecx, 3
je 0x6ac451
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov ecx, dword [esp + 0x90]
je 0x6ac451
mov byte [esp + 0xbf], 0x4a
mov eax, dword [esp + 0x14c]
mov dword [esp + 8], eax
mov esi, dword [esp + 0x190]
mov dword [esp + 4], esi
mov dword [esp], ecx
jmp 0x6ad077
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
mov dword [esp + 0x158], ecx
mov eax, dword [esp + 0x174]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*8]
mov dword [esp + 0x5c], edx
mov ecx, dword [ecx + eax*8]
cmp ecx, 0x1d
jg 0x6abf28
mov dword [esp + 0x38], 0x16
mov byte [esp + 0xca], 0xd
cmp ecx, 0xd
ja case.default.0x6abf0a
mov dword [esp + 0x34], 0x19
mov dword [esp + 0x28], 0x10
mov dword [esp + 0x30], 0x15
mov dword [esp + 0x44], 0xd
mov esi, dword [esp + 0x164]
mov dword [esp + 0x64], esi
mov ebx, dword [esp + 0x16c]
mov ax, bx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x3c], ecx
mov cx, ax
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x170]
mov dword [esp + 0x6c], edx
mov edi, dword [esp + 0x160]
mov dword [esp + 0x48], edi
mov ecx, dword [esp + 0x174]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x1a8], edx
mov cx, ax
mov word [esp + 0x1a2], cx
mov cx, bx
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x198], esi
mov dword [esp + 0x184], esi
mov si, bx
mov word [esp + 0x13a], si
mov si, ax
mov word [esp + 0x18a], si
mov dword [esp + 0x144], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x18c], edi
mov edi, dword [esp + 0x48]
mov si, bx
mov cx, ax
mov word [esp + 0x40], cx
mov cx, bx
mov word [esp + 0x42], cx
mov cx, bx
mov word [esp + 0x2e], cx
mov cx, ax
mov eax, dword [esp + 0x3c]
jmp dword [eax*4 + 0x7ebef0]
cmp dword [esp + 0x28], 0xd
mov dword [esp + 0x1b4], eax
jne 0x6a825d
jmp 0x6aac3b
cmp ecx, 0x3c
jg 0x6ac3b3
mov byte [esp + 0xca], 0xd
mov eax, 6
cmp ecx, 0x1e
mov edx, dword [esp + 0x16c]
mov esi, dword [esp + 0x170]
je 0x6ac549
mov dword [esp + 0x38], 0x16
mov eax, 0xc
cmp ecx, 0x1f
mov edi, dword [esp + 0x160]
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x1a8], esi
mov ebx, esi
mov esi, dword [esp + 0x168]
mov cx, si
mov word [esp + 0x1a2], cx
mov cx, dx
mov dword [esp + 0x19c], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x198], ecx
mov dword [esp + 0x184], ecx
mov cx, dx
mov word [esp + 0x13a], cx
mov cx, si
mov word [esp + 0x18a], cx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x18c], edi
mov ecx, dword [esp + 0x174]
mov dword [esp + 0xc0], ecx
mov bx, dx
jne case.0x6abf0a.1
cmp eax, 0xc
jne 0x6a98cc
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x6a98cc
mov esi, 2
mov al, byte [esp + 0x156]
movzx eax, al
cmp eax, 8
je 0x6ac53d
cmp eax, 0x23
jne 0x6a7a72
mov esi, 3
mov byte [esp + 0xa2], 0x70
mov eax, dword [esp + 0xc0]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x158]
mov eax, dword [ecx + eax*8 + 0x10]
cmp eax, 4
jne 0x6ac5a6
mov byte [esp + 0x156], 8
mov ebx, 0x15
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x6ac5ae
cmp ebx, 0xd
je 0x6ace7b
mov eax, 5
mov bh, byte [esp + 0x157]
movzx edx, bh
cmp edx, 0x20
je 0x6ac0c4
xor ecx, ecx
cmp edx, 0x35
jne 0x6ac29a
mov eax, 0x53
add eax, 0xffffffbf
mov edx, dword [esp + 0xc0]
lea edx, [edx + edx*2]
mov edi, dword [esp + 0x158]
mov esi, dword [esp + 0x198]
jmp 0x6a7bd8
mov edi, dword [esp + 0x134]
mov ebx, dword [esp + 0x1b4]
cmp eax, 5
jne 0x6ac12b
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x6ac12b
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x134], edi
mov byte [esp + 0x157], 0x59
mov eax, dword [esp + 0xc0]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x158]
mov eax, dword [ecx + eax*8 + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
mov edi, dword [esp + 0x18c]
mov ax, word [esp + 0x18a]
mov dword [esp + 0x54], eax
jmp 0x6a7cf3
mov dword [esp + 0x1b4], ebx
mov esi, 0x15
mov byte [esp + 0xeb], 0x26
lea eax, [esp + 0x330]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.007d3830
cmp eax, edi
mov dword [esp + 0x134], edi
je 0x6ac16f
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x6a8d0d
cmp esi, 9
jne 0x6ac183
mov eax, 3
sub eax, esi
xor eax, esi
jne 0x6acb0b
mov al, byte [esp + 0xeb]
movzx edx, al
cmp edx, 0x1c
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0x114]
mov ebx, dword [esp + 0x1b4]
je 0x6ac1ec
cmp edx, 0x26
je 0x6ac23c
mov ecx, 4
mov eax, 9
cmp edx, 0x4e
je 0x6ac715
mov dword [esp + 0x1b4], ebx
cmp eax, 2
jne 0x6a8d65
xor esi, esi
mov ebx, 0x62
add ebx, 0xffffffad
mov edi, dword [esp + 0x128]
jmp 0x6aa8c4
mov byte [esp + 0xeb], 0x1c
mov byte [esp + 0xf2], 0x50
mov eax, dword [edi + 4]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov eax, dword [eax + ecx*8 + 0x14]
lea ecx, [edi + 4]
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.007b3b60
mov dword [esp + 0x368], eax
test eax, eax
je 0x6a8dd1
jmp 0x6acbbd
mov byte [esp + 0xeb], 0x4e
mov byte [esp + 0xf2], 0x50
mov eax, dword [edi + 4]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov eax, dword [eax + ecx*8 + 0x14]
lea ecx, [edi + 4]
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.007b3b60
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x6a8dd1
jmp 0x6acbbd
mov eax, 0x60
add eax, 0xffffffb0
mov edx, dword [esp + 0xc0]
lea edx, [edx + edx*2]
mov edi, dword [esp + 0x158]
jmp 0x6ac30b
mov bh, 0x20
inc ecx
mov esi, dword [edi + edx*8 + 0x14]
mov esi, dword [esi]
mov dword [esp + 0x1a8], esi
mov esi, dword [esp + 0x18c]
mov dword [esp + 0x1a4], esi
mov si, word [esp + 0x18a]
mov word [esp + 0x1a2], si
mov si, word [esp + 0x13a]
mov dword [esp + 0x19c], esi
mov esi, dword [esp + 0x184]
mov dword [esp + 0x198], esi
mov esi, ecx
imul esi, esi
and esi, 3
cmp esi, 2
sbb esi, esi
and esi, 1
cmp ecx, esi
jb 0x6ac2c0
mov byte [esp + 0x157], bh
cmp eax, 0x10
jne 0x6accff
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov edi, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x64], eax
jne case.0x6abb11.1
jmp 0x6accff
movzx eax, byte [esp + 0x53]
cmp eax, 0x4c
jne 0x6a7be8
mov dl, 0x4c
mov eax, dword [esp + 0xc0]
lea eax, [eax + eax*2]
mov esi, dword [esp + 0x158]
mov eax, dword [esi + eax*8 + 0x10]
cmp eax, 2
je 0x6a7c12
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jmp 0x6a7d0f
mov byte [esp + 0xca], 0xd
cmp ecx, 0x3d
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x16c]
mov esi, dword [esp + 0x170]
je 0x6ac483
mov dword [esp + 0x38], 0x16
cmp ecx, 0x47
mov dword [esp + 0x184], eax
mov cx, dx
mov word [esp + 0x13a], cx
mov ecx, dword [esp + 0x168]
mov di, cx
mov word [esp + 0x18a], di
mov dword [esp + 0x144], esi
mov edi, dword [esp + 0x160]
mov dword [esp + 0x18c], edi
mov ebx, dword [esp + 0x174]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x1a8], esi
mov word [esp + 0x1a2], cx
mov bx, dx
mov dword [esp + 0x198], eax
jne case.0x6abf0a.1
lea eax, [esp + 0x348]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.007896f0
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jmp 0x6a828d
mov esi, edx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x16c], esi
mov dword [esp + 0x5c], ecx
lea eax, [esp + 0x340]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00789740
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov edi, dword [esp + 0x160]
mov ebx, edi
mov edx, dword [esp + 0x170]
mov dword [esp + 0x6c], edx
mov ecx, dword [esp + 0x168]
mov ax, cx
mov dword [esp + 0x54], eax
mov ax, si
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x64], eax
mov dword [esp + 0x184], eax
mov ax, si
mov word [esp + 0x13a], ax
mov ax, cx
mov word [esp + 0x18a], ax
mov dword [esp + 0x144], edx
mov dword [esp + 0x18c], edi
mov eax, dword [esp + 0x174]
mov dword [esp + 0xc0], eax
jne 0x6ab9f5
jmp case.0x6abb11.1
mov edi, dword [esp + 0x158]
jmp 0x6a8a38
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x184], ecx
mov di, dx
mov ecx, dword [esp + 0x168]
mov word [esp + 0x18a], cx
mov dword [esp + 0x144], esi
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x124]
mov dl, byte [esp + 0xc9]
mov ebx, dword [esp + 0x1b4]
jmp 0x6ab60c
mov byte [esp + 0x156], 8
cmp esi, 3
je 0x6a7ab3
jmp 0x6aad17
mov edi, dword [esp + 0x160]
mov dword [esp + 0x1a4], edi
mov esi, dword [esp + 0x170]
mov dword [esp + 0x1a8], esi
mov edx, dword [esp + 0x168]
mov ax, dx
mov word [esp + 0x1a2], ax
mov ecx, dword [esp + 0x16c]
mov bx, cx
mov eax, dword [esp + 0x164]
mov dword [esp + 0x198], eax
mov dword [esp + 0x184], eax
mov ax, cx
mov word [esp + 0x13a], ax
mov ax, dx
mov word [esp + 0x18a], ax
mov dword [esp + 0x144], esi
mov dword [esp + 0x18c], edi
mov eax, dword [esp + 0x174]
mov dword [esp + 0xc0], eax
jmp case.0x6abf0a.1
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
adc eax, 0
mov dword [esp + 0x368], 0x30000003
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
mov dword [esp + 0x1b4], 0x30000003
cmp eax, ecx
jb 0x6ac640
jmp 0x6ab9f5
mov dword [esp + 0x174], edi
mov byte [esp + 0xfd], dl
mov ecx, 0x14
movzx edx, byte [esp + 0x7b]
cmp edx, 0x28
je 0x6ac70b
mov dword [esp + 0xc0], esi
cmp edx, 0x57
jne 0x6ac7cf
mov dword [esp + 0x34], 0xb
mov edx, dword [esp + 0x184]
mov ax, word [esp + 0x13a]
mov dword [esp + 0x70], eax
mov ax, word [esp + 0x18a]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x6c], eax
mov edi, dword [esp + 0x18c]
mov ebx, edx
mov eax, dword [esp + 0x34]
cmp eax, 0xb
jne 0x6ac899
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x64], ebx
je case.0x6abb11.4
xor eax, eax
jmp 0x6ac659
mov dword [esp + 0xc0], esi
mov edi, dword [ebp + 8]
mov dword [esp + 0x1b4], ebx
cmp ecx, 4
jne 0x6ac7c6
mov esi, 8
mov ebx, 0xd
mov byte [esp + 0xeb], 0x45
mov byte [esp + 0xf2], 0x50
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x114]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov eax, dword [eax + ecx*8 + 0x14]
lea ecx, [edi + 4]
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.007b3b60
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6ad45f
cmp esi, 8
jne 0x6ac7aa
mov eax, esi
not eax
and eax, 1
add eax, esi
jne 0x6a8dd1
xor eax, eax
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0x190]
mov edi, dword [esp + 0x120]
jmp 0x6ab269
xor eax, eax
mov cl, 1
jmp 0x6a7ea4
mov eax, 0xf
mov byte [esp + 0x7b], 0x6d
mov dword [esp + 0x368], 0x30000003
mov dword [esp + 0x1b4], 0x30000003
mov edi, dword [esp + 0x190]
mov bl, byte [esp + 0x10f]
cmp eax, 0xf
je 0x6ab9f5
movzx eax, byte [esp + 0xd3]
cmp eax, 0x29
jne 0x6ab289
mov byte [esp + 0x10f], bl
mov byte [esp + 0xd3], 0x40
mov byte [esp + 0xc9], 0x29
mov bl, 0x66
lea esi, [esp + 0x1c8]
lea eax, [esp + 0x1b8]
mov dword [esp + 0xcc], eax
mov dword [esp], edi
mov dword [esp + 4], 0x20
call fcn.00492a60
mov ecx, dword [esp + 0x1b0]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x114]
lea ecx, [ecx + ecx*2]
mov dword [edx + ecx*8 + 0x14], eax
test eax, eax
jne 0x6ac8a2
mov dword [esp + 0x9c], esi
mov dword [esp + 0x190], edi
mov edx, eax
or edx, 2
mov ecx, eax
mov dword [esp + 0x98], eax
xor ecx, 2
add ecx, edx
jne 0x6ab336
jmp 0x6ac8b7
mov dword [esp + 0x64], ebx
jmp case.0x6abb11.4
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], esi
mov dword [esp + 0x190], edi
movzx eax, bl
cmp eax, 0x38
mov ecx, dword [esp + 0xcc]
je 0x6ab351
mov esi, 0xc
cmp eax, 0x66
jne 0x6ac90c
mov eax, dword [esp + 0x100]
mov edi, dword [esp + 0x190]
cmp esi, 0xc
je 0x6ac960
imul esi, esi
and esi, 3
cmp esi, 2
je 0x6ac960
mov dword [esp + 0xcc], ecx
mov esi, dword [esp + 0x1b4]
mov bl, byte [esp + 0xcb]
jmp 0x6aa13c
mov eax, dword [esp + 0x118]
movsd xmm0, qword [eax + 0x70]
movsd xmm1, qword [eax + 0x78]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 5
call fcn.0068f340
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6ab3c8
mov dword [esp + 0x124], eax
jmp 0x6ab3e0
mov dword [esp + 0x190], edi
mov dword [esp + 0x100], eax
mov ebx, 0x10
mov esi, 0x15
mov eax, dword [esp + 0x118]
movsd xmm0, qword [eax + 0x70]
movsd xmm1, qword [eax + 0x78]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 8], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 5
call fcn.0068f340
mov dword [esp + 0x124], eax
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6a9a4e
cmp esi, 5
jne 0x6ab3e0
mov eax, esi
not eax
and eax, 1
add eax, esi
je 0x6ab3e0
mov ebx, 0x1d
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.0068e580
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6aca35
mov esi, dword [esp + 0x1b4]
jmp 0x6ad2ec
mov dword [esp + 0x108], eax
jmp 0x6aac3b
mov al, 0x7e
mov dword [esp + 0x180], eax
mov eax, 3
mov edx, dword [esp + 0xc0]
sub eax, edx
xor eax, edx
setne al
movzx ecx, al
add ecx, edx
mov eax, dword [ebp + 8]
cmp ecx, dword [eax + 8]
jb 0x6acacb
mov eax, ecx
mov dword [esp + 0x174], ecx
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x198]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x16c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x168], eax
mov dword [esp + 0x170], ebx
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x160], edi
mov dword [esp + 0x1a4], edi
jne 0x6a84d2
jmp 0x6acb0b
mov dword [esp + 0x174], ecx
mov eax, dword [esp + 0x198]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x16c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x168], eax
mov dword [esp + 0x170], ebx
mov dword [esp + 0x160], edi
movzx eax, byte [esp + 0xca]
cmp eax, 6
je 0x6a760a
cmp eax, 0x7d
je 0x6abdd9
jmp 0x6aba04
mov edx, dword [esp + 0x180]
movzx eax, dl
cmp eax, 0x50
mov eax, 3
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x54]
mov word [esp + 0x1a2], cx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x19c], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x198], ecx
mov ecx, 7
jne 0x6acb9a
cmp eax, 3
je 0x6aca41
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x6aca41
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x180], edx
jmp 0x6aa1ea
mov dword [esp + 0x180], edx
cmp ecx, 2
jne 0x6a83e1
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1a4], edi
jmp 0x6acf84
movzx eax, byte [esp + 0xf2]
cmp eax, 0x28
jne 0x6acbd1
xor eax, eax
jmp 0x6a8d41
mov ecx, 4
mov byte [esp + 0xf2], 0x28
mov dword [esp + 0x368], 0x7000002e
mov dword [esp + 0x1b4], 0x7000002e
mov edx, dword [esp + 0x180]
mov edi, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x180], edx
cmp ecx, 4
jne 0x6a9cb6
mov eax, 3
sub eax, ecx
xor eax, ecx
jne 0x6ab9f5
jmp 0x6a9cb6
cmp ebx, 0xe
je 0x6aadd1
mov esi, 2
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.0068e6c0
mov dword [esp + 0x108], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6aac3b
jmp 0x6aac93
movzx eax, byte [esp + 0xaf]
cmp eax, 0x47
jne 0x6aad7d
mov ebx, 0xe
mov byte [esp + 0xaf], 5
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.0068e580
mov dword [esp + 0x15c], eax
mov dword [esp + 0x368], eax
test eax, eax
je 0x6acc3b
jmp 0x6ace7b
mov byte [esp + 0x5b], 0x32
mov byte [esp + 0xaf], 0x47
cmp word [esp + 0x12c], 0
je 0x6acc89
mov eax, 0xe
movzx ecx, byte [esp + 0x5b]
cmp ecx, 0x28
jne 0x6acdbf
mov ebx, dword [esp + 0x194]
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x194], ebx
cmp eax, 6
jne 0x6acd63
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x6acd63
xor eax, eax
mov edx, 0xe6
lea ecx, [edx + edx - 0xe2]
lea edi, [edx - 0xe2]
lea edx, [esi + esi*2]
mov dword [esp + 0xc0], esi
mov ebx, dword [esp + 0x1a8]
jmp 0x6a8236
mov dword [esp + 0xc0], esi
mov byte [esp + 0x5b], 0x32
mov bl, 0x19
mov eax, dword [esp + 0x178]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.0068e6c0
mov dword [esp + 0x15c], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6ace7b
jmp 0x6acdfd
mov byte [esp + 0x5b], 0x28
mov bl, 0x19
mov eax, dword [esp + 0x178]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.0068e6c0
mov dword [esp + 0x15c], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6ace7b
movzx ecx, bl
cmp ecx, 0x19
je 0x6ab027
mov eax, 0xc
cmp ecx, 0x7d
mov edi, dword [esp + 0x190]
jne 0x6a90f8
lea eax, [edi + 0x10]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068e580
mov dword [esp + 0x368], eax
test eax, eax
je 0x6ab065
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x6ab065
mov ebx, 0x1c
mov edx, dword [esp + 0x140]
mov esi, dword [esp + 0x14c]
mov edi, dword [esp + 0x84]
jmp 0x6aa3c8
mov esi, 0xc
mov bl, byte [esp + 0x107]
movzx ecx, bl
cmp ecx, 0x1f
je 0x6acee7
mov eax, 0xd
cmp ecx, 0x50
jne 0x6acf78
xor eax, eax
jmp 0x6acecf
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x1b4], ecx
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6aceb0
jmp 0x6ab9f5
mov eax, dword [esp + 0xf4]
mov ebx, dword [esp + 0x1b4]
mov dword [esp + 0x1b4], ebx
cmp esi, 4
je 0x6ab9f5
mov dword [esp + 0xf4], eax
imul esi, esi
and esi, 3
cmp esi, 2
je 0x6ab9f5
mov eax, 3
mov byte [esp + 0x107], 0x73
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x1b4], ecx
mov esi, dword [esp + 0x198]
cmp eax, 3
mov edi, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0x1a2]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x64], esi
je 0x6ab9f5
jmp case.0x6abb11.1
mov esi, dword [esp + 0x19c]
jmp 0x6ad4ac
mov ecx, 0x1b
mov esi, 0x1d
movzx eax, byte [esp + 0x10f]
cmp eax, 0x6f
je 0x6ad0a5
cmp ecx, 0xf
je 0x6a825d
xor eax, eax
test al, al
jne 0x6a825d
mov ebx, 0x18
mov esi, 7
mov eax, dword [esp + 0x1b0]
mov eax, dword [eax]
mov ecx, dword [esp + 0x114]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
mov byte [esp + 0x10f], 0x6f
mov byte [esp + 0xfd], 0x1d
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0x120]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.007b3c90
mov dword [esp + 0x368], eax
test eax, eax
mov dword [esp + 0x1ac], edi
jne 0x6ad081
cmp esi, 7
je 0x6ad130
mov eax, 3
mov ecx, 0xa
movzx edx, byte [esp + 0xbf]
cmp edx, 5
jne 0x6abd94
cmp eax, 3
je 0x6ad04f
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x6ab9f5
mov byte [esp + 0xbf], 5
mov eax, dword [esp + 0x14c]
mov dword [esp + 8], eax
mov esi, dword [esp + 0x190]
mov dword [esp + 4], esi
mov eax, dword [esp + 0x90]
mov dword [esp], eax
call fcn.0068e6c0
jmp 0x6ad28c
cmp ebx, 0xd
je 0x6acce7
mov dword [esp + 0x368], 0x700002bb
mov dword [esp + 0x1b4], 0x700002bb
jmp 0x6ab9f5
cmp esi, 0xf
jne 0x6ad0bb
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
jne 0x6ab9f5
mov ebx, 0x12
mov byte [esp + 0x10f], 0x26
mov byte [esp + 0xfd], 0x1d
mov eax, dword [esp + 0x1b0]
mov eax, dword [eax]
mov ecx, dword [esp + 0x114]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x14]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xc], ecx
mov esi, dword [esp + 0x120]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.007b3c90
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x1ac], esi
jne 0x6a7979
mov dword [esp + 0x70], 0xa
mov dl, byte [esp + 0xfd]
movsx eax, dl
cmp eax, 0x31
jg 0x6ad1ea
mov eax, 0xc
movzx ecx, dl
cmp ecx, 0x1b
je 0x6ad3a9
mov esi, 0xf
cmp ecx, 0x1d
jne 0x6ad269
cmp esi, 0xf
jne 0x6aa8f2
lea eax, [esp + 0x368]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.007855d0
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6ab9f5
mov byte [esp + 0xfd], 0x1b
mov byte [esp + 0xea], 0x37
jmp 0x6ad475
movzx eax, dl
cmp eax, 0x32
je 0x6ab66c
cmp eax, 0x63
jne 0x6ad269
mov esi, 0xf
mov byte [esp + 0xfd], 0x1d
mov byte [esp + 0xea], 0x37
lea eax, [esp + 0x368]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.007855d0
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6ad0a5
jmp 0x6ad475
cmp dword [esp + 0x70], 0xa
je 0x6ad310
xor eax, eax
test al, al
jne 0x6ad310
mov esi, dword [esp + 0x190]
mov eax, dword [esp + 0xdc]
mov ebx, 0xf
mov dword [esp + 0x368], eax
test eax, eax
jne 0x6ad2d1
mov dword [esp + 0x120], 0x20
mov dword [esp + 0x190], esi
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov dword [esp + 0x1b4], eax
mov esi, eax
mov dword [esp + 0xdc], eax
jne 0x6acf84
jmp 0x6ad2ec
mov dword [esp + 0x120], 0x20
mov dword [esp + 0x190], esi
mov esi, eax
mov dword [esp + 0xdc], eax
cmp ebx, 0xf
jne 0x6aa818
imul ebx, ebx
and ebx, 3
cmp ebx, 2
mov dword [esp + 0x1b4], esi
jb 0x6ab9f5
jmp 0x6aa818
lea eax, [esp + 0x368]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.007855d0
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6ab9f5
mov ebx, 0x16
mov byte [esp + 0xfd], 0x63
mov byte [esp + 0xea], 0x37
cmp ebx, 9
jne 0x6ad475
mov eax, ebx
and eax, 1
xor eax, ebx
not eax
test eax, eax
jne 0x6aacb1
jmp 0x6ad475
mov edi, dword [esp + 0x174]
mov esi, dword [esp + 0xc0]
cmp eax, 6
mov ebx, dword [esp + 0x1b4]
jne 0x6ad3d2
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x6ac67c
mov dword [esp + 0xc0], esi
mov dword [esp + 0x174], edi
mov esi, 0x13
mov ebx, 0x11
mov byte [esp + 0xfd], 0x32
mov byte [esp + 0xea], 0x37
lea eax, [esp + 0x368]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.007855d0
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x368], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6ad718
cmp ebx, 0xd
jne 0x6ad475
mov eax, ebx
and eax, 1
xor eax, ebx
not eax
test eax, eax
jne 0x6acbbd
mov cl, byte [esp + 0xea]
movsx eax, cl
cmp eax, 0x48
jg 0x6ad4c8
movzx ecx, cl
cmp ecx, 0x2c
mov esi, dword [esp + 0x19c]
je 0x6ad51a
mov eax, 0x13
cmp ecx, 0x37
jne 0x6ad680
mov bl, byte [esp + 0x107]
cmp eax, 0xd
jne 0x6ab6e6
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x1b4], eax
jmp 0x6ab9f5
mov eax, 0xf
movzx ecx, cl
cmp ecx, 0x49
mov esi, dword [esp + 0x19c]
je 0x6ad54e
cmp ecx, 0x61
jne 0x6ad680
mov dword [esp + 0x44], 0x16
mov ecx, dword [esp + 0x44]
cmp ecx, 0xd
jne 0x6ad6e0
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
je 0x6ad6e0
mov ax, si
mov dword [esp + 0x19c], eax
jmp case.0x6a7721.12
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0068e960
test eax, eax
je 0x6ab959
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x6ab959
mov byte [esp + 0xea], 0x37
jmp 0x6ab723
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 0x6c], ecx
mov cx, word [esp + 0x1a2]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x70], esi
mov ebx, dword [esp + 0x198]
mov edi, dword [esp + 0x158]
cmp eax, 0xe
mov esi, dword [esp + 0x18c]
jne 0x6ad59f
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x6ab9f5
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0068e960
test eax, eax
je 0x6ab959
mov dword [esp + 0x158], edi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x54]
mov word [esp + 0x1a2], ax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x198], ebx
mov edx, dword [esp + 0x184]
mov ax, word [esp + 0x13a]
mov dword [esp + 0x70], eax
mov ax, word [esp + 0x18a]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x6c], eax
mov edi, esi
mov byte [esp + 0xea], 0x49
mov byte [esp + 0xe0], 0x19
mov dword [esp + 0x3c], 0x11
mov ebx, edx
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x3c], 6
je 0x6a82d5
mov dword [esp + 0x184], ebx
mov ax, si
mov word [esp + 0x13a], ax
mov ax, cx
mov word [esp + 0x18a], ax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x144], eax
mov dword [esp + 0x18c], edi
jmp 0x6ab72b
mov dword [esp + 0x19c], esi
mov dword [esp + 0x3c], 7
mov byte [esp + 0xea], 0x61
mov byte [esp + 0xe0], 0x19
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0068e960
test eax, eax
jne 0x6ab72b
mov eax, dword [esp + 0x3c]
cmp eax, 7
je 0x6ab952
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x1b4], eax
jne 0x6a825d
jmp 0x6ab959
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0068e960
test eax, eax
je 0x6ab959
mov byte [esp + 0xea], 0x1b
mov byte [esp + 0xe0], 0x19
mov ax, si
mov dword [esp + 0x19c], eax
jmp 0x6ab72b
cmp esi, 8
je 0x6aa6c8
xor eax, eax
test al, al
jne 0x6aa6c8
jmp 0x6ab9f5