Function at 0x69e170
Capabilities:
Authenticate hmac
Encrypt data using speck
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1d0
mov ebx, dword [ebp + 8]
mov edi, 9
mov esi, 0xc
mov al, 8
mov dword [esp + 0x150], eax
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b0], 0
lea eax, [esp + 0x198]
mov dword [esp + 8], eax
lea eax, [esp + 0x19c]
mov dword [esp + 4], eax
lea eax, [esp + 0x1a0]
mov dword [esp], eax
call fcn.00690540
mov dword [esp + 0x2c], eax
mov edx, dword [ebx + 8]
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
mov dword [esp + 0x54], 0
cmp edx, ecx
mov byte [esp + 0x14b], cl
mov byte [esp + 0x6b], cl
mov byte [esp + 0x13f], cl
mov byte [esp + 0x183], cl
mov byte [esp + 0xeb], cl
mov byte [esp + 0x33], cl
mov byte [esp + 0x10b], cl
mov byte [esp + 0x14a], cl
mov byte [esp + 0x16b], cl
mov byte [esp + 0x163], cl
mov byte [esp + 0x15b], cl
mov byte [esp + 0x47], cl
mov byte [esp + 0x11f], cl
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x144], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x124], ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x170], ecx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x134], edx
mov dword [esp + 0xdc], edx
mov dword [esp + 0x16c], edx
mov dword [esp + 0x138], edx
mov dword [esp + 0x164], edx
mov dword [esp + 0x178], edx
mov dword [esp + 0x128], edx
mov dword [esp + 0x174], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x110], edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x104], edx
mov dword [esp + 0x114], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0xec], eax
mov byte [esp + 0x77], al
mov byte [esp + 0x8f], al
mov byte [esp + 0x76], al
mov dword [esp + 0x188], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x15c], eax
jne 0x6a10a0
mov byte [esp + 0x182], bl
cmp esi, 0xc
je 0x69e4a0
mov dword [esp + 0x78], ecx
xor eax, eax
test al, al
je 0x6a0736
jmp 0x69f6e5
mov dword [esp + 0x78], ecx
jmp 0x69f6e5
mov eax, dword [esp + 0x184]
mov bl, al
xor bl, 0x56
mov dword [esp + 0x150], ebx
mov dl, al
xor dl, 0x4d
mov byte [esp + 0x15b], dl
mov bl, al
xor bl, 0x5a
mov dword [esp + 0x15c], ebx
mov al, bl
sub al, dl
xor al, 0xcc
mov dword [esp + 0x154], eax
mov bl, al
add bl, 0xf7
mov byte [esp + 0x163], bl
mov bl, al
add bl, 0xd5
mov byte [esp + 0x16b], bl
mov bl, al
add bl, 0xd
mov byte [esp + 0x183], bl
mov bl, al
add bl, 0x28
mov byte [esp + 0x13f], bl
add esi, ecx
setne cl
movzx ecx, cl
add edi, ecx
mov byte [esp + 0x14b], 0x6f
mov byte [esp + 0x14a], 0x63
mov byte [esp + 0x182], 7
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x140], eax
lea eax, [esp + 0x1a8]
mov dword [esp + 0x14c], eax
lea eax, [esp + 0x1b0]
mov dword [esp + 0x144], eax
mov al, 0x77
mov cl, 0x1b
mov dword [esp + 0x188], ecx
mov esi, edi
or esi, 2
mov ecx, edi
xor ecx, 2
mov ebx, esi
add ebx, ecx
setne bl
movzx ebx, bl
cmp edi, ebx
jb 0x69e4b0
mov dword [esp + 0xb4], 0
mov byte [esp + 0x10b], al
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xa8], 0
mov eax, dword [esp + 0xec]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0xfc]
jmp 0x6a1614
mov eax, 4
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov ecx, dword [esp + 0x100]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xc0], edx
mov esi, dword [esp + 0x17c]
mov dword [esp + 0x12c], esi
mov edx, dword [esp + 0x184]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xcc], edi
mov dword [esp + 0xec], ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], ebx
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf0], edx
mov edx, edi
mov dword [esp + 0xf8], esi
mov dword [esp + 0x170], ebx
mov dword [esp + 0xd8], ebx
mov esi, ecx
mov ch, byte [esp + 0x13f]
mov edi, dword [esp + 0x140]
jne 0x69f547
mov bl, ch
mov dword [esp + 0xa4], edx
mov ecx, dword [edi]
mov dword [esp + 0x98], ecx
mov esi, dword [esp + 0xc0]
lea eax, [esi + esi*2]
lea edx, [ecx + eax*8]
mov ecx, dword [ecx + eax*8]
cmp ecx, 4
je 0x69e79d
mov eax, 0x11
cmp ecx, 5
je 0x69e867
mov eax, 4
cmp ecx, 0x10
jne 0x69e95a
mov dword [esp + 0x88], ecx
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], bl
mov ebx, 9
lea eax, [esp + 0x1c0]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0x6c], edx
call fcn.00789450
mov dword [esp + 0x18c], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
mov dword [esp + 0x100], 0
cmp eax, ecx
mov edi, dword [esp + 0x17c]
mov dword [esp + 0x12c], edi
mov esi, dword [esp + 0x184]
mov dword [esp + 0xd0], esi
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xcc], edx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x170], ecx
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x90], eax
mov dword [esp + 0x138], ecx
mov dword [esp + 0x164], edx
mov dword [esp + 0x178], esi
mov esi, 6
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x174], edi
jne 0x6a19f3
jmp 0x6a13a6
mov dword [esp + 0x88], ecx
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], bl
lea eax, [esp + 0x1b8]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0x6c], edx
call fcn.00789690
mov dword [esp + 0x100], 0
test eax, eax
jne 0x69ea42
mov ecx, eax
mov dword [esp + 0x18c], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x90], eax
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x138], edi
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x164], edx
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xcc], edx
mov dword [esp + 0x170], edi
mov ecx, 0xe
jb 0x6a047d
jmp 0x6a0190
mov dword [esp + 0x88], ecx
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], bl
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0xb4], ecx
mov esi, dword [esp + 0xec]
mov dword [esp + 0x170], esi
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x164], ecx
mov ecx, dword [esp + 0x184]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x90], ecx
mov esi, dword [esp + 0xc0]
mov ebx, dword [esp + 0x118]
cmp eax, 0xd
jne 0x69e9f6
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x69e9f6
mov dword [esp + 0x128], esi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x118], ebx
mov edi, dword [esp + 0x138]
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x170]
jmp 0x6a0fac
mov dword [esp + 0x6c], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], bl
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0xb4], ecx
mov edx, dword [esp + 0xec]
mov dword [esp + 0x170], edx
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x164], ecx
mov ecx, dword [esp + 0x184]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x128], ecx
jmp 0x69fc24
mov dword [esp + 0x128], esi
mov dword [esp + 0x118], ebx
mov esi, 6
mov eax, dword [esp + 0x144]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0x6c], edx
call fcn.007898d0
mov dword [esp + 0x18c], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6a0d28
jmp 0x69f36b
mov dword [esp + 0x18c], eax
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x12c], ecx
mov edi, esi
mov esi, dword [esp + 0x184]
mov dword [esp + 0xd0], esi
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xcc], edx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 0x170], ebx
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x90], eax
mov dword [esp + 0x138], ebx
mov dword [esp + 0x164], edx
mov dword [esp + 0x178], esi
mov dword [esp + 0x128], edi
mov edi, ebx
mov dword [esp + 0x174], ecx
mov ecx, 0xe
jmp 0x6a0190
mov ecx, dword [edi]
mov dword [esp + 0x98], ecx
mov eax, dword [esp + 0x128]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8]
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], 0
mov eax, 0x10
mov esi, dword [esp + 0x88]
cmp esi, 0x12
je 0x69eb85
cmp esi, 0x21
jne 0x69eca1
mov edi, 0xf
mov dword [esp + 0x184], 0x18
mov eax, dword [esp + 0x128]
lea eax, [eax + eax*2]
mov ebx, dword [esp + 0x98]
mov ecx, dword [ebx + eax*8 + 0x10]
mov edx, dword [ebx + eax*8 + 0x14]
mov eax, dword [ebx + eax*8 + 4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0068ee80
mov dword [esp + 0x18c], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x124], esi
mov dword [esp + 0x130], ebx
mov eax, dword [esp + 0x90]
mov dword [esp + 0x120], eax
mov dword [esp + 0x48], ebx
jne 0x6a0afd
jmp 0x69f499
mov ecx, dword [esp + 0x138]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0xa4], ecx
mov ebx, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x17c], ecx
mov ecx, esi
mov edx, dword [esp + 0x98]
mov dword [esp + 0x130], edx
mov esi, dword [esp + 0x90]
mov dword [esp + 0x120], esi
mov esi, edx
mov dword [esp + 0x124], ecx
xor ecx, ecx
cmp eax, 0x10
mov edi, dword [esp + 0x128]
jne 0x69ecdb
mov edx, eax
and edx, 1
xor edx, eax
not edx
test edx, edx
je 0x69ecdb
lea eax, [edi + edi*2]
lea eax, [esi + eax*8]
mov dword [esp + 0x48], esi
lea ecx, [esp + 0x1ac]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00789540
mov dword [esp + 0x18c], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov dword [esp + 0x100], 0
cmp eax, ecx
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x138], edi
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x164], edx
mov dword [esp + 0x178], ebx
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x184], ebx
mov dword [esp + 0xcc], edx
mov dword [esp + 0x170], edi
je 0x6a047d
jmp 0x6a0d28
mov dword [esp + 0x124], esi
mov eax, dword [esp + 0x98]
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x48], eax
mov bl, byte [esp + 0x13f]
mov edi, dword [esp + 0x140]
jmp 0x69edb6
mov dword [esp + 0x48], esi
mov dword [esp + 0x184], ebx
mov dword [esp + 0x12c], eax
mov dword [esp + 0x170], edx
mov ebx, dword [esp + 0x154]
jmp 0x69ed3c
mov ebx, 0x67
xor ebx, 0x6a
mov dword [esp + 0x170], ebx
add bl, 0x30
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
add ecx, edx
lea edx, [edi + edi*2]
mov esi, dword [esp + 0x110]
mov eax, dword [esi + edx*8 + 0x14]
mov dword [esp + 0x12c], eax
mov eax, dword [esi + edx*8 + 0x10]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
cmp ecx, edx
jb 0x69ed00
mov dword [esp + 0xd0], eax
mov dword [esp + 0x154], ebx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xcc], ecx
mov eax, dword [esp + 0xd8]
mov ebx, eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x164], ecx
mov eax, dword [esp + 0x184]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x100], ecx
mov eax, dword [esp + 0x170]
jmp 0x69fdfc
mov eax, 0xd
movzx edx, byte [esp + 0x10b]
cmp edx, 0x10
je 0x69ee0a
mov eax, 0x1a
mov ecx, 1
cmp edx, 0x50
mov edx, dword [esp + 0x138]
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x164]
mov esi, dword [esp + 0x178]
mov dword [esp + 0x184], esi
mov esi, dword [esp + 0x174]
je 0x6a1b12
jmp 0x6a17c8
mov byte [esp + 0x13f], bl
jmp 0x69f3b4
mov edi, dword [esp + 0x140]
mov eax, dword [edi]
mov ecx, dword [esp + 0x128]
lea esi, [ecx + ecx*2]
mov ecx, dword [eax + esi*8 + 0x10]
add ecx, 0xfffffff0
mov eax, dword [eax + esi*8 + 0x14]
add eax, 0x10
mov edx, dword [esp + 0x14c]
mov dword [esp + 0xc], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 0x2c
call fcn.0064be40
mov dword [esp + 0x18c], eax
test eax, eax
jne 0x6a0d28
xor eax, eax
mov bl, byte [esp + 0x13f]
jmp 0x69ee9f
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
mov ecx, dword [edi]
mov dword [esp + 0x130], ecx
mov ecx, dword [ecx + esi*8]
mov dword [esp + 0x124], ecx
mov dword [esp + 0x120], 0
test eax, eax
jne 0x69edb6
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 1
jbe 0x69ee70
jmp 0x69edb6
mov ecx, dword [esp + 0x124]
cmp ecx, 0x13
je 0x69ef63
mov byte [esp + 0x10b], 0x50
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], bl
mov eax, 0x10
cmp ecx, 0x22
je 0x69ef8c
cmp ecx, 0x37
mov eax, dword [esp + 0x130]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x58], eax
mov dword [esp + 0x100], eax
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x138], edi
mov dword [esp + 0x164], edx
mov eax, dword [esp + 0x184]
mov dword [esp + 0x178], eax
mov dword [esp + 0x174], esi
mov dword [esp + 0x12c], esi
mov dword [esp + 0x17c], esi
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], edx
mov eax, edi
jne 0x6a047d
jmp 0x6a0fac
mov dword [esp + 0xa4], edx
mov byte [esp + 0x10b], 0x50
mov eax, dword [esp + 0x184]
mov dword [esp + 0x178], eax
mov dword [esp + 0x174], esi
jmp 0x6a1c17
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x174], esi
mov dword [esp + 0x12c], esi
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x164], edx
mov dword [esp + 0xcc], edx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x138], ecx
mov ebx, ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x100], ecx
mov edx, dword [esp + 0x130]
mov dword [esp + 0x110], edx
mov dword [esp + 0x58], ecx
cmp eax, 3
jne 0x69f022
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x69f022
mov eax, 4
mov byte [esp + 0x163], 0x38
mov ecx, dword [esp + 0x5c]
test ecx, ecx
mov dword [esp + 0x84], ecx
je 0x6a02d9
jmp 0x69fd64
mov dword [esp + 0x170], ebx
mov eax, dword [esp + 0x128]
lea edi, [eax + eax*2]
mov eax, dword [esp + 0x110]
lea eax, [eax + edi*8]
lea ecx, [esp + 0x1a4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00789960
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6a08c7
mov edx, 0x10
mov bl, byte [esp + 0x182]
movzx ecx, bl
cmp ecx, 0x77
jne 0x69f0f9
mov esi, 7
mov byte [esp + 0x182], 0x77
mov eax, dword [esp + 0x140]
mov eax, dword [eax]
mov ecx, dword [eax + edi*8 + 0x10]
add ecx, 0xffffffec
mov eax, dword [eax + edi*8 + 0x14]
add eax, 0x14
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x22
call fcn.007855d0
mov dword [esp + 0x18c], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6a0d28
jmp 0x69f8db
mov dword [esp + 0x18c], eax
cmp edx, 0x10
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x140]
je 0x69f187
xor eax, eax
test al, al
jne 0x69f187
mov esi, 0xa
mov byte [esp + 0x14b], 0x6f
mov eax, dword [esp + 0x104]
shl eax, 6
mov edx, dword [esp + 0xc4]
lea ecx, [edx + eax + 0x20]
mov dword [esp + 0xe4], ecx
mov eax, dword [edx + eax + 0x20]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00493840
mov edi, dword [esp + 0x134]
mov dword [edi + 0x24], eax
test eax, eax
je 0x69f1ef
mov edx, 8
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0x34], edi
jne 0x6a08e6
jmp 0x6a1441
mov eax, dword [ecx]
mov ecx, dword [esp + 0x128]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x10]
mov eax, dword [eax + ecx*8 + 0x14]
mov edi, 0xe
mov byte [esp + 0x182], 7
add edx, 0xffffffec
add eax, 0x14
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov dword [esp], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x22
call fcn.007855d0
mov dword [esp + 0x18c], eax
test eax, eax
jne 0x6a0d28
jmp 0x69f1ff
mov dword [esp + 0xe0], eax
mov dword [esp + 0x34], edi
jmp 0x6a1441
cmp edi, 0xe
jne 0x69f21d
mov eax, edi
and eax, 1
xor eax, edi
not eax
test eax, eax
mov ebx, dword [esp + 0x170]
jne 0x69f229
jmp 0x6a2120
mov ebx, dword [esp + 0x170]
jmp 0x6a2120
mov ecx, dword [esp + 0x1a4]
mov edx, dword [ecx]
mov eax, edx
and eax, 1
inc eax
xor eax, edx
sete al
movzx esi, al
xor eax, eax
cmp edx, esi
mov edx, dword [esp + 0x138]
mov dword [esp + 0x170], edx
mov esi, dword [esp + 0x174]
mov dword [esp + 0x17c], esi
mov esi, dword [esp + 0x178]
mov dword [esp + 0x184], esi
mov esi, dword [esp + 0x164]
mov edi, edx
mov edx, esi
mov dword [esp + 0x100], 0
je 0x6a047d
mov esi, 0x14
mov ebx, dword [ecx + 4]
mov dword [esp + 0xc4], ebx
mov ecx, eax
shl ecx, 6
mov edx, dword [ebx + ecx + 0x10]
mov edi, dword [esp + 0x1bc]
mov dword [esp + 0x100], 0
cmp dword [esp + 0x1b8], edx
sbb edi, dword [ebx + ecx + 0x14]
lea edi, [ebx + ecx]
mov dword [esp + 0x9c], edi
lea ecx, [ebx + ecx + 0x10]
mov dword [esp + 0x7c], ecx
jge 0x69f32c
mov ecx, 7
mov edi, edx
not edi
and edi, 1
add edi, edx
mov edi, dword [esp + 0x170]
mov dword [esp + 0xd4], edi
mov edx, dword [esp + 0x174]
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x178]
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x164]
mov dword [esp + 0xcc], edx
mov edx, eax
mov dword [esp + 0x104], edx
mov ebx, edi
jne 0x6a12a4
jmp 0x69f36b
mov ecx, dword [esp + 0x170]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x178]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x104], eax
cmp esi, 6
mov edi, dword [esp + 0x140]
je 0x69eac0
xor eax, eax
test al, al
jne 0x69eac0
mov eax, 0xb
mov ecx, dword [esp + 0x1a0]
cmp ecx, 0xd
jb 0x69f3b0
mov ebx, 0xf
mov dword [esp + 0x78], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jne 0x6a1715
jmp 0x69f3b4
mov dword [esp + 0x78], ecx
cmp eax, 0xb
jne 0x69f3fb
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x69f3fb
mov dword [esp + 0x140], edi
mov edi, dword [esp + 0x138]
mov ecx, dword [esp + 0x164]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x17c], eax
jmp 0x69f8f8
mov ecx, dword [esp + 0x124]
cmp ecx, 0x13
je 0x69f7b9
mov byte [esp + 0x10b], 0x77
mov eax, 0xf
cmp ecx, 0x22
je 0x69f4ac
mov dword [esp + 0x140], edi
mov eax, 4
mov dword [esp + 0x184], 0x10
cmp ecx, 0x37
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x178]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x100], ecx
mov edx, dword [esp + 0x130]
mov dword [esp + 0x110], edx
mov dword [esp + 0x58], ecx
je 0x6a0f63
cmp dword [esp + 0x184], 0x10
jne 0x69ee16
jmp 0x6a1491
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xd8], ecx
mov ebx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x178]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x120]
mov esi, ecx
mov edx, dword [esp + 0x130]
mov dword [esp + 0x110], edx
mov edx, ebx
mov dword [esp + 0x58], ecx
mov ch, byte [esp + 0x13f]
cmp eax, 4
je 0x69f5b0
imul eax, eax
and eax, 3
cmp eax, 3
je 0x69f5b0
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], ch
mov eax, dword [esp + 0x100]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0x184]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x100], esi
jmp 0x69f029
cmp dword [esp + 0xf8], 0
je 0x69f681
mov dword [esp + 0xa4], edx
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], ch
xor edi, edi
lea ebx, [esp + 0x1b4]
jmp 0x69f63f
mov eax, edi
and eax, 1
xor eax, edi
cmp eax, 0xffffffff
setne al
movzx eax, al
add edi, eax
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 8], 2
mov ecx, 3
mov edx, dword [esp + 0xf8]
call fcn.006f0350
mov eax, edi
or eax, 2
mov ecx, edi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp edi, eax
jb 0x69f5e0
mov eax, dword [esp + 0x100]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xb0], eax
jmp 0x69f6b2
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], ch
mov eax, dword [esp + 0x100]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0x184]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x100], esi
mov eax, dword [esp + 0x60]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c8], eax
lea eax, [esp + 0x1c8]
mov dword [esp + 0x14], eax
mov edi, dword [ebp + 0xc]
mov dword [esp], edi
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
test eax, eax
jne 0x6a08c7
mov byte [esp + 0x8f], 0x54
mov byte [esp + 0x76], 0x58
mov eax, dword [esp + 0x1c8]
test eax, eax
je 0x69f765
imul eax, eax
and eax, 3
cmp eax, 3
je 0x69f765
mov edi, dword [esp + 0x16c]
jmp 0x6a0501
mov esi, 0xd
lea eax, [esp + 0x1b0]
mov dword [esp + 0x14], eax
mov dword [esp], edi
mov dword [esp + 0x18], 8
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x11
call fcn.007855d0
mov dword [esp + 0x18c], eax
test eax, eax
jne 0x6a0d28
jmp 0x6a0d7e
mov byte [esp + 0x10b], 0x77
mov eax, dword [esp + 0x138]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0xa4], eax
mov bl, byte [esp + 0x13f]
jmp 0x6a1c17
mov dword [esp + 0x17c], esi
mov dword [esp + 0xa4], edx
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], bl
mov esi, 0x14
mov byte [esp + 0x14a], 0x63
mov ecx, dword [esp + 0x19c]
cmp ecx, 0x17
setb al
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
mov edi, dword [esp + 0x78]
cmp edi, 0xd
jne 0x69f87e
mov edx, edi
or edx, 2
xor edi, 2
add edi, edx
mov ebx, dword [esp + 0x184]
je 0x69f8aa
or al, cl
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x138], edi
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x178], ebx
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
jne 0x69f8f8
jmp 0x69f8db
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x178], eax
jmp 0x69f8cd
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x164], eax
mov dword [esp + 0x178], ebx
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
cmp esi, 7
jne 0x6a00a4
mov eax, 3
sub eax, esi
xor eax, esi
jne 0x69f229
jmp 0x6a00a4
mov dword [esp + 4], 0x40
mov dword [esp], 1
mov esi, ecx
call fcn.00493840
test eax, eax
mov dword [esp + 0x18c], 0x70000003
mov ebx, dword [esp + 0x17c]
mov edx, edi
mov edi, dword [esp + 0x184]
je 0x69f975
mov dword [esp + 0xec], 0xf
mov ecx, eax
mov dword [esp + 0x134], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x138], edx
mov dword [esp + 0x164], esi
mov dword [esp + 0x178], edi
mov dword [esp + 0x174], ebx
mov edi, edx
mov ecx, esi
jne 0x6a20d2
jmp 0x6a0d28
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], edx
mov dword [esp + 0x164], esi
mov dword [esp + 0x178], edi
mov dword [esp + 0x174], ebx
jmp 0x6a0d28
mov ebx, ecx
mov esi, 9
mov eax, dword [esp + 0x104]
shl eax, 6
mov edx, dword [esp + 0xc4]
lea ecx, [edx + eax + 0x24]
mov dword [esp + 0x94], ecx
mov eax, dword [edx + eax + 0x24]
test eax, eax
jne 0x69f9e3
mov ecx, 2
imul eax, eax
and eax, 3
cmp eax, 2
mov edx, ebx
jb 0x69fd07
jmp 0x6a07b2
mov edx, ebx
jmp 0x6a07b2
mov byte [esp + 0x14b], 0x6d
mov eax, dword [esp + 0x104]
shl eax, 6
mov edx, dword [esp + 0xc4]
lea ecx, [edx + eax + 0x20]
mov dword [esp + 0xe4], ecx
mov eax, dword [edx + eax + 0x20]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00493840
mov edx, dword [esp + 0x134]
mov dword [edx + 0x24], eax
test eax, eax
je 0x69fa50
mov ecx, eax
mov dword [esp + 0xe0], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x34], edx
mov edx, esi
jne 0x6a092e
jmp 0x69fa5d
mov dword [esp + 0xe0], eax
mov dword [esp + 0x34], edx
mov edx, esi
mov esi, 8
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov ebx, edx
call fcn.004936c0
mov dword [esp + 0x1c8], 0x70000003
mov dword [esp + 0x18c], 0
mov dword [esp + 0x138], edi
mov dword [esp + 0x164], ebx
mov eax, dword [esp + 0x184]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
mov edi, dword [esp + 0x16c]
jmp 0x6a05fb
mov eax, 0xda
mov esi, 0xda
xor esi, 0xc3
add eax, esi
xor al, 0xb5
mov dword [esp + 0x188], eax
mov eax, edi
not eax
and eax, 1
add eax, edi
setne al
movzx eax, al
add edi, eax
mov eax, dword [esp + 0x94]
mov eax, dword [eax]
mov ebx, dword [esp + 0xe4]
mov ecx, dword [ebx]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.007ce510
mov eax, dword [ebx]
mov ecx, dword [esp + 0x134]
mov dword [ecx + 0x20], eax
mov eax, edi
or eax, 2
mov ecx, edi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp edi, eax
jb 0x69fac0
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
jmp 0x6a14f7
mov al, 0x1b
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x94]
mov eax, dword [eax]
mov esi, dword [esp + 0xe4]
mov ecx, dword [esi]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.007ce510
mov eax, dword [esi]
mov ecx, dword [esp + 0x134]
mov dword [ecx + 0x20], eax
mov dword [esp + 0x138], edi
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
mov esi, 2
mov eax, dword [esp + 0x104]
shl eax, 6
mov ecx, dword [esp + 0xc4]
lea edx, [ecx + eax + 0x28]
mov dword [esp + 0x10c], edx
mov ecx, dword [ecx + eax + 0x28]
test ecx, ecx
jne 0x6a09ea
mov eax, 5
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jae 0x6a09ea
cmp eax, 4
je 0x69eae8
imul eax, eax
and eax, 3
cmp eax, 3
mov ebx, dword [esp + 0x170]
jne 0x69fd50
jmp 0x69eae8
mov esi, 2
mov byte [esp + 0x6b], 0x18
mov dword [esp + 4], 0x10
mov dword [esp], 1
call fcn.00493840
mov ecx, dword [esp + 0x134]
mov dword [ecx + 0x28], eax
test eax, eax
je 0x69fe3b
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x69fe3b
xor edx, edx
mov ecx, 0x20
add ecx, 0xffffffea
jmp 0x69fcbc
inc edx
mov esi, dword [esp + 0x10c]
mov esi, dword [esi]
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov esi, edx
or esi, 2
mov edi, edx
xor edi, 2
add edi, esi
setne bl
movzx esi, bl
cmp edx, esi
jb 0x69fca0
mov edi, dword [esp + 0x138]
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x40], eax
cmp ecx, 2
mov eax, dword [esp + 0x17c]
mov esi, dword [esp + 0x184]
je 0x69fe4b
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov dword [esp + 0x138], edi
mov dword [esp + 0x164], edx
mov dword [esp + 0x178], esi
mov dword [esp + 0x174], eax
mov ebx, dword [esp + 0x170]
je 0x69fbe3
mov eax, 2
mov cl, byte [esp + 0x13f]
movzx ecx, cl
cmp ecx, 0x65
jne 0x69fdb7
cmp eax, 2
jne 0x69fe2f
mov byte [esp + 0x13f], 0xc
mov eax, dword [esp + 0x104]
shl eax, 6
mov edx, dword [esp + 0xc4]
lea ecx, [edx + eax + 0x38]
mov dword [esp + 0xc8], ecx
mov eax, dword [edx + eax + 0x38]
test eax, eax
jne 0x69fe65
mov esi, 0xc
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x69fec3
jmp 0x69fe65
mov eax, 0xa
mov byte [esp + 0x13f], 0x65
mov ecx, dword [esp + 0x104]
shl ecx, 6
mov esi, dword [esp + 0xc4]
lea edx, [esi + ecx + 0x38]
mov dword [esp + 0xc8], edx
mov ecx, dword [esi + ecx + 0x38]
test ecx, ecx
je 0x69fdfc
mov edx, 0x12
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x6a22f9
cmp eax, 0xa
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x184], eax
mov edx, dword [esp + 0xcc]
mov edi, ebx
jne 0x6a047d
jmp 0x6a2120
mov dword [esp + 0x170], ebx
jmp 0x6a0a78
mov eax, dword [esp + 0x134]
mov dword [esp + 0x40], eax
jmp 0x6a1352
mov dword [esp + 0x138], edi
mov dword [esp + 0x164], edx
mov dword [esp + 0x178], esi
jmp 0x69fbdc
mov edi, 0xa
mov esi, 0x1b
mov eax, dword [esp + 0x104]
shl eax, 6
mov ecx, dword [esp + 0xc4]
lea edx, [ecx + eax + 0x34]
mov dword [esp + 0xbc], edx
mov eax, dword [ecx + eax + 0x34]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00493840
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x134]
mov dword [ecx + 0x34], eax
test eax, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x170], ebx
je 0x6a0ceb
cmp esi, 0xc
jne 0x69fed7
imul esi, esi
and esi, 3
cmp esi, 2
jb 0x6a2120
xor edi, edi
movzx eax, byte [esp + 0x183]
cmp eax, 4
je 0x69ff34
cmp eax, 0x4a
jne 0x69ffcf
mov byte [esp + 0x183], 0x4a
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
mov esi, dword [esp + 0xbc]
mov ecx, dword [esi]
shl ecx, 2
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.007ce510
mov eax, dword [esi]
mov ecx, dword [esp + 0x134]
mov dword [ecx + 0x30], eax
jmp 0x6a2120
mov dword [esp + 0xec], ebx
mov eax, 0x4d
xor eax, 0x53
mov dword [esp + 0x184], eax
mov esi, dword [esp + 0x134]
jmp 0x69ffa2
mov eax, dword [esp + 0x184]
add al, 0xe8
mov byte [esp + 0x183], al
inc edi
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
mov ebx, dword [esp + 0xbc]
mov ecx, dword [ebx]
shl ecx, 2
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.007ce510
mov eax, dword [ebx]
mov dword [esi + 0x30], eax
mov eax, edi
not eax
and eax, 1
add eax, edi
setne al
movzx eax, al
cmp edi, eax
jb 0x69ff60
mov eax, dword [esp + 0xec]
mov dword [esp + 0x170], eax
mov edi, dword [esp + 0x184]
jmp 0x69f1ff
mov dword [esp + 0xec], ebx
mov eax, 0xc7
mov ecx, 0x97
lea ebx, [ecx + eax - 0x155]
mov dword [esp + 0x184], ebx
sub ebx, ecx
mov esi, dword [esp + 0xbc]
jmp 0x6a003d
mov al, bl
add al, 0x92
mov byte [esp + 0x183], al
inc edi
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
mov ecx, dword [esi]
shl ecx, 2
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.007ce510
mov eax, dword [esi]
mov ecx, dword [esp + 0x134]
mov dword [ecx + 0x30], eax
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp edi, eax
jb 0x6a0000
mov ebx, dword [esp + 0xec]
mov esi, dword [esp + 0x184]
jmp 0x6a23ff
or al, cl
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x138], edi
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x178], esi
mov dword [esp + 0x184], esi
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
jne 0x69f8f8
mov esi, 0x1e
mov dword [esp + 0x194], 0
mov dword [esp + 0x190], 0
lea eax, [esp + 0x194]
mov dword [esp + 8], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
call fcn.00626960
mov dword [esp + 0x84], eax
test eax, eax
mov ebx, dword [esp + 0xfc]
jne 0x6a025f
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x27
call fcn.007855d0
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0x38], eax
test eax, eax
je 0x6a02cb
mov al, 0x36
mov dword [esp + 0x118], eax
mov ecx, 9
xor eax, eax
test al, al
mov edi, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x17c], eax
jne 0x6a01e0
mov ebx, edx
cmp ecx, 9
jne 0x6a0230
mov eax, 3
sub eax, ecx
xor eax, ecx
je 0x6a0230
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], ebx
mov eax, dword [esp + 0x184]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0xa8], eax
movzx ecx, byte [esp + 0x163]
cmp ecx, 0x38
je 0x6a0289
mov eax, 3
cmp ecx, 0x46
jne 0x6a02b3
mov byte [esp + 0x163], 0x34
mov ecx, dword [esp + 0x5c]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp ecx, eax
mov dword [esp + 0x84], ecx
jne 0x6a0a78
jmp 0x6a02d9
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], ebx
mov eax, dword [esp + 0x184]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0xa8], eax
jmp 0x6a0d28
mov al, 0x36
mov dword [esp + 0x118], eax
cmp esi, 0xf
jne 0x6a02bf
mov dword [esp + 0xfc], ebx
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
jne 0x6a2057
jmp 0x6a0a78
mov ecx, 0x18
mov eax, 0xa
mov byte [esp + 0x163], 0x46
mov edx, dword [esp + 0x5c]
test edx, edx
mov dword [esp + 0x84], edx
jne 0x6a0a50
jmp 0x6a0e95
mov ebx, dword [esp + 0x170]
jmp 0x69efed
mov dword [esp + 0xfc], ebx
jmp 0x6a0a78
mov al, 0x36
mov dword [esp + 0x118], eax
jmp 0x6a01e0
mov dword [esp + 0xd4], 1
mov eax, dword [esp + 0x104]
inc eax
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x100], 0
cmp eax, dword [ecx]
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x170], edx
mov esi, dword [esp + 0x174]
mov dword [esp + 0x17c], esi
mov esi, dword [esp + 0x178]
mov dword [esp + 0x184], esi
mov esi, dword [esp + 0x164]
mov edi, edx
mov edx, esi
jb 0x69f28a
jmp 0x6a047d
mov ebx, 0x46
xor bl, 0x39
inc eax
mov edx, dword [esp + 0x130]
mov esi, dword [edx + ecx*8 + 0x14]
mov edx, dword [edx + ecx*8 + 0x10]
mov dword [esp + 0x184], edx
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
cmp eax, edx
jb 0x6a0340
mov dword [esp + 0x17c], esi
mov dword [esp + 0x154], ebx
mov eax, dword [esp + 0x130]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x58], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x138], edi
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x164], edx
jmp 0x6a047d
mov al, 0x54
mov dword [esp + 0x15c], eax
lea eax, [edx + edx*2]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*8 + 0x10]
cmp eax, 4
jne 0x6a0404
mov dword [esp + 0x18c], 0x30000003
mov dword [esp + 0x128], edx
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov ebx, dword [esp + 0x170]
jne 0x6a1d98
jmp 0x6a0d28
mov dword [esp + 0x18c], 0x30000003
mov dword [esp + 0x128], edx
jmp 0x6a0d28
mov dword [esp + 0x18c], esi
mov dword [esp + 0xfc], ebx
mov byte [esp + 0x15b], 0x3d
mov eax, dword [esp + 0x128]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*8 + 0x14]
mov edx, dword [eax]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x100], eax
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x138], edi
mov eax, dword [esp + 0x184]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
mov ebx, edi
mov edi, edx
mov eax, dword [esp + 0x128]
lea edx, [eax + 1]
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 8]
jae 0x69e5ee
mov eax, dword [esp + 0x100]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xc0], edx
mov esi, dword [esp + 0x184]
mov dword [esp + 0xd0], esi
mov edx, edi
mov dword [esp + 0xcc], edx
mov dword [esp + 0xec], ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf8], ecx
jmp 0x6a18d5
movzx eax, byte [esp + 0x76]
cmp eax, 0x58
jne 0x6a0558
mov dword [esp + 0x16c], edi
mov edx, 6
mov byte [esp + 0x76], 0x2e
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x18c], 0
test eax, eax
mov bl, byte [esp + 0x182]
je 0x6a058b
mov esi, 0xe
xor eax, eax
test al, al
mov ecx, dword [esp + 0x78]
je 0x69e481
jmp 0x6a0c80
mov dword [esp + 0x16c], edi
mov eax, 0xf
mov byte [esp + 0x76], 0x58
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x18c], 0
test ecx, ecx
jne 0x6a0594
jmp 0x6a0d28
mov ecx, dword [esp + 0x78]
jmp 0x6a0c80
cmp eax, 0xf
je 0x6a0736
xor eax, eax
test al, al
je 0x6a131a
jmp 0x6a0736
mov byte [esp + 0x77], 0x5f
mov eax, dword [esp + 0x1c8]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
mov edx, dword [esp + 0x1a8]
cmp eax, ecx
jne 0x6a09d3
test edx, edx
je 0x6a0bdc
mov dword [esp + 0x50], edx
mov esi, 0xa
mov eax, edx
or eax, 2
mov ecx, edx
xor ecx, 2
add ecx, eax
je 0x6a0501
cmp esi, 8
je 0x6a0d28
movzx eax, byte [esp + 0x77]
cmp eax, 0x5f
mov eax, dword [ebp + 0xc]
jne 0x6a06ab
mov esi, 0xd
mov byte [esp + 0x77], 0xd
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov dword [esp], eax
mov dword [esp + 0x18], 0x28
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x21
call fcn.007855d0
mov dword [esp + 0x18c], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov edx, dword [esp + 0x1a4]
cmp eax, ecx
jne 0x6a09dc
test edx, edx
je 0x6a09dc
mov dword [esp + 0x16c], edi
mov eax, edx
or eax, 2
mov ecx, edx
mov dword [esp + 0x80], edx
xor ecx, 2
add ecx, eax
jne 0x6a0736
jmp 0x6a09ea
mov byte [esp + 0x77], 0x5f
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov dword [esp], eax
mov dword [esp + 0x18], 0x28
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x21
call fcn.007855d0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx edx, cl
mov ecx, dword [esp + 0x1a4]
cmp eax, edx
jne 0x6a0a07
test ecx, ecx
je 0x6a0a07
mov dword [esp + 0x18c], eax
mov dword [esp + 0x16c], edi
mov eax, ecx
mov dword [esp + 0x80], ecx
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x6a0d28
movzx eax, byte [esp + 0x8f]
cmp eax, 0x7e
mov edx, dword [esp + 0x80]
jne 0x6a07f6
mov esi, 5
mov byte [esp + 0x8f], 0x7e
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0068f750
mov dword [esp + 0x18c], eax
test eax, eax
mov edi, dword [esp + 0x138]
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x17c], eax
jne 0x6a0d28
cmp esi, 5
jne 0x6a0985
imul esi, esi
and esi, 3
cmp esi, 2
jae 0x6a0985
mov dword [esp + 0x138], edi
mov dword [esp + 0x164], edx
mov eax, dword [esp + 0x184]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
jmp 0x6a0832
mov byte [esp + 0x8f], 0x54
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0068f750
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6a08d3
mov edx, dword [ebp + 0xc]
mov al, byte [esp + 0x182]
mov esi, dword [esp + 0x54]
mov byte [esp + 0x47], 0x6a
mov edi, dword [esp + 0x1a4]
mov dword [esp + 0xdc], edi
mov ecx, esi
and ecx, 1
inc ecx
xor ecx, esi
sete cl
movzx ecx, cl
cmp esi, ecx
setne byte [esp + 0x33]
cmp dword [edi], 0
jne 0x6a0969
mov byte [esp + 0x182], al
mov dword [esp + 0x18c], 0
cmp esi, ecx
mov dword [esp + 0x54], esi
je 0x6a0d28
mov dword [esp], edx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0xfffffff9
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 3
mov dword [esp + 4], 0x22
call fcn.007855d0
mov dword [esp + 0x18c], eax
jmp 0x6a0d28
mov dword [esp + 0x18c], eax
mov edx, 6
mov bl, byte [esp + 0x182]
cmp edx, 6
je 0x6a0a1a
mov byte [esp + 0x182], bl
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
mov edi, dword [esp + 0x138]
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x17c], eax
je 0x6a0d28
mov eax, 0xf
mov ecx, dword [esp + 0x188]
movzx ecx, cl
cmp ecx, 0x1b
je 0x6a0a26
mov dword [esp + 0xa4], edx
cmp ecx, 0x46
jne 0x69fb74
mov dword [esp + 0xd8], edi
mov esi, dword [esp + 0x184]
jmp 0x6a1b67
mov byte [esp + 0x182], al
mov dword [esp + 0x54], esi
mov edx, dword [esp + 0x128]
mov edi, 4
jmp 0x6a1021
mov esi, edx
mov edx, 0x1e
movzx ecx, byte [esp + 0x14b]
cmp ecx, 0x6f
mov bl, byte [esp + 0x182]
jne 0x69f9ea
mov dword [esp + 0x138], edi
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x184]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
jmp 0x69f100
mov dword [esp + 0x50], edx
jmp 0x6a0501
mov dword [esp + 0x16c], edi
mov dword [esp + 0x80], edx
cmp esi, 2
jne 0x6a0d28
mov eax, 3
sub eax, esi
xor eax, esi
jne 0x69fc48
jmp 0x6a0d28
mov dword [esp + 0x18c], eax
mov dword [esp + 0x80], ecx
jmp 0x6a0d28
mov byte [esp + 0x182], bl
jmp 0x6a0d28
mov dword [esp + 0x138], edi
mov dword [esp + 0x164], edx
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x174], ecx
xor esi, esi
cmp eax, 0xa
jne 0x6a0be5
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x184], eax
mov edi, dword [esp + 0x94]
je 0x6a0c54
mov edi, 8
mov ebx, dword [esp + 0x118]
movzx ecx, bl
cmp ecx, 0x15
je 0x6a0afd
xor eax, eax
cmp ecx, 0x36
mov edi, dword [esp + 0x84]
je 0x6a0b89
cmp ecx, 0x45
jne 0x6a0ae0
mov al, 0x25
mov dword [esp + 0x118], eax
mov dword [esp + 0x18c], edi
jmp 0x6a0d28
mov ebx, 0x51
xor bl, 0x14
mov dword [esp + 0x118], ebx
add ecx, edx
setne cl
movzx ecx, cl
add eax, ecx
mov dword [esp + 0x18c], edi
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
mov esi, ecx
add esi, edx
setne bl
movzx esi, bl
cmp eax, esi
jb 0x6a0ac0
jmp 0x6a0d28
cmp edi, 8
je 0x6a0b11
imul edi, edi
and edi, 3
cmp edi, 3
jne 0x6a0d28
mov ecx, 9
mov bl, 0x36
mov eax, dword [esp + 0x84]
mov dword [esp + 0x18c], eax
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x128]
cmp ecx, 9
je 0x6a0caa
mov dword [esp + 0x128], esi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x118], ebx
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x184], eax
mov edx, dword [esp + 0xcc]
mov edi, dword [esp + 0x170]
jne 0x6a047d
jmp 0x6a0d28
mov esi, dword [esp + 0x18c]
jmp 0x6a0bb5
mov ebx, 0x5e
xor bl, 0x4b
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add eax, ecx
mov esi, edi
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne dl
movzx edx, dl
cmp eax, edx
jb 0x6a0ba0
mov dword [esp + 0x18c], esi
mov dword [esp + 0x118], ebx
jmp 0x6a0d28
mov dword [esp + 0x50], edx
jmp 0x6a0501
mov dword [esp + 0x184], eax
mov edi, dword [esp + 0x94]
jmp 0x6a0c54
mov eax, 0x73
add eax, 0xffffff94
mov dword [esp + 0x184], eax
add al, 0x2a
mov dword [esp + 0x188], eax
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov eax, dword [edi]
mov ebx, dword [esp + 0xe4]
mov ecx, dword [ebx]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.007ce510
mov eax, dword [ebx]
mov ecx, dword [esp + 0x134]
mov dword [ecx + 0x20], eax
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x6a0c00
mov dword [esp + 0x94], edi
mov ecx, dword [esp + 0x78]
mov bl, byte [esp + 0x182]
mov edx, dword [esp + 0x184]
mov byte [esp + 0x182], bl
cmp edx, 6
je 0x6a0ca4
mov dword [esp + 0x78], ecx
imul edx, edx
and edx, 3
cmp edx, 2
jne 0x69fbe3
jmp 0x6a0d28
mov dword [esp + 0x78], ecx
jmp 0x6a0d28
mov dword [esp + 0x128], esi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x118], ebx
jmp 0x6a0d28
mov dword [esp + 0x128], edx
mov byte [esp + 0x47], 0x6a
mov al, 0x64
mov dword [esp + 0x3c], eax
test byte [esp + 0x33], 1
jne 0x6a131a
mov edi, 6
mov dword [esp + 0x18c], 0
cmp edi, 6
je 0x6a0d28
mov esi, dword [esp + 0x28]
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esi + 0x24]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp], esi
call fcn.004936c0
mov dword [esp + 0x1c8], 0x70000003
mov dword [esp + 0x18c], 0
mov esi, 3
mov edi, dword [esp + 0x1a8]
test edi, edi
je 0x6a0d61
xor ebx, ebx
test bl, bl
jne 0x6a0d61
mov al, 0x3b
mov esi, 0xf
movzx eax, al
cmp eax, 0x5d
jne 0x6a0daa
mov byte [esp + 0x11f], 0x75
mov ebx, dword [esp + 0x18c]
jmp 0x6a1594
mov byte [esp + 0x11f], 0x75
mov dword [esp + 0x16c], edi
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x114], eax
cmp esi, 3
mov edi, dword [esp + 0x16c]
jne 0x6a05ac
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
je 0x6a05ac
mov ebx, dword [esp + 0x114]
jmp 0x6a15ee
mov esi, dword [esp + 0x18c]
jmp 0x6a0de1
mov eax, ebx
not eax
and eax, 1
add eax, ebx
setne al
movzx eax, al
add ebx, eax
mov dword [esp], edi
mov dword [esp + 4], 0x2c
call fcn.0064bf00
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp ebx, eax
jb 0x6a0dc0
mov ebx, esi
mov cl, 0x75
movsx eax, cl
cmp eax, 0x73
jg 0x6a0e3c
movzx eax, cl
cmp eax, 0x45
je 0x6a0ead
mov dword [esp + 0x18c], esi
mov dword [esp + 0x114], ebx
mov esi, 2
cmp eax, 0x69
jne 0x6a0f3c
mov dword [esp + 0x16c], edi
mov ebx, dword [esp + 0x170]
jmp 0x6a2212
movzx eax, cl
cmp eax, 0x74
je 0x6a0ef0
mov dword [esp + 0x18c], esi
mov dword [esp + 0x114], ebx
cmp eax, 0x75
jne 0x6a0f3c
mov byte [esp + 0x11f], 0x14
mov edx, dword [esp + 0x1a4]
test edx, edx
jne 0x6a152b
mov dword [esp + 0x16c], edi
mov ecx, 0x10
mov eax, 3
sub eax, edx
xor eax, edx
mov dword [esp + 0x70], edx
je 0x6a1575
cmp ecx, 0x10
je 0x6a15a7
xor eax, eax
test al, al
je 0x6a02d9
jmp 0x6a15a7
mov ecx, dword [esp + 0x1a4]
test ecx, ecx
je 0x6a1538
mov dword [esp + 0x18c], esi
mov byte [esp + 0x11f], 0x69
mov dword [esp + 0x114], ebx
mov dword [esp + 0x16c], edi
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
mov dword [esp + 0x70], ecx
jne 0x6a1575
jmp 0x6a15a7
mov dword [esp + 0x18c], esi
mov esi, dword [esp + 0x1a4]
test esi, esi
jne 0x6a155b
mov byte [esp + 0x11f], 0x45
mov dword [esp + 0x114], ebx
mov dword [esp + 0x16c], edi
mov eax, 0x19
mov ecx, esi
or ecx, 2
mov edx, esi
mov dword [esp + 0x70], esi
xor edx, 2
add edx, ecx
jne 0x6a1690
jmp 0x6a1575
mov dword [esp + 0x16c], edi
mov eax, 0xc
mov byte [esp + 0x11f], 0x75
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x70], ecx
test ecx, ecx
je 0x6a15a7
cmp eax, 4
jne 0x6a1575
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov edi, dword [esp + 0x138]
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x170]
je 0x6a1575
mov dword [esp + 0xec], eax
mov esi, edx
mov edx, edi
mov edi, 0x18
mov eax, dword [esp + 0x15c]
movzx ecx, al
cmp ecx, 0x38
mov ebx, dword [esp + 0x17c]
mov eax, dword [esp + 0x184]
je 0x6a1079
mov edi, 8
cmp ecx, 0x54
mov ecx, 0x12
mov dword [esp + 0x138], edx
mov dword [esp + 0x164], esi
mov dword [esp + 0x178], eax
mov dword [esp + 0x174], ebx
mov edx, dword [esp + 0xec]
mov dword [esp + 0x170], edx
mov edx, dword [esp + 0x128]
jne 0x6a1cf6
cmp edi, 4
je 0x6a1030
xor eax, eax
test al, al
je 0x6a03bb
movzx eax, byte [esp + 0x47]
cmp eax, 0x5c
je 0x6a12f2
cmp eax, 0x6a
je 0x6a0cbe
mov dword [esp + 0x128], edx
mov eax, 0x10
mov byte [esp + 0x47], 0x5f
mov dword [esp + 0x18c], 0
mov cl, 0x64
mov dword [esp + 0x3c], ecx
test byte [esp + 0x33], 1
jne 0x6a0594
jmp 0x6a0d28
mov dword [esp + 0x138], edx
mov dword [esp + 0x164], esi
mov dword [esp + 0x178], eax
mov dword [esp + 0x174], ebx
mov ecx, dword [esp + 0x78]
mov bl, byte [esp + 0x182]
mov dword [esp + 0x78], ecx
cmp edi, 9
mov esi, dword [esp + 0x18c]
jne 0x6a1116
mov eax, edi
not eax
and eax, 1
add eax, edi
je 0x6a1116
mov eax, 0x1b
mov ecx, dword [esp + 0x150]
movzx ecx, cl
cmp ecx, 8
je 0x6a1185
cmp ecx, 0x54
jne 0x6a11c2
mov byte [esp + 0x182], bl
xor edi, edi
mov eax, 0xf4
add eax, 0xffffff22
mov dword [esp + 0x184], eax
mov ecx, dword [ebp + 8]
lea eax, [ecx + 4]
mov dword [esp + 0x17c], eax
mov byte [esp + 0x15b], al
mov al, byte [esp + 0x10b]
jmp 0x69e56f
mov byte [esp + 0x182], bl
mov ecx, 9
mov al, 0x38
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x128]
lea eax, [eax + eax*2]
mov edx, dword [esp + 0x110]
mov eax, dword [edx + eax*8 + 0x10]
mov dword [esp + 0x18c], 0x30000003
cmp eax, 4
jne 0x6a1288
mov edx, eax
or edx, 2
xor eax, 2
add eax, edx
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x104]
mov ebx, dword [esp + 0xec]
jne 0x6a1d98
jmp 0x6a12a4
mov byte [esp + 0x182], bl
mov ecx, dword [esp + 0x138]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x178]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x17c], ecx
mov ebx, dword [esp + 0xfc]
jmp 0x6a1e09
mov al, 8
mov dword [esp + 0x150], eax
mov byte [esp + 0x15b], 0x5b
mov al, 0x4c
mov dword [esp + 0x15c], eax
mov byte [esp + 0x163], 0x34
mov byte [esp + 0x16b], 0x12
mov byte [esp + 0x183], 0x4a
mov ch, 0x65
mov byte [esp + 0x14b], 0x6f
mov byte [esp + 0x14a], 0x63
mov byte [esp + 0x182], 7
mov al, 0x3d
mov dword [esp + 0x154], eax
mov eax, dword [ebp + 8]
lea edi, [eax + 4]
lea eax, [esp + 0x1a8]
mov dword [esp + 0x14c], eax
mov dword [esp + 0xd8], 0
lea eax, [esp + 0x1b0]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xa0], eax
xor edx, edx
mov dword [esp + 0x184], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0x17c], 0
mov byte [esp + 0x10b], 0x77
mov al, 0x1b
mov dword [esp + 0x188], eax
jmp 0x69e680
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x104]
mov ebx, dword [esp + 0xec]
cmp ecx, 7
je 0x6a12d8
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0xd4], eax
mov dword [esp + 0x170], ebx
jne 0x6a0d28
jmp 0x6a02e4
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0xd4], eax
jmp 0x6a02e4
mov dword [esp + 0x128], edx
mov byte [esp + 0x47], 0x5c
mov dword [esp + 0x18c], 0
mov al, 0x64
mov dword [esp + 0x3c], eax
test byte [esp + 0x33], 1
je 0x6a0d28
mov eax, dword [esp + 0x3c]
movzx eax, al
cmp eax, 0x43
jne 0x6a150f
mov esi, 0xb
mov al, 0x43
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00785f60
mov dword [esp + 0x18c], eax
cmp esi, 2
jne 0x6a0d28
mov ebx, 1
movzx eax, byte [esp + 0x6b]
cmp eax, 0x18
jne 0x6a14c0
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xd8], eax
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x17c], eax
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xa4], edx
mov eax, ebx
not eax
and eax, 1
add eax, ebx
setne al
movzx eax, al
cmp ebx, eax
jne 0x6a1491
mov dword [esp + 0xc0], ecx
mov esi, 0xe
mov byte [esp + 0x6b], 0x18
mov edi, dword [esp + 0x40]
mov eax, dword [edi + 0x24]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp], edi
call fcn.004936c0
mov dword [esp + 0x1c8], 0x70000003
mov dword [esp + 0x18c], 0
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0xa8], eax
mov bl, byte [esp + 0x182]
mov byte [esp + 0x182], bl
cmp esi, 0xa
jne 0x6a0d28
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
mov edi, dword [esp + 0x138]
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x17c], eax
jne 0x69fa5d
jmp 0x6a0d28
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x184], eax
mov edx, dword [esp + 0xcc]
mov edi, dword [esp + 0x170]
jmp 0x6a047d
mov esi, 0xf
mov byte [esp + 0x6b], 0x4c
mov edi, dword [esp + 0x40]
mov eax, dword [edi + 0x24]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp], edi
call fcn.004936c0
mov dword [esp + 0x1c8], 0x70000003
mov dword [esp + 0x18c], 0
cmp esi, 0xf
je 0x6a0d28
xor eax, eax
test al, al
je 0x69fbe3
jmp 0x6a0d28
mov edi, 5
mov dword [esp + 0x18c], 0
mov ebx, dword [esp + 0x170]
jmp 0x6a2318
mov dword [esp + 0x16c], edi
mov dword [esp + 0x70], edx
jmp 0x6a1575
mov dword [esp + 0x18c], esi
mov byte [esp + 0x11f], 0x69
mov dword [esp + 0x114], ebx
mov dword [esp + 0x16c], edi
mov dword [esp + 0x70], ecx
jmp 0x6a15a7
mov byte [esp + 0x11f], 0x45
mov dword [esp + 0x114], ebx
mov dword [esp + 0x16c], edi
mov dword [esp + 0x70], esi
mov esi, 8
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.006268f0
mov edi, dword [esp + 0x16c]
mov ebx, dword [esp + 0x114]
cmp esi, 8
jne 0x6a15de
mov dword [esp + 0x114], ebx
mov dword [esp + 0x16c], edi
mov eax, dword [esp + 0x1ac]
test eax, eax
jne 0x6a1601
mov dword [esp + 0x184], 0xd
mov byte [esp + 0xeb], 0x31
mov ecx, 0x11
mov edx, eax
or edx, 2
mov esi, eax
xor esi, 2
add esi, edx
jne 0x6a203c
jmp 0x6a1614
mov dword [esp], edi
mov dword [esp + 4], 0x2c
call fcn.0064bf00
mov cl, byte [esp + 0x11f]
mov esi, dword [esp + 0x18c]
jmp 0x6a0df9
mov dword [esp + 0x184], 0xd
mov byte [esp + 0xeb], 0x31
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x184]
cmp eax, 0xd
jne 0x6a1896
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov ch, byte [esp + 0x13f]
mov edi, dword [esp + 0x140]
mov eax, dword [esp + 0xb4]
je 0x6a18e8
xor esi, esi
mov cl, byte [esp + 0xeb]
movsx eax, cl
cmp eax, 0x30
jg 0x6a1925
mov bl, ch
mov al, cl
mov ecx, 0xe
movzx edx, al
cmp edx, 0x11
je 0x6a17c8
mov eax, 0xc
cmp edx, 0x17
mov ebx, dword [esp + 0xfc]
jne 0x6a1971
cmp eax, 0xc
jne 0x6a15a7
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x6a15a7
xor esi, esi
mov ebx, 0x5a
xor ebx, 0x56
mov byte [esp + 0xeb], al
mov edi, dword [esp + 0x140]
jmp 0x6a16fd
mov dl, bl
xor dl, 0x3d
mov byte [esp + 0xeb], dl
add eax, ecx
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call fcn.0064bf00
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
mov edx, eax
add edx, ecx
setne dl
movzx edx, dl
cmp esi, edx
jb 0x6a16d0
cmp ebx, 0xc
je 0x6a2057
mov eax, 0xd
movzx ecx, byte [esp + 0x14a]
cmp ecx, 0x42
je 0x6a1ae1
mov eax, 2
cmp ecx, 0x63
jne 0x6a1b2f
mov dword [esp + 0x140], edi
mov byte [esp + 0x14a], 0x68
mov ecx, dword [esp + 0x78]
cmp ecx, 0xd
jne 0x6a2066
mov edx, ecx
mov ecx, 3
sub ecx, edx
xor ecx, edx
je 0x6a2066
mov ecx, dword [esp + 0x19c]
cmp ecx, 0x16
ja 0x6a209d
mov edx, ecx
not edx
and edx, 1
add edx, ecx
mov edi, dword [esp + 0x138]
mov ecx, dword [esp + 0x164]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x17c], eax
mov dword [esp + 0xec], 0x17
jne 0x69f8f8
jmp 0x6a20d2
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp ecx, eax
jne 0x6a1989
mov edx, dword [esp + 0x124]
cmp edx, 0x13
je 0x6a1bf3
mov byte [esp + 0x10b], 0x10
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], bl
mov ecx, 9
cmp edx, 0x22
je 0x6a1fdd
mov eax, 0xd
mov ecx, 0xb
cmp edx, 0x37
mov edx, dword [esp + 0x174]
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x178]
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x164]
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0x138]
mov dword [esp + 0x170], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x100], edx
mov esi, dword [esp + 0x130]
mov dword [esp + 0x110], esi
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x128]
mov ebx, dword [esp + 0x118]
jne 0x6a0b31
jmp 0x69e8fa
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xd8], eax
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0xec], eax
mov ch, byte [esp + 0x13f]
mov edi, dword [esp + 0x140]
jmp 0x69e680
mov dword [esp + 0xd8], eax
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0xec], eax
jmp 0x69e680
movzx eax, cl
cmp eax, 0x31
mov ebx, dword [esp + 0xfc]
je 0x6a1a43
cmp eax, 0x4a
jne 0x6a1971
mov esi, 0xf
mov byte [esp + 0xeb], 0x11
mov dword [esp], ebx
mov dword [esp + 4], 0x2b
call fcn.0064bf00
jmp 0x6a0268
inc esi
mov dword [esp], ebx
mov dword [esp + 4], 0x2b
call fcn.0064bf00
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x6a1960
jmp 0x6a2057
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], bl
mov esi, 0xb
mov byte [esp + 0xeb], 0x4a
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call fcn.0064bf00
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xd8], eax
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x17c], eax
mov ecx, dword [esp + 0xc0]
cmp esi, 6
je 0x6a1ac0
mov dword [esp + 0xc0], ecx
xor eax, eax
test al, al
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0x184]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0xa8], eax
je 0x6a2057
jmp 0x6a0d28
mov edi, 0x1b
xor edi, 0xb
jmp 0x6a1a74
mov edx, edi
mov cl, dl
add cl, 7
mov byte [esp + 0xeb], cl
cmp eax, 2
adc esi, 0
mov dword [esp], ebx
mov dword [esp + 4], 0x2b
call fcn.0064bf00
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb ecx, ecx
and ecx, 1
cmp esi, ecx
jb 0x6a1a50
mov eax, dword [esp + 0x138]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x17c], eax
mov esi, dword [esp + 0x18c]
mov edx, edi
jmp 0x6a1dec
mov dword [esp + 0xc0], ecx
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], edx
jmp 0x6a023e
mov ecx, dword [esp + 0x138]
mov dword [esp + 0xd8], ecx
mov edx, dword [esp + 0x164]
mov ecx, dword [esp + 0x178]
mov dword [esp + 0x184], ecx
mov esi, dword [esp + 0x174]
mov bl, byte [esp + 0x13f]
cmp eax, 0xd
jne 0x69eeb9
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x69f7e9
jmp 0x69eeb9
mov dword [esp + 0x140], edi
mov ecx, dword [esp + 0x138]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0xa4], ecx
mov esi, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x17c], ecx
xor edi, edi
cmp eax, 2
jne 0x6a1be7
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x6a1be7
mov byte [esp + 0x14a], 0x42
mov ecx, dword [esp + 0x78]
cmp ecx, 0xd
sete al
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete dl
or dl, al
mov ecx, dword [esp + 0x19c]
cmp ecx, 0x17
setb al
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx edx, dl
cmp edx, 1
je 0x6a0064
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x164], eax
mov dword [esp + 0x178], esi
jmp 0x6a210d
mov dword [esp + 0x184], esi
jmp 0x69fb21
mov byte [esp + 0x10b], 0x10
mov eax, dword [esp + 0x138]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0xa4], eax
mov ecx, 8
mov eax, dword [esp + 0x154]
movzx edx, al
cmp edx, 1
je 0x6a1c7b
mov eax, 0x1f
cmp edx, 0x3d
jne 0x6a1f91
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], bl
xor eax, eax
mov ecx, dword [esp + 0x128]
lea ecx, [ecx + ecx*2]
mov esi, dword [esp + 0x174]
mov edx, dword [esp + 0x178]
mov dword [esp + 0x184], edx
mov ebx, dword [esp + 0x154]
mov edi, dword [esp + 0xd8]
jmp 0x6a035f
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], bl
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x138], edx
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x174]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], esi
mov dword [esp + 0xec], edx
mov eax, dword [esp + 0x120]
mov dword [esp + 0x100], eax
mov edx, dword [esp + 0x130]
mov dword [esp + 0x110], edx
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x128]
cmp ecx, 8
jne 0x6a1d49
mov al, 1
mov dword [esp + 0x154], eax
lea eax, [edx + edx*2]
mov dword [esp + 0x128], edx
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + eax*8 + 0x14]
mov dword [esp + 0x17c], edx
mov eax, dword [ecx + eax*8 + 0x10]
mov dword [esp + 0x184], eax
mov edx, dword [esp + 0x164]
mov edi, dword [esp + 0x138]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x100], eax
jmp 0x6a047d
mov eax, 0xb
mov cl, 0x4c
mov dword [esp + 0x15c], ecx
lea ecx, [edx + edx*2]
mov dword [esp + 0x128], edx
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + ecx*8 + 0x10]
mov dword [esp + 0x18c], 0x30000003
cmp ecx, 4
jne 0x6a1f85
mov edx, ecx
and edx, 1
xor edx, ecx
not edx
test edx, edx
mov ebx, dword [esp + 0xec]
je 0x6a236a
mov dword [esp + 0xec], ebx
mov edx, 0x1d
mov eax, 0xb
movzx ecx, byte [esp + 0x15b]
cmp ecx, 0x5b
mov esi, 0x30000003
mov ecx, dword [esp + 0x138]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x178]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x17c], ecx
mov ebx, dword [esp + 0xfc]
jne 0x6a1e09
cmp edx, 0x10
je 0x6a2057
imul edx, edx
and edx, 3
cmp edx, 2
jne 0x6a041b
jmp 0x6a2057
mov edi, 3
cmp eax, 0xb
jne 0x6a1e39
mov edx, 3
sub edx, eax
xor edx, eax
je 0x6a1e39
mov dword [esp + 0x18c], esi
mov dword [esp + 0xfc], ebx
mov byte [esp + 0x15b], 0x5b
jmp 0x6a0431
mov dword [esp + 0x18c], esi
mov dword [esp + 0xfc], ebx
mov byte [esp + 0x15b], al
xor eax, eax
mov esi, dword [ebp + 8]
mov cl, byte [esp + 0x13f]
mov ebx, dword [esp + 0x140]
jmp 0x6a1f31
mov edx, 0xed
mov ebx, 0xed
add bl, 0x67
mov dword [esp + 0x150], ebx
movzx ebx, bl
sub ebx, edx
mov dl, bl
add dl, 0xf4
mov byte [esp + 0x15b], dl
add bl, 0xe5
mov dword [esp + 0x15c], ebx
mov dl, bl
xor dl, 0x71
mov dword [esp + 0x154], edx
mov dh, bl
xor dh, 0x78
mov byte [esp + 0x163], dh
mov dl, dh
add dl, 0xde
mov byte [esp + 0x16b], dl
mov dl, dh
add dl, 0x16
mov byte [esp + 0x183], dl
mov cl, dh
add cl, 0x31
mov bl, dh
add bl, 0xe7
mov dword [esp + 0x188], ebx
mov dh, bl
add dh, cl
xor dh, dl
add dh, 0xa5
mov byte [esp + 0x14b], dh
xor dh, 0xc
mov byte [esp + 0x14a], dh
mov dl, dh
add dl, 0xa4
mov byte [esp + 0x182], dl
add dh, 0x14
mov byte [esp + 0x10b], dh
inc eax
dec edi
lea ebx, [esi + 4]
lea edx, [esp + 0x1a8]
mov dword [esp + 0x14c], edx
lea edx, [esp + 0x1b0]
mov dword [esp + 0x144], edx
mov edx, eax
xor edx, edi
setne dl
movzx edx, dl
cmp eax, edx
jb 0x6a1e70
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xd8], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0x17c], 0
xor edx, edx
mov ch, cl
mov edi, ebx
jmp 0x69e680
mov ebx, dword [esp + 0xec]
jmp 0x6a236a
mov dword [esp + 0x140], edi
mov byte [esp + 0x13f], bl
mov ebx, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x124]
mov esi, dword [esp + 0x48]
jmp 0x69ebd6
mov eax, dword [esp + 0x174]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x100], eax
mov edx, dword [esp + 0x130]
mov dword [esp + 0x110], edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xfc]
cmp ecx, 9
jne 0x6a2057
mov dword [esp + 0xfc], eax
mov eax, ecx
not eax
and eax, 1
add eax, ecx
jne 0x69f029
mov eax, dword [esp + 0x114]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esp + 0x138]
mov ecx, dword [esp + 0x164]
mov dword [esp + 0xec], 0x17
mov eax, dword [esp + 0x178]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x17c], eax
jmp 0x6a20d2
mov edi, dword [esp + 0x138]
mov ecx, dword [esp + 0x164]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x17c], eax
mov dword [esp + 0xec], 0x17
mov eax, dword [esp + 0xec]
cmp eax, 0xf
je 0x69f99d
imul eax, eax
and eax, 3
cmp eax, 2
je 0x69f99d
mov dword [esp + 0x138], edi
mov dword [esp + 0x164], ecx
mov eax, dword [esp + 0x184]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x174], eax
jmp 0x6a00a4
mov dword [esp + 0xec], ebx
movzx eax, byte [esp + 0x16b]
cmp eax, 0x12
mov esi, dword [esp + 0x134]
jne 0x6a2236
mov eax, dword [esp + 0x9c]
movsd xmm0, qword [eax]
movsd qword [esi], xmm0
mov eax, dword [esp + 0x104]
shl eax, 6
mov edx, dword [esp + 0xc4]
movsd xmm0, qword [edx + eax + 8]
movsd qword [esi + 8], xmm0
mov ecx, dword [esp + 0x7c]
movsd xmm0, qword [ecx]
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [edx + eax + 0x18]
movsd qword [esi + 0x18], xmm0
mov ecx, dword [edx + eax + 0x2c]
mov dword [esi + 0x2c], ecx
mov eax, dword [edx + eax + 0x3c]
mov dword [esi + 0x38], eax
mov edi, esi
mov esi, 0xc
mov byte [esp + 0x16b], 0x12
mov dword [esp + 0x14], edi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0x40
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x27
call fcn.007855d0
mov ebx, eax
mov dword [esp + 0x18c], ebx
mov dword [esp], edi
call fcn.004936c0
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
mov dword [esp + 0xd4], 1
cmp ebx, eax
mov ebx, dword [esp + 0xec]
je 0x6a02e4
cmp esi, 2
je 0x6a2336
imul esi, esi
and esi, 3
cmp esi, 2
je 0x6a2336
mov dword [esp + 0x170], ebx
jmp 0x6a0d28
mov eax, dword [esp + 0x9c]
movsd xmm0, qword [eax]
movsd qword [esi], xmm0
mov eax, dword [esp + 0x104]
shl eax, 6
mov edx, dword [esp + 0xc4]
movsd xmm0, qword [edx + eax + 8]
movsd qword [esi + 8], xmm0
mov ecx, dword [esp + 0x7c]
movsd xmm0, qword [ecx]
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [edx + eax + 0x18]
movsd qword [esi + 0x18], xmm0
mov ecx, dword [edx + eax + 0x2c]
mov dword [esi + 0x2c], ecx
mov ebx, esi
mov eax, dword [edx + eax + 0x3c]
mov dword [ebx + 0x38], eax
mov edi, 8
mov byte [esp + 0x16b], 0x2e
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 0x40
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x27
call fcn.007855d0
mov esi, eax
mov dword [esp + 0x18c], esi
mov dword [esp], ebx
call fcn.004936c0
mov edx, 7
mov dword [esp + 0xd4], 1
test esi, esi
mov ebx, dword [esp + 0xec]
jne 0x6a2318
cmp edx, 7
jne 0x69fe65
mov eax, edx
and eax, 1
xor eax, edx
not eax
test eax, eax
jne 0x6a02e4
jmp 0x69fe65
xor esi, esi
cmp edi, 5
je 0x6a238e
imul edi, edi
and edi, 3
cmp edi, 3
je 0x6a238e
mov dword [esp + 0x170], ebx
jmp 0x6a0d28
mov esi, 0x12
mov byte [esp + 0x11f], 0x74
mov edx, dword [esp + 0x1a4]
test edx, edx
jne 0x6a23fb
mov eax, 0x18
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
mov dword [esp + 0x70], edx
je 0x6a23ff
cmp eax, 0xb
je 0x6a2421
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x170], ebx
jne 0x6a15a7
jmp 0x6a0d28
mov dword [esp + 0xec], ebx
mov edi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x3c]
jmp 0x6a23d0
mov ebx, 0xe5
add bl, 0x7f
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00785f60
mov dword [esp + 0x18c], eax
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
jb 0x6a23a0
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x170], eax
jmp 0x6a0d28
mov dword [esp + 0x70], edx
cmp esi, 9
jne 0x6a242d
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
mov dword [esp + 0x170], ebx
jne 0x6a2120
jmp 0x6a1575
mov dword [esp + 0x170], ebx
jmp 0x6a0d28
mov dword [esp + 0x170], ebx
jmp 0x6a1575