Function at 0x6fa8ddd0
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 0x6fa8e003
mov eax, dword [ebx + 0x2c]
cmp dword [ebp], eax
jae 0x6fa8dff6
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.6fa84210
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
mov ebx, eax
call fcn.6fa851d0
cmp dword [edi + 4], 0x183
jbe 0x6fa8de57
call fcn.6faa4d10
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 0x6fa8dea4
and edx, 2
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x30], edi
jne case.0x6fa8de5a.1
neg ecx
mov dword [eax + 0xc], ecx
test byte [eax + 0x4c], 1
je 0x6fa8deae
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.6fa82460
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x68]
test byte [eax + 0x38], 0x20
jne 0x6fa99b6c
mov eax, dword [edx + 0x68]
test byte [eax + 0x38], 0x10
jne 0x6fa99b4c
mov eax, dword [edx + 0x68]
test byte [eax + 0x38], 8
jne 0x6fa99b2f
xor edx, edx
mov ecx, 4
mov eax, ebp
mov dword [esp], 5
call fcn.6fa822f0
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.6fa82460
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x30], edi
mov eax, dword [eax + 0x68]
test byte [eax + 0x4c], 1
je case.0x6fa8de5a.1
mov dword [esp + 4], 0x20000000
mov dword [esp], ebp
call fcn.6fa88d40
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.6fa81a90
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.6fa822f0
mov eax, dword [esp + 0x30]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
mov dword [esp + 0x30], edi
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], ebp
call fcn.6fa852a0
mov dword [esp + 4], edi
mov dword [esp], ebp
call fcn.6fa84e80
mov edi, dword [edi]
test edi, edi
je 0x6fa8e000
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax + 0x2c]
cmp dword [ebp], edx
jb 0x6fa8de28
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 0x6fa8e040
xor eax, eax
mov edi, dword [ebx + 0x5c]
jmp 0x6fa8e02c
mov esi, dword [edx + 0x10]
mov esi, dword [esi + 0x10]
cmp dword [edx + 4], 0x5c
mov ecx, dword [ecx]
je 0x6fa8e021
sub esi, ecx
mov dword [ecx - 4], esi
add eax, 1
cmp dword [ebx + 0x60], eax
jle 0x6fa8e040
lea ecx, [edi + eax*8]
mov edx, dword [ecx + 4]
cmp dword [edx + 4], 0x5c
jne 0x6fa8e011
mov esi, dword [edx + 0x18]
mov esi, dword [esi + 0x10]
jmp 0x6fa8e017
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 0x6fa99d60
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96838
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a16f
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.6fa8d590
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x18]
ja 0x6fa96801
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.6fa82840
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9953b
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.6fa82560
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9677f
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a144
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.6fa8cc20
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa8e1d3
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9b588
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa978af
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.6fa88d40
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.6fa8c2c0
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96a14
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a099
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.6fa8d0d0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
jbe 0x6fa99c77
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.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa980be
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.6fa88d40
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.6fa8c2c0
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.6fa811c0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa968d6
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a8d8
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.6fa8c770
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8e47a
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9b7fe
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa97575
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.6fa88d40
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.6fa8c2c0
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.6fa81510
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96b18
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a0ef
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.6fa8d330
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x18]
mov ecx, dword [edx + 0x10]
ja 0x6fa969f6
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c2c0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x18]
ja 0x6fa99645
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a4ce
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81d00
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa969b5
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a75a
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.6fa8c9c0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96958
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8e696
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c383
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.6fa80c60
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8e6e7
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9b955
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 0x6fa9be80
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa96e5b
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.6fa88d40
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.6fa8c2c0
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96a96
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a7af
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.6fa8ce70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8e854
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9b90f
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9826b
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.6fa88d40
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.6fa8c2c0
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.6fa82f50
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96cba
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.6fa82890
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8e9b3
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9b99c
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9760d
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9aa81
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.6fa8d460
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96879
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8ea75
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c24e
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.6fa80ff0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96b59
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov ecx, dword [edi + 0x18]
and edx, 0x7fff
call fcn.6fa82670
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa99497
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.6fa826c0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa967c0
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a5b2
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.6fa8caf0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8eb70
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9b8c9
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 0x6fa9bf6f
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa97743
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.6fa88d40
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.6fa8c2c0
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.6fa811c0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96a55
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a883
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.6fa8cfa0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8ecdd
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9b883
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa98166
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.6fa88d40
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.6fa8c2c0
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.6fa811c0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96917
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a903
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.6fa8c640
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8ee41
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9b845
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.6fa80910
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa96d0b
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.6fa88d40
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.6fa8c2c0
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96b9a
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a0c4
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.6fa8d200
jmp case.0x6fa8de5a.1
mov esi, dword [edi + 0x10]
lea eax, [esi - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
jbe 0x6fa99ce3
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.0x6fa8de5a.1
mov esi, dword [edi + 0x10]
lea eax, [esi - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
jbe 0x6fa99d35
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96bdb
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a631
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.6fa8c8a0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa8f07e
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9ba07
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 0x6fa9bfa6
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa96db3
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.6fa88d40
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.6fa8c2c0
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96ad7
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a804
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.6fa8cd40
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8f1ec
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9ba93
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 0x6fa99bb2
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa989e2
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.6fa88d40
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.6fa8c2c0
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96c79
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [edi + 0x10]
mov esi, eax
and esi, 0x7fff
je 0x6fa9b5cd
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.6fa82560
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.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8f384
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9ba4c
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9764e
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.6fa88d40
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.6fa8c2c0
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.6fa813e0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96722
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f4ac
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c7d5
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.6fa81050
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9959d
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.6fa88d40
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.6fa8c2c0
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97852
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f5b9
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c3e9
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.6fa80d20
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa977f5
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f617
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c6e1
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.6fa80ed0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96c1c
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f675
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c650
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.6fa80e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa976e6
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f6d3
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cade
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.6fa80e10
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97518
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f731
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cd87
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.6fa80db0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa974bb
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f78f
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c73a
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.6fa80f90
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98061
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f7ed
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c414
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.6fa80f30
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa966c5
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f84b
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c3b6
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.6fa80bb0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98f9a
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f8a9
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c350
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.6fa80b50
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97961
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f907
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cf59
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.6fa80c10
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9820e
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa8f965
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c21b
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.6fa80cc0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9831b
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 0x6fa9b6c8
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.6fa82560
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.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96417
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 0x6fa9bd0d
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.6fa82560
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.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8facf
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9bad0
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.6fa80820
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa97e65
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.6fa88d40
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.6fa8c2c0
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97cb8
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.6fa81910
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa8fc1f
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9b0a5
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 0x6fa99bd5
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.6fa7fe70
jmp case.0x6fa8de5a.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 0x6fa99aa1
mov dword [esp], eax
mov edx, 9
mov eax, ebp
call fcn.6fa8a8a0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa985b5
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9aa56
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.6fa8b780
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99c32
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa8fdfb
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c5e7
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.6fa8abc0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa8fe5b
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b0e2
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.6fa88d40
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.6fa7ffd0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99c3d
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa8ff20
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c97d
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.6fa7ffd0
jmp case.0x6fa8de5a.1
mov edx, dword [ebp + 0x1c]
test byte [edx + 0xc], 0x10
je 0x6fa96f0d
mov esi, dword [esp + 0x30]
mov eax, dword [esi]
cmp eax, edi
je 0x6fa8ff9b
lea esi, [esi]
mov ecx, dword [eax + 4]
cmp ecx, 0xcd
je 0x6fa8ff90
cmp ecx, 7
jne 0x6fa8ff95
and word [eax + 8], 0xfffd
mov eax, dword [eax]
cmp eax, edi
jne 0x6fa8ff80
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 0x6fa8de7c
test byte [edi + 8], 1
mov ecx, dword [edi + 0x10]
je 0x6fa98511
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.0x6fa8de5a.1
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.0x6fa8de5a.1
test byte [edi + 8], 1
je 0x6fa9665f
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9c101
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.0x6fa8de5a.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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa994e9
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.6fa81880
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97d40
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.6fa7fe20
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa81a90
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.6fa89540
mov eax, dword [esp + 0x28]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99c48
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa9021e
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c9b2
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.6fa80a30
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 8]
cmp edx, 7
jbe 0x6fa99ca5
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98533
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a328
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.6fa8bfd0
jmp case.0x6fa8de5a.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.6fa822f0
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa90396
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9b295
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa97423
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.6fa88d40
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.6fa8ad80
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.6fa813e0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa904af
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9b2dc
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.6fa800f0
jmp case.0x6fa8de5a.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.6fa81970
jmp case.0x6fa8de5a.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.6fa8a440
jmp case.0x6fa8de5a.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.6fa824d0
jmp case.0x6fa8de5a.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.6fa8a440
jmp case.0x6fa8de5a.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 0x6fa960b3
cmp ecx, edx
je case.0x6fa8de5a.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.0x6fa8de5a.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 0x6fa9ae92
cmp edx, dword [esp + 0x24]
je 0x6fa9c081
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x20], esi
je 0x6fa9c167
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.0x6fa8de5a.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 0x6fa98e28
cmp ecx, edx
je case.0x6fa8de5a.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.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa98891
mov eax, dword [eax*8 + 0x6faaa220]
mov ecx, dword [edi + 0x10]
mov esi, eax
and esi, 0x7fff
je 0x6fa9b3aa
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.6fa82560
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.0x6fa8de5a.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 0x6fa90847
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.0x6fa8de5a.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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa960f4
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.6fa81880
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97194
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.6fa7fce0
jmp case.0x6fa8de5a.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 0x6fa99dc2
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.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa909de
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b319
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.6fa88d40
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.6fa8c4e0
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.6fa8c1e0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa9895d
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 0x6fa9b605
mov dword [esp], eax
mov edx, 6
mov eax, ebp
call fcn.6fa7faf0
jmp case.0x6fa8de5a.1
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x20]
test byte [ecx + 8], 2
je 0x6fa992ec
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 0x6fa9ab3f
mov dword [esp + 4], edx
mov edx, 6
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fa90
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa90b30
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9b250
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 0x6fa9bfb7
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa97fbc
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.6fa88d40
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.6fa8ad80
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa8aa30
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa979f5
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a013
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.6fa8b2e0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa985f6
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa90cec
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c8a2
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.6fa80390
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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 0x6fa999c8
mov dword [esp], eax
mov edx, 5
mov eax, ebp
call fcn.6fa8a8a0
jmp case.0x6fa8de5a.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 0x6fa9b65c
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 5
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a700
jmp case.0x6fa8de5a.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 0x6fa99884
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.0x6fa8de5a.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.6fa8aa30
jmp case.0x6fa8de5a.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.0x6fa8de5a.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.0x6fa8de5a.1
test byte [edi + 8], 1
je 0x6fa99c53
mov eax, dword [edi + 0x18]
mov edx, dword [eax + 4]
test edx, edx
je 0x6fa913e2
cmp edx, 7
jne 0x6fa9984e
test byte [eax + 8], 2
je 0x6fa9984e
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.6fa81a90
jmp case.0x6fa8de5a.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.0x6fa8de5a.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.0x6fa8de5a.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 0x6fa99926
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.0x6fa8de5a.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 0x6fa9990e
mov dword [esp], eax
mov edx, 5
mov eax, ebp
call fcn.6fa8a8a0
jmp case.0x6fa8de5a.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 0x6fa999b0
mov dword [esp], eax
mov edx, 3
mov eax, ebp
call fcn.6fa8a8a0
jmp case.0x6fa8de5a.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 0x6fa9b076
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 7
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a700
jmp case.0x6fa8de5a.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 0x6fa9b085
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 0xf
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a700
jmp case.0x6fa8de5a.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 0x6fa9aaac
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 3
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a700
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98ff7
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.6fa81880
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97dcc
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.6fa7fd80
jmp case.0x6fa8de5a.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.6fa89430
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96684
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a587
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.6fa8bc40
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96564
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa91814
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c447
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.6fa806a0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96523
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a705
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.6fa8bb10
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa964c6
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa918b3
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c4e1
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.6fa80640
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98850
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a9ac
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.6fa8b9e0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa987f3
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa91952
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c916
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.6fa805e0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9661e
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a6b0
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.6fa8b8b0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa965c1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa919f1
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c86f
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa988d2
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a478
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.6fa8bea0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97b31
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa91a90
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cd02
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.6fa80760
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97af0
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a9d7
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.6fa8bd70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97a93
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa91b2f
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9ca62
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.6fa80700
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96469
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa91b8d
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9ce88
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.6fa807c0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa91bde
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9bd2b
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov esi, dword [edi + 0x10]
lea eax, [esi - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa91c51
lea edx, [eax - 0x10]
cmp edx, 6
jbe 0x6fa9c0db
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.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa91cae
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9bb0e
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 0x6fa9bdc3
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.6fa81ac0
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.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa91d66
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9bb34
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.6fa88d40
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 0x6fa9bea2
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.6fa81ac0
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.6fa88bd0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa91e7c
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b74e
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.6fa88d40
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.6fa8c4e0
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.6fa8c100
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa91f32
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9b709
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa97b8e
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.6fa88d40
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.6fa8c2c0
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa92054
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9bb5a
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.6fa88d40
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.6fa8c4e0
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.6fa80ac0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99cd8
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa92119
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cebb
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.6fa8c100
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa92179
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9bbeb
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.6fa88d40
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.6fa8c4e0
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.6fa80a30
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa9222f
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9bc7c
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.6fa88d40
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.6fa8c4e0
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.6fa8c100
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99db7
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa922f4
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cf24
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.6fa8c1e0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99e51
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa92363
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cd52
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.6fa80ac0
jmp case.0x6fa8de5a.1
mov esi, dword [edi + 0x10]
lea eax, [esi - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
jbe 0x6fa99df4
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.0x6fa8de5a.1
mov esi, dword [edi + 0x10]
lea eax, [esi - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
jbe 0x6fa99f44
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.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
jbe 0x6fa99e5c
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.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa973df
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 0x6fa9b05e
mov dword [esp], eax
mov edx, 9
mov eax, ebp
call fcn.6fa7faf0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa92504
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9afcb
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 0x6fa9bfc8
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.6fa81ac0
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.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa925b8
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9aff1
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.6fa88d40
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 0x6fa9cf97
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.6fa88bd0
jmp case.0x6fa8de5a.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 0x6fa99a1e
mov eax, dword [esp + 0x20]
mov edx, esi
and edx, 0x7fff
and eax, 0x7fff
cmp ecx, 0xffffffff
je 0x6fa9c0b4
cmp eax, edx
je 0x6fa9cac8
mov eax, ebp
and esi, 7
call fcn.6fa81a90
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97c77
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a3d1
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.6fa8b530
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97c36
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a1ee
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.6fa8b400
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa990f7
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa927ac
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cccf
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.6fa803e0
jmp case.0x6fa8de5a.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 0x6fa99b00
mov dword [esp + 4], 0x24000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
call fcn.6fa88d40
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 0x6fa9286e
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.6fa82080
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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 0x6fa99ad1
mov dword [esp + 4], 0x24000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
call fcn.6fa88d40
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 0x6fa9295a
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.6fa82080
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82330
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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 0x6fa99a70
mov dword [esp + 4], 0x24000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
call fcn.6fa88d40
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 0x6fa92ceb
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.6fa82080
mov eax, dword [esp + 0x20]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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 0x6fa99a41
mov dword [esp + 4], 0x24000000
mov dword [esp], ebp
mov dword [esp + 0x1c], ecx
call fcn.6fa88d40
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 0x6fa92dbf
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.6fa82080
mov eax, dword [esp + 0x20]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa996d9
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 0x6fa9adf4
mov dword [esp], eax
mov edx, 2
mov eax, ebp
call fcn.6fa7faf0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96288
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.6fa7fa90
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98913
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.6fa81840
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.0x6fa8de5a.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 0x6fa9b9e3
cmp dword [esp + 0x20], eax
je 0x6fa99b8c
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.6fa823b0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa98574
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov ecx, dword [edi + 0x18]
and edx, 0x7fff
call fcn.6fa827f0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9874f
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.6fa82560
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.0x6fa8de5a.1
mov ecx, dword [edi + 0x10]
test byte [ecx + 8], 2
je 0x6fa98f50
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 0x6fa9c8cd
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.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa930b8
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9aabd
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 0x6fa9c0a3
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa97f0d
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.6fa88d40
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.6fa8ad80
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.6fa811c0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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 0x6fa99a06
mov dword [esp], eax
mov edx, 4
mov eax, ebp
call fcn.6fa8a8a0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa989a1
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a4a3
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.6fa8b080
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa98ecb
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 0x6fa9b68a
mov dword [esp], eax
mov edx, 0xe
mov eax, ebp
call fcn.6fa7faf0
jmp case.0x6fa8de5a.1
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x20]
test byte [ecx + 8], 2
je 0x6fa990a0
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 0x6fa9b61d
mov dword [esp + 4], edx
mov edx, 0xe
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fa90
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98bc1
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.6fa81880
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97cf8
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.6fa7fdd0
jmp case.0x6fa8de5a.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.6fa89f30
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa933f0
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9aecd
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa98c13
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.6fa88d40
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.6fa8ad80
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.6fa811c0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa93510
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9abf1
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa997b3
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 0x6fa9ae0c
mov dword [esp], eax
mov edx, 4
mov eax, ebp
call fcn.6fa7faf0
jmp case.0x6fa8de5a.1
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x20]
test byte [ecx + 8], 2
je 0x6fa98653
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 0x6fa9b3ca
mov dword [esp + 4], edx
mov edx, 4
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fa90
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa9361d
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9abac
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9837d
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.6fa88d40
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.6fa8ad80
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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 0x6fa99d0e
cmp edx, dword [esp + 0x20]
je 0x6fa9c141
cmp ecx, dword [esp + 0x20]
je 0x6fa9c55a
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98f0f
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a26d
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.6fa8b660
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97a36
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9382c
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cb4f
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.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa9971d
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 0x6fa9ad94
mov dword [esp], eax
mov edx, 8
mov eax, ebp
call fcn.6fa7faf0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97002
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.6fa7fa90
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9709b
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.6fa81880
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.0x6fa8de5a.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 0x6fa9ab5f
cmp dword [esp + 0x28], edx
je 0x6fa939c3
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97e14
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.6fa827a0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa98e69
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.6fa82560
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.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa99761
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 0x6fa9ae24
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.6fa82560
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa99154
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.6fa7fa90
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa93b85
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9acc8
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.6fa801e0
jmp case.0x6fa8de5a.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.6fa7fa40
jmp case.0x6fa8de5a.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.6fa81a10
jmp case.0x6fa8de5a.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.6fa81970
jmp case.0x6fa8de5a.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.6fa8a440
jmp case.0x6fa8de5a.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 0x6fa999ee
mov dword [esp], eax
mov edx, 8
mov eax, ebp
call fcn.6fa8a8a0
jmp case.0x6fa8de5a.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 0x6fa9b095
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 0xc
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a700
jmp case.0x6fa8de5a.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 0x6fa9b201
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 2
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a700
jmp case.0x6fa8de5a.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 0x6fa99ab9
mov dword [esp], eax
mov edx, 4
mov eax, ebp
call fcn.6fa8a8a0
jmp case.0x6fa8de5a.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.6fa8aa30
jmp case.0x6fa8de5a.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 0x6fa9b20f
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 0xd
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a700
jmp case.0x6fa8de5a.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 0x6fa9adc4
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 4
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a700
jmp case.0x6fa8de5a.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 0x6fa9ab9b
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 6
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a700
jmp case.0x6fa8de5a.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 0x6fa9b23f
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, 0xe
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8a700
jmp case.0x6fa8de5a.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.6fa89f30
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa984d0
mov edx, dword [edi + 0x18]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a2fd
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.6fa8b1b0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa9967c
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa940a2
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c527
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.6fa80330
jmp case.0x6fa8de5a.1
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x20]
test byte [ecx + 8], 2
je 0x6fa997f7
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 0x6fa9ae5a
mov dword [esp + 4], edx
mov edx, 0xd
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fa90
jmp case.0x6fa8de5a.1
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x20]
test byte [ecx + 8], 2
je 0x6fa99049
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 0x6fa9b66a
mov dword [esp + 4], edx
mov edx, 3
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fa90
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa987a1
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.6fa81880
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98b2f
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.6fa7fd30
jmp case.0x6fa8de5a.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.6fa82460
mov ecx, esi
mov edx, esi
mov eax, ebp
call fcn.6fa81a10
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa98cb8
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.6fa88d40
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.6fa8ad80
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.6fa811c0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa98d5d
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.6fa88d40
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.6fa8ad80
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.6fa82f50
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x18]
mov ecx, dword [edx + 0x10]
ja 0x6fa98e0a
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8ad80
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x18]
ja 0x6fa979be
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa9a298
mov ecx, dword [edx*8 + 0x6faaa220]
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81d00
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98422
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa94461
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9c5b4
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.6fa80440
jmp case.0x6fa8de5a.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.6fa89f30
jmp case.0x6fa8de5a.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.6fa89a70
jmp case.0x6fa8de5a.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 0x6fa99bf8
cmp edx, dword [esp + 0x20]
je 0x6fa9c1c2
cmp ecx, dword [esp + 0x20]
je 0x6fa9cbe9
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.0x6fa8de5a.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.6fa88d40
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.6fa81a90
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.6fa89540
mov eax, dword [esp + 0x28]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa89a70
jmp case.0x6fa8de5a.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.6fa89540
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x28]
test eax, eax
je 0x6fa9c18d
mov eax, dword [ebp]
and eax, 3
jne 0x6fa99c1f
or word [edi + 8], 2
mov eax, dword [ebp]
mov dword [edi + 0x10], eax
jmp case.0x6fa8de5a.1
mov eax, dword [ebp]
mov dword [edi + 0x10], eax
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 1]
and eax, dword [ebp]
je case.0x6fa8de5a.1
sub edx, eax
mov eax, ebp
call fcn.6fa81d60
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa947da
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9af13
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.6fa88d40
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.6fa80060
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa986aa
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.6fa88d40
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.6fa8ad80
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa9493f
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9b52b
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa949af
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9ac37
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.6fa88d40
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.6fa8aca0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov esi, dword [edi + 0x10]
lea eax, [esi - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa94a65
lea edx, [eax - 0x10]
cmp edx, 6
jbe 0x6fa9c19c
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.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa94ac2
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b409
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.6fa88d40
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.6fa8abc0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99f39
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa94b87
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cc0f
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.6fa8aca0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa99f2e
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [eax - 0x10]
cmp ecx, 6
ja 0x6fa94bf6
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cc9a
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.6fa80060
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
lea eax, [edx - 0x10]
cmp eax, 6
mov eax, dword [edi + 0x18]
ja 0x6fa94c56
lea ecx, [eax - 0x10]
cmp ecx, 6
jbe 0x6fa9b49a
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.6fa88d40
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.6fa8abc0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea eax, [edx - 0x10]
cmp eax, 6
ja 0x6fa94d0c
lea eax, [esi - 0x10]
cmp eax, 6
jbe 0x6fa9ad05
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa99343
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.6fa88d40
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.6fa8ad80
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa98a8a
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.6fa88d40
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.6fa8ad80
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa89f30
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9847f
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.6fa82710
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97132
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 0x6fa9ad4a
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.6fa82560
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.0x6fa8de5a.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 0x6fa9bd70
cmp ecx, dword [esp + 0x24]
je 0x6fa9bd93
cmp edx, dword [esp + 0x24]
je 0x6fa95072
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.0x6fa8de5a.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 0x6fa950e9
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.6fa81880
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa9734c
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 0x6fa9ad64
mov dword [esp], eax
mov edx, 5
mov eax, ebp
call fcn.6fa7faf0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa961ef
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.6fa7fa90
jmp case.0x6fa8de5a.1
mov edx, dword [edi + 0x10]
test byte [edx + 8], 2
je 0x6fa97d88
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 0x6fa9ab03
mov dword [esp], eax
mov edx, 5
mov eax, ebp
call fcn.6fa7faf0
jmp case.0x6fa8de5a.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.0x6fa97281
test eax, eax
jle 0x6fa9522f
lea esi, [eax - 1]
test esi, eax
je 0x6fa9d046
movsx edx, al
cmp eax, edx
mov edx, dword [ebp]
je 0x6fa9d058
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.0x6fa8de5a.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 0x6fa9b6a2
cmp dword [esp + 0x24], ecx
je 0x6fa9bf80
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97224
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa95331
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cc44
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.6fa804a0
jmp case.0x6fa8de5a.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.6fa82080
mov ecx, esi
mov edx, esi
mov dword [esp], 4
mov eax, ebp
call fcn.6fa823f0
jmp case.0x6fa8de5a.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.6fa823f0
jmp case.0x6fa8de5a.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 0x6fa999e0
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.6fa82920
mov dword [esp], 8
mov ecx, esi
mov edx, esi
mov eax, ebp
call fcn.6fa823f0
jmp case.0x6fa8de5a.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 0x6fa9ab1b
cmp dword [esp + 0x28], edx
je 0x6fa954f7
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.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa95537
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9b173
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa991a5
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.6fa88d40
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.6fa8ad80
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.6fa81510
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa95650
mov edx, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
jbe 0x6fa9b1ba
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.6fa7fe70
jmp case.0x6fa8de5a.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.6fa89430
jmp case.0x6fa8de5a.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.6fa89130
jmp case.0x6fa8de5a.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.6fa89a70
jmp case.0x6fa8de5a.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.6fa89540
jmp case.0x6fa8de5a.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.6fa89a70
jmp case.0x6fa8de5a.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 0x6fa99e1f
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.0x6fa8de5a.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 0x6fa95957
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.6fa81880
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96143
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea ecx, [edx - 0x10]
cmp ecx, 6
ja 0x6fa95996
lea ecx, [esi - 0x10]
cmp ecx, 6
jbe 0x6fa9cb82
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.6fa802d0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa961a0
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.6fa81880
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa971dc
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.6fa7fc90
jmp case.0x6fa8de5a.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.6fa82460
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa95abd
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9b017
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 0x6fa9be91
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.6fa7fe70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa993f2
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.6fa88d40
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.6fa8ad80
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9923d
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.6fa88d40
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.6fa8ad80
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
mov edx, dword [edi + 0x20]
mov ecx, dword [edx + 0x10]
ja 0x6fa9632a
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.6fa88d40
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.6fa8ad80
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.6fa810b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa98b77
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.6fa81840
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.0x6fa8de5a.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.6fa89130
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97390
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.6fa81880
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.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa97053
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.6fa7fbf0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa96240
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.6fa7fc40
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa962d9
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.6fa7fa90
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa963cf
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.6fa7fba0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x10]
test byte [eax + 8], 2
je 0x6fa970ea
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.6fa7fb50
jmp case.0x6fa8de5a.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 0x6fa95ff9
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.6fa81880
jmp case.0x6fa8de5a.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 0x6fa9605f
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.6fa81880
jmp case.0x6fa8de5a.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.6fa823f0
jmp case.0x6fa8de5a.1
cmp eax, 0xffffffff
je 0x6fa9d036
cmp ecx, dword [esp + 0x20]
je 0x6fa960dc
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.6fa81880
jmp case.0x6fa8de5a.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.6fa81880
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.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9615d
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9ca95
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.6fa802d0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa81880
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.6fa81e70
jmp case.0x6fa8de5a.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.6fa7fa90
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa7fc40
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa7fa90
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa7fa90
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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 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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa7fba0
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96483
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c4ad
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.6fa807c0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa964e0
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c47a
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.6fa80640
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a6db
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.6fa8bb10
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9657e
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c83c
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.6fa806a0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa965db
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9ce54
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.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a55d
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.6fa8b8b0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a859
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.6fa8bc40
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa966df
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c1e8
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.6fa80bb0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9673c
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c808
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.6fa81050
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a5dd
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.6fa8cc20
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a730
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.6fa8caf0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa82980
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a19a
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.6fa8d590
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96893
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c9e7
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.6fa80ff0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a92e
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.6fa8c770
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a607
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.6fa8c640
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96972
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c2b4
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.6fa80c60
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a785
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.6fa8c9c0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8c4e0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a8ae
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.6fa8d0d0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a7da
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.6fa8cfa0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a82f
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.6fa8ce70
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a11a
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.6fa8cd40
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a1c4
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.6fa8d330
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a65c
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.6fa8d200
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a06f
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.6fa8c8a0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa96c36
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c2e8
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.6fa80e70
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
mov edx, dword [esp + 0x28]
mov eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp dword [esp + 0x20], eax
je 0x6fa9ca1b
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x28]
test eax, eax
je 0x6fa96f20
mov eax, dword [ebp]
and eax, 3
jne 0x6fa9c12e
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 0x6fa96ff6
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 0x6fa96f72
mov edx, 7
mov ecx, 4
mov dword [esp], 0xc
mov eax, ebp
call fcn.6fa82330
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x68]
test byte [eax + 0x38], 0x10
je 0x6fa96f96
mov edx, 6
mov ecx, 4
mov dword [esp], 8
mov eax, ebp
call fcn.6fa82330
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x68]
test byte [eax + 0x38], 8
je 0x6fa96fb7
mov dword [esp], 4
mov ecx, 4
mov edx, 3
mov eax, ebp
call fcn.6fa82330
mov ecx, 4
mov edx, 5
mov eax, ebp
mov dword [esp], 0
call fcn.6fa82330
mov edx, 4
mov eax, ebp
mov dword [esp], 0x10
mov ecx, 4
call fcn.6fa823f0
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.0x6fa8de5a.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.6fa7fa90
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa7fbf0
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa81880
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.6fa81e70
jmp case.0x6fa8de5a.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.6fa7fb50
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.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.6fa7fce0
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa7fc90
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9723e
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cc6f
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.6fa804a0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa823b0
jmp case.0x6fa8de5a.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.6fa823b0
jmp case.0x6fa8de5a.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.6fa823b0
jmp case.0x6fa8de5a.1
cmp ecx, edx
je case.0x6fa8de5a.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.0x6fa8de5a.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.0x6fa8de5a.1
mov eax, ebp
call fcn.6fa81a10
jmp case.0x6fa8de5a.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 0x6fa9b5ed
mov dword [esp], eax
mov edx, 5
mov eax, ebp
call fcn.6fa7faf0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa81880
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.6fa81e70
jmp case.0x6fa8de5a.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 0x6fa9b570
mov dword [esp], eax
mov edx, 9
mov eax, ebp
call fcn.6fa7faf0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa800f0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa974d5
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c7a1
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.6fa80f90
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97532
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c76d
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.6fa80db0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
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.6fa80910
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a3a7
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.6fa8d460
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
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.6fa80820
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97700
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c61c
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.6fa80e10
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
mov edx, dword [esp + 0x28]
mov eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp dword [esp + 0x20], eax
je 0x6fa9c714
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9780f
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c6ae
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.6fa80ed0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9786c
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c683
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.6fa80d20
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
mov edx, dword [esp + 0x28]
mov eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp dword [esp + 0x20], eax
je 0x6fa9cf84
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9797b
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cb11
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.6fa80c10
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
lea ecx, [edx - 8]
cmp ecx, 7
ja 0x6fa9a03e
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.6fa7ffa0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a243
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.6fa8b2e0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97a50
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9ca2e
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.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97aad
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c949
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.6fa80700
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a37d
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.6fa8bd70
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa97b4b
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cef0
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.6fa80760
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a3fc
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.6fa8b400
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9aa02
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.6fa8b530
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa81910
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa7fdd0
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa7fe20
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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 0x6fa9aeb5
mov dword [esp], eax
mov edx, 5
mov eax, ebp
call fcn.6fa7faf0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa7fd80
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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 eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp dword [esp + 0x20], eax
je 0x6fa9c514
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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 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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9807b
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cded
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.6fa80f30
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa98228
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c31c
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.6fa80cc0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
mov edx, dword [esp + 0x28]
mov eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp esi, eax
je 0x6fa9b6e2
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.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.6fa88d40
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 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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9843c
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cbb5
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.6fa80440
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a533
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.6fa8b1b0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a353
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.6fa8bfd0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a958
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.6fa8b780
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa98610
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c8eb
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.6fa80390
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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 0x6fa9b220
mov dword [esp + 4], edx
mov edx, 4
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fa90
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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 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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.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.6fa81880
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.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9880d
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c580
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.6fa805e0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a982
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.6fa8b9e0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a219
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.6fa8bea0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa81840
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.6fa81e70
jmp case.0x6fa8de5a.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 0x6fa9ad7c
mov dword [esp], eax
mov edx, 6
mov eax, ebp
call fcn.6fa7faf0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9a686
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.6fa8b080
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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 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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa7fd30
mov ecx, edi
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa81840
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.6fa81e70
jmp case.0x6fa8de5a.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.6fa81880
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.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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 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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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 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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp esi, eax
je 0x6fa9afa4
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
and eax, 0x7fff
mov edx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
and edx, 0x7fff
call fcn.6fa8af70
jmp case.0x6fa8de5a.1
cmp eax, 0xffffffff
je 0x6fa9d021
cmp ecx, dword [esp + 0x20]
je 0x6fa98e51
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.6fa81880
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.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 0x6fa9ab83
mov dword [esp], eax
mov edx, 0xe
mov eax, ebp
call fcn.6fa7faf0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa9aa2c
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.6fa8b660
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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 0x6fa9cd35
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.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa98fb4
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9c281
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.6fa80b50
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa81880
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.6fa81e70
jmp case.0x6fa8de5a.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 0x6fa9b63d
mov dword [esp + 4], edx
mov edx, 3
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fa90
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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 0x6fa9add5
mov dword [esp + 4], edx
mov edx, 0xe
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fa90
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa99111
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9ce20
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.6fa803e0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa7fa90
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa801e0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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 eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp dword [esp + 0x20], eax
je 0x6fa9cb3c
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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 0x6fa9b3ea
mov dword [esp + 4], edx
mov edx, 6
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fa90
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa88d40
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 eax, dword [edx*8 + 0x6faaa220]
and eax, 0x7fff
cmp dword [esp + 0x20], eax
je 0x6fa9c727
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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 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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.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.6fa81880
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.6fa81e70
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c4e0
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.6fa7fe70
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
lea ecx, [edx - 8]
cmp ecx, 7
ja 0x6fa9a426
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.6fa80a00
jmp case.0x6fa8de5a.1
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
lea edx, [eax - 0x10]
cmp edx, 6
ja 0x6fa99696
lea edx, [esi - 0x10]
cmp edx, 6
jbe 0x6fa9cdba
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.6fa80330
mov edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, edi
call fcn.6fa81e70
jmp case.0x6fa8de5a.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 0x6fa9adac
mov dword [esp], eax
mov edx, 2
mov eax, ebp
call fcn.6fa7faf0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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 0x6fa9ae42
mov dword [esp], eax
mov edx, 8
mov eax, ebp
call fcn.6fa7faf0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa82920
jmp case.0x6fa8de5a.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 0x6fa9ae7a
mov dword [esp], eax
mov edx, 4
mov eax, ebp
call fcn.6fa7faf0
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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 0x6fa9b7df
mov dword [esp + 4], edx
mov edx, 0xd
mov dword [esp], eax
mov eax, ebp
call fcn.6fa7fa90
mov edx, dword [ebp]
mov ecx, edi
mov eax, dword [esp + 0x2c]
call fcn.6fa81e70
jmp case.0x6fa8de5a.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.6fa81e70
jmp case.0x6fa8de5a.1
mov dword [esp + 4], 0x24000000
mov dword [esp], ebp
call fcn.6fa88d40
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 0x6fa998d4
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.6fa88bd0
jmp case.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 7
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8aa30
jmp case.0x6fa8de5a.1
mov dword [esp + 4], 0x24000000
mov dword [esp], ebp
call fcn.6fa88d40
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 0x6fa99976
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.6fa88bd0
jmp case.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 3
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8aa30
jmp case.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 5
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8aa30
jmp case.0x6fa8de5a.1
mov ecx, esi
mov eax, ebp
call fcn.6fa826c0
jmp 0x6fa95463
mov dword [esp + 4], edx
mov edx, 0xc
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8aa30
jmp case.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 6
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8aa30
jmp case.0x6fa8de5a.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.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 0xd
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8aa30
jmp case.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 4
mov dword [esp], eax
mov eax, ebp
call fcn.6fa8aa30
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.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.6fa82080
jmp case.0x6fa8de5a.1
mov dword [esp], 3
mov ecx, 4
mov edx, 4
mov eax, ebp
call fcn.6fa822f0
jmp 0x6fa8df02
mov edx, 8
mov ecx, 4
mov dword [esp], 6
mov eax, ebp
call fcn.6fa822f0
mov edx, dword [ebp + 0x1c]
jmp 0x6fa8def5
mov edx, 0xc
mov ecx, 4
mov dword [esp], 7
mov eax, ebp
call fcn.6fa822f0
mov edx, dword [ebp + 0x1c]
jmp 0x6fa8dee8
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.0x6fa8de5a.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.0x6fa8de5a.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.0x6fa8de5a.1
cmp ecx, esi
je case.0x6fa8de5a.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.0x6fa8de5a.1
mov edx, 4
sub edx, eax
mov eax, ebp
call fcn.6fa81d60
jmp 0x6fa94788
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa8fdfb
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa8ff20
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa9021e
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.6fa81a90
jmp case.0x6fa8de5a.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.6fa825b0
jmp case.0x6fa8de5a.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.6fa82f90
jmp case.0x6fa8de5a.1
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa92119
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.6fa81d00
jmp case.0x6fa8de5a.1
cmp ecx, esi
je case.0x6fa8de5a.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.0x6fa8de5a.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.6fa82610
jmp case.0x6fa8de5a.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.6fa82890
mov ecx, 5
mov eax, ebp
mov dword [esp], 0xfffffff4
and esi, 0x7fff
mov edx, esi
call fcn.6fa82980
jmp case.0x6fa8de5a.1
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa922f4
mov eax, ecx
and eax, 0x7fff
cmp eax, edx
je 0x6fa99e8a
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 0x6fa9099c
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.6fa81d00
jmp case.0x6fa8de5a.1
mov eax, ecx
and eax, 0x7fff
cmp eax, edx
je 0x6fa99f6f
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 0x6fa958de
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa92363
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.6fa825b0
jmp case.0x6fa8de5a.1
mov dword [esp + 4], 0x20000000
mov dword [esp], ebp
mov dword [esp + 0x1c], edx
call fcn.6fa88d40
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 0x6fa99edb
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.6fa88bd0
jmp case.0x6fa8de5a.1
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa94bf6
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
jmp 0x6fa94b87
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.6fa82610
jmp case.0x6fa8de5a.1
mov dword [esp + 4], 0x20000000
mov dword [esp], ebp
mov dword [esp + 0x1c], edx
call fcn.6fa88d40
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 0x6fa99fc0
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.6fa88bd0
jmp case.0x6fa8de5a.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.6fa8b370
jmp case.0x6fa8de5a.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.6fa82f90
jmp case.0x6fa8de5a.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.6fa8c930
jmp 0x6fa96c0a
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.6fa8d170
jmp case.0x6fa8de5a.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.6fa8d2a0
jmp case.0x6fa8de5a.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.6fa8d3d0
jmp case.0x6fa8de5a.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.6fa8cde0
jmp 0x6fa96b06
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.6fa8ccb0
jmp case.0x6fa8de5a.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.6fa8d630
jmp case.0x6fa8de5a.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.6fa8d630
jmp 0x6fa96867
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.6fa8d3d0
jmp 0x6fa96b47
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.6fa8b4a0
jmp case.0x6fa8de5a.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.6fa8bf40
jmp 0x6fa98901
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.6fa8b370
jmp 0x6fa97a24
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.6fa8b6f0
jmp case.0x6fa8de5a.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.6fa82920
mov ecx, 5
mov edx, esi
mov dword [esp], 0xfffffff4
mov eax, ebp
call fcn.6fa827a0
jmp case.0x6fa8de5a.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.6fa8b250
jmp case.0x6fa8de5a.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.6fa8c070
jmp case.0x6fa8de5a.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.6fa8c070
jmp 0x6fa98562
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.6fa8be10
jmp 0x6fa97b1f
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.6fa8d500
jmp 0x6fa9763c
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.6fa8b5d0
jmp case.0x6fa8de5a.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.6fa8b4a0
jmp 0x6fa97c65
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.6fa82890
mov ecx, 5
mov edx, esi
mov dword [esp], 0xfffffff4
mov eax, ebp
call fcn.6fa82980
jmp case.0x6fa8de5a.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.6fa8bf40
jmp case.0x6fa8de5a.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.6fa8b120
jmp case.0x6fa8de5a.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.6fa82920
mov ecx, 5
mov edx, esi
mov dword [esp], 0xfffffff4
mov eax, ebp
call fcn.6fa82840
jmp case.0x6fa8de5a.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.6fa8b250
jmp 0x6fa984ff
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.6fa8b950
jmp 0x6fa9664d
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.6fa8bce0
jmp case.0x6fa8de5a.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.6fa8cb90
jmp case.0x6fa8de5a.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.6fa8ccb0
jmp 0x6fa967ae
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.6fa8c6e0
jmp 0x6fa96946
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.6fa8c930
jmp case.0x6fa8de5a.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.6fa8d2a0
jmp 0x6fa96bc9
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.6fa8b120
jmp 0x6fa989d0
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.6fa8b950
jmp case.0x6fa8de5a.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.6fa8bbb0
jmp 0x6fa96552
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.6fa8bbb0
jmp case.0x6fa8de5a.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.6fa8cb90
jmp 0x6fa967ef
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.6fa8ca60
jmp case.0x6fa8de5a.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.6fa8ca60
jmp 0x6fa969e4
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.6fa8cf10
jmp case.0x6fa8de5a.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.6fa8d040
jmp 0x6fa96a84
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.6fa8cde0
jmp case.0x6fa8de5a.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.6fa8cf10
jmp 0x6fa96ac5
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.6fa8bce0
jmp 0x6fa966b3
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.6fa8d040
jmp case.0x6fa8de5a.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.6fa8d170
jmp 0x6fa96a43
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.6fa8c810
jmp case.0x6fa8de5a.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.6fa8c6e0
jmp case.0x6fa8de5a.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.6fa8c810
jmp 0x6fa96905
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.6fa8b820
jmp 0x6fa985e4
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.6fa8ba80
jmp 0x6fa9887f
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.6fa8ba80
jmp case.0x6fa8de5a.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.6fa8be10
jmp case.0x6fa8de5a.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.6fa8b5d0
jmp 0x6fa97ca6
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.6fa8b6f0
jmp 0x6fa98f3e
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.6fa8b820
jmp case.0x6fa8de5a.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.6fa8d500
jmp case.0x6fa8de5a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.1
mov dword [esp], eax
mov edx, 7
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81910
jmp case.0x6fa8de5a.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.0x6fa8de5a.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.0x6fa8de5a.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.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 0xe
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81910
jmp 0x6fa98efc
mov ecx, 1
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.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.6fa811c0
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8ad80
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.6fa82de0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa81510
jmp case.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.1
mov dword [esp + 4], edx
xor ecx, ecx
mov edx, 0xa
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82560
jmp case.0x6fa8de5a.1
mov dword [esp], eax
mov edx, 5
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81910
jmp case.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 6
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81910
jmp 0x6fa9898e
mov dword [esp], eax
mov edx, 0xc
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81910
jmp case.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 2
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81910
jmp 0x6fa9970a
mov ecx, 1
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8de5a.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 0x6fa990e4
mov dword [esp], eax
mov edx, 2
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81910
jmp case.0x6fa8de5a.1
mov dword [esp], eax
mov edx, 4
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81910
jmp case.0x6fa8de5a.1
mov dword [esp], eax
xor ecx, ecx
mov edx, 0xa
mov dword [esp + 4], 0x17
mov eax, ebp
call fcn.6fa82560
jmp case.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 0xc
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81910
jmp 0x6fa9974e
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.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 4
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81910
jmp 0x6fa997e4
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.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 7
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81910
jmp 0x6fa97db9
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.6fa811c0
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8ad80
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.6fa82c80
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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 0x6fa98df5
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81bb0
jmp case.0x6fa8de5a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81c20
jmp case.0x6fa8de5a.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.6fa811c0
jmp case.0x6fa8de5a.1
mov dword [esp], eax
mov edx, 0xd
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81910
jmp case.0x6fa8de5a.1
xor ecx, ecx
mov eax, ebp
call fcn.6fa81a90
nop
jmp case.0x6fa8de5a.1
xor ecx, ecx
mov eax, ebp
call fcn.6fa81a90
nop
jmp case.0x6fa8de5a.1
xor ecx, ecx
mov eax, ebp
call fcn.6fa81a90
nop
jmp case.0x6fa8de5a.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.6fa82f50
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8ad80
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.6fa829b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.1
xor ecx, ecx
mov eax, ebp
call fcn.6fa81a90
jmp case.0x6fa8de5a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8de5a.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 0x6fa98697
mov ecx, 1
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.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.6fa813e0
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c2c0
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.6fa82de0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov dword [esp + 4], 0x17
mov edx, 0xa
mov eax, ebp
mov dword [esp], 0x17
call fcn.6fa82560
jmp case.0x6fa8de5a.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.0x6fa8de5a.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 0x6fa99330
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.6fa88d40
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.6fa8ad80
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.6fa82b10
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8ad80
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.6fa82b10
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 0xd
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81910
jmp 0x6fa97410
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.6fa810b0
jmp case.0x6fa8de5a.1
mov dword [esp + 4], 0x17
mov edx, 0x2a
mov eax, ebp
mov dword [esp], 0x17
call fcn.6fa82560
jmp case.0x6fa8de5a.1
mov dword [esp + 4], edx
mov edx, 5
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81910
jmp 0x6fa9737d
mov dword [esp], eax
mov edx, 6
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81910
jmp case.0x6fa8de5a.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.0x6fa8de5a.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 0x6fa9908d
xor ecx, ecx
mov eax, ebp
call fcn.6fa81a90
jmp case.0x6fa8de5a.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.0x6fa8de5a.1
mov dword [esp], eax
mov edx, 0xe
mov eax, ebp
mov dword [esp + 4], esi
call fcn.6fa81910
jmp case.0x6fa8de5a.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.0x6fa8de5a.1
mov dword [esp + 4], edx
xor ecx, ecx
mov edx, 0x2a
mov dword [esp], eax
mov eax, ebp
call fcn.6fa82560
jmp case.0x6fa8de5a.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 0x6fa98306
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.6fa810b0
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c2c0
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.6fa82b10
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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 0x6fa9983b
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.6fa810b0
jmp case.0x6fa8de5a.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.6fa81510
jmp case.0x6fa8de5a.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.6fa811c0
jmp case.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.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.6fa811c0
jmp case.0x6fa8de5a.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.6fa811c0
jmp case.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.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.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.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.6fa82f50
jmp case.0x6fa8de5a.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.6fa813e0
jmp case.0x6fa8de5a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81bb0
jmp case.0x6fa8de5a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov edx, dword [edx*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81c20
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c2c0
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.6fa82c80
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c2c0
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.6fa829b0
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.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.6fa88d40
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.6fa8c2c0
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.6fa82b10
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.6fa88bd0
jmp case.0x6fa8de5a.1
mov dword [esp], eax
xor ecx, ecx
mov edx, 0x2a
mov dword [esp + 4], 0x17
mov eax, ebp
call fcn.6fa82560
jmp case.0x6fa8de5a.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.6fa810b0
jmp case.0x6fa8de5a.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.0x6fa8de5a.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.0x6fa8de5a.1
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
call fcn.6fa88d40
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.6fa81ac0
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.6fa88bd0
jmp case.0x6fa8de5a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8de5a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8de5a.1
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
mov dword [esp + 0x1c], edx
call fcn.6fa88d40
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.6fa81ac0
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.6fa88bd0
jmp 0x6fa91e51
mov ecx, 1
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8de5a.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.0x6fa8de5a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8de5a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8de5a.1
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
call fcn.6fa88d40
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.6fa81ac0
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.6fa88bd0
jmp case.0x6fa8de5a.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.0x6fa8de5a.1
mov ecx, 1
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8de5a.1
cmp eax, edx
je case.0x6fa8de5a.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.0x6fa8de5a.1
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov edx, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81c90
jmp case.0x6fa8de5a.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.6fa81e70
jmp case.0x6fa8de5a.1
mov edx, 4
sub edx, eax
mov eax, ebp
call fcn.6fa81d60
jmp 0x6fa96f20
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.0x6fa8de5a.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.0x6fa8de5a.1
test byte [edi + 8], 8
je 0x6fa94788
jmp 0x6fa9477c
mov ecx, dword [eax*8 + 0x6faaa220]
mov eax, ebp
mov edx, dword [esi*8 + 0x6faaa220]
and ecx, 0x7fff
and edx, 0x7fff
call fcn.6fa81c90
jmp case.0x6fa8de5a.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.0x6fa8de5a.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.6fa812f0
jmp 0x6fa96710
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.6fa812f0
jmp case.0x6fa8de5a.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.6fa81350
jmp case.0x6fa8de5a.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.6fa812f0
jmp 0x6fa98fe5
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.6fa812f0
jmp 0x6fa969a3
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.6fa81350
jmp 0x6fa96c67
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.6fa812f0
jmp 0x6fa98259
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.6fa812f0
jmp case.0x6fa8de5a.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.6fa812f0
jmp case.0x6fa8de5a.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.6fa812f0
jmp case.0x6fa8de5a.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.6fa816b0
jmp case.0x6fa8de5a.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.6fa812f0
jmp case.0x6fa8de5a.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.6fa812f0
jmp case.0x6fa8de5a.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.6fa812f0
jmp 0x6fa96511
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.6fa81350
jmp 0x6fa964b4
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.6fa812f0
jmp case.0x6fa8de5a.1
mov ecx, 1
mov edx, esi
mov eax, ebp
call fcn.6fa81a70
jmp 0x6fa97fa7
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.6fa812f0
jmp case.0x6fa8de5a.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.0x6fa8de5a.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.6fa81350
jmp 0x6fa9883e
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.6fa812f0
jmp case.0x6fa8de5a.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.6fa82b10
jmp case.0x6fa8de5a.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.6fa812f0
jmp 0x6fa97731
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.6fa81350
jmp case.0x6fa8de5a.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.6fa816b0
jmp 0x6fa9789d
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.6fa812f0
jmp 0x6fa97840
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.6fa812f0
jmp case.0x6fa8de5a.1
mov ecx, 1
mov edx, esi
mov eax, ebp
call fcn.6fa81a70
jmp 0x6fa977e0
mov ecx, 1
mov edx, esi
mov eax, ebp
call fcn.6fa81a70
jmp 0x6fa993dd
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.6fa81350
jmp case.0x6fa8de5a.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.6fa812f0
jmp 0x6fa97563
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.6fa81350
jmp 0x6fa97506
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.6fa81350
jmp case.0x6fa8de5a.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.6fa81350
jmp 0x6fa9676d
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.6fa812f0
jmp 0x6fa965af
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.6fa812f0
jmp case.0x6fa8de5a.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.6fa81640
jmp case.0x6fa8de5a.1
and edx, 0x7fff
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp], edx
mov edx, 3
call fcn.6fa81910
jmp case.0x6fa8de5a.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.6fa81640
jmp 0x6fa98641
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.6fa81350
jmp case.0x6fa8de5a.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.6fa81350
jmp 0x6fa97ade
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.6fa829b0
jmp case.0x6fa8de5a.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.6fa829b0
jmp case.0x6fa8de5a.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.6fa81350
jmp 0x6fa968c4
mov ecx, 1
mov edx, esi
mov eax, ebp
call fcn.6fa81a70
jmp 0x6fa96ef8
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.6fa812f0
jmp 0x6fa97a81
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.6fa81350
jmp case.0x6fa8de5a.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.6fa812f0
jmp 0x6fa9618e
mov dword [esp], ecx
mov edx, 0x20
mov ecx, eax
mov eax, ebp
call fcn.6fa81880
jmp case.0x6fa8de5a.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.6fa812f0
jmp case.0x6fa8de5a.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.6fa81640
jmp 0x6fa979ac
mov ecx, 1
mov edx, esi
mov eax, ebp
call fcn.6fa81a70
jmp 0x6fa992d7
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.6fa812f0
jmp case.0x6fa8de5a.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.6fa812f0
jmp case.0x6fa8de5a.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.6fa812f0
jmp 0x6fa9846d
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.0x6fa8de5a.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.6fa82de0
jmp case.0x6fa8de5a.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.6fa816b0
jmp case.0x6fa8de5a.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.6fa816b0
jmp 0x6fa9726f
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.6fa82c80
jmp case.0x6fa8de5a.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.6fa812f0
jmp case.0x6fa8de5a.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.6fa81350
jmp case.0x6fa8de5a.1
and eax, 0x7fff
mov dword [esp + 4], edx
mov edx, 3
mov dword [esp], eax
mov eax, ebp
call fcn.6fa81910
jmp 0x6fa98f87
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.6fa82c80
jmp case.0x6fa8de5a.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.6fa812f0
jmp case.0x6fa8de5a.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.6fa812f0
jmp 0x6fa996c7
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.6fa812f0
jmp 0x6fa980ac
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.6fa812f0
jmp 0x6fa99142
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.6fa812f0
jmp 0x6fa9660c
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.6fa81350
jmp case.0x6fa8de5a.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.6fa82b10
jmp case.0x6fa8de5a.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.6fa81350
jmp 0x6fa97b7c
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.6fa82de0
jmp case.0x6fa8de5a.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.6fa81640
jmp case.0x6fa8de5a.1
mov ecx, 1
mov edx, esi
mov eax, ebp
call fcn.6fa81a70
jmp 0x6fa9794c
mov dword [esp + 4], 0xc0000000
mov dword [esp], ebp
call fcn.6fa88d40
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.6fa88bd0
jmp 0x6fa92672
mov edx, dword [esp + 0x20]
mov ecx, 0xffffffff
mov eax, ebp
call fcn.6fa81a70
jmp case.0x6fa8de5a.1
mov edx, dword [esp + 0x20]
mov eax, ebp
call fcn.6fa7fa40
jmp case.0x6fa8de5a.1
bsf eax, eax
mov dword [esp], eax
mov eax, ebp
call fcn.6fa824d0
jmp case.0x6fa8de5a.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.0x6fa8de5a.1