Function at 0x6fa8dfc0
Capabilities:
Check for software breakpoints
Inspect section memory permissions

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebp, dword [esp + 0x60]
mov ebx, dword [ebp + 0x1c]
mov edi, dword [ebx]
mov dword [ebx + 0x68], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
test edi, edi
je 0x6fa8e1f3
mov eax, dword [ebx + 0x2c]
cmp dword [ebp], eax
jae 0x6fa8e1e6
lea esi, [ebp + 0x1c]
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
mov eax, dword [edi + 4]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa84400
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
mov ebx, eax
call fcn.6fa853c0
cmp dword [edi + 4], 0x183
jbe 0x6fa8e047
call fcn.6faa4f00
mov eax, dword [edi + 4]
jmp dword [eax*4 + 0x6fab4698]
mov edx, dword [ebp + 0x1c]
imul eax, dword [edi + 0x20], 0x5c
add eax, dword [edx + 0x6c]
mov dword [edx + 0x68], eax
mov esi, dword [ebp]
mov dword [esp + 0x34], esi
mov esi, dword [edx + 0x60]
mov dword [esp + 0x38], esi
and byte [edx + 0xc], 0xef
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x68]
movzx edx, byte [eax + 0x44]
test dl, 3
je 0x6fa8e094
and edx, 2
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x30], edi
jne case.0x6fa8e04a.1
neg ecx
mov dword [eax + 0xc], ecx
test byte [eax + 0x4c], 1
je 0x6fa8e09e
and dword [eax + 0xc], 0xfffffff0
mov edx, dword [eax + 0x10]
mov ecx, 4
sub edx, dword [eax + 0xc]
add edx, 0xf
and edx, 0xfffffff0
add edx, 0xc
mov dword [eax + 0x3c], edx
mov edx, 4
mov eax, ebp
mov dword [esp], 0x10
call fcn.6fa82650
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x68]
test byte [eax + 0x38], 0x20
jne 0x6fa99d5c
mov eax, dword [edx + 0x68]
test byte [eax + 0x38], 0x10
jne 0x6fa99d3c
mov eax, dword [edx + 0x68]
test byte [eax + 0x38], 8
jne 0x6fa99d1f
xor edx, edx
mov ecx, 4
mov eax, ebp
mov dword [esp], 5
call fcn.6fa824e0
mov eax, dword [ebp]
mov ecx, 4
mov edx, 4
mov byte [eax], 0x89
mov byte [eax + 1], 0xe5
add eax, 2
mov dword [ebp], eax
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x3c]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82650
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x30], edi
mov eax, dword [eax + 0x68]
test byte [eax + 0x4c], 1
je case.0x6fa8e04a.1
mov dword [esp + 4], 0x20000000
mov dword [esp], ebp
call fcn.6fa88f30
mov dword [esp + 0x30], eax
mov esi, eax
mov eax, dword [ebp + 0x1c]
and esi, 0x7fff
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax + 0x68]
and edx, 0x7fff
mov ecx, dword [eax + 0xc]
mov eax, ebp
call fcn.6fa81c80
mov eax, dword [ebp + 0x1c]
mov ecx, 5
mov eax, dword [eax + 0x68]
mov edx, dword [eax + 0x48]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa824e0
mov eax, dword [esp + 0x30]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
mov dword [esp + 0x30], edi
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], ebp
call fcn.6fa85490
mov dword [esp + 4], edi
mov dword [esp], ebp
call fcn.6fa85070
mov edi, dword [edi]
test edi, edi
je 0x6fa8e1f0
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax + 0x2c]
cmp dword [ebp], edx
jb 0x6fa8e018
add esp, 0x4c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x60]
test eax, eax
jle 0x6fa8e230
xor eax, eax
mov edi, dword [ebx + 0x5c]
jmp 0x6fa8e21c
mov esi, dword [edx + 0x10]
mov esi, dword [esi + 0x10]
cmp dword [edx + 4], 0x5c
mov ecx, dword [ecx]
je 0x6fa8e211
sub esi, ecx
mov dword [ecx - 4], esi
add eax, 1
cmp dword [ebx + 0x60], eax
jle 0x6fa8e230
lea ecx, [edi + eax*8]
mov edx, dword [ecx + 4]
cmp dword [edx + 4], 0x5c
jne 0x6fa8e201
mov esi, dword [edx + 0x18]
mov esi, dword [esi + 0x10]
jmp 0x6fa8e207
mov eax, dword [ebp + 4]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [edi + 0x10]
lea edx, [eax - 8]
cmp edx, 7
jbe 0x6fa99f50
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
add edx, 1
or edx, 0xffffffd8
mov byte [eax], 0xdd
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96a28
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a35f
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d780
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x18]
ja 0x6fa969f1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82a30
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9972b
mov esi, dword [eax*8 + 0x6faaa220]
mov edx, 0x28
xor ecx, ecx
mov eax, dword [edi + 0x20]
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82750
mov eax, dword [ebp]
lea edx, [esi + 1]
or edx, 0xffffffd8
mov byte [eax], 0xdd
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9696f
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a334
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ce10
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa8e3c3
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9b778
and esi, 0x7fff
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov ecx, 2
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 1
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa97a9f
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov ecx, dword [esp + 0x20]
mov edx, 6
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96c04
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a289
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d2c0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
jbe 0x6fa99e67
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and edx, 7
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax], 0xf2
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x2c
mov byte [eax + 3], dl
add eax, 4
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa982ae
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov ecx, dword [esp + 0x20]
mov edx, 0xa
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa813b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96ac6
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9aac8
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8c960
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8e66a
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9b9ee
and eax, 0x7fff
mov ecx, 2
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 1
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa97765
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov edx, dword [esp + 0x28]
mov eax, ebp
mov dword [esp], esi
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [esp + 0x20]
and ecx, 0x7fff
call fcn.6fa81700
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96d08
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a2df
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d520
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x18]
mov ecx, dword [edx + 0x10]
ja 0x6fa96be6
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x18]
ja 0x6fa99835
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a6be
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81ef0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96ba5
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a94a
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8cbb0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96b48
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8e886
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c573
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80e50
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8e8d7
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9bb45
mov edx, dword [edi + 0x10]
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
and edx, 0x7fff
cmp ecx, eax
je 0x6fa9c070
mov dword [esp + 8], ecx
mov ecx, 4
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], edx
mov edx, 1
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9704b
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 6
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96c86
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a99f
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8ea44
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9baff
and eax, 0x7fff
mov ecx, 0xb
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 1
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9845b
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa83140
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96eaa
mov edx, dword [edi + 0x18]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov edx, dword [edi + 0x10]
mov dword [esp], eax
mov eax, ebp
and ecx, 0x7fff
call fcn.6fa82a80
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8eba3
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9bb8c
and eax, 0x7fff
mov ecx, 7
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 1
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa977fd
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9ac71
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d650
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96a69
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8ec65
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c43e
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa811e0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96d49
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov ecx, dword [edi + 0x18]
and edx, 0x7fff
call fcn.6fa82860
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa99687
mov edx, dword [edi + 0x18]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa828b0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa969b0
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a7a2
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8cce0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8ed60
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9bab9
mov edx, dword [edi + 0x10]
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
and edx, 0x7fff
cmp ecx, eax
je 0x6fa9c15f
mov dword [esp + 8], ecx
mov ecx, 6
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], edx
mov edx, 1
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa97933
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 4
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa813b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96c45
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9aa73
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d190
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8eecd
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9ba73
and eax, 0x7fff
mov ecx, 0xa
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 1
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa98356
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov ecx, dword [esp + 0x20]
mov edx, 0xb
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa813b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96b07
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9aaf3
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8c830
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8f031
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9ba35
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80b00
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa96efb
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 7
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96d8a
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a2b4
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d3f0
jmp case.0x6fa8e04a.1
mov esi, dword [edi + 0x10]
lea eax, [esi - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
jbe 0x6fa99ed3
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [esi*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and ecx, 7
shl ecx, 3
and edx, 7
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax], 0xf3
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x5a
mov byte [eax + 3], dl
add eax, 4
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov esi, dword [edi + 0x10]
lea eax, [esi - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
jbe 0x6fa99f25
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [esi*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and ecx, 7
shl ecx, 3
and edx, 7
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax], 0xf2
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x2a
mov byte [eax + 3], dl
add eax, 4
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96dcb
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a821
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ca90
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa8f26e
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9bbf7
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [edi + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
and edx, 0x7fff
cmp eax, ecx
je 0x6fa9c196
mov dword [esp + 8], ecx
mov ecx, 6
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], edx
mov edx, 1
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa96fa3
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 2
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96cc7
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a9f4
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8cf30
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8f3dc
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9bc83
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [edi + 0x10]
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
cmp edx, eax
je 0x6fa99da2
and ecx, 0x7fff
mov dword [esp + 8], edx
mov edx, 1
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], ecx
mov ecx, 5
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa98bd2
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov ecx, dword [esp + 0x20]
mov edx, 2
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96e69
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [edi + 0x10]
mov esi, eax
and esi, 0x7fff
je 0x6fa9b7bd
mov eax, dword [ebp]
or esi, 0xffffffc8
mov edx, esi
mov byte [eax + 1], dl
mov edx, 0x2a
mov byte [eax], 0xd9
add eax, 2
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 4], 0x17
mov dword [esp], 0x17
call fcn.6fa82750
mov eax, dword [ebp]
mov ecx, esi
mov byte [eax], 0xd9
mov byte [eax + 1], cl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8f574
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9bc3c
and eax, 0x7fff
mov ecx, 3
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 1
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9783e
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov edx, dword [esp + 0x28]
mov eax, ebp
mov dword [esp], esi
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [esp + 0x20]
and ecx, 0x7fff
call fcn.6fa815d0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96912
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f69c
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c9c5
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81240
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9978d
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 3
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97a42
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f7a9
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c5d9
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80f10
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa979e5
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f807
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c8d1
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa810c0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96e0c
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f865
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c840
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa978d6
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f8c3
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9ccce
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81000
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97708
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f921
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cf77
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80fa0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa976ab
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f97f
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c92a
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81180
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98251
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f9dd
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c604
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81120
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa968b5
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8fa3b
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c5a6
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80da0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9918a
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8fa99
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c540
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80d40
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97b51
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8faf7
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9d149
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80e00
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa983fe
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8fb55
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c40b
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80eb0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9850b
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
and esi, 0x7fff
je 0x6fa9b8b8
mov ecx, dword [ebp]
or esi, 0xffffffc8
mov dword [esp + 0x24], esi
mov byte [ecx], 0xd9
mov dword [esp + 0x20], ecx
movzx ecx, byte [esp + 0x24]
mov esi, dword [esp + 0x20]
mov byte [esi + 1], cl
mov ecx, esi
add ecx, 2
mov dword [ebp], ecx
xor ecx, ecx
mov dword [esp + 4], edx
mov edx, 0x2a
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82750
mov eax, dword [ebp]
movzx edx, byte [esp + 0x24]
mov byte [eax], 0xd9
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96607
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov esi, edx
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
and esi, 0x7fff
je 0x6fa9befd
mov edx, dword [ebp]
or esi, 0xffffffc8
mov ecx, esi
mov byte [edx + 1], cl
xor ecx, ecx
mov byte [edx], 0xd9
add edx, 2
mov dword [ebp], edx
mov edx, 0x2a
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 4], 0x17
call fcn.6fa82750
mov eax, dword [ebp]
mov edx, esi
mov byte [eax], 0xd9
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8fcbf
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9bcc0
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80a10
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa98055
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov ecx, dword [esp + 0x20]
mov edx, 3
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97ea8
mov ecx, dword [eax + 0x10]
mov edx, 0xf
mov eax, dword [edi + 0x20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81b00
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8fe0f
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9b295
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [edi + 0x10]
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
cmp edx, eax
je 0x6fa99dc5
and ecx, 0x7fff
mov dword [esp + 8], edx
xor edx, edx
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], ecx
mov ecx, 5
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x20]
and eax, 0x7fff
and ecx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
and ecx, 0x7fff
test edx, edx
jne 0x6fa99c91
mov dword [esp], eax
mov edx, 9
mov eax, ebp
call fcn.6fa8aa90
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa987a5
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9ac46
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b970
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
mov esi, dword [ebp]
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov byte [esi], 0xf
mov byte [esi + 1], 0xbf
add esi, 2
and eax, 0x7fff
mov dword [ebp], esi
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
mov esi, dword [ebp]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov edx, dword [edi + 0x10]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov byte [esi], 0xf
mov byte [esi + 1], 0xbf
add esi, 2
mov dword [ebp], esi
and edx, 0x7fff
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99e22
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa8ffeb
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c7d7
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa8adb0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa9004b
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b2d2
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
and edx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0xc0000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa801c0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99e2d
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa90110
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cb6d
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa801c0
jmp case.0x6fa8e04a.1
mov edx, dword [ebp + 0x1c]
test byte [edx + 0xc], 0x10
je 0x6fa970fd
mov esi, dword [esp + 0x30]
mov eax, dword [esi]
cmp eax, edi
je 0x6fa9018b
lea esi, [esi]
mov ecx, dword [eax + 4]
cmp ecx, 0xcd
je 0x6fa90180
cmp ecx, 7
jne 0x6fa90185
and word [eax + 8], 0xfffd
mov eax, dword [eax]
cmp eax, edi
jne 0x6fa90170
mov esi, dword [esp + 0x34]
and word [eax + 8], 0xfffd
mov edi, dword [esp + 0x30]
mov dword [ebp], esi
mov esi, dword [esp + 0x38]
mov dword [edx + 0x60], esi
jmp 0x6fa8e06c
test byte [edi + 8], 1
mov ecx, dword [edi + 0x10]
je 0x6fa98701
mov eax, dword [ebp]
mov esi, dword [ecx + 0x10]
lea edx, [eax + 1]
mov dword [esp + 0x20], edx
mov edx, 0xfffffffc
sub edx, dword [esp + 0x20]
mov byte [eax], 0xe8
mov dword [esp + 0x20], edx
add edx, esi
test byte [ecx + 8], 2
mov dword [eax + 1], edx
lea edx, [eax + 5]
mov dword [ebp], edx
jne case.0x6fa8e04a.1
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov edx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov byte [edx], 0xff
and eax, 7
or eax, 0xffffffd0
mov byte [edx + 1], al
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
test byte [edi + 8], 1
je 0x6fa9684f
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9c2f1
mov ecx, dword [eax + 0x10]
mov esi, 0xfffffffc
mov eax, dword [ebp]
lea edx, [eax + 1]
sub esi, edx
mov edx, esi
add edx, ecx
mov byte [eax], 0xe9
mov dword [eax + 1], edx
add eax, 5
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov edx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov byte [edx], 0xff
and eax, 7
or eax, 0xffffffe0
mov byte [edx + 1], al
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa996d9
mov esi, dword [eax + 0x10]
mov edx, 0x28
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
sub esi, eax
lea edx, [esi - 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x83
mov dword [eax + 2], edx
add eax, 6
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97f30
mov edx, dword [edi + 0x18]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80010
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x14]
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x20000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x24], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x3c], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa81c80
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], 1
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, dword [esp + 0x24]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa89730
mov eax, dword [esp + 0x28]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99e38
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa9040e
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cba2
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa80c20
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 8]
cmp edx, 7
jbe 0x6fa99e95
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
add edx, 1
or edx, 0xffffffd8
mov byte [eax], 0xdd
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98723
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a518
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8c1c0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa824e0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov esi, dword [ebp]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov byte [esi], 0x89
add esi, 1
mov dword [ebp], esi
mov dword [esp + 4], ecx
xor ecx, ecx
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa90586
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9b485
and eax, 0x7fff
mov ecx, 3
mov eax, dword [eax*8 + 0x6faaa220]
xor edx, edx
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa97613
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa815d0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9069f
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9b4cc
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa802e0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov edx, 7
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81b60
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov edx, 7
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a630
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa826c0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov edx, 4
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a630
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [edi + 0x10]
and ecx, 0x7fff
and edx, 0x7fff
mov esi, dword [edx*8 + 0x6faaa220]
mov edx, esi
and edx, 0x7fff
test eax, eax
mov dword [esp + 0x20], edx
jne 0x6fa962a3
cmp ecx, edx
je case.0x6fa8e04a.1
mov eax, dword [ebp]
shl ecx, 3
and esi, 7
or ecx, 0xffffffc0
or ecx, esi
mov byte [eax], 0x89
mov byte [eax + 1], cl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
mov esi, ecx
and eax, 0x7fff
and esi, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x20], esi
mov edx, eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x10]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, eax
and esi, 0x7fff
cmp dword [esp + 0x20], edx
mov dword [esp + 0x24], esi
je 0x6fa9b082
cmp edx, dword [esp + 0x24]
je 0x6fa9c271
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x20], esi
je 0x6fa9c357
mov esi, dword [ebp]
shl edx, 3
and eax, 7
or edx, 0xffffffc0
or edx, eax
mov byte [esi + 1], dl
mov edx, ecx
and edx, 7
shl edx, 3
or edx, 0xffffffc0
or eax, edx
mov byte [esi], 0x89
mov byte [esi + 2], 0x31
mov byte [esi + 3], al
add esi, 4
mov dword [ebp], esi
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [edi + 0x10]
and ecx, 0x7fff
and edx, 0x7fff
mov esi, dword [edx*8 + 0x6faaa220]
mov edx, esi
and edx, 0x7fff
test eax, eax
mov dword [esp + 0x20], edx
jne 0x6fa99018
cmp ecx, edx
je case.0x6fa8e04a.1
mov eax, dword [ebp]
shl ecx, 3
and esi, 7
or ecx, 0xffffffc0
or ecx, esi
mov byte [eax], 0x89
mov byte [eax + 1], cl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa98a81
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [edi + 0x10]
mov esi, eax
and esi, 0x7fff
je 0x6fa9b59a
mov eax, dword [ebp]
or esi, 0xffffffc8
mov edx, esi
mov byte [eax + 1], dl
mov edx, 0xa
mov byte [eax], 0xd9
add eax, 2
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 4], 0x17
mov dword [esp], 0x17
call fcn.6fa82750
mov eax, dword [ebp]
mov ecx, esi
mov byte [eax], 0xd9
mov byte [eax + 1], cl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, eax
and edx, 0x7fff
cmp ecx, edx
je 0x6fa90a37
mov edx, dword [ebp]
shl ecx, 3
mov esi, eax
or ecx, 0xffffffc0
and esi, 7
or ecx, esi
mov byte [edx], 0x89
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
mov edx, dword [ebp]
and eax, 7
or eax, 0xffffffc8
mov byte [edx], 0xf
mov byte [edx + 1], al
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 7
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and edx, 7
lea esi, [edx*8]
or edx, 0xffffffc8
or esi, 0xffffffc0
or ecx, esi
mov byte [eax], 0xf
mov byte [eax + 1], 0xb7
mov byte [eax + 2], cl
mov byte [eax + 3], 0x66
mov byte [eax + 4], 0xc1
mov byte [eax + 5], dl
mov byte [eax + 6], 8
add eax, 7
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa962e4
mov esi, dword [eax + 0x10]
xor edx, edx
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
sub esi, eax
lea edx, [esi - 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x83
mov dword [eax + 2], edx
add eax, 6
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97384
mov edx, dword [edi + 0x18]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fed0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, eax
and edx, 0x7fff
cmp esi, edx
mov dword [esp + 0x20], eax
jne 0x6fa99fb2
mov edx, ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp]
and edx, 7
shl edx, 3
or edx, 0xffffffc0
and ecx, 7
or edx, ecx
mov byte [eax], 0x29
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa90bce
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b509
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
and edx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0xc0000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8c3d0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa98b4d
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test esi, esi
jne 0x6fa9b7f5
mov dword [esp], eax
mov edx, 6
mov eax, ebp
call fcn.6fa7fce0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x20]
test byte [ecx + 8], 2
je 0x6fa994dc
and eax, 0x7fff
mov ecx, dword [ecx + 0x10]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
cmp edx, eax
je 0x6fa9ad2f
mov dword [esp + 4], edx
mov edx, 6
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa90d20
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9b440
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [edi + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
and edx, 0x7fff
cmp eax, ecx
je 0x6fa9c1a7
mov dword [esp + 8], ecx
mov ecx, 6
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], edx
xor edx, edx
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa981ac
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 2
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov edx, 2
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ac20
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97be5
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a203
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b4d0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa987e6
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa90edc
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9ca92
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80580
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x18]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and edx, 0x7fff
mov byte [eax], 0xf
mov byte [eax + 1], 0xb7
add eax, 2
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov byte [ecx], 0xf
mov byte [ecx + 1], 0xb7
add ecx, 2
and eax, 0x7fff
mov dword [ebp], ecx
and edx, 0x7fff
xor ecx, ecx
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x18]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and edx, 0x7fff
mov byte [eax], 0xf
mov byte [eax + 1], 0xbf
add eax, 2
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov byte [ecx], 0xf
mov byte [ecx + 1], 0xbf
add ecx, 2
and eax, 0x7fff
mov dword [ebp], ecx
and edx, 0x7fff
xor ecx, ecx
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x18]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and edx, 0x7fff
mov byte [eax], 0xf
mov byte [eax + 1], 0xb6
add eax, 2
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov byte [ecx], 0xf
mov byte [ecx + 1], 0xb6
add ecx, 2
and eax, 0x7fff
mov dword [ebp], ecx
and edx, 0x7fff
xor ecx, ecx
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x18]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and edx, 0x7fff
mov byte [eax], 0xf
mov byte [eax + 1], 0xbe
add eax, 2
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov byte [ecx], 0xf
mov byte [ecx + 1], 0xbe
add ecx, 2
and eax, 0x7fff
mov dword [ebp], ecx
and edx, 0x7fff
xor ecx, ecx
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
mov esi, dword [ebp]
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov byte [esi], 0xf
mov byte [esi + 1], 0xbe
add esi, 2
and eax, 0x7fff
mov dword [ebp], esi
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
mov esi, dword [ebp]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov edx, dword [edi + 0x10]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov byte [esi], 0xf
mov byte [esi + 1], 0xbe
add esi, 2
mov dword [ebp], esi
and edx, 0x7fff
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x18]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and edx, 0x7fff
mov byte [eax], 0x8b
add eax, 1
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov byte [ecx], 0x8b
add ecx, 1
mov dword [ebp], ecx
xor ecx, ecx
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
mov esi, dword [ebp]
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov byte [esi], 0xf
mov byte [esi + 1], 0xb6
add esi, 2
and eax, 0x7fff
mov dword [ebp], esi
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
mov esi, dword [ebp]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov edx, dword [edi + 0x10]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov byte [esi], 0xf
mov byte [esi + 1], 0xb6
add esi, 2
mov dword [ebp], esi
and edx, 0x7fff
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x20]
and eax, 0x7fff
and ecx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
and ecx, 0x7fff
test edx, edx
jne 0x6fa99bb8
mov dword [esp], eax
mov edx, 5
mov eax, ebp
call fcn.6fa8aa90
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [edi + 0x18]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
cmp ecx, eax
je 0x6fa9b84c
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 5
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a8f0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov esi, eax
and esi, 0x7fff
cmp esi, 3
mov dword [esp + 0x20], edx
ja 0x6fa99a74
mov ecx, dword [ebp]
and edx, 7
and eax, 7
shl edx, 3
or edx, 0xffffffc0
or edx, eax
mov byte [ecx], 0xf
mov byte [ecx + 1], 0xb6
mov byte [ecx + 2], dl
add ecx, 3
mov dword [ebp], ecx
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov edx, 0xf
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ac20
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and edx, 7
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax], 0xf
mov byte [eax + 1], 0xb7
mov byte [eax + 2], dl
add eax, 3
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and edx, 7
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax], 0xf
mov byte [eax + 1], 0xbf
mov byte [eax + 2], dl
add eax, 3
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
test byte [edi + 8], 1
je 0x6fa99e43
mov eax, dword [edi + 0x18]
mov edx, dword [eax + 4]
test edx, edx
je 0x6fa915d2
cmp edx, 7
jne 0x6fa99a3e
test byte [eax + 8], 2
je 0x6fa99a3e
mov ecx, dword [eax + 0x10]
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa81c80
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, ecx
and eax, 0x7fff
and edx, 0x7fff
cmp eax, edx
je case.0x6fa8e04a.1
mov edx, dword [ebp]
shl eax, 3
and ecx, 7
or eax, 0xffffffc0
or eax, ecx
mov byte [edx], 0x89
mov byte [edx + 1], al
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov esi, eax
and esi, 0x7fff
cmp esi, 3
mov dword [esp + 0x20], edx
ja 0x6fa99b16
mov ecx, dword [ebp]
and edx, 7
and eax, 7
shl edx, 3
or edx, 0xffffffc0
or edx, eax
mov byte [ecx], 0xf
mov byte [ecx + 1], 0xbe
mov byte [ecx + 2], dl
add ecx, 3
mov dword [ebp], ecx
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x20]
and eax, 0x7fff
and ecx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
and ecx, 0x7fff
test edx, edx
jne 0x6fa99afe
mov dword [esp], eax
mov edx, 5
mov eax, ebp
call fcn.6fa8aa90
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x20]
and eax, 0x7fff
and ecx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
and ecx, 0x7fff
test edx, edx
jne 0x6fa99ba0
mov dword [esp], eax
mov edx, 3
mov eax, ebp
call fcn.6fa8aa90
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [edi + 0x18]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
cmp ecx, eax
je 0x6fa9b266
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 7
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a8f0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [edi + 0x18]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
cmp ecx, eax
je 0x6fa9b275
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 0xf
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a8f0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [edi + 0x18]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
cmp ecx, eax
je 0x6fa9ac9c
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 3
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a8f0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x10]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and edx, 0x7fff
mov byte [eax], 0x66
mov byte [eax + 1], 0x89
add eax, 2
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa991e7
mov esi, dword [eax + 0x10]
mov edx, 0x28
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
sub esi, eax
lea edx, [esi - 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x82
mov dword [eax + 2], edx
add eax, 6
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97fbc
mov edx, dword [edi + 0x18]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7ff70
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x14]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 1
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa89620
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96874
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a777
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8be30
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96754
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa91a04
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c637
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80890
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96713
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a8f5
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8bd00
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa966b6
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa91aa3
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c6d1
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80830
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98a40
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9ab9c
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8bbd0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa989e3
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa91b42
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cb06
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa807d0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9680e
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a8a0
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8baa0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa967b1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa91be1
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9ca5f
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80770
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98ac2
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a668
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8c090
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97d21
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa91c80
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cef2
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80950
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97ce0
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9abc7
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8bf60
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97c83
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa91d1f
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cc52
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa808f0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96659
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa91d7d
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9d078
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa809b0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa91dce
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9bf1b
and esi, 0x7fff
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov ecx, 7
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 1
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov esi, dword [edi + 0x10]
lea eax, [esi - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa91e41
lea edx, [eax - 0x10]
cmp edx, 6
jbe 0x6fa9c2cb
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [esi*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and ecx, 7
shl ecx, 3
and edx, 7
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax], 0xf2
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x51
mov byte [eax + 3], dl
add eax, 4
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa91e9e
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9bcfe
and edx, 0x7fff
and eax, 0x7fff
mov esi, dword [edx*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, esi
mov dword [esp + 0x20], eax
and ecx, 0x7fff
and eax, 0x7fff
cmp eax, ecx
je 0x6fa9bfb3
mov eax, dword [ebp]
and esi, 7
lea edx, [esi*8]
or edx, 0xffffffc0
mov byte [esp + 0x24], dl
or edx, esi
mov byte [eax + 3], dl
mov edx, 0x73
mov byte [eax], 0x66
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x76
add eax, 4
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 4], 1
mov dword [esp], 2
call fcn.6fa81cb0
mov edx, dword [esp + 0x20]
mov eax, dword [ebp]
and edx, 7
or dl, byte [esp + 0x24]
mov byte [eax], 0x66
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x54
mov byte [eax + 3], dl
add eax, 4
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa91f56
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9bd24
and edx, 0x7fff
and eax, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
mov dword [esp + 4], 0x20000000
mov dword [esp], ebp
mov dword [esp + 0x20], edx
and edx, 0x7fff
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
call fcn.6fa88f30
mov edx, eax
mov esi, eax
mov eax, dword [ebp]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov dword [eax + 1], 0x80000000
and ecx, 7
or ecx, 0xffffffb8
mov byte [eax], cl
lea ecx, [eax + 5]
mov dword [ebp], ecx
mov ecx, dword [esp + 0x24]
and ecx, 0x7fff
cmp ecx, dword [esp + 0x28]
je 0x6fa9c092
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [esp + 0x20]
mov byte [eax + 5], 0x66
mov byte [eax + 6], 0xf
and ecx, 7
and edx, 7
shl edx, 3
or edx, 0xffffffc0
or ecx, edx
mov byte [eax + 8], cl
mov ecx, dword [esp + 0x28]
mov byte [eax + 7], 0x6e
add eax, 9
mov dword [ebp], eax
mov eax, ebp
mov byte [esp + 0x20], dl
mov edx, 0x73
mov dword [esp + 4], 0x20
mov dword [esp], 6
call fcn.6fa81cb0
mov edx, dword [esp + 0x24]
mov eax, dword [ebp]
and edx, 7
or dl, byte [esp + 0x20]
mov byte [eax], 0x66
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x57
mov byte [eax + 3], dl
add eax, 4
mov dword [ebp], eax
mov dword [esp + 4], esi
mov dword [esp], ebp
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa9206c
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b93e
mov ecx, dword [edi + 0x20]
and edx, 0x7fff
and eax, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov esi, dword [eax*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and edx, 0x7fff
mov dword [esp + 4], 0xc0000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov eax, ebp
mov dword [esp], esi
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [esp + 0x20]
and ecx, 0x7fff
call fcn.6fa8c2f0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa92122
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9b8f9
and esi, 0x7fff
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov ecx, 3
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 1
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa97d7e
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov ecx, dword [esp + 0x20]
mov edx, 7
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa92244
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9bd4a
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
and edx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0xc0000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80cb0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99ec8
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa92309
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9d0ab
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa8c2f0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa92369
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9bddb
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
and edx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0xc0000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80c20
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa9241f
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9be6c
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
and edx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0xc0000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8c2f0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99fa7
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa924e4
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9d114
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa8c3d0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa9a041
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa92553
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cf42
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa80cb0
jmp case.0x6fa8e04a.1
mov esi, dword [edi + 0x10]
lea eax, [esi - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
jbe 0x6fa99fe4
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [esi*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and ecx, 7
shl ecx, 3
and edx, 7
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax], 0xf2
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x5a
mov byte [eax + 3], dl
add eax, 4
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov esi, dword [edi + 0x10]
lea eax, [esi - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
jbe 0x6fa9a134
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [esi*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and ecx, 7
shl ecx, 3
and edx, 7
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax], 0xf3
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x2a
mov byte [eax + 3], dl
add eax, 4
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
jbe 0x6fa9a04c
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and edx, 7
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax], 0xf3
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x2c
mov byte [eax + 3], dl
add eax, 4
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa975cf
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test esi, esi
jne 0x6fa9b24e
mov dword [esp], eax
mov edx, 9
mov eax, ebp
call fcn.6fa7fce0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa926f4
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b1bb
and edx, 0x7fff
and eax, 0x7fff
mov esi, dword [edx*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, esi
mov dword [esp + 0x20], eax
and ecx, 0x7fff
and eax, 0x7fff
cmp eax, ecx
je 0x6fa9c1b8
mov eax, dword [ebp]
and esi, 7
lea edx, [esi*8]
or edx, 0xffffffc0
mov byte [esp + 0x24], dl
or edx, esi
mov byte [eax + 3], dl
mov edx, 0x72
mov byte [eax], 0x66
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x76
add eax, 4
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 4], 1
mov dword [esp], 2
call fcn.6fa81cb0
mov edx, dword [esp + 0x20]
mov eax, dword [ebp]
and edx, 7
or dl, byte [esp + 0x24]
mov byte [eax], 0xf
mov byte [eax + 1], 0x54
mov byte [eax + 2], dl
add eax, 3
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa927a8
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b1e1
and eax, 0x7fff
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
mov dword [esp + 4], 0x20000000
mov dword [esp], ebp
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x24]
and ecx, 0x7fff
mov esi, eax
and esi, 0x7fff
mov edx, dword [esi*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, dword [ebp]
and edx, 7
or edx, 0xffffffb8
mov byte [eax], dl
lea edx, [eax + 5]
mov dword [eax + 1], 0x80000000
mov dword [ebp], edx
mov edx, dword [esp + 0x20]
and edx, 0x7fff
cmp ecx, edx
je 0x6fa9d187
mov ecx, dword [esp + 0x20]
mov edx, dword [esi*8 + 0x6faaa220]
mov byte [eax + 5], 0x66
mov byte [eax + 6], 0xf
and ecx, 7
shl ecx, 3
and edx, 7
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax + 8], dl
mov edx, dword [esp + 0x24]
mov byte [eax + 7], 0x6e
mov byte [eax + 9], 0xf
mov byte [eax + 0xa], 0x57
and edx, 7
or edx, ecx
mov byte [eax + 0xb], dl
add eax, 0xc
mov dword [ebp], eax
mov eax, dword [esp + 0x28]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
test ecx, ecx
mov esi, dword [eax*8 + 0x6faaa220]
je 0x6fa99c0e
mov eax, dword [esp + 0x20]
mov edx, esi
and edx, 0x7fff
and eax, 0x7fff
cmp ecx, 0xffffffff
je 0x6fa9c2a4
cmp eax, edx
je 0x6fa9ccb8
mov eax, ebp
and esi, 7
call fcn.6fa81c80
mov edx, dword [esp + 0x20]
mov eax, dword [ebp]
and edx, 7
shl edx, 3
or edx, 0xffffffc0
or edx, esi
mov byte [eax], 0x21
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97e67
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a5c1
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b720
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97e26
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a3de
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b5f0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa992e7
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9299c
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cebf
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa805d0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x20], edx
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
cmp esi, 3
jbe 0x6fa99cf0
mov dword [esp + 4], 0x24000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, edx
and eax, 0x7fff
cmp esi, eax
je 0x6fa92a5e
mov eax, dword [ebp]
shl esi, 3
and edx, 7
or esi, 0xffffffc0
or edx, esi
mov byte [eax], 0x89
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
mov eax, dword [ebp]
mov esi, dword [esp + 0x28]
mov byte [eax], 0x88
add eax, 1
mov dword [ebp], eax
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, ebp
mov dword [esp], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
and edx, 0x7fff
call fcn.6fa82270
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
cmp esi, 3
mov dword [esp + 0x20], eax
jbe 0x6fa99cc1
mov dword [esp + 4], 0x24000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, edx
and eax, 0x7fff
cmp esi, eax
je 0x6fa92b4a
mov eax, dword [ebp]
shl esi, 3
and edx, 7
or esi, 0xffffffc0
or edx, esi
mov byte [eax], 0x89
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
mov eax, dword [ebp]
mov esi, dword [esp + 0x28]
mov byte [eax], 0x88
add eax, 1
mov dword [ebp], eax
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, ebp
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], 0
and edx, 0x7fff
mov dword [esp], ecx
xor ecx, ecx
call fcn.6fa82270
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x10]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and edx, 0x7fff
mov byte [eax], 0x89
add eax, 1
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [ebp]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov byte [ecx], 0x89
add ecx, 1
mov dword [ebp], ecx
xor ecx, ecx
mov dword [esp + 8], 0
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov esi, dword [ebp]
mov ecx, dword [edi + 0x10]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov byte [esi], 0x66
mov byte [esi + 1], 0x89
add esi, 2
mov dword [ebp], esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov esi, dword [ebp]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov byte [esi], 0x66
mov byte [esi + 1], 0x89
add esi, 2
mov dword [ebp], esi
and eax, 0x7fff
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82520
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
mov esi, dword [ebp]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov edx, dword [edi + 0x10]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov byte [esi], 0x8b
add esi, 1
mov dword [ebp], esi
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
mov dword [esp + 8], 0
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
mov esi, dword [ebp]
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov byte [esi], 0xf
mov byte [esi + 1], 0xb7
add esi, 2
and eax, 0x7fff
mov dword [ebp], esi
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
mov esi, dword [ebp]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov edx, dword [edi + 0x10]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov byte [esi], 0xf
mov byte [esi + 1], 0xb7
add esi, 2
mov dword [ebp], esi
and edx, 0x7fff
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x10]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
and esi, 0x7fff
cmp esi, 3
jbe 0x6fa99c60
mov dword [esp + 4], 0x24000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x24], eax
mov eax, edx
and eax, 0x7fff
cmp esi, eax
je 0x6fa92edb
mov eax, dword [ebp]
shl esi, 3
and edx, 7
or esi, 0xffffffc0
or edx, esi
mov byte [eax], 0x89
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
mov eax, dword [ebp]
mov esi, dword [esp + 0x24]
mov byte [eax], 0x88
add eax, 1
mov dword [ebp], eax
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], 0x17
and edx, 0x7fff
call fcn.6fa82270
mov eax, dword [esp + 0x20]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
cmp esi, 3
jbe 0x6fa99c31
mov dword [esp + 4], 0x24000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x24], eax
mov eax, edx
and eax, 0x7fff
cmp esi, eax
je 0x6fa92faf
mov eax, dword [ebp]
shl esi, 3
and edx, 7
or esi, 0xffffffc0
or edx, esi
mov byte [eax], 0x89
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
mov eax, dword [ebp]
mov esi, dword [esp + 0x24]
mov byte [eax], 0x88
add eax, 1
mov dword [ebp], eax
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, ebp
mov dword [esp], ecx
xor ecx, ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
and edx, 0x7fff
call fcn.6fa82270
mov eax, dword [esp + 0x20]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [ebp]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov byte [ecx], 0x66
mov byte [ecx + 1], 0x89
add ecx, 2
mov dword [ebp], ecx
xor ecx, ecx
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa998c9
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test esi, esi
jne 0x6fa9afe4
mov dword [esp], eax
mov edx, 2
mov eax, ebp
call fcn.6fa7fce0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96478
mov ecx, dword [eax + 0x10]
mov edx, 2
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98b03
mov esi, dword [eax + 0x10]
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa81a30
mov eax, dword [ebp]
sub esi, eax
lea edx, [esi - 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x84
mov dword [eax + 2], edx
add eax, 6
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
mov ecx, esi
and eax, 0x7fff
and ecx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov ecx, eax
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, edx
and eax, 0x7fff
cmp ecx, eax
je 0x6fa9bbd3
cmp dword [esp + 0x20], eax
je 0x6fa99d7c
mov esi, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 8], eax
mov eax, ebp
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.6fa825a0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa98764
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov ecx, dword [edi + 0x18]
and edx, 0x7fff
call fcn.6fa829e0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9893f
mov esi, dword [eax*8 + 0x6faaa220]
mov edx, 8
xor ecx, ecx
mov dword [esp + 4], 0x17
mov eax, dword [edi + 0x18]
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82750
mov eax, dword [ebp]
lea edx, [esi + 1]
or edx, 0xffffffd8
mov byte [eax], 0xdd
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x10]
test byte [ecx + 8], 2
je 0x6fa99140
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
mov ecx, dword [ecx + 0x10]
and edx, 0x7fff
test eax, eax
mov edx, dword [edx*8 + 0x6faaa220]
jne 0x6fa9cabd
mov eax, dword [ebp]
mov esi, 0xfffffffc
lea edx, [eax + 1]
sub esi, edx
add ecx, esi
mov byte [eax], 0xe9
mov dword [eax + 1], ecx
add eax, 5
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa932a8
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9acad
mov edx, dword [edi + 0x10]
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
and edx, 0x7fff
cmp ecx, eax
je 0x6fa9c293
mov dword [esp + 8], ecx
mov ecx, 6
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], edx
xor edx, edx
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa980fd
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 4
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa813b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x20]
and eax, 0x7fff
and ecx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
and ecx, 0x7fff
test edx, edx
jne 0x6fa99bf6
mov dword [esp], eax
mov edx, 4
mov eax, ebp
call fcn.6fa8aa90
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98b91
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a693
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b270
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa990bb
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test esi, esi
jne 0x6fa9b87a
mov dword [esp], eax
mov edx, 0xe
mov eax, ebp
call fcn.6fa7fce0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x20]
test byte [ecx + 8], 2
je 0x6fa99290
and eax, 0x7fff
mov ecx, dword [ecx + 0x10]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
cmp edx, eax
je 0x6fa9b80d
mov dword [esp + 4], edx
mov edx, 0xe
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98db1
mov esi, dword [eax + 0x10]
mov edx, 0x28
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
sub esi, eax
lea edx, [esi - 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x81
mov dword [eax + 2], edx
add eax, 6
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97ee8
mov edx, dword [edi + 0x18]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7ffc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 1
mov dword [esp + 4], 1
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a120
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa935e0
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9b0bd
and eax, 0x7fff
mov ecx, 0xa
mov eax, dword [eax*8 + 0x6faaa220]
xor edx, edx
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa98e03
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov ecx, dword [esp + 0x20]
mov edx, 0xb
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa813b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa93700
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9ade1
and eax, 0x7fff
mov ecx, 0xb
mov eax, dword [eax*8 + 0x6faaa220]
xor edx, edx
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa999a3
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test esi, esi
jne 0x6fa9affc
mov dword [esp], eax
mov edx, 4
mov eax, ebp
call fcn.6fa7fce0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x20]
test byte [ecx + 8], 2
je 0x6fa98843
and eax, 0x7fff
mov ecx, dword [ecx + 0x10]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
cmp edx, eax
je 0x6fa9b5ba
mov dword [esp + 4], edx
mov edx, 4
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa9380d
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9ad9c
and esi, 0x7fff
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov ecx, 3
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edx*8 + 0x6faaa220]
xor edx, edx
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9856d
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov ecx, dword [esp + 0x20]
mov edx, 7
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x18]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, eax
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x10]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, eax
and esi, 0x7fff
cmp ecx, edx
mov dword [esp + 0x20], esi
je 0x6fa99efe
cmp edx, dword [esp + 0x20]
je 0x6fa9c331
cmp ecx, dword [esp + 0x20]
je 0x6fa9c74a
mov ecx, dword [ebp]
shl edx, 3
and eax, 7
or edx, 0xffffffc0
or edx, eax
mov byte [ecx + 1], dl
mov edx, dword [esp + 0x28]
mov byte [ecx], 0x89
mov byte [ecx + 2], 9
and edx, 7
shl edx, 3
or edx, 0xffffffc0
or eax, edx
mov byte [ecx + 3], al
add ecx, 4
mov dword [ebp], ecx
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa990ff
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a45d
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b850
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97c26
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa93a1c
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cd3f
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80710
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa9990d
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test esi, esi
jne 0x6fa9af84
mov dword [esp], eax
mov edx, 8
mov eax, ebp
call fcn.6fa7fce0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa971f2
mov ecx, dword [eax + 0x10]
mov edx, 0xc
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9728b
mov esi, dword [eax + 0x10]
xor edx, edx
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
sub esi, eax
lea edx, [esi - 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x82
mov dword [eax + 2], edx
add eax, 6
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x20]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
mov eax, esi
and eax, 0x7fff
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, eax
and edx, 0x7fff
cmp ecx, edx
je 0x6fa9ad4f
cmp dword [esp + 0x28], edx
je 0x6fa93bb3
mov ecx, dword [esp + 0x28]
mov esi, eax
mov edx, dword [ebp]
and esi, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, esi
mov byte [edx], 0x89
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
mov ecx, dword [esp + 0x20]
and eax, 7
mov edx, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 0x11
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa98004
mov edx, dword [edi + 0x18]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82990
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa99059
mov esi, dword [eax*8 + 0x6faaa220]
mov edx, 8
xor ecx, ecx
mov eax, dword [edi + 0x20]
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82750
mov eax, dword [ebp]
lea edx, [esi + 1]
or edx, 0xffffffd8
mov byte [eax], 0xdd
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa99951
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov esi, edx
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
and esi, 0x7fff
je 0x6fa9b014
mov edx, dword [ebp]
or esi, 0xffffffc8
mov ecx, esi
mov byte [edx + 1], cl
xor ecx, ecx
mov byte [edx], 0xd9
add edx, 2
mov dword [ebp], edx
mov edx, 0xa
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 4], 0x17
call fcn.6fa82750
mov eax, dword [ebp]
mov edx, esi
mov byte [eax], 0xd9
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa99344
mov ecx, dword [eax + 0x10]
mov edx, 0xf
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa93d75
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9aeb8
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa803d0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa7fc30
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa81c00
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov edx, 5
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81b60
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov edx, 5
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a630
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x20]
and eax, 0x7fff
and ecx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
and ecx, 0x7fff
test edx, edx
jne 0x6fa99bde
mov dword [esp], eax
mov edx, 8
mov eax, ebp
call fcn.6fa8aa90
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [edi + 0x18]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
cmp ecx, eax
je 0x6fa9b285
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 0xc
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a8f0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [edi + 0x18]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
cmp ecx, eax
je 0x6fa9b3f1
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 2
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a8f0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x20]
and eax, 0x7fff
and ecx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
and ecx, 0x7fff
test edx, edx
jne 0x6fa99ca9
mov dword [esp], eax
mov edx, 4
mov eax, ebp
call fcn.6fa8aa90
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov edx, 0xe
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ac20
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [edi + 0x18]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
cmp ecx, eax
je 0x6fa9b3ff
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 0xd
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a8f0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [edi + 0x18]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
cmp ecx, eax
je 0x6fa9afb4
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 4
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a8f0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [edi + 0x18]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
cmp ecx, eax
je 0x6fa9ad8b
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 6
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a8f0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [edi + 0x18]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
cmp ecx, eax
je 0x6fa9b42f
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 0xe
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a8f0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 0
mov dword [esp + 4], 1
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a120
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa986c0
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a4ed
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b3a0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9986c
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa94292
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c717
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80520
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x20]
test byte [ecx + 8], 2
je 0x6fa999e7
and eax, 0x7fff
mov ecx, dword [ecx + 0x10]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
cmp edx, eax
je 0x6fa9b04a
mov dword [esp + 4], edx
mov edx, 0xd
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x20]
test byte [ecx + 8], 2
je 0x6fa99239
and eax, 0x7fff
mov ecx, dword [ecx + 0x10]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
cmp edx, eax
je 0x6fa9b85a
mov dword [esp + 4], edx
mov edx, 3
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98991
mov esi, dword [eax + 0x10]
mov edx, 0x28
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
sub esi, eax
lea edx, [esi - 6]
mov byte [eax], 0xf
mov byte [eax + 1], pe_nt_image_headers32
mov dword [eax + 2], edx
add eax, 6
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98d1f
mov edx, dword [edi + 0x18]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7ff20
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and esi, 0x7fff
and eax, 0x7fff
mov edx, esi
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82650
mov ecx, esi
mov edx, esi
mov eax, ebp
call fcn.6fa81c00
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa98ea8
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov ecx, dword [esp + 0x20]
mov edx, 0xa
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa813b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa98f4d
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa83140
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x18]
mov ecx, dword [edx + 0x10]
ja 0x6fa98ffa
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x18]
ja 0x6fa97bae
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a488
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81ef0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98612
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa94651
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c7a4
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80630
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a120
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa89c60
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x18]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, eax
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x10]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, eax
and esi, 0x7fff
cmp ecx, edx
mov dword [esp + 0x20], esi
je 0x6fa99de8
cmp edx, dword [esp + 0x20]
je 0x6fa9c3b2
cmp ecx, dword [esp + 0x20]
je 0x6fa9cdd9
mov ecx, dword [ebp]
shl edx, 3
and eax, 7
or edx, 0xffffffc0
or edx, eax
mov byte [ecx + 1], dl
mov edx, dword [esp + 0x28]
mov byte [ecx], 0x89
mov byte [ecx + 2], 0x21
and edx, 7
shl edx, 3
or edx, 0xffffffc0
or eax, edx
mov byte [ecx + 3], al
add ecx, 4
mov dword [ebp], ecx
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x14]
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x20000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x24], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x3c], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa81c80
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], 0
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, dword [esp + 0x24]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa89730
mov eax, dword [esp + 0x28]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 0
mov dword [esp + 4], 1
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa89c60
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x14]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 0
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa89730
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x28]
test eax, eax
je 0x6fa9c37d
mov eax, dword [ebp]
and eax, 3
jne 0x6fa99e0f
or word [edi + 8], 2
mov eax, dword [ebp]
mov dword [edi + 0x10], eax
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov dword [edi + 0x10], eax
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 1]
and eax, dword [ebp]
je case.0x6fa8e04a.1
sub edx, eax
mov eax, ebp
call fcn.6fa81f50
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa949ca
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b103
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
and edx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0xc0000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80250
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9889a
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov ecx, dword [esp + 0x20]
mov edx, 3
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa94b2f
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9b71b
and esi, 0x7fff
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov ecx, 7
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edx*8 + 0x6faaa220]
xor edx, edx
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa94b9f
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9ae27
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
and edx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0xc0000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ae90
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov esi, dword [edi + 0x10]
lea eax, [esi - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa94c55
lea edx, [eax - 0x10]
cmp edx, 6
jbe 0x6fa9c38c
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [esi*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and ecx, 7
shl ecx, 3
and edx, 7
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax], 0xf3
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x51
mov byte [eax + 3], dl
add eax, 4
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa94cb2
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b5f9
mov ecx, dword [edi + 0x20]
and edx, 0x7fff
and eax, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov esi, dword [eax*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and edx, 0x7fff
mov dword [esp + 4], 0xc0000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov eax, ebp
mov dword [esp], esi
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [esp + 0x20]
and ecx, 0x7fff
call fcn.6fa8adb0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa9a129
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa94d77
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cdff
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa8ae90
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa9a11e
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa94de6
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9ce8a
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa80250
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa94e46
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b68a
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
and edx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0xc0000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8adb0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa94efc
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9aef5
and esi, 0x7fff
and edx, 0x7fff
mov eax, dword [esi*8 + 0x6faaa220]
mov ecx, 2
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edx*8 + 0x6faaa220]
xor edx, edx
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa99533
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov ecx, dword [esp + 0x20]
mov edx, 6
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa98c7a
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov ecx, dword [esp + 0x20]
mov edx, 2
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a120
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9866f
mov edx, dword [edi + 0x18]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov edx, dword [edi + 0x10]
mov dword [esp], eax
mov eax, ebp
and ecx, 0x7fff
call fcn.6fa82900
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97322
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
and esi, 0x7fff
je 0x6fa9af3a
mov ecx, dword [ebp]
or esi, 0xffffffc8
mov dword [esp + 0x24], esi
mov byte [ecx], 0xd9
mov dword [esp + 0x20], ecx
movzx ecx, byte [esp + 0x24]
mov esi, dword [esp + 0x20]
mov byte [esi + 1], cl
mov ecx, esi
add ecx, 2
mov dword [ebp], ecx
xor ecx, ecx
mov dword [esp + 4], edx
mov edx, 0xa
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82750
mov eax, dword [ebp]
movzx edx, byte [esp + 0x24]
mov byte [eax], 0xd9
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, eax
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x18]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x10]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, eax
and esi, 0x7fff
cmp ecx, edx
mov dword [esp + 0x24], esi
je 0x6fa9bf60
cmp ecx, dword [esp + 0x24]
je 0x6fa9bf83
cmp edx, dword [esp + 0x24]
je 0x6fa95262
mov ecx, dword [ebp]
shl edx, 3
mov esi, eax
or edx, 0xffffffc0
and esi, 7
or edx, esi
mov byte [ecx], 0x89
mov byte [ecx + 1], dl
add ecx, 2
mov dword [ebp], ecx
mov ecx, dword [esp + 0x20]
and eax, 7
mov edx, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 0x29
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
mov dword [esp + 0x20], esi
mov esi, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, esi
and ecx, 0x7fff
and eax, 0x7fff
cmp eax, ecx
je 0x6fa952d9
mov edx, dword [ebp]
shl eax, 3
and esi, 7
or eax, 0xffffffc0
or eax, esi
mov byte [edx], 0x89
mov byte [edx + 1], al
add edx, 2
mov dword [ebp], edx
mov eax, dword [esp + 0x20]
mov edx, 0x10
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa9753c
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test esi, esi
jne 0x6fa9af54
mov dword [esp], eax
mov edx, 5
mov eax, ebp
call fcn.6fa7fce0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa963df
mov ecx, dword [eax + 0x10]
mov edx, 5
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa97f78
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test esi, esi
jne 0x6fa9acf3
mov dword [esp], eax
mov edx, 5
mov eax, ebp
call fcn.6fa7fce0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
lea esi, [eax + 1]
mov dword [esp + 0x24], esi
mov ecx, edx
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x10]
and ecx, 0x7fff
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
mov dword [esp + 0x28], edx
and edx, 0x7fff
cmp esi, 9
jbe switch.0x6fa97471
test eax, eax
jle 0x6fa9541f
lea esi, [eax - 1]
test esi, eax
je 0x6fa9d236
movsx edx, al
cmp eax, edx
mov edx, dword [ebp]
je 0x6fa9d248
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov byte [edx], 0x69
mov dword [edx + 2], eax
and ecx, 7
shl ecx, 3
and esi, 7
or ecx, 0xffffffc0
or ecx, esi
mov byte [edx + 1], cl
add edx, 6
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, edx
and eax, 0x7fff
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov ecx, esi
and eax, 0x7fff
and ecx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x20], ecx
mov ecx, eax
and ecx, 0x7fff
cmp dword [esp + 0x20], ecx
je 0x6fa9b892
cmp dword [esp + 0x24], ecx
je 0x6fa9c170
mov esi, dword [esp + 0x20]
and eax, 7
and edx, 7
mov ecx, dword [ebp]
mov dword [esp + 0x24], eax
shl esi, 3
or esi, 0xffffffc0
or esi, eax
mov eax, esi
mov byte [ecx + 1], al
mov eax, dword [esp + 0x24]
mov byte [ecx], 0x89
mov byte [ecx + 2], 0xf
mov byte [ecx + 3], 0xaf
shl eax, 3
or eax, 0xffffffc0
or eax, edx
mov byte [ecx + 4], al
add ecx, 5
mov dword [ebp], ecx
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97414
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa95521
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9ce34
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80690
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
xor ecx, ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and esi, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp]
and edx, 0x7fff
mov byte [eax], 0x8b
add eax, 1
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], esi
call fcn.6fa82270
mov ecx, esi
mov edx, esi
mov dword [esp], 4
mov eax, ebp
call fcn.6fa825e0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov ecx, 5
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [ebp + 0x1c]
and edx, 0x7fff
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 8]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa825e0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x10]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, ecx
sub ecx, 0x10
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
and esi, 0x7fff
and edx, 0x7fff
cmp ecx, 6
jbe 0x6fa99bd0
mov dword [esp + 0xc], edx
mov ecx, 0x10
mov edx, 0xf2
mov dword [esp + 8], 0x17
mov eax, ebp
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.6fa82b10
mov dword [esp], 8
mov ecx, esi
mov edx, esi
mov eax, ebp
call fcn.6fa825e0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x20]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
mov eax, dword [edi + 0x10]
mov edx, esi
and eax, 0x7fff
and edx, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], edx
mov edx, eax
and edx, 0x7fff
cmp ecx, edx
je 0x6fa9ad0b
cmp dword [esp + 0x28], edx
je 0x6fa956e7
mov ecx, dword [esp + 0x28]
mov esi, eax
mov edx, dword [ebp]
and esi, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, esi
mov byte [edx], 0x89
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
mov ecx, dword [esp + 0x20]
and eax, 7
mov edx, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 1
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa95727
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9b363
and eax, 0x7fff
mov ecx, 2
mov eax, dword [eax*8 + 0x6faaa220]
xor edx, edx
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa99395
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81700
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa95840
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9b3aa
and eax, 0x7fff
mov ecx, 7
mov eax, dword [eax*8 + 0x6faaa220]
xor edx, edx
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x14]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 0
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa89620
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x14]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 0
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa89320
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 1
mov dword [esp + 4], 1
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa89c60
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x14]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 1
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa89730
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa89c60
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, eax
and edx, 0x7fff
cmp esi, edx
mov dword [esp + 0x20], eax
jne 0x6fa9a00f
mov edx, ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp]
and edx, 7
shl edx, 3
or edx, 0xffffffc0
and ecx, 7
or edx, ecx
mov byte [eax], 0x19
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov esi, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov ecx, esi
and ecx, 0x7fff
cmp eax, ecx
je 0x6fa95b47
mov edx, dword [ebp]
shl eax, 3
and esi, 7
or eax, 0xffffffc0
or eax, esi
mov byte [edx], 0x89
mov byte [edx + 1], al
add edx, 2
mov dword [ebp], edx
mov esi, dword [esp + 0x20]
mov edx, 0x28
mov eax, ebp
mov dword [esp], esi
call fcn.6fa81a70
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96333
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa95b86
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cd72
and edx, 0x7fff
and esi, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa804c0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96390
mov esi, dword [eax + 0x10]
xor edx, edx
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
sub esi, eax
lea edx, [esi - 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x81
mov dword [eax + 2], edx
add eax, 6
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa973cc
mov edx, dword [edi + 0x18]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fe80
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82650
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa95cad
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9b207
mov edx, dword [edi + 0x10]
and esi, 0x7fff
and eax, 0x7fff
mov ecx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
and edx, 0x7fff
cmp ecx, eax
je 0x6fa9c081
mov dword [esp + 8], ecx
mov ecx, 4
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], edx
xor edx, edx
call fcn.6fa80060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa995e2
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 7
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9942d
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 6
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9651a
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x40000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 3
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa812a0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98d67
mov esi, dword [eax + 0x10]
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa81a30
mov eax, dword [ebp]
sub esi, eax
lea edx, [esi - 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x85
mov dword [eax + 2], edx
add eax, 6
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x14]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 8], 1
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa89320
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97580
mov esi, dword [eax + 0x10]
xor edx, edx
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
sub esi, eax
lea edx, [esi - 6]
mov byte [eax], 0xf
mov byte [eax + 1], pe_nt_image_headers32
mov dword [eax + 2], edx
add eax, 6
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97243
mov edx, dword [edi + 0x18]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fde0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96430
mov edx, dword [edi + 0x18]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fe30
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa964c9
mov ecx, dword [eax + 0x10]
mov edx, 7
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa965bf
mov edx, dword [edi + 0x18]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fd90
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa972da
mov edx, dword [edi + 0x18]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fd40
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
mov dword [esp + 0x20], esi
mov esi, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, esi
and ecx, 0x7fff
and eax, 0x7fff
cmp eax, ecx
je 0x6fa961e9
mov edx, dword [ebp]
shl eax, 3
and esi, 7
or eax, 0xffffffc0
or eax, esi
mov byte [edx], 0x89
mov byte [edx + 1], al
add edx, 2
mov dword [ebp], edx
mov eax, dword [esp + 0x20]
xor edx, edx
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x10]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov esi, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov ecx, esi
and ecx, 0x7fff
cmp eax, ecx
je 0x6fa9624f
mov edx, dword [ebp]
shl eax, 3
and esi, 7
or eax, 0xffffffc0
or eax, esi
mov byte [edx], 0x89
mov byte [edx + 1], al
add edx, 2
mov dword [ebp], edx
mov esi, dword [esp + 0x20]
mov edx, 0x18
mov eax, ebp
mov dword [esp], esi
call fcn.6fa81a70
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa825e0
jmp case.0x6fa8e04a.1
cmp eax, 0xffffffff
je 0x6fa9d226
cmp ecx, dword [esp + 0x20]
je 0x6fa962cc
mov edx, dword [ebp]
shl ecx, 3
and esi, 7
or ecx, 0xffffffc0
or ecx, esi
mov byte [edx], 0x89
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
mov ecx, dword [esp + 0x20]
mov edx, 0x30
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
xor edx, edx
mov esi, dword [ebp]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
mov ecx, edi
sub esi, eax
lea edx, [esi - 6]
mov dword [eax + 2], edx
lea edx, [eax + 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x83
mov eax, dword [esp + 0x2c]
mov dword [ebp], edx
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9634d
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cc85
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa804c0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
xor edx, edx
mov esi, dword [ebp]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
mov ecx, edi
sub esi, eax
lea edx, [esi - 6]
mov dword [eax + 2], edx
lea edx, [eax + 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x81
mov eax, dword [esp + 0x2c]
mov dword [ebp], edx
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, 5
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa7fc80
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa7fe30
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, 2
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa7fc80
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, 7
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa7fc80
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [ecx*8 + 0x6faaa220]
mov ecx, 3
mov dword [esp + 8], edx
xor edx, edx
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa7fd90
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x11
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf2
mov dword [esp + 8], 0x17
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [esp], 0
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96673
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c69d
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa809b0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa966d0
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c66a
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80830
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a8cb
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8bd00
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9676e
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9ca2c
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80890
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa967cb
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9d044
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80770
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a74d
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8baa0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov esi, 0xfffffffc
mov ecx, dword [edi + 0x10]
lea edx, [eax + 1]
sub esi, edx
mov edx, esi
add edx, ecx
mov byte [eax], 0xe9
mov dword [eax + 1], edx
add eax, 5
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9aa49
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8be30
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa968cf
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c3d8
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80da0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9692c
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c9f8
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa81240
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a7cd
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8ce10
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a920
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8cce0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and edx, 0x7fff
and eax, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and edx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82b70
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a38a
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d780
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96a83
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cbd7
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa811e0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9ab1e
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8c960
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a7f7
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8c830
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96b62
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c4a4
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80e50
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a975
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8cbb0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9aa9e
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d2c0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a9ca
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d190
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9aa1f
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d060
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a30a
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8cf30
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a3b4
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d520
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x10
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf2
mov dword [esp + 8], 0x17
mov dword [esp + 4], 0x17
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x18]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a84c
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d3f0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a25f
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8ca90
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96e26
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c4d8
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa81060
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x11
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf2
mov dword [esp + 8], 0x17
mov dword [esp + 4], 0x17
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x11
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf2
mov dword [esp + 8], 0x17
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [ecx*8 + 0x6faaa220]
mov ecx, 7
mov dword [esp + 8], edx
mov edx, 1
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [ecx*8 + 0x6faaa220]
mov ecx, 2
mov dword [esp + 8], edx
mov edx, 1
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp dword [esp + 0x20], eax
je 0x6fa9cc0b
mov ecx, dword [esp + 0x20]
mov edx, 1
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], esi
mov dword [esp + 8], ecx
mov ecx, 6
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x28]
test eax, eax
je 0x6fa97110
mov eax, dword [ebp]
and eax, 3
jne 0x6fa9c31e
or word [edi + 8], 2
mov eax, dword [ebp]
mov dword [edi + 0x10], eax
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x68]
test byte [eax + 0x44], 2
jne 0x6fa971e6
mov eax, dword [ebp]
mov byte [eax], 0x89
mov byte [eax + 1], 0xec
mov edx, dword [ebp + 0x1c]
add eax, 2
mov dword [ebp], eax
mov eax, dword [edx + 0x68]
test byte [eax + 0x38], 0x20
je 0x6fa97162
mov edx, 7
mov ecx, 4
mov dword [esp], 0xc
mov eax, ebp
call fcn.6fa82520
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x68]
test byte [eax + 0x38], 0x10
je 0x6fa97186
mov edx, 6
mov ecx, 4
mov dword [esp], 8
mov eax, ebp
call fcn.6fa82520
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x68]
test byte [eax + 0x38], 8
je 0x6fa971a7
mov dword [esp], 4
mov ecx, 4
mov edx, 3
mov eax, ebp
call fcn.6fa82520
mov ecx, 4
mov edx, 5
mov eax, ebp
mov dword [esp], 0
call fcn.6fa82520
mov edx, 4
mov eax, ebp
mov dword [esp], 0x10
mov ecx, 4
call fcn.6fa825e0
mov eax, dword [ebp]
mov byte [eax], 0xc3
mov edx, dword [ebp + 0x1c]
add eax, 1
mov dword [ebp], eax
mov dword [edx + 0x68], 0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, 0xc
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa7fc80
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa7fde0
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
xor edx, edx
mov esi, dword [ebp]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
mov ecx, edi
sub esi, eax
lea edx, [esi - 6]
mov dword [eax + 2], edx
lea edx, [eax + 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x82
mov eax, dword [esp + 0x2c]
mov dword [ebp], edx
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa7fd40
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x11
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf3
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x10]
mov dword [esp], 0
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa7fed0
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa7fe80
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9742e
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9ce5f
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80690
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
jmp dword [esi*4 + 0x6fab4ca8]
mov dword [esp + 8], edx
mov eax, ebp
xor edx, edx
mov dword [esp], ecx
mov ecx, 0x17
mov dword [esp + 4], 3
call fcn.6fa825a0
jmp case.0x6fa8e04a.1
mov dword [esp + 8], edx
mov eax, ebp
xor edx, edx
mov dword [esp], ecx
mov ecx, 0x17
mov dword [esp + 4], 2
call fcn.6fa825a0
jmp case.0x6fa8e04a.1
mov dword [esp + 8], edx
mov eax, ebp
xor edx, edx
mov dword [esp], ecx
mov ecx, 0x17
mov dword [esp + 4], 1
call fcn.6fa825a0
jmp case.0x6fa8e04a.1
cmp ecx, edx
je case.0x6fa8e04a.1
mov edx, dword [esp + 0x28]
shl ecx, 3
mov eax, dword [ebp]
or ecx, 0xffffffc0
and edx, 7
or ecx, edx
mov byte [eax], 0x89
mov byte [eax + 1], cl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov ecx, dword [esp + 0x28]
mov eax, dword [ebp]
and ecx, 7
lea edx, [ecx*8]
or edx, 0xffffffc0
or edx, ecx
mov byte [eax], 0x31
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, ebp
call fcn.6fa81c00
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test edx, edx
jne 0x6fa9b7dd
mov dword [esp], eax
mov edx, 5
mov eax, ebp
call fcn.6fa7fce0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
xor edx, edx
mov esi, dword [ebp]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
mov ecx, edi
sub esi, eax
lea edx, [esi - 6]
mov dword [eax + 2], edx
lea edx, [eax + 6]
mov byte [eax], 0xf
mov byte [eax + 1], pe_nt_image_headers32
mov eax, dword [esp + 0x2c]
mov dword [ebp], edx
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test edx, edx
jne 0x6fa9b760
mov dword [esp], eax
mov edx, 9
mov eax, ebp
call fcn.6fa7fce0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa802e0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa976c5
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c991
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa81180
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97722
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c95d
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80fa0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80b00
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a597
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d650
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80a10
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa978f0
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c80c
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa81000
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp dword [esp + 0x20], eax
je 0x6fa9c904
mov ecx, dword [esp + 0x20]
mov edx, 1
mov dword [esp + 8], eax
mov eax, ebp
mov dword [esp], esi
mov dword [esp + 4], ecx
mov ecx, 4
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa979ff
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c89e
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa810c0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97a5c
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c873
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80f10
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp dword [esp + 0x20], eax
je 0x6fa9d174
mov ecx, dword [esp + 0x20]
mov edx, 1
mov dword [esp + 8], eax
mov eax, ebp
mov dword [esp], esi
mov dword [esp + 4], ecx
mov ecx, 6
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97b6b
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cd01
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80e00
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
lea ecx, [edx - 8]
cmp ecx, 7
ja 0x6fa9a22e
and eax, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa80190
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a433
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b4d0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97c40
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cc1e
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80710
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97c9d
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cb39
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa808f0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a56d
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8bf60
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97d3b
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9d0e0
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80950
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 1
mov dword [esp + 4], ecx
mov ecx, 7
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a5ec
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b5f0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9abf2
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b720
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, 0xf
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa81b00
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa7ffc0
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80010
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test edx, edx
jne 0x6fa9b0a5
mov dword [esp], eax
mov edx, 5
mov eax, ebp
call fcn.6fa7fce0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa7ff70
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x10
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf3
mov dword [esp + 8], 0x17
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x20]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 1
mov dword [esp + 4], ecx
mov ecx, 3
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp dword [esp + 0x20], eax
je 0x6fa9c704
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 8], eax
mov eax, ebp
mov dword [esp], esi
mov dword [esp + 4], ecx
mov ecx, 4
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [ecx*8 + 0x6faaa220]
mov ecx, 2
mov dword [esp + 8], edx
xor edx, edx
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9826b
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cfdd
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa81120
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [ecx*8 + 0x6faaa220]
mov ecx, 0xa
mov dword [esp + 8], edx
mov edx, 1
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [ecx*8 + 0x6faaa220]
mov ecx, 0xb
mov dword [esp + 8], edx
mov edx, 1
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa98418
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c50c
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80eb0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp esi, eax
je 0x6fa9b8d2
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov ecx, 5
mov dword [esp + 4], esi
mov edx, 1
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x11
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf2
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x10]
mov dword [esp], 0
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
xor edx, edx
mov dword [esp + 4], ecx
mov ecx, 7
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9862c
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cda5
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80630
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x11
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf3
mov dword [esp + 8], 0x17
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a723
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b3a0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov esi, 0xfffffffc
lea edx, [eax + 1]
sub esi, edx
mov edx, esi
add edx, ecx
mov byte [eax], 0xe8
mov dword [eax + 1], edx
add eax, 5
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a543
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8c1c0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x10
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf3
mov dword [esp + 8], 0x17
mov dword [esp + 4], 0x17
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x18]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9ab48
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b970
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa98800
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cadb
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80580
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [ebp]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
cmp edx, eax
je 0x6fa9b410
mov dword [esp + 4], edx
mov edx, 4
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
xor edx, edx
mov dword [esp + 4], ecx
mov ecx, 3
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x10
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf3
mov dword [esp + 8], 0x17
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x18]
mov dword [esp], 0
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, 0x28
mov esi, dword [ebp]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
mov ecx, edi
sub esi, eax
lea edx, [esi - 6]
mov dword [eax + 2], edx
lea edx, [eax + 6]
mov byte [eax], 0xf
mov byte [eax + 1], pe_nt_image_headers32
mov eax, dword [esp + 0x2c]
mov dword [ebp], edx
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa989fd
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c770
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa807d0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9ab72
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8bbd0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x11
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf3
mov dword [esp + 8], 0x17
mov dword [esp + 4], 0x17
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a409
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8c090
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
mov esi, dword [ebp]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa81a30
mov eax, dword [ebp]
mov ecx, edi
sub esi, eax
lea edx, [esi - 6]
mov dword [eax + 2], edx
lea edx, [eax + 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x84
mov eax, dword [esp + 0x2c]
mov dword [ebp], edx
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test edx, edx
jne 0x6fa9af6c
mov dword [esp], eax
mov edx, 6
mov eax, ebp
call fcn.6fa7fce0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a876
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b270
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 1
mov dword [esp + 4], ecx
mov ecx, 2
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [edx*8 + 0x6faaa220]
xor edx, edx
mov dword [esp + 4], ecx
mov ecx, 2
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa7ff20
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
mov esi, dword [ebp]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa81a30
mov eax, dword [ebp]
mov ecx, edi
sub esi, eax
lea edx, [esi - 6]
mov dword [eax + 2], edx
lea edx, [eax + 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x85
mov eax, dword [esp + 0x2c]
mov dword [ebp], edx
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, 0x28
mov esi, dword [ebp]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
mov ecx, edi
sub esi, eax
lea edx, [esi - 6]
mov dword [eax + 2], edx
lea edx, [eax + 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x81
mov eax, dword [esp + 0x2c]
mov dword [ebp], edx
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [ecx*8 + 0x6faaa220]
mov ecx, 0xb
mov dword [esp + 8], edx
xor edx, edx
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [ecx*8 + 0x6faaa220]
mov ecx, 0xa
mov dword [esp + 8], edx
xor edx, edx
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and esi, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp esi, eax
je 0x6fa9b194
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov ecx, 5
mov dword [esp + 4], esi
xor edx, edx
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
jmp case.0x6fa8e04a.1
cmp eax, 0xffffffff
je 0x6fa9d211
cmp ecx, dword [esp + 0x20]
je 0x6fa99041
mov edx, dword [ebp]
shl ecx, 3
and esi, 7
or ecx, 0xffffffc0
or ecx, esi
mov byte [edx], 0x89
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
mov ecx, dword [esp + 0x20]
mov edx, 8
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x10
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf3
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x18]
mov dword [esp], 0
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test edx, edx
jne 0x6fa9ad73
mov dword [esp], eax
mov edx, 0xe
mov eax, ebp
call fcn.6fa7fce0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9ac1c
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b850
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
mov ecx, dword [ebp]
and eax, 0x7fff
test edx, edx
mov eax, dword [eax*8 + 0x6faaa220]
jne 0x6fa9cf25
lea eax, [ecx + 1]
mov edx, 0xfffffffc
sub edx, eax
mov eax, edx
add eax, ecx
mov byte [ecx], 0xe9
mov dword [ecx + 1], eax
add ecx, 5
mov dword [ebp], ecx
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa991a4
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c471
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80d40
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, 0x28
mov esi, dword [ebp]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
mov ecx, edi
sub esi, eax
lea edx, [esi - 6]
mov dword [eax + 2], edx
lea edx, [eax + 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x82
mov eax, dword [esp + 0x2c]
mov dword [ebp], edx
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [ebp]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
cmp edx, eax
je 0x6fa9b82d
mov dword [esp + 4], edx
mov edx, 3
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [ebp]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
cmp edx, eax
je 0x6fa9afc5
mov dword [esp + 4], edx
mov edx, 0xe
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa99301
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9d010
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa805d0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x20]
mov edx, 0xf
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa7fc80
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa803d0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp dword [esp + 0x20], eax
je 0x6fa9cd2c
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], esi
mov dword [esp + 8], ecx
mov ecx, 6
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [ebp]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
cmp edx, eax
je 0x6fa9b5da
mov dword [esp + 4], edx
mov edx, 6
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov edx, dword [esp + 0x28]
mov eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp dword [esp + 0x20], eax
je 0x6fa9c917
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 8], eax
mov eax, ebp
mov dword [esp], esi
mov dword [esp + 4], ecx
mov ecx, 6
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8b160
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [ecx*8 + 0x6faaa220]
mov ecx, 7
mov dword [esp + 8], edx
xor edx, edx
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x10
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf2
mov dword [esp + 8], 0x17
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x18]
mov dword [esp], 0
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, 0x28
mov esi, dword [ebp]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81a70
mov eax, dword [ebp]
mov ecx, edi
sub esi, eax
lea edx, [esi - 6]
mov dword [eax + 2], edx
lea edx, [eax + 6]
mov byte [eax], 0xf
mov byte [eax + 1], 0x83
mov eax, dword [esp + 0x2c]
mov dword [ebp], edx
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x10
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf2
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x20]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 8], eax
mov eax, dword [edi + 0x18]
mov dword [esp], 0
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
and esi, 0x7fff
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c6d0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp], esi
mov eax, dword [ecx*8 + 0x6faaa220]
mov ecx, 3
mov dword [esp + 8], edx
mov edx, 1
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
lea ecx, [edx - 8]
cmp ecx, 7
ja 0x6fa9a616
and eax, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa80bf0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa99886
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cfaa
and eax, 0x7fff
and esi, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa80520
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test edx, edx
jne 0x6fa9af9c
mov dword [esp], eax
mov edx, 2
mov eax, ebp
call fcn.6fa7fce0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test edx, edx
jne 0x6fa9b032
mov dword [esp], eax
mov edx, 8
mov eax, ebp
call fcn.6fa7fce0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, 0x11
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 0xf3
mov dword [esp + 8], 0x17
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [esp], 0
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6fa82b10
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov ecx, dword [ebp]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
test edx, edx
jne 0x6fa9b06a
mov dword [esp], eax
mov edx, 4
mov eax, ebp
call fcn.6fa7fce0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [ebp]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x18]
and edx, 0x7fff
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
and eax, 0x7fff
cmp edx, eax
je 0x6fa9b9cf
mov dword [esp + 4], edx
mov edx, 0xd
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fc80
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
mov edx, dword [ebp]
mov ecx, dword [edi + 0x18]
and eax, 0x7fff
mov eax, dword [eax*8 + 0x6faaa220]
mov dword [edx + 1], ecx
mov ecx, edi
and eax, 7
or eax, 0xffffffb8
mov byte [edx], al
mov eax, dword [esp + 0x2c]
add edx, 5
mov dword [ebp], edx
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov dword [esp + 4], 0x24000000
mov dword [esp], ebp
call fcn.6fa88f30
mov edx, eax
and edx, 0x7fff
mov dword [esp + 0x24], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov ecx, eax
and ecx, 0x7fff
cmp esi, ecx
je 0x6fa99ac4
mov ecx, dword [ebp]
shl esi, 3
and eax, 7
or esi, 0xffffffc0
or eax, esi
mov byte [ecx], 0x89
mov byte [ecx + 1], al
mov eax, dword [edx*8 + 0x6faaa220]
add ecx, 2
mov dword [ebp], ecx
mov edx, dword [esp + 0x20]
and eax, 7
mov ecx, dword [ebp]
and edx, 7
shl edx, 3
or edx, 0xffffffc0
or eax, edx
mov byte [ecx + 2], al
mov eax, dword [esp + 0x24]
mov byte [ecx], 0xf
mov byte [ecx + 1], 0xb6
add ecx, 3
mov dword [ebp], ecx
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 7
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ac20
jmp case.0x6fa8e04a.1
mov dword [esp + 4], 0x24000000
mov dword [esp], ebp
call fcn.6fa88f30
mov edx, eax
and edx, 0x7fff
mov dword [esp + 0x24], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov ecx, eax
and ecx, 0x7fff
cmp esi, ecx
je 0x6fa99b66
mov ecx, dword [ebp]
shl esi, 3
and eax, 7
or esi, 0xffffffc0
or eax, esi
mov byte [ecx], 0x89
mov byte [ecx + 1], al
mov eax, dword [edx*8 + 0x6faaa220]
add ecx, 2
mov dword [ebp], ecx
mov edx, dword [esp + 0x20]
and eax, 7
mov ecx, dword [ebp]
and edx, 7
shl edx, 3
or edx, 0xffffffc0
or eax, edx
mov byte [ecx + 2], al
mov eax, dword [esp + 0x24]
mov byte [ecx], 0xf
mov byte [ecx + 1], 0xbe
add ecx, 3
mov dword [ebp], ecx
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 3
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ac20
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 5
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ac20
jmp case.0x6fa8e04a.1
mov ecx, esi
mov eax, ebp
call fcn.6fa828b0
jmp 0x6fa95653
mov dword [esp + 4], edx
mov edx, 0xc
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ac20
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 6
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ac20
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
and esi, 7
lea edx, [esi*8]
or edx, 0xffffffc0
or edx, esi
mov byte [eax], 0x31
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov edx, esi
mov byte [eax], 0x88
add eax, 1
mov dword [ebp], eax
mov eax, ebp
mov dword [esp], ecx
xor ecx, ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov edx, esi
mov byte [eax], 0x88
add eax, 1
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 0xd
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ac20
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 4
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ac20
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov edx, dword [esp + 0x20]
mov byte [eax], 0x88
add eax, 1
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [esp], edx
mov edx, esi
mov dword [esp + 8], 0
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov byte [eax], 0x88
add eax, 1
mov dword [ebp], eax
mov eax, ebp
mov dword [esp], ecx
mov ecx, edx
mov edx, esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
call fcn.6fa82270
jmp case.0x6fa8e04a.1
mov dword [esp], 3
mov ecx, 4
mov edx, 4
mov eax, ebp
call fcn.6fa824e0
jmp 0x6fa8e0f2
mov edx, 8
mov ecx, 4
mov dword [esp], 6
mov eax, ebp
call fcn.6fa824e0
mov edx, dword [ebp + 0x1c]
jmp 0x6fa8e0e5
mov edx, 0xc
mov ecx, 4
mov dword [esp], 7
mov eax, ebp
call fcn.6fa824e0
mov edx, dword [ebp + 0x1c]
jmp 0x6fa8e0d8
mov ecx, dword [esp + 0x24]
and edx, 7
mov eax, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, edx
mov byte [eax], 1
mov byte [eax + 1], cl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
and ecx, 7
lea edx, [ecx*8]
or edx, 0xffffffc0
or edx, ecx
mov byte [eax], 0x31
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
and ecx, 7
lea edx, [ecx*8]
or edx, 0xffffffc0
or edx, ecx
mov byte [eax], 0x31
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
cmp ecx, esi
je case.0x6fa8e04a.1
mov edx, dword [ebp]
shl ecx, 3
and eax, 7
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 0x89
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov edx, 4
sub edx, eax
mov eax, ebp
call fcn.6fa81f50
jmp 0x6fa94978
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa8ffeb
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa90110
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa9040e
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x18]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa81c80
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa827a0
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
xor ecx, ecx
mov byte [eax], 0xdd
mov byte [eax + 1], 0xd9
add eax, 2
mov dword [ebp], eax
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa83180
jmp case.0x6fa8e04a.1
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa92309
and eax, 0x7fff
mov edx, dword [esi*8 + 0x6faaa220]
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
and ecx, 0x7fff
call fcn.6fa81ef0
jmp case.0x6fa8e04a.1
cmp ecx, esi
je case.0x6fa8e04a.1
mov edx, dword [ebp]
shl ecx, 3
and eax, 7
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 0x89
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov edx, dword [esi*8 + 0x6faaa220]
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
and ecx, 0x7fff
call fcn.6fa82800
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov ecx, 5
mov edx, 0xfffffff4
mov byte [eax], 0xdd
mov byte [eax + 1], 0xd9
add eax, 2
mov dword [ebp], eax
mov eax, dword [edi + 0x10]
mov dword [esp], 0
and eax, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov eax, ebp
call fcn.6fa82a80
mov ecx, 5
mov eax, ebp
mov dword [esp], 0xfffffff4
and esi, 0x7fff
mov edx, esi
call fcn.6fa82b70
jmp case.0x6fa8e04a.1
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa924e4
mov eax, ecx
and eax, 0x7fff
cmp eax, edx
je 0x6fa9a07a
mov edx, dword [esp + 0x20]
shl esi, 3
mov eax, dword [ebp]
or esi, 0xffffffc0
and edx, 7
or edx, esi
mov byte [eax], 0x89
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp 0x6fa90b8c
and eax, 0x7fff
mov edx, dword [esi*8 + 0x6faaa220]
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
and ecx, 0x7fff
call fcn.6fa81ef0
jmp case.0x6fa8e04a.1
mov eax, ecx
and eax, 0x7fff
cmp eax, edx
je 0x6fa9a15f
mov edx, dword [esp + 0x20]
shl esi, 3
mov eax, dword [ebp]
or esi, 0xffffffc0
and edx, 7
or edx, esi
mov byte [eax], 0x89
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp 0x6fa95ace
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa92553
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa827a0
jmp case.0x6fa8e04a.1
mov dword [esp + 4], 0x20000000
mov dword [esp], ebp
mov dword [esp + 0x1c], edx
call fcn.6fa88f30
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ecx
and eax, 0x7fff
cmp edx, eax
je 0x6fa9a0cb
mov eax, dword [ebp]
shl edx, 3
and ecx, 7
or edx, 0xffffffc0
or edx, ecx
mov byte [eax], 0x89
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
movzx ecx, byte [esp + 0x20]
shl esi, 3
or esi, 0xffffffc0
mov eax, dword [ebp]
and ecx, 7
mov edx, ecx
or edx, esi
mov esi, dword [esp + 0x28]
mov byte [eax], 0x89
mov byte [eax + 1], dl
mov edx, dword [esi*8 + 0x6faaa220]
mov byte [eax + 2], 0x29
and edx, 7
shl edx, 3
or edx, 0xffffffc0
or edx, ecx
mov byte [eax + 3], dl
add eax, 4
mov dword [ebp], eax
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa94de6
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa94d77
and eax, 0x7fff
mov edx, dword [esi*8 + 0x6faaa220]
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
and ecx, 0x7fff
call fcn.6fa82800
jmp case.0x6fa8e04a.1
mov dword [esp + 4], 0x20000000
mov dword [esp], ebp
mov dword [esp + 0x1c], edx
call fcn.6fa88f30
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ecx
and eax, 0x7fff
cmp edx, eax
je 0x6fa9a1b0
mov eax, dword [ebp]
shl edx, 3
and ecx, 7
or edx, 0xffffffc0
or edx, ecx
mov byte [eax], 0x89
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
movzx ecx, byte [esp + 0x20]
shl esi, 3
or esi, 0xffffffc0
mov eax, dword [ebp]
and ecx, 7
mov edx, ecx
or edx, esi
mov esi, dword [esp + 0x28]
mov byte [eax], 0x89
mov byte [eax + 1], dl
mov edx, dword [esi*8 + 0x6faaa220]
mov byte [eax + 2], 0x19
and edx, 7
shl edx, 3
or edx, 0xffffffc0
or edx, ecx
mov byte [eax + 3], dl
add eax, 4
mov dword [ebp], eax
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b560
jmp case.0x6fa8e04a.1
and edx, 0x7fff
and eax, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa83180
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8cb20
jmp 0x6fa96dfa
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d360
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d490
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d5c0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8cfd0
jmp 0x6fa96cf6
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8cea0
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d820
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d820
jmp 0x6fa96a57
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d5c0
jmp 0x6fa96d37
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b690
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8c130
jmp 0x6fa98af1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b560
jmp 0x6fa97c14
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b8e0
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov ecx, 0x11
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 0xf3
mov dword [esp + 8], 0x17
mov dword [esp + 4], 5
and esi, 0x7fff
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, ebp
mov dword [esp], 0xfffffff4
call fcn.6fa82b10
mov ecx, 5
mov edx, esi
mov dword [esp], 0xfffffff4
mov eax, ebp
call fcn.6fa82990
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b440
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8c260
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8c260
jmp 0x6fa98752
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8c000
jmp 0x6fa97d0f
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d6f0
jmp 0x6fa9782c
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b7c0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b690
jmp 0x6fa97e55
and eax, 0x7fff
and edx, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov ecx, 5
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 0xfffffff4
and esi, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82a80
mov ecx, 5
mov edx, esi
mov dword [esp], 0xfffffff4
mov eax, ebp
call fcn.6fa82b70
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8c130
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8b310
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov esi, dword [eax*8 + 0x6faaa220]
mov ecx, 0x11
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 0xf2
mov dword [esp + 8], 0x17
mov dword [esp + 4], 5
and esi, 0x7fff
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, ebp
mov dword [esp], 0xfffffff4
call fcn.6fa82b10
mov ecx, 5
mov edx, esi
mov dword [esp], 0xfffffff4
mov eax, ebp
call fcn.6fa82a30
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b440
jmp 0x6fa986ef
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8bb40
jmp 0x6fa9683d
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8bed0
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8cd80
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8cea0
jmp 0x6fa9699e
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8c8d0
jmp 0x6fa96b36
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8cb20
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d490
jmp 0x6fa96db9
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b310
jmp 0x6fa98bc0
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8bb40
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8bda0
jmp 0x6fa96742
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8bda0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8cd80
jmp 0x6fa969df
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8cc50
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8cc50
jmp 0x6fa96bd4
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d100
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d230
jmp 0x6fa96c74
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8cfd0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d100
jmp 0x6fa96cb5
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8bed0
jmp 0x6fa968a3
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d230
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8d360
jmp 0x6fa96c33
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ca00
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8c8d0
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8ca00
jmp 0x6fa96af5
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8ba10
jmp 0x6fa987d4
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8bc70
jmp 0x6fa98a6f
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8bc70
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8c000
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b7c0
jmp 0x6fa97e96
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa8b8e0
jmp 0x6fa9912e
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8ba10
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
and ecx, 0x7fff
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8d6f0
jmp case.0x6fa8e04a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81c60
jmp case.0x6fa8e04a.1
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
and edx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, 6
and eax, 0x7fff
mov dword [esp], eax
and ecx, 0x7fff
mov eax, ebp
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov dword [esp], eax
mov edx, 7
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81b00
jmp case.0x6fa8e04a.1
mov ecx, esi
mov edx, dword [ebp]
and eax, 7
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 1
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov esi, 0xfffffffc
lea edx, [eax + 1]
sub esi, edx
add ecx, esi
mov byte [eax], 0xe9
mov dword [eax + 1], ecx
add eax, 5
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov ecx, esi
mov edx, dword [ebp]
and eax, 7
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 0x11
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 0xe
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81b00
jmp 0x6fa990ec
mov ecx, 1
mov eax, ebp
call fcn.6fa81c60
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 3
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [edi + 0x10]
and eax, 0x7fff
and ecx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 0xb
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
and ecx, 0x7fff
mov eax, ebp
call fcn.6fa813b0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x20]
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0x40000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82fd0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81700
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 2
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
xor ecx, ecx
mov edx, 0xa
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82750
jmp case.0x6fa8e04a.1
mov dword [esp], eax
mov edx, 5
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81b00
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 6
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81b00
jmp 0x6fa98b7e
mov dword [esp], eax
mov edx, 0xc
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81b00
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 2
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81b00
jmp 0x6fa998fa
mov ecx, 1
mov eax, ebp
call fcn.6fa81c60
jmp case.0x6fa8e04a.1
lea eax, [ecx + 1]
mov edx, 0xfffffffc
sub edx, eax
mov eax, edx
add eax, ecx
mov byte [ecx], 0xe9
mov dword [ecx + 1], eax
add ecx, 5
mov dword [ebp], ecx
jmp 0x6fa992d4
mov dword [esp], eax
mov edx, 2
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81b00
jmp case.0x6fa8e04a.1
mov dword [esp], eax
mov edx, 4
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81b00
jmp case.0x6fa8e04a.1
mov dword [esp], eax
xor ecx, ecx
mov edx, 0xa
mov dword [esp + 4], 0x17
mov eax, ebp
call fcn.6fa82750
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 0xc
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81b00
jmp 0x6fa9993e
mov eax, dword [ebp]
mov esi, 0xfffffffc
lea edx, [eax + 1]
sub esi, edx
add ecx, esi
mov byte [eax], 0xe9
mov dword [eax + 1], ecx
add eax, 5
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 4
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81b00
jmp 0x6fa999d4
mov edx, dword [ebp]
and eax, 7
lea ecx, [eax*8]
or ecx, 0xffffffc0
or eax, ecx
mov byte [edx], 0x31
mov byte [edx + 1], al
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 7
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81b00
jmp 0x6fa97fa9
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [edi + 0x10]
and eax, 0x7fff
and ecx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 0xa
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
and ecx, 0x7fff
mov eax, ebp
call fcn.6fa813b0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x20]
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0x40000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82e70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp]
and ecx, 7
lea edx, [ecx*8]
or edx, 0xffffffc0
or edx, ecx
mov byte [eax], 0x31
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp 0x6fa98fe5
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81da0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81e10
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov edx, dword [esi*8 + 0x6faaa220]
mov dword [esp], eax
mov eax, ebp
and ecx, 0x7fff
and edx, 0x7fff
mov dword [esp + 4], edx
mov edx, 4
call fcn.6fa813b0
jmp case.0x6fa8e04a.1
mov dword [esp], eax
mov edx, 0xd
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81b00
jmp case.0x6fa8e04a.1
xor ecx, ecx
mov eax, ebp
call fcn.6fa81c80
nop
jmp case.0x6fa8e04a.1
xor ecx, ecx
mov eax, ebp
call fcn.6fa81c80
nop
jmp case.0x6fa8e04a.1
xor ecx, ecx
mov eax, ebp
call fcn.6fa81c80
nop
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa83140
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x20]
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0x40000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov ecx, dword [esp + 0x28]
mov edx, esi
mov eax, dword [ecx*8 + 0x6faaa220]
mov ecx, dword [esp + 0x20]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82ba0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x10]
mov edx, dword [edx*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
mov ecx, dword [ecx*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 2
mov dword [esp], eax
mov eax, ebp
and ecx, 0x7fff
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x10]
mov edx, dword [edx*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
mov ecx, dword [ecx*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 7
mov dword [esp], eax
mov eax, ebp
and ecx, 0x7fff
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
xor ecx, ecx
mov eax, ebp
call fcn.6fa81c80
jmp case.0x6fa8e04a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81c60
jmp case.0x6fa8e04a.1
lea eax, [ecx + 1]
mov edx, 0xfffffffc
sub edx, eax
mov eax, edx
add eax, ecx
mov byte [ecx], 0xe9
mov dword [ecx + 1], eax
add ecx, 5
mov dword [ebp], ecx
jmp 0x6fa98887
mov ecx, 1
mov eax, ebp
call fcn.6fa81c60
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 6
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x10]
mov edx, dword [edx*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
mov ecx, dword [ecx*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 3
mov dword [esp], eax
mov eax, ebp
and ecx, 0x7fff
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa815d0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x20]
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0x40000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82fd0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov dword [esp + 4], 0x17
mov edx, 0xa
mov eax, ebp
mov dword [esp], 0x17
call fcn.6fa82750
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov esi, 0xfffffffc
lea edx, [eax + 1]
sub esi, edx
add ecx, esi
mov byte [eax], 0xe9
mov dword [eax + 1], ecx
add eax, 5
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
lea eax, [ecx + 1]
mov edx, 0xfffffffc
sub edx, eax
mov eax, edx
add eax, ecx
mov byte [ecx], 0xe9
mov dword [ecx + 1], eax
add ecx, 5
mov dword [ebp], ecx
jmp 0x6fa99520
mov ecx, dword [edi + 0x20]
mov edx, dword [edx*8 + 0x6faaa220]
mov esi, dword [eax*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and edx, 0x7fff
mov dword [esp + 4], 0x40000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov edx, dword [esp + 0x28]
mov eax, ebp
mov dword [esp], esi
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [esp + 0x20]
and ecx, 0x7fff
call fcn.6fa82d00
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x20]
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0x40000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82d00
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 7
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 0xd
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81b00
jmp 0x6fa97600
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 2
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov dword [esp + 4], 0x17
mov edx, 0x2a
mov eax, ebp
mov dword [esp], 0x17
call fcn.6fa82750
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
mov edx, 5
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81b00
jmp 0x6fa9756d
mov dword [esp], eax
mov edx, 6
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81b00
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov esi, 0xfffffffc
lea edx, [eax + 1]
sub esi, edx
add ecx, esi
mov byte [eax], 0xe9
mov dword [eax + 1], ecx
add eax, 5
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
lea eax, [ecx + 1]
mov edx, 0xfffffffc
sub edx, eax
mov eax, edx
add eax, ecx
mov byte [ecx], 0xe9
mov dword [ecx + 1], eax
add ecx, 5
mov dword [ebp], ecx
jmp 0x6fa9927d
xor ecx, ecx
mov eax, ebp
call fcn.6fa81c80
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov esi, 0xfffffffc
lea edx, [eax + 1]
sub esi, edx
add ecx, esi
mov byte [eax], 0xe9
mov dword [eax + 1], ecx
add eax, 5
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov dword [esp], eax
mov edx, 0xe
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81b00
jmp case.0x6fa8e04a.1
mov ecx, dword [ebp]
and eax, 7
and edx, 7
shl eax, 3
or eax, 0xffffffc0
or eax, edx
mov byte [ecx], 0xf
mov byte [ecx + 1], 0xaf
mov byte [ecx + 2], al
add ecx, 3
mov dword [ebp], ecx
jmp case.0x6fa8e04a.1
mov dword [esp + 4], edx
xor ecx, ecx
mov edx, 0x2a
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82750
jmp case.0x6fa8e04a.1
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp]
and ecx, 7
lea edx, [ecx*8]
or edx, 0xffffffc0
or edx, ecx
mov byte [eax], 0x31
mov byte [eax + 1], dl
add eax, 2
mov dword [ebp], eax
jmp 0x6fa984f6
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 3
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x20]
mov edx, dword [edx*8 + 0x6faaa220]
mov esi, dword [eax*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and edx, 0x7fff
mov dword [esp + 4], 0x40000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov edx, dword [esp + 0x28]
mov eax, ebp
mov dword [esp], esi
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [esp + 0x20]
and ecx, 0x7fff
call fcn.6fa82d00
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
lea eax, [ecx + 1]
mov edx, 0xfffffffc
sub edx, eax
mov eax, edx
add eax, ecx
mov byte [ecx], 0xe9
mov dword [ecx + 1], eax
add ecx, 5
mov dword [ebp], ecx
jmp 0x6fa99a2b
mov ecx, dword [edi + 0x10]
mov edx, dword [edx*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
mov ecx, dword [ecx*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 2
mov dword [esp], eax
mov eax, ebp
and ecx, 0x7fff
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [esi*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
and ecx, 0x7fff
mov eax, ebp
and edx, 0x7fff
call fcn.6fa81700
jmp case.0x6fa8e04a.1
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [edi + 0x10]
and eax, 0x7fff
and ecx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 0xa
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
and ecx, 0x7fff
mov eax, ebp
call fcn.6fa813b0
jmp case.0x6fa8e04a.1
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, dword [edi + 0x10]
and eax, 0x7fff
and edx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, 6
and eax, 0x7fff
mov dword [esp], eax
and ecx, 0x7fff
mov eax, ebp
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [edi + 0x10]
and eax, 0x7fff
and ecx, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 0xb
mov ecx, dword [ecx*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
and ecx, 0x7fff
mov eax, ebp
call fcn.6fa813b0
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
mov ecx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov edx, dword [esi*8 + 0x6faaa220]
mov dword [esp], eax
mov eax, ebp
and ecx, 0x7fff
and edx, 0x7fff
mov dword [esp + 4], edx
mov edx, 4
call fcn.6fa813b0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x10]
mov edx, dword [edx*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
mov ecx, dword [ecx*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 7
mov dword [esp], eax
mov eax, ebp
and ecx, 0x7fff
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov ecx, esi
mov eax, dword [ebp]
and edx, 7
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, edx
mov byte [eax], 1
mov byte [eax + 1], cl
add eax, 2
mov dword [ebp], eax
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 6
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x10]
mov edx, dword [edx*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and ecx, 0x7fff
mov ecx, dword [ecx*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 3
mov dword [esp], eax
mov eax, ebp
and ecx, 0x7fff
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edi + 0x10]
and ecx, 0x7fff
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa83140
jmp case.0x6fa8e04a.1
mov edx, dword [edi + 0x10]
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [esi*8 + 0x6faaa220]
and edx, 0x7fff
mov edx, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
and ecx, 0x7fff
mov eax, ebp
and edx, 0x7fff
call fcn.6fa815d0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81da0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81e10
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x20]
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0x40000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82e70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x20]
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0x40000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov ecx, dword [esp + 0x28]
mov edx, esi
mov eax, dword [ecx*8 + 0x6faaa220]
mov ecx, dword [esp + 0x20]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82ba0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov ecx, dword [edi + 0x20]
mov eax, dword [eax*8 + 0x6faaa220]
mov esi, dword [edx*8 + 0x6faaa220]
mov ecx, dword [ecx + 0x10]
and eax, 0x7fff
mov dword [esp + 4], 0x40000000
and esi, 0x7fff
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.6fa88f30
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4b0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, esi
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82d00
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov dword [esp], eax
xor ecx, ecx
mov edx, 0x2a
mov dword [esp + 4], 0x17
mov eax, ebp
call fcn.6fa82750
jmp case.0x6fa8e04a.1
mov eax, dword [edi + 0x10]
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 7
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa812a0
jmp case.0x6fa8e04a.1
mov edx, dword [ebp]
and eax, 7
lea ecx, [eax*8]
or ecx, 0xffffffc0
or eax, ecx
mov byte [edx], 0x31
mov byte [edx + 1], al
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov ecx, dword [esp + 0x28]
and eax, 7
mov edx, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, eax
or eax, 0xffffffd8
mov byte [edx], 0x29
mov byte [edx + 1], cl
mov byte [edx + 2], 0xf7
mov byte [edx + 3], al
add edx, 4
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
call fcn.6fa88f30
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x20], eax
mov eax, dword [ebp]
and edx, 7
lea ecx, [edx*8]
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax + 3], dl
mov edx, dword [esp + 0x20]
mov byte [eax], 0x66
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x76
add eax, 4
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, 0x73
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 4], 1
mov dword [esp], 2
and ecx, 0x7fff
call fcn.6fa81cb0
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp]
mov edx, dword [ecx*8 + 0x6faaa220]
mov ecx, esi
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
and edx, 7
or edx, ecx
mov byte [eax + 3], dl
mov byte [eax], 0x66
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x54
add eax, 4
mov dword [ebp], eax
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81c60
jmp case.0x6fa8e04a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81c60
jmp case.0x6fa8e04a.1
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], edx
call fcn.6fa88f30
mov edx, dword [esp + 0x1c]
mov edx, dword [edx*8 + 0x6faaa220]
mov dword [esp + 0x28], eax
and eax, 0x7fff
mov ecx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x24], eax
mov eax, dword [ebp]
and edx, 7
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax + 3], dl
mov edx, dword [esp + 0x24]
mov byte [eax], 0x66
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x6e
add eax, 4
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, 0x73
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 4], 0x20
mov dword [esp], 6
and ecx, 0x7fff
call fcn.6fa81cb0
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp]
mov edx, dword [ecx*8 + 0x6faaa220]
mov ecx, dword [esp + 0x20]
mov byte [eax], 0x66
mov byte [eax + 1], 0xf
and edx, 7
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax + 3], dl
mov byte [eax + 2], 0x57
add eax, 4
mov dword [ebp], eax
mov eax, dword [esp + 0x28]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp 0x6fa92041
mov ecx, 1
mov eax, ebp
call fcn.6fa81c60
jmp case.0x6fa8e04a.1
mov edx, dword [ebp]
and eax, 7
and esi, 7
shl eax, 3
or eax, 0xffffffc0
or eax, esi
mov byte [edx], 0xf
mov byte [edx + 1], 0xaf
mov byte [edx + 2], al
add edx, 3
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81c60
jmp case.0x6fa8e04a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81c60
jmp case.0x6fa8e04a.1
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
call fcn.6fa88f30
mov dword [esp + 0x24], eax
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov dword [esp + 0x20], eax
mov eax, dword [ebp]
and edx, 7
lea ecx, [edx*8]
or ecx, 0xffffffc0
or edx, ecx
mov byte [eax + 3], dl
mov edx, dword [esp + 0x20]
mov byte [eax], 0x66
mov byte [eax + 1], 0xf
mov byte [eax + 2], 0x76
add eax, 4
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, 0x72
mov dword [ebp], eax
mov eax, ebp
mov dword [esp + 4], 1
mov dword [esp], 2
and ecx, 0x7fff
call fcn.6fa81cb0
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp]
mov edx, dword [ecx*8 + 0x6faaa220]
mov ecx, esi
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
and edx, 7
or edx, ecx
mov byte [eax + 2], dl
mov byte [eax], 0xf
mov byte [eax + 1], 0x54
add eax, 3
mov dword [ebp], eax
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88dc0
jmp case.0x6fa8e04a.1
mov edx, dword [ebp]
and ecx, 7
and eax, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 0x31
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81c60
jmp case.0x6fa8e04a.1
cmp eax, edx
je case.0x6fa8e04a.1
mov edx, dword [ebp]
shl eax, 3
and esi, 7
or eax, 0xffffffc0
or eax, esi
mov byte [edx], 0x89
mov byte [edx + 1], al
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov edx, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81e80
jmp case.0x6fa8e04a.1
mov eax, dword [ebp]
mov ecx, 0xfffffffc
lea edx, [eax + 1]
sub ecx, edx
mov edx, ecx
mov ecx, edi
add edx, eax
mov dword [eax + 1], edx
lea edx, [eax + 5]
mov byte [eax], 0xe9
mov eax, dword [esp + 0x2c]
mov dword [ebp], edx
call fcn.6fa82060
jmp case.0x6fa8e04a.1
mov edx, 4
sub edx, eax
mov eax, ebp
call fcn.6fa81f50
jmp 0x6fa97110
mov ecx, dword [esp + 0x28]
and eax, 7
mov edx, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 9
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov ecx, dword [esp + 0x28]
and eax, 7
mov edx, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 0x31
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
test byte [edi + 8], 8
je 0x6fa94978
jmp 0x6fa9496c
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov edx, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81e80
jmp case.0x6fa8e04a.1
mov ecx, dword [esp + 0x28]
and eax, 7
mov edx, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 0x21
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 3
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa96900
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 7
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 0xb
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81540
jmp case.0x6fa8e04a.1
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 7
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa991d5
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 3
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa96b93
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 4
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa81540
jmp 0x6fa96e57
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 7
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa98449
mov ecx, dword [eax + 0x10]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 7
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 3
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax + 0x10]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 3
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa818a0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax + 0x10]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 2
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax + 0x10]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 2
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 6
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa96701
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 0xa
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa81540
jmp 0x6fa966a4
mov ecx, dword [eax + 0x10]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 6
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, 1
mov edx, esi
mov eax, ebp
call fcn.6fa81c60
jmp 0x6fa98197
mov ecx, dword [eax + 0x10]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 3
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, dword [esp + 0x24]
and eax, 7
mov edx, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 9
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 4
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa81540
jmp 0x6fa98a2e
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 7
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa82d00
jmp case.0x6fa8e04a.1
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 6
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa97921
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 4
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81540
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa818a0
jmp 0x6fa97a8d
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 6
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa97a30
mov ecx, dword [eax + 0x10]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 6
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, 1
mov edx, esi
mov eax, ebp
call fcn.6fa81c60
jmp 0x6fa979d0
mov ecx, 1
mov edx, esi
mov eax, ebp
call fcn.6fa81c60
jmp 0x6fa995cd
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 5
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81540
jmp case.0x6fa8e04a.1
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 2
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa97753
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 5
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa81540
jmp 0x6fa976f6
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 0xa
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81540
jmp case.0x6fa8e04a.1
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 0xa
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa81540
jmp 0x6fa9695d
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 2
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa9679f
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 6
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81830
jmp case.0x6fa8e04a.1
and edx, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], edx
mov edx, 3
call fcn.6fa81b00
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa81830
jmp 0x6fa98831
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 4
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81540
jmp case.0x6fa8e04a.1
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 5
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa81540
jmp 0x6fa97cce
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa82ba0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa82ba0
jmp case.0x6fa8e04a.1
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 0xb
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa81540
jmp 0x6fa96ab4
mov ecx, 1
mov edx, esi
mov eax, ebp
call fcn.6fa81c60
jmp 0x6fa970e8
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 2
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa97c71
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 5
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81540
jmp case.0x6fa8e04a.1
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 7
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa9637e
mov dword [esp], ecx
mov edx, 0x20
mov ecx, eax
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8e04a.1
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 6
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa81830
jmp 0x6fa97b9c
mov ecx, 1
mov edx, esi
mov eax, ebp
call fcn.6fa81c60
jmp 0x6fa994c7
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 2
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax + 0x10]
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 7
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 7
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa9865d
mov ecx, dword [esp + 0x24]
and eax, 7
mov edx, dword [ebp]
and ecx, 7
shl ecx, 3
or ecx, 0xffffffc0
or ecx, eax
mov byte [edx], 0x21
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp], edx
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa82fd0
jmp case.0x6fa8e04a.1
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa818a0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov edx, dword [ebp]
mov eax, ebp
call fcn.6fa818a0
jmp 0x6fa9745f
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa82e70
jmp case.0x6fa8e04a.1
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 3
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 0xb
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81540
jmp case.0x6fa8e04a.1
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 3
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81b00
jmp 0x6fa99177
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa82e70
jmp case.0x6fa8e04a.1
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 2
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa814e0
jmp case.0x6fa8e04a.1
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 3
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa998b7
mov eax, dword [eax*8 + 0x6faaa220]
mov edx, 2
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa9829c
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 3
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa99332
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 6
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa814e0
jmp 0x6fa967fc
mov ecx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and eax, 0x7fff
mov dword [esp + 4], eax
mov eax, dword [edx*8 + 0x6faaa220]
mov edx, 0xa
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81540
jmp case.0x6fa8e04a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa82d00
jmp case.0x6fa8e04a.1
mov edx, dword [esi*8 + 0x6faaa220]
mov eax, dword [eax*8 + 0x6faaa220]
and edx, 0x7fff
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 0xb
mov dword [esp], eax
mov ecx, dword [ebp]
mov eax, ebp
call fcn.6fa81540
jmp 0x6fa97d6c
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, dword [esi*8 + 0x6faaa220]
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
and edx, 0x7fff
mov eax, ebp
call fcn.6fa82fd0
jmp case.0x6fa8e04a.1
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax + 0x10]
mov eax, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and eax, 0x7fff
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81830
jmp case.0x6fa8e04a.1
mov ecx, 1
mov edx, esi
mov eax, ebp
call fcn.6fa81c60
jmp 0x6fa97b3c
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
call fcn.6fa88f30
mov esi, dword [esi*8 + 0x6faaa220]
and esi, 7
mov edx, eax
mov ecx, eax
mov eax, dword [ebp]
and edx, 0x7fff
mov dword [esp + 0x24], edx
mov edx, dword [edx*8 + 0x6faaa220]
mov byte [eax], 0x66
mov byte [eax + 1], 0xf
and edx, 7
shl edx, 3
or edx, 0xffffffc0
or edx, esi
mov byte [eax + 3], dl
mov edx, dword [esp + 0x24]
mov byte [eax + 2], 0x6e
mov esi, dword [edx*8 + 0x6faaa220]
mov edx, dword [esp + 0x20]
mov byte [eax + 4], 0xf
mov byte [eax + 5], 0x57
and esi, 7
and edx, 7
shl edx, 3
or edx, 0xffffffc0
or edx, esi
mov byte [eax + 6], dl
add eax, 7
mov dword [ebp], eax
mov dword [esp + 4], ecx
mov dword [esp], ebp
call fcn.6fa88dc0
jmp 0x6fa92862
mov edx, dword [esp + 0x20]
mov ecx, 0xffffffff
mov eax, ebp
call fcn.6fa81c60
jmp case.0x6fa8e04a.1
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.6fa7fc30
jmp case.0x6fa8e04a.1
bsf eax, eax
mov dword [esp], eax
mov eax, ebp
call fcn.6fa826c0
jmp case.0x6fa8e04a.1
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov byte [edx], 0x6b
mov byte [edx + 2], al
and ecx, 7
shl ecx, 3
and esi, 7
or ecx, 0xffffffc0
or ecx, esi
mov byte [edx + 1], cl
add edx, 3
mov dword [ebp], edx
jmp case.0x6fa8e04a.1