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

Disassembly:
push ebp
mov eax, 0x29fc
push edi
push esi
push ebx
call fcn.703e0830
sub esp, eax
mov ebp, dword [esp + 0x2a10]
mov dword [esp + 0x80], 0x10000000
mov dword [esp], ebp
call fcn.6fd022e0
mov dword [esp + 8], 0x280c
mov dword [esp + 4], 0
mov ebx, eax
lea eax, [esp + 0x1e4]
mov dword [esp], eax
call fcn.6fef7ef0
mov eax, dword [ebx*4 + 0x70759100]
mov edx, dword [ebp + 0x38f84]
mov dword [ebp + 0x9e678], ebx
mov dword [esp + 0x1ec], ebx
mov dword [ebp + 0x9e67c], eax
mov eax, dword [ebx*4 + 0x70759200]
cmp edx, 1
mov dword [esp + 0x1e4], eax
mov eax, dword [ebx*4 + 0x70759300]
je 0x6fd13402
mov edi, dword [ebp + 0x194]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x38], 1
cmp edi, 5
mov dword [esp + 0x44], edi
jle 0x6fd0dac0
nop
lea esi, [esi]
mov eax, dword [ebp + 0x184]
mov esi, dword [ebp + 0x19c]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x44]
mov dword [ebp + 0x3a534], eax
xor eax, eax
test esi, esi
mov dword [esp + 0x1f4], ecx
mov dword [ebp + 0x3a538], ebx
je 0x6fd0d7d5
test edx, edx
je 0x6fd0de40
mov dword [ebp + 0x3a53c], eax
xor eax, eax
cmp dword [ebp + 0x1a8], 2
cmovge eax, dword [esp + 0x38]
cmp edx, 2
mov dword [ebp + 0x9d6ac], 0
mov dword [ebp + 0x3a544], 0
mov dword [ebp + 0x3a540], eax
mov dword [esp + 0x264], 0x10000000
mov dword [esp + 0x220], 0x10000000
mov dword [esp + 0x20c], 0x10000000
mov dword [esp + 0x204], 0x10000000
mov dword [esp + 0x1fc], 0x10000000
je 0x6fd0e3c0
mov ebx, dword [ebp + 0x3a520]
mov edi, dword [ebp + 0x18c]
mov esi, ebx
mov ecx, ebx
neg esi
not ecx
mov eax, esi
sub edi, 0x10
shl eax, 6
sub eax, 0x60
mov dword [ebp + 0x3a548], eax
mov eax, dword [ebp + 0x910]
shl esi, 4
sub esi, 8
add ecx, dword [eax + 0x43c]
mov dword [esp + 0x40], eax
mov eax, ecx
shl eax, 6
add eax, 0x60
mov dword [ebp + 0x3a550], eax
mov eax, edi
neg eax
cmp eax, esi
mov dword [esp + 0x3c], eax
jg 0x6fd0d8a1
cmp esi, edi
cmovg esi, edi
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x3c]
shl ecx, 4
add ecx, 8
cmp eax, ecx
mov dword [ebp + 0x3a568], esi
mov esi, eax
jg 0x6fd0d8be
cmp ecx, edi
mov esi, edi
cmovle esi, ecx
mov ecx, dword [esp + 0x3c]
test ebx, ebx
mov dword [ebp + 0x3a570], esi
lea ecx, [ecx*4 - 0x40]
mov dword [ebp + 0x3a558], ecx
lea ecx, [esi*4 + 0x40]
mov dword [ebp + 0x3a560], ecx
jne 0x6fd0d964
mov ebx, dword [ebp + 0x3a524]
mov esi, ebx
neg esi
mov ecx, esi
shl ecx, 6
sub ecx, 0x60
mov dword [ebp + 0x3a54c], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x40]
not ecx
shl esi, 4
sub esi, 8
add ecx, dword [ebx + 0x440]
mov ebx, ecx
shl ebx, 6
add ebx, 0x60
cmp eax, esi
mov dword [ebp + 0x3a554], ebx
mov ebx, eax
jg 0x6fd0d92d
cmp esi, edi
mov ebx, edi
cmovle ebx, esi
shl ecx, 4
add ecx, 8
cmp eax, ecx
mov dword [ebp + 0x3a56c], ebx
jg 0x6fd0d944
cmp ecx, edi
mov eax, edi
cmovle eax, ecx
mov dword [ebp + 0x3a574], eax
lea ecx, [ebx*4 - 0x40]
lea eax, [eax*4 + 0x40]
mov dword [ebp + 0x3a55c], ecx
mov dword [ebp + 0x3a564], eax
cmp edx, 1
mov dword [esp + 0x2dc], 0x10000000
mov dword [esp + 0x2d0], 0x10000000
mov dword [esp + 0xf20], 0x10000000
mov dword [esp + 0xc50], 0x10000000
mov dword [esp + 0x6c0], 0x10000000
mov dword [esp + 0xf24], 0x10000000
mov dword [esp + 0xc54], 0x10000000
mov dword [esp + 0x6c4], 0x10000000
mov dword [esp + 0xf28], 0x10000000
mov dword [esp + 0xc58], 0x10000000
mov dword [esp + 0x6c8], 0x10000000
mov dword [esp + 0xf2c], 0x10000000
mov dword [esp + 0xc5c], 0x10000000
mov dword [esp + 0x6cc], 0x10000000
mov dword [esp + 0x1564], 0x10000000
mov dword [esp + 0x14b0], 0x10000000
je 0x6fd0de50
mov ecx, dword [ebp + 0x3a528]
mov eax, ecx
sub eax, dword [ebp + 0x38f88]
cmp eax, 4
jle 0x6fd0da96
mov ebx, dword [esp + 0x38]
test ebx, ebx
jne 0x6fd0da96
cmp dword [ebp + 0x3a5d0], 2
jbe 0x6fd0da96
cmp dword [ebp + 0x3a5cc], 2
jbe 0x6fd0da96
cmp dword [ebp + 0x3a5d4], 2
jbe 0x6fd0da96
cmp dword [ebp + 0x3a5d8], 2
jbe 0x6fd0da96
test edx, edx
jne 0x6fd0da72
mov ebx, dword [ebp + 0x39804]
mov ebx, dword [ebx + 0xc8]
cmp byte [ebx + ecx], 2
jbe 0x6fd0dad0
mov ecx, dword [ebp + 0x9eef4]
add ecx, dword [ebp + 0x9eef8]
add ecx, dword [ebp + 0x9eefc]
lea ecx, [ecx + ecx*2]
cmp eax, ecx
jl 0x6fd0da96
mov dword [esp + 0x1f8], 1
test edx, edx
je 0x6fd0dad0
cmp edx, 1
je 0x6fd0e462
lea edx, [esp + 0x1e4]
mov eax, ebp
call fcn.6fd04bc0
add esp, 0x29fc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x38], 0
jmp 0x6fd0d7a0
mov ecx, dword [ebp + 0x1ac]
test ecx, ecx
jne 0x6fd0df68
mov ebx, dword [ebp + 0x170]
lea eax, [esp + 0x1e4]
mov dword [esp + 0x70], ebx
call fcn.6fd037a0
mov eax, dword [ebp + 0x39800]
lea edx, [esp + 0x88]
mov dword [esp + 0x54], 0
mov dword [esp + 0x88], 0x7fffffff
mov dword [esp + 0xe0], 0
cmp eax, 1
cmovle edx, dword [esp + 0x54]
test eax, eax
mov dword [esp + 0x2d0], 0x7fffffff
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x1f0]
mov dword [esp + 0xe4], edx
mov edx, dword [ebp + 0x9df38]
mov dword [esp + 0x118], edx
mov edx, dword [ebp + 0x9df3c]
mov dword [esp + 0x11c], edx
mov edx, dword [ebp + 0x9dba0]
mov dword [esp + 0x108], edx
mov edx, dword [ebp + 0x9dba4]
mov dword [esp + 0x10c], edx
mov edx, dword [ebp + 0x9dba8]
mov dword [esp + 0x110], edx
jle 0x6fd0dfd8
lea edx, [ebp + 0x9d60c]
lea ebx, [esp + 0x2e0]
mov dword [esp + 0x3c], edx
lea esi, [esp + 0xe0]
lea edx, [esp + 0x120]
lea ecx, [esp + 0xa8]
lea edi, [esp + 0x284]
mov dword [esp + 0x40], ebx
lea ebx, [ebp + 0x9dbb8]
mov dword [esp + 0x44], 0x7fffffff
mov dword [esp + 0x38], 0
mov dword [esp + 0x48], esi
mov dword [esp + 0x58], edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], edi
jmp 0x6fd0ddfd
mov eax, dword [esp + 0x38]
add eax, 1
cmp eax, 0xffff
jbe 0x6fd0e3a3
shr eax, 0x10
sub eax, 1
cmp eax, 0xff
ja 0x6fd13502
mov edx, 0x20
add edx, dword [eax*4 + 0x707554e0]
mov eax, edx
imul esi, eax
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xe8], esi
sub eax, esi
mov dword [esp + 0x88], eax
mov eax, dword [ebx]
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xf0], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0xf4], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0xf8], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0xfc], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x100], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x104], eax
mov eax, dword [edx + 0x8ac]
mov edx, dword [esp + 0x58]
mov dword [esp + 4], 0
mov dword [esp], ebp
mov dword [esp + 0x114], eax
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 8], edx
call fcn.6fcf53b0
mov edi, dword [esp + 0x50]
lea ecx, [esp + 0x84]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
mov dword [esp + 4], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], edx
mov dword [esp], ebp
call fcn.6fcf68c0
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 4], ecx
mov dword [esp], ebp
call fcn.6fd3c130
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x12c]
test edx, edx
jne 0x6fd0dd37
mov eax, dword [esp + 0x200]
test eax, eax
je 0x6fd0dd37
imul eax, dword [esp + 0x1e4], 0x12c
mov edx, edi
sub edx, dword [esp + 0x128]
cmp edx, eax
jl 0x6fd0e400
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov edx, dword [ebp + 0x3a548]
add edi, esi
add esi, dword [esp + 0x88]
mov dword [esp + 0x12c], edi
cmp edx, eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x88], esi
mov esi, dword [ebp + 0x3a550]
jg 0x6fd0dd77
cmp eax, esi
mov edx, esi
cmovle edx, eax
mov eax, dword [ebp + 0x3a54c]
mov dword [esp + 0x130], edx
mov esi, dword [ebp + 0x3a554]
cmp eax, ecx
jg 0x6fd0dd95
cmp ecx, esi
mov eax, esi
cmovle eax, ecx
cmp edi, dword [esp + 0x2d0]
mov dword [esp + 0x134], eax
jge 0x6fd0ddb4
mov edi, dword [esp + 0x4c]
mov ecx, 0x16
mov esi, dword [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x3c]
add ebx, 0x18
mov esi, dword [ebp + 0x3a528]
add dword [esp + 0x38], 1
mov ecx, dword [edi]
add edi, 4
mov dword [esp + 0x3c], edi
lea ecx, [ecx + esi*4]
mov esi, dword [esp + 0x40]
mov word [ecx], dx
movsx edx, dx
mov dword [esi], edx
mov edx, dword [esp + 0x38]
mov word [ecx + 2], ax
cwde
mov dword [esi + 4], eax
add esi, 0x28
cmp edx, dword [ebp + 0x39800]
mov dword [esp + 0x40], esi
jge 0x6fd0dfd8
mov eax, dword [ebp + 0x38fc0]
mov esi, dword [esp + 0x1e4]
sub eax, 1
cmp eax, 1
je 0x6fd0dc24
jle 0x6fd0e3b3
cmp dword [esp + 0x38], 0xfe
ja 0x6fd0dbf0
mov edx, dword [esp + 0x38]
mov eax, dword [edx*4 + 0x707554e0]
jmp 0x6fd0dc21
xor eax, eax
cmp ebx, 4
setg al
jmp 0x6fd0d7d5
mov dword [esp + 0x1674], 0x10000000
mov dword [esp + 0x1668], 0x10000000
mov dword [esp + 0x29bc], 0x10000000
mov dword [esp + 0x22b8], 0x10000000
mov dword [esp + 0x1fe8], 0x10000000
mov dword [esp + 0x1a58], 0x10000000
mov dword [esp + 0x29c0], 0x10000000
mov dword [esp + 0x22bc], 0x10000000
mov dword [esp + 0x1fec], 0x10000000
mov dword [esp + 0x1a5c], 0x10000000
mov dword [esp + 0x29c4], 0x10000000
mov dword [esp + 0x22c0], 0x10000000
mov dword [esp + 0x1ff0], 0x10000000
mov dword [esp + 0x1a60], 0x10000000
mov dword [esp + 0x29c8], 0x10000000
mov dword [esp + 0x22c4], 0x10000000
mov dword [esp + 0x1ff4], 0x10000000
mov dword [esp + 0x1a64], 0x10000000
mov dword [esp + 0x29d0], 0x10000000
mov dword [esp + 0x29cc], 0x10000000
mov dword [esp + 0x29b8], 0x10000000
mov dword [esp + 0x29b4], 0x10000000
mov dword [esp + 0x29b0], 0x10000000
mov dword [esp + 0x28fc], 0x10000000
mov dword [esp + 0x2848], 0x10000000
jmp 0x6fd0da1d
cmp dword [esp + 0x44], 2
jg 0x6fd0dfc8
cmp dword [ebp + 0x3a5d0], 6
je 0x6fd0df97
cmp dword [ebp + 0x3a5cc], 6
je 0x6fd0df97
cmp dword [ebp + 0x3a5d4], 6
je 0x6fd0df97
cmp dword [ebp + 0x3a5d8], 6
jne 0x6fd0dade
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.6fd15870
test eax, eax
je 0x6fd0dade
mov dword [ebp + 0x9d694], 6
mov dword [ebp + 0x9d698], 0x10
jmp 0x6fd0daa3
mov dword [esp + 0x200], 1
jmp 0x6fd0dade
mov eax, dword [esp + 0x290]
mov dword [ebp + 0x9d694], 4
mov byte [ebp + 0x9e0dc], al
mov byte [ebp + 0x9e0dd], al
mov byte [ebp + 0x9e0de], al
mov byte [ebp + 0x9e0df], al
mov byte [ebp + 0x9e0e4], al
mov byte [ebp + 0x9e0e5], al
mov byte [ebp + 0x9e0e6], al
mov byte [ebp + 0x9e0e7], al
mov byte [ebp + 0x9e0ec], al
mov byte [ebp + 0x9e0ed], al
mov byte [ebp + 0x9e0ee], al
mov byte [ebp + 0x9e0ef], al
mov byte [ebp + 0x9e0f4], al
mov byte [ebp + 0x9e0f5], al
mov byte [ebp + 0x9e0f6], al
mov byte [ebp + 0x9e0f7], al
mov eax, dword [esp + 0x1f4]
test eax, eax
je 0x6fd0e182
mov eax, dword [esp + 0x2d0]
mov edx, dword [esp + 0x2d4]
mov dword [ebp + 0x9d698], 0x10
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x2d8]
mov word [ebp + 0x9e190], dx
mov word [ebp + 0x9e194], dx
mov word [ebp + 0x9e198], dx
mov word [ebp + 0x9e192], ax
mov word [ebp + 0x9e196], ax
mov word [ebp + 0x9e19a], ax
mov word [ebp + 0x9e19c], dx
mov word [ebp + 0x9e19e], ax
mov word [ebp + 0x9e1b0], dx
mov word [ebp + 0x9e1b2], ax
mov word [ebp + 0x9e1b4], dx
mov word [ebp + 0x9e1b6], ax
mov word [ebp + 0x9e1b8], dx
mov word [ebp + 0x9e1ba], ax
mov word [ebp + 0x9e1bc], dx
mov word [ebp + 0x9e1be], ax
mov word [ebp + 0x9e1d0], dx
mov word [ebp + 0x9e1d2], ax
mov word [ebp + 0x9e1d4], dx
mov word [ebp + 0x9e1d6], ax
mov word [ebp + 0x9e1d8], dx
mov word [ebp + 0x9e1da], ax
mov word [ebp + 0x9e1dc], dx
mov word [ebp + 0x9e1de], ax
mov word [ebp + 0x9e1f0], dx
mov word [ebp + 0x9e1f2], ax
mov word [ebp + 0x9e1f4], dx
mov word [ebp + 0x9e1f6], ax
mov word [ebp + 0x9e1f8], dx
mov word [ebp + 0x9e1fc], dx
mov edx, dword [esp + 0x1e8]
mov word [ebp + 0x9e1fa], ax
mov word [ebp + 0x9e1fe], ax
mov eax, ebp
call fcn.6fd09340
mov dword [esp + 0x2d0], eax
mov eax, dword [ebp + 0x9d694]
cmp eax, 6
je 0x6fd0dab1
mov ebx, dword [esp + 0x70]
and ebx, 0x10
mov dword [esp + 0x70], ebx
jne 0x6fd0e777
mov ebx, dword [esp + 0x2d0]
mov dword [esp + 0x80], ebx
mov ecx, ebx
mov dword [esp + 0x38], 0x10
mov dword [esp + 0x40], 4
mov esi, dword [esp + 0x1f4]
mov eax, dword [esp + 0x600]
add eax, dword [esp + 0x658]
test esi, esi
je 0x6fd0e1e0
imul eax, dword [esp + 0x1e8]
mov edx, eax
sar edx, 0x1f
idiv dword [esp + 0x1e4]
mov edx, dword [esp + 0x70]
test edx, edx
je 0x6fd0e1f7
add eax, ebx
cmp dword [esp + 0x2dc], eax
jl 0x6fd0fcf0
mov ebx, dword [esp + 0x38]
test esi, esi
mov dword [ebp + 0x9d698], ebx
jne 0x6fd0f0d0
cmp dword [esp + 0x38], 0x10
je 0x6fd10a2c
cmp dword [esp + 0x38], 0xe
je 0x6fd10b57
cmp dword [esp + 0x38], 0xf
je 0x6fd107fd
cmp dword [esp + 0x38], 0xd
je 0x6fd10866
mov dword [esp + 0x38], 0xe
mov eax, ebp
lea edx, [esp + 0x1e4]
call fcn.6fd0c4f0
mov eax, dword [ebp + 0x3a53c]
test eax, eax
je 0x6fd0f086
mov eax, dword [esp + 0x1f4]
test eax, eax
jne 0x6fd0f086
mov ebx, dword [esp + 0x204]
mov edx, dword [esp + 0x80]
cmp ebx, edx
jl 0x6fd0e28e
mov eax, dword [esp + 0x20c]
cmp edx, eax
jg 0x6fd0e28e
cmp edx, dword [esp + 0x220]
jle 0x6fd0e2d6
mov ecx, dword [esp + 0x264]
cmp ecx, 0xfffffff
jg 0x6fd10d1c
mov eax, dword [esp + 0x20c]
add ebx, ecx
add dword [esp + 0x220], ecx
mov dword [esp + 0x204], ebx
add eax, ecx
mov dword [esp + 0x20c], eax
cmp eax, edx
jge 0x6fd0e2d6
mov dword [esp + 0x80], eax
mov edx, eax
mov dword [esp + 0x40], 1
mov ebx, dword [esp + 0x40]
add dword [ebp + 0x9efb0], eax
add dword [ebp + 0x9efb4], edx
cmp dword [ebp + 0x3a538], 6
mov dword [ebp + 0x9d694], ebx
jle 0x6fd0daa3
cmp ebx, 2
jbe 0x6fd0e3ea
cmp dword [esp + 0x38], 0x10
je 0x6fd1097a
cmp dword [esp + 0x38], 0xe
je 0x6fd10a52
cmp dword [esp + 0x38], 0xf
je 0x6fd10c0b
cmp dword [esp + 0x38], 0xd
jne 0x6fd0daa3
lea edx, [esp + 0x1e4]
mov eax, ebp
call fcn.6fd04bc0
cmp dword [ebp + 0x9d69c], 3
je 0x6fd1350c
cmp dword [ebp + 0x9d6a0], 3
je 0x6fd13623
cmp dword [ebp + 0x9d6a4], 3
je 0x6fd135f0
cmp dword [ebp + 0x9d6a8], 3
jne 0x6fd0daa3
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xc
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x668]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0daa3
mov edx, 0x10
shr eax, 8
sub eax, 1
jmp 0x6fd0dc18
xor esi, esi
jmp 0x6fd0dc24
mov ecx, 0x10000000
mov eax, ebp
lea edx, [esp + 0x1e4]
call fcn.6fd0c4f0
cmp dword [ebp + 0x3a538], 6
mov dword [ebp + 0x9d694], 1
jle 0x6fd0daa3
lea edx, [esp + 0x1e4]
mov eax, ebp
call fcn.6fd03bd0
jmp 0x6fd0daa3
lea edi, [esp + 0x8c]
mov dword [esp + 4], edi
mov dword [esp], ebp
call fcn.6fcf5840
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov edx, eax
sub edx, dword [esp + 0x8c]
mov edi, edx
sar edi, 0x1f
xor edx, edi
sub edx, edi
mov dword [esp + 0x44], edx
mov edx, ecx
sub edx, dword [esp + 0x90]
mov edi, edx
sar edi, 0x1f
xor edx, edi
sub edx, edi
add edx, dword [esp + 0x44]
cmp edx, 1
jle 0x6fd0f0f7
mov edi, dword [esp + 0x12c]
jmp 0x6fd0dd45
mov eax, dword [ebp + 0x9e694]
mov dword [ebp + 0x9d694], 0x12
test eax, eax
je 0x6fd0f0a0
xor dword [ebp + 0x38fb8], 1
xor ebx, ebx
mov dword [esp + 4], 0
mov dword [esp], ebp
mov dword [esp + 0x88], 1
call fcn.6fcf58e0
test eax, eax
mov dword [esp + 0x29ec], eax
je 0x6fd0e4c5
mov edi, dword [esp + 0x88]
test edi, edi
jne 0x6fd0eeaa
mov eax, dword [ebp + 0x38fb8]
add dword [ebp + eax*4 + 0x9efb8], ebx
mov esi, dword [esp + 0x29ec]
lea edx, [esp + 0x88]
xor eax, eax
xor dword [ebp + 0x38fb8], 1
mov dword [esp], ebp
test esi, esi
cmovne eax, edx
mov dword [esp + 4], eax
mov dword [esp + 0x88], 1
call fcn.6fcf58e0
test eax, eax
mov dword [esp + 0x29ec], eax
je 0x6fd0e770
mov ecx, dword [esp + 0x88]
test ecx, ecx
jne 0x6fd0ee8b
mov eax, dword [ebp + 0x38fb8]
add dword [ebp + eax*4 + 0x9efb8], ebx
mov eax, dword [esp + 0x29ec]
test eax, eax
je 0x6fd0e54a
mov edx, dword [ebp + 0x9e694]
test edx, edx
je 0x6fd0f122
mov eax, dword [ebp + 0x9e68c]
test eax, eax
je 0x6fd0eb80
mov esi, 0x10000000
test ebx, ebx
jne 0x6fd0daa3
lea eax, [esp + 0x1e4]
mov edi, dword [ebp + 0x170]
call fcn.6fd037a0
mov eax, dword [esp + 0x29ec]
test eax, eax
jne 0x6fd0ec67
mov eax, ebp
mov ebx, 8
lea edx, [esp + 0x1e4]
call fcn.6fd09460
mov ecx, dword [esp + 0x2d0]
mov eax, dword [esp + 0x1668]
mov dword [esp + 0x80], ecx
cmp ecx, eax
jle 0x6fd0e5af
mov dword [esp + 0x80], eax
mov ecx, eax
mov bl, 0xc
mov eax, dword [esp + 0x29b0]
cmp eax, ecx
jge 0x6fd0e5c8
mov dword [esp + 0x80], eax
mov ecx, eax
mov ebx, 0x10
mov eax, dword [esp + 0x29b4]
cmp eax, ecx
jge 0x6fd0e5e1
mov dword [esp + 0x80], eax
mov ecx, eax
mov ebx, 7
cmp esi, ecx
jle 0x6fd0ec4a
and edi, 0x100
jne 0x6fd0faef
cmp dword [esp + 0x1f4], 0
mov dword [ebp + 0x9d698], 0x10
jne 0x6fd133c4
mov eax, dword [esp + 0x1e4]
lea eax, [eax + eax*2]
sub dword [esp + 0x2d0], eax
sub dword [esp + 0x1668], eax
cmp ebx, 8
je 0x6fd130c7
cmp ebx, 0xc
je 0x6fd13092
cmp ebx, 0x10
je 0x6fd13067
mov ecx, dword [esp + 0x80]
mov edi, 0x10
lea esi, [esi]
mov eax, ebp
lea edx, [esp + 0x1e4]
call fcn.6fd0c4f0
mov eax, dword [esp + 0x20c]
cmp eax, dword [esp + 0x80]
jge 0x6fd0e67a
mov dword [esp + 0x80], eax
mov ebx, 1
mov edx, dword [ebp + 0x198]
mov dword [ebp + 0x9d694], ebx
test edx, edx
jne 0x6fd0fc5c
cmp dword [ebp + 0x3a538], 6
jle 0x6fd0daa3
lea eax, [ebx - 8]
cmp eax, 9
ja 0x6fd0daa3
lea edx, [esp + 0x1e4]
mov eax, ebp
call fcn.6fd04bc0
cmp edi, 0x10
je 0x6fd11fef
cmp edi, 0xe
je 0x6fd1100d
cmp edi, 0xf
je 0x6fd124d8
cmp edi, 0xd
jne 0x6fd0daa3
mov eax, dword [ebp + 0x9d69c]
cmp eax, 3
je 0x6fd1319b
cmp eax, 7
je 0x6fd13168
mov eax, dword [ebp + 0x9d6a0]
cmp eax, 3
je 0x6fd1312f
cmp eax, 7
je 0x6fd130fc
mov eax, dword [ebp + 0x9d6a4]
cmp eax, 3
je 0x6fd134c9
cmp eax, 7
je 0x6fd13496
mov eax, dword [ebp + 0x9d6a8]
cmp eax, 3
je 0x6fd1345d
cmp eax, 7
jne 0x6fd0daa3
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0xc
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x1a00]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0daa3
xor ebx, ebx
jmp 0x6fd0e523
mov eax, dword [ebp + 0x1a4]
test eax, eax
je 0x6fd0f12f
mov esi, dword [ebp + 0x39800]
mov dword [ebp + 0x9d698], 0xd
sub esi, 1
cmp esi, 0
mov dword [esp + 0x68], esi
jle 0x6fd10d86
mov eax, dword [esp + 0x290]
test eax, eax
jne 0x6fd0e812
mov eax, dword [ebp + 0x3a5cc]
test eax, eax
je 0x6fd0e812
mov eax, dword [ebp + 0x3a5d0]
test eax, eax
je 0x6fd0e812
movsx eax, byte [ebp + 0x9e0d4]
movsx edx, byte [ebp + 0x9e0d3]
cmp edx, eax
cmovl edx, eax
xor eax, eax
test edx, edx
cmovns eax, edx
movsx edx, byte [ebp + 0x9e0d6]
cmp eax, edx
cmovl eax, edx
movsx edx, byte [ebp + 0x9e0d8]
cmp eax, edx
cmovge edx, eax
movsx eax, byte [ebp + 0x9e0db]
cmp edx, eax
cmovl edx, eax
movsx eax, byte [ebp + 0x9e0eb]
cmp edx, eax
cmovge eax, edx
mov dword [esp + 0x68], eax
mov ebx, dword [ebp + 0x3a528]
lea edx, [esp + 0x2e0]
xor eax, eax
mov esi, dword [esp + 0x68]
shl ebx, 2
mov ecx, dword [ebp + eax*4 + 0x9d60c]
add eax, 1
add ecx, ebx
movsx edi, word [ecx]
movsx ecx, word [ecx + 2]
mov dword [edx], edi
mov dword [edx + 4], ecx
add edx, 0x28
cmp eax, esi
jle 0x6fd0e828
mov edi, dword [esp + 0x1e4]
lea esi, [esp + 0xe0]
xor ecx, ecx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], edi
mov edx, dword [esp + 0x1f0]
imul edi, ecx, 0x58
mov esi, ecx
and esi, 1
mov dword [esp + 0xe0], 3
mov dword [esp + 0xe4], edx
mov edx, dword [ebp + 0x9df38]
lea eax, [esp + edi + 0x560]
mov dword [esp + 0x40], eax
mov eax, ecx
sar eax, 1
mov dword [esp + 0x5c], edi
mov dword [esp + 0x118], edx
mov edx, dword [ebp + 0x9df3c]
mov dword [esp + 0x11c], edx
mov edx, eax
shl edx, 4
mov ebx, edx
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0x9dba0]
add ebx, esi
lea edx, [edx + ebx*8]
mov dword [esp + 0x108], edx
lea edx, [eax*8]
mov dword [esp + 0x54], edx
mov edi, dword [esp + 0x54]
lea ebx, [esi*8]
sar edx, 1
add esi, esi
mov dword [esp + 0x58], ebx
sar ebx, 1
mov dword [esp + 0x64], ebx
mov dword [esp + 0x6c], edx
lea edx, [ebx + edi*8]
mov ebx, dword [ebp + 0x9dba4]
mov edi, dword [esp + 0x68]
add ebx, edx
add edx, dword [ebp + 0x9dba8]
test edi, edi
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], edx
mov edx, dword [esp + 0x40]
mov dword [edx + 0x4c], 0x7fffffff
js 0x6fd10cda
mov ebx, dword [esp + 0x38]
lea edx, [ecx*4]
add ecx, 1
mov dword [esp + 0x60], edx
lea edx, [esi + 0xc]
add esi, 0xd
mov dword [esp + 0x3c], ecx
lea ecx, [eax + eax + 1]
mov edi, dword [esp + 0x78]
shl ecx, 3
mov eax, ebp
add ebx, edx
add edx, ecx
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x38]
add ecx, esi
mov dword [esp + 0x50], edx
xor edx, edx
mov dword [esp + 0x48], ecx
add ebx, esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x4c], ebx
mov ebx, edx
lea esi, [esp + esi + 0x560]
mov dword [esp + 0x5c], esi
jmp 0x6fd0eb46
lea edx, [ebx + 1]
cmp edx, 0xffff
mov dword [esp + 0x38], edx
jbe 0x6fd0eee0
shr edx, 0x10
sub edx, 1
cmp edx, 0xff
ja 0x6fd135e6
mov ecx, 0x20
add ecx, dword [edx*4 + 0x707554e0]
imul edi, ecx
mov edx, dword [esp + 0x54]
mov ecx, dword [ebp + 0x9dbb8]
imul edx, dword [esp + 0x118]
add edx, dword [esp + 0x58]
mov esi, dword [ebp + 0x9dbc8]
mov dword [esp + 0xe8], edi
add ecx, edx
mov dword [esp + 0xf0], ecx
mov ecx, dword [ebp + 0x9dbbc]
mov dword [esp + 0xec], ebx
add ecx, edx
mov dword [esp + 0xf4], ecx
mov ecx, dword [ebp + 0x9dbc0]
add ecx, edx
mov dword [esp + 0xf8], ecx
mov ecx, dword [ebp + 0x9dbc4]
add ecx, edx
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0x6c]
imul ecx, dword [esp + 0x11c]
add ecx, dword [esp + 0x64]
add esi, ecx
add ecx, dword [ebp + 0x9dbcc]
mov dword [esp + 0x100], esi
mov dword [esp + 0x104], ecx
mov ecx, dword [eax + ebx*4 + 0x9deb8]
lea edx, [ecx + edx*2]
mov dword [esp + 0x114], edx
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x120]
mov byte [eax + edx + 0x9e0d0], bl
mov edx, dword [esp + 0x4c]
mov byte [eax + edx + 0x9e0d0], bl
mov edx, dword [esp + 0x50]
mov byte [eax + edx + 0x9e0d0], bl
mov edx, dword [esp + 0x48]
mov byte [eax + edx + 0x9e0d0], bl
mov edx, dword [esp + 0x60]
lea ebx, [ebx + ebx*4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x28], eax
call fcn.6fcf4d10
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0xe0]
mov eax, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
lea edx, [esp + ebx*8 + 0x2e0]
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.6fd3c130
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x130]
add edi, dword [esp + 0x12c]
mov eax, dword [esp + 0x28]
lea edx, [ebx + esi + 0x1e]
mov ebx, dword [esp + 0x134]
mov dword [esp + edx*8 + 0x1f0], ecx
mov dword [esp + 0x12c], edi
mov dword [esp + edx*8 + 0x1f4], ebx
mov edx, dword [esp + 0x40]
cmp edi, dword [edx + 0x4c]
jge 0x6fd0eb2e
mov edi, dword [esp + 0x5c]
mov ecx, 0x16
mov esi, dword [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0x38]
add ebp, 0x18
cmp ebx, dword [esp + 0x68]
jg 0x6fd0eef0
mov edi, dword [esp + 0x1e4]
mov edx, dword [eax + 0x38fc0]
sub edx, 1
cmp edx, 1
je 0x6fd0eed2
jle 0x6fd0eed0
cmp ebx, 0xfe
ja 0x6fd0e985
lea edx, [ebx + 1]
mov ecx, dword [ebx*4 + 0x707554e0]
mov dword [esp + 0x38], edx
jmp 0x6fd0e9b6
mov eax, dword [esp + 0x1f4]
test eax, eax
jne 0x6fd0ebb5
mov eax, dword [ebp + 0x9e694]
mov esi, 0x10000000
test eax, eax
jne 0x6fd0e54f
mov dword [esp + 4], 1
mov dword [esp], ebp
call fcn.6fd15870
mov ebx, eax
jmp 0x6fd0e54f
mov dword [esp + 0xc], 0x20
mov eax, dword [ebp + 0x9dbac]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba0]
mov dword [esp], eax
call dword [ebp + 0x9f580]
mov dword [esp + 0xc], 0x20
mov esi, eax
mov eax, dword [ebp + 0x9dbb0]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba4]
mov dword [esp], eax
call dword [ebp + 0x9f58c]
mov dword [esp + 0xc], 0x20
add esi, eax
mov eax, dword [ebp + 0x9dbb4]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba8]
mov dword [esp], eax
call dword [ebp + 0x9f58c]
add esi, eax
mov eax, dword [esp + 0x1e8]
lea eax, [eax + eax*2]
add eax, eax
cmp eax, esi
jl 0x6fd0e54f
mov dword [ebp + 0x9d694], 0x12
lea edx, [esp + 0x1e4]
mov eax, ebp
call fcn.6fd04bc0
jmp 0x6fd0dab1
mov dword [esp + 0xc], 0x20
mov eax, dword [ebp + 0x9dbac]
mov dword [esp + 4], 0x10
mov dword [esp + 0x29b4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba0]
mov dword [esp], eax
call dword [ebp + 0x9f5d4]
mov dword [esp + 0xc], 0x20
mov ebx, eax
mov dword [esp + 0x29b4], eax
mov eax, dword [esp + 0x1e4]
add eax, ebx
mov dword [esp + 0x29bc], eax
mov eax, dword [ebp + 0x9dbac]
mov dword [esp + 4], 0x10
add eax, 8
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba0]
add eax, 8
mov dword [esp], eax
call dword [ebp + 0x9f5d4]
mov dword [esp + 0xc], 0x20
add ebx, eax
add eax, dword [esp + 0x1e4]
mov dword [esp + 0x29b4], ebx
mov dword [esp + 0x29c0], eax
mov eax, dword [ebp + 0x9dbac]
mov dword [esp + 4], 0x10
add eax, 0x100
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba0]
sub eax, 0xffffff80
mov dword [esp], eax
call dword [ebp + 0x9f5d4]
mov dword [esp + 0xc], 0x20
add ebx, eax
add eax, dword [esp + 0x1e4]
mov dword [esp + 0x29b4], ebx
mov dword [esp + 0x29c4], eax
mov eax, dword [ebp + 0x9dbac]
mov dword [esp + 4], 0x10
add eax, 0x108
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba0]
add eax, 0x88
mov dword [esp], eax
call dword [ebp + 0x9f5d4]
mov edx, dword [esp + 0x1e4]
lea ecx, [eax + edx]
add eax, ebx
add edx, eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x29c8], ecx
mov dword [esp + 0x29b4], edx
test eax, eax
je 0x6fd0e578
cmp edx, dword [esp + 0x1fc]
jge 0x6fd0edb0
mov dword [esp + 0x1fc], edx
mov edx, dword [ebp + 0x9d6ac]
mov dword [ebp + 0x9d694], 7
mov ebx, dword [esp + 0x1e8]
mov dword [esp], ebp
mov dword [esp + 0x38], edx
call fcn.6fd15280
mov dword [esp + 0xc], 0x20
mov eax, dword [ebp + 0x9dbac]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba0]
mov dword [esp], eax
call dword [ebp + 0x9f580]
mov dword [esp + 0xc], 0x20
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x9dbb0]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba4]
mov dword [esp], eax
call dword [ebp + 0x9f58c]
mov dword [esp + 0xc], 0x20
add eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x9dbb4]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba8]
mov dword [esp], eax
call dword [ebp + 0x9f58c]
add eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x9d694]
cmp eax, 0x12
jne 0x6fd10e05
mov ecx, dword [esp + 0x38]
add ebx, dword [esp + 0x3c]
mov dword [ebp + 0x9d6ac], ecx
mov dword [esp + 0x29b4], ebx
jmp 0x6fd0e578
mov dword [esp], ebp
call fcn.6fcf7fa0
mov dword [esp + 4], 1
mov dword [esp], ebp
call fcn.6fd15870
mov ebx, eax
jmp 0x6fd0e516
mov dword [esp], ebp
call fcn.6fcf7fa0
mov dword [esp + 4], 1
mov dword [esp], ebp
call fcn.6fd15870
mov ebx, eax
jmp 0x6fd0e4b8
xor edi, edi
lea edx, [ebx + 1]
mov dword [esp + 0x38], edx
jmp 0x6fd0e9b9
mov ecx, 0x10
shr edx, 8
sub edx, 1
jmp 0x6fd0e9af
mov ebp, eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x1e4]
mov ebx, dword [eax + 0x4c]
mov dword [esp + 0x78], edx
mov edx, dword [eax + 0x54]
mov ecx, dword [eax + 0x50]
mov eax, dword [esp + 0x44]
add ebx, dword [esp + 0x78]
mov word [ebp + eax*4 + 0x9e160], cx
mov word [ebp + eax*4 + 0x9e162], dx
mov eax, dword [esp + 0x4c]
mov word [ebp + eax*4 + 0x9e160], cx
mov word [ebp + eax*4 + 0x9e162], dx
mov eax, dword [esp + 0x50]
mov word [ebp + eax*4 + 0x9e160], cx
mov word [ebp + eax*4 + 0x9e162], dx
mov eax, dword [esp + 0x48]
mov word [ebp + eax*4 + 0x9e160], cx
mov ecx, dword [esp + 0x3c]
mov word [ebp + eax*4 + 0x9e162], dx
mov eax, dword [esp + 0x40]
cmp ecx, 4
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x44]
mov byte [ebp + eax + 0x9e0d0], dl
mov eax, dword [esp + 0x4c]
mov byte [ebp + eax + 0x9e0d0], dl
mov eax, dword [esp + 0x50]
mov byte [ebp + eax + 0x9e0d0], dl
mov eax, dword [esp + 0x48]
mov byte [ebp + eax + 0x9e0d0], dl
mov edx, dword [esp + 0x40]
mov dword [edx + 0x4c], ebx
jne 0x6fd0e85f
mov esi, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x5ac]
add ecx, dword [esp + 0x604]
add ecx, dword [esp + 0x65c]
add ecx, dword [esp + 0x6b4]
test esi, esi
mov dword [esp + 0x2dc], ecx
je 0x6fd0f02c
cmp ecx, dword [esp + 0x1fc]
jge 0x6fd0efe3
mov dword [esp + 0x1fc], ecx
mov edx, dword [esp + 0x1e8]
mov eax, ebp
mov dword [ebp + 0x9d694], 5
mov dword [ebp + 0x9d6a8], 3
mov dword [ebp + 0x9d6a4], 3
mov dword [ebp + 0x9d6a0], 3
mov dword [ebp + 0x9d69c], 3
call fcn.6fd09340
mov ecx, eax
mov dword [esp + 0x2dc], eax
mov ebx, dword [esp + 0x2d0]
cmp ecx, ebx
mov dword [esp + 0x80], ebx
jge 0x6fd0e1a1
mov dword [ebp + 0x9d6a8], 3
mov dword [ebp + 0x9d6a4], 3
mov dword [ebp + 0x9d6a0], 3
mov dword [ebp + 0x9d69c], 3
mov dword [esp + 0x80], ecx
mov dword [esp + 0x38], 0xd
mov dword [esp + 0x40], 5
jmp 0x6fd0e1b3
mov eax, dword [esp + 0x20c]
mov edx, dword [esp + 0x80]
jmp 0x6fd0e2c1
mov dword [esp + 4], 0
xor ebx, ebx
mov dword [esp], ebp
call fcn.6fcf58e0
mov dword [esp + 0x29ec], eax
jmp 0x6fd0e52a
mov ecx, ebx
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x40], 4
mov eax, dword [ebp + 0x174]
mov ebx, dword [esp + 0x40]
test eax, eax
mov dword [ebp + 0x9d694], ebx
jne 0x6fd10b3b
mov dword [ebp + 0x9e674], 0
jmp 0x6fd0e23d
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.6fd15870
test eax, eax
jne 0x6fd12c12
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
jmp 0x6fd0e456
mov dword [esp], ebp
call fcn.6fcf7fa0
jmp 0x6fd0e53c
mov eax, dword [ebp + 0x38fc0]
mov edi, dword [esp + 0x290]
mov esi, dword [esp + 0x1e4]
sub eax, 1
cmp eax, 1
je 0x6fd0f194
jle 0x6fd10f79
cmp edi, 0xfe
jbe 0x6fd10bff
lea eax, [edi + 1]
cmp eax, 0xffff
jbe 0x6fd10e9d
shr eax, 0x10
mov ecx, 0x30
sub eax, 1
mov edx, 0x20
cmp eax, 0xff
jbe 0x6fd0f18a
shr eax, 8
mov edx, ecx
sub eax, 1
add edx, dword [eax*4 + 0x707554e0]
imul esi, edx
lea eax, [edi + edi*2]
mov edx, dword [esp + 0x2d4]
lea eax, [ebp + eax*8 + 0x9dbb0]
mov dword [esp + 0x3c], eax
mov ebx, eax
lea eax, [edi + edi*4]
add ebx, 8
lea eax, [esp + eax*8 + 0x2d4]
lea ecx, [eax + 0xc]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x2d8]
mov dword [eax + 0xc], edx
mov dword [ebp + 0x9d698], 0xd
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x560], 3
mov dword [esp + 0x568], esi
mov dword [esp + 0x564], eax
mov eax, dword [ebp + 0x9df38]
mov dword [esp + 0x56c], edi
mov dword [esp + 0x598], eax
mov eax, dword [ebp + 0x9df3c]
mov dword [esp + 0x59c], eax
mov eax, dword [ebp + 0x9dba0]
mov dword [esp + 0x588], eax
mov eax, dword [ebp + 0x9dba4]
mov dword [esp + 0x58c], eax
mov eax, dword [ebp + 0x9dba8]
mov dword [esp + 0x590], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x570], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x574], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x578], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x57c], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x580], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x584], eax
lea eax, [edi + 0x277ac]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + eax*4 + 8]
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp + 0x594], eax
lea eax, [esp + 0x5a0]
mov dword [esp + 0x10], eax
mov dword [esp], ebp
call fcn.6fcf4d10
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x560]
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], ecx
mov dword [esp], ebp
call fcn.6fd3c130
mov edx, dword [ebp + 0x3a548]
mov eax, dword [esp + 0x5b0]
mov ecx, dword [ebp + 0x3a550]
cmp edx, eax
jg 0x6fd0f307
cmp eax, ecx
mov edx, ecx
cmovle edx, eax
mov eax, dword [ebp + 0x3a554]
mov ecx, dword [esp + 0x5b4]
mov dword [esp + 0x5b0], edx
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x3a54c]
cmp eax, ecx
jg 0x6fd0f334
mov eax, dword [esp + 0x44]
cmp ecx, dword [esp + 0x44]
cmovle eax, ecx
mov dword [esp + 0x5b4], eax
mov ecx, dword [esp + 0x38]
mov word [ebp + 0x9e192], ax
mov word [ebp + 0x9e196], ax
mov word [ebp + 0x9e1b2], ax
mov word [ebp + 0x9e1b6], ax
mov eax, dword [esp + 0x5b0]
mov word [ebp + 0x9e190], dx
mov word [ebp + 0x9e194], dx
mov word [ebp + 0x9e1b0], dx
mov word [ebp + 0x9e1b4], dx
mov edx, dword [esp + 0x5b4]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x5ac]
mov dword [ecx + 0xc], edx
add eax, esi
add eax, dword [esp + 0x1e4]
mov dword [esp + 0x5b8], 3
mov dword [esp + 0x5c0], esi
mov dword [esp + 0x5ac], eax
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x5c4], edi
mov dword [esp + 0x5bc], eax
mov eax, dword [ebp + 0x9df38]
mov dword [esp + 0x5f0], eax
mov eax, dword [ebp + 0x9df3c]
mov dword [esp + 0x5f4], eax
mov eax, dword [ebp + 0x9dba0]
add eax, 8
mov dword [esp + 0x5e0], eax
mov eax, dword [ebp + 0x9dba4]
add eax, 4
mov dword [esp + 0x5e4], eax
mov eax, dword [ebp + 0x9dba8]
add eax, 4
mov dword [esp + 0x5e8], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 8]
mov dword [esp + 0x34], eax
add eax, 8
mov edx, dword [esp + 0x40]
mov dword [esp + 0x5c8], eax
mov eax, dword [ebx + 4]
mov edx, dword [ebp + edx*4 + 8]
add eax, 8
mov dword [esp + 0x5cc], eax
mov eax, dword [ebx + 8]
add eax, 8
mov dword [esp + 0x5d0], eax
mov eax, dword [ebx + 0xc]
add eax, 8
mov dword [esp + 0x5d4], eax
mov eax, dword [ebx + 0x10]
add eax, 4
mov dword [esp + 0x5d8], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0xc], 2
mov dword [esp + 8], 4
mov dword [esp + 4], 0
add eax, 4
mov dword [esp + 0x5dc], eax
mov eax, edx
add eax, 0x10
mov dword [esp + 0x5ec], eax
lea eax, [esp + 0x5f8]
mov dword [esp + 0x10], eax
mov dword [esp], ebp
call fcn.6fcf4d10
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x5b8]
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], ecx
mov dword [esp], ebp
call fcn.6fd3c130
mov edx, dword [ebp + 0x3a548]
mov eax, dword [esp + 0x608]
mov ecx, dword [ebp + 0x3a550]
cmp edx, eax
jg 0x6fd0f4f1
cmp eax, ecx
mov edx, ecx
cmovle edx, eax
mov eax, dword [ebp + 0x3a554]
mov ecx, dword [esp + 0x60c]
mov dword [esp + 0x608], edx
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x3a54c]
cmp eax, ecx
jg 0x6fd0f51e
mov eax, dword [esp + 0x44]
cmp ecx, dword [esp + 0x44]
cmovle eax, ecx
mov dword [esp + 0x60c], eax
mov ecx, dword [esp + 0x38]
mov word [ebp + 0x9e19a], ax
mov word [ebp + 0x9e19e], ax
mov word [ebp + 0x9e1ba], ax
mov word [ebp + 0x9e1be], ax
mov eax, dword [esp + 0x608]
mov word [ebp + 0x9e198], dx
mov word [ebp + 0x9e19c], dx
mov word [ebp + 0x9e1b8], dx
mov word [ebp + 0x9e1bc], dx
mov edx, dword [esp + 0x60c]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x604]
mov dword [ecx + 0x14], edx
mov ecx, dword [esp + 0x3c]
add eax, esi
mov edx, dword [ebp + 0x9df3c]
add eax, dword [esp + 0x1e4]
mov dword [esp + 0x610], 3
mov dword [esp + 0x618], esi
mov dword [esp + 0x604], eax
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x64c], edx
mov edx, dword [ecx + 8]
mov dword [esp + 0x61c], edi
mov dword [esp + 0x614], eax
mov eax, dword [ebp + 0x9df38]
mov dword [esp + 0x648], eax
mov eax, dword [ebp + 0x9dba0]
sub eax, 0xffffff80
mov dword [esp + 0x638], eax
mov eax, dword [ebp + 0x9dba4]
add eax, 0x40
mov dword [esp + 0x63c], eax
mov eax, dword [ebp + 0x9dba8]
add eax, 0x40
mov dword [esp + 0x640], eax
mov eax, dword [ebp + 0x9df38]
shl eax, 3
add edx, eax
mov dword [esp + 0x620], edx
mov edx, dword [ebx + 4]
add edx, eax
mov dword [esp + 0x624], edx
mov edx, dword [ebx + 8]
add edx, eax
add eax, dword [ebx + 0xc]
mov dword [esp + 0x628], edx
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x62c], eax
mov eax, dword [ebp + 0x9df3c]
shl eax, 2
add edx, eax
add eax, dword [ebx + 0x14]
mov dword [esp + 0x630], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x634], eax
mov eax, dword [ebp + 0x9df38]
shl eax, 4
add eax, dword [ebp + edx*4 + 8]
mov dword [esp + 0xc], 2
mov dword [esp + 8], 8
mov dword [esp + 0x644], eax
lea eax, [esp + 0x650]
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.6fcf4d10
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x610]
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 3
mov dword [esp + 8], ecx
mov dword [esp], ebp
call fcn.6fd3c130
mov edx, dword [ebp + 0x3a548]
mov eax, dword [esp + 0x660]
mov ecx, dword [ebp + 0x3a550]
cmp edx, eax
jg 0x6fd0f6e3
cmp eax, ecx
mov edx, ecx
cmovle edx, eax
mov eax, dword [ebp + 0x3a554]
mov ecx, dword [esp + 0x664]
mov dword [esp + 0x660], edx
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x3a54c]
cmp eax, ecx
jg 0x6fd0f710
mov eax, dword [esp + 0x44]
cmp ecx, dword [esp + 0x44]
cmovle eax, ecx
mov dword [esp + 0x664], eax
mov ecx, dword [esp + 0x38]
mov word [ebp + 0x9e1d2], ax
mov word [ebp + 0x9e1d6], ax
mov word [ebp + 0x9e1f2], ax
mov word [ebp + 0x9e1f6], ax
mov eax, dword [esp + 0x660]
mov word [ebp + 0x9e1d0], dx
mov word [ebp + 0x9e1d4], dx
mov word [ebp + 0x9e1f0], dx
mov word [ebp + 0x9e1f4], dx
mov edx, dword [esp + 0x664]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x65c]
mov dword [ecx + 0x1c], edx
mov edx, dword [ebp + 0x9df38]
add eax, esi
mov ecx, dword [ebp + 0x9df3c]
add eax, dword [esp + 0x1e4]
mov dword [esp + 0x674], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x6a0], edx
mov dword [esp + 0x65c], eax
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x6a4], ecx
mov dword [esp + 0x668], 3
mov dword [esp + 0x670], esi
mov dword [esp + 0x66c], eax
mov eax, dword [ebp + 0x9dba0]
add eax, 0x88
mov dword [esp + 0x690], eax
mov eax, dword [ebp + 0x9dba4]
add eax, 0x44
mov dword [esp + 0x694], eax
mov eax, dword [ebp + 0x9dba8]
add eax, 0x44
mov dword [esp + 0x698], eax
lea eax, [edx*8 + 8]
mov edx, dword [edi + 8]
add edx, eax
mov dword [esp + 0x678], edx
mov edx, dword [ebx + 4]
add edx, eax
mov dword [esp + 0x67c], edx
mov edx, dword [ebx + 8]
add edx, eax
mov dword [esp + 0x680], edx
mov edx, dword [ebx + 0xc]
add edx, eax
mov dword [esp + 0x684], edx
lea edx, [ecx*4 + 4]
mov ecx, dword [ebx + 0x10]
add ecx, edx
mov dword [esp + 0x688], ecx
mov ecx, dword [esp + 0x40]
add edx, dword [ebx + 0x14]
mov dword [esp + 0x68c], edx
mov edx, dword [ebp + ecx*4 + 8]
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0
lea eax, [edx + eax*2]
mov dword [esp + 0x69c], eax
lea eax, [esp + 0x6a8]
mov dword [esp + 0x10], eax
mov dword [esp], ebp
call fcn.6fcf4d10
mov ebx, dword [esp + 0x38]
lea eax, [esp + 0x668]
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 4
mov dword [esp + 8], ebx
mov dword [esp], ebp
call fcn.6fd3c130
mov edx, dword [ebp + 0x3a548]
mov eax, dword [esp + 0x6b8]
mov ecx, dword [ebp + 0x3a550]
cmp edx, eax
jg 0x6fd0f8cf
cmp eax, ecx
mov edx, ecx
cmovle edx, eax
mov eax, dword [ebp + 0x3a54c]
mov ecx, dword [esp + 0x6bc]
mov dword [esp + 0x6b8], edx
mov ebx, dword [ebp + 0x3a554]
cmp eax, ecx
jg 0x6fd0f8f4
cmp ecx, ebx
mov eax, ebx
cmovle eax, ecx
mov dword [esp + 0x6bc], eax
mov edi, dword [esp + 0x38]
mov word [ebp + 0x9e1d8], dx
mov ecx, dword [esp + 0x6b4]
mov word [ebp + 0x9e1dc], dx
mov ebx, dword [esp + 0x290]
mov word [ebp + 0x9e1f8], dx
mov word [ebp + 0x9e1fc], dx
mov edx, dword [esp + 0x6bc]
mov word [ebp + 0x9e1da], ax
add ecx, esi
mov word [ebp + 0x9e1de], ax
mov word [ebp + 0x9e1fa], ax
mov word [ebp + 0x9e1fe], ax
mov eax, dword [esp + 0x6b8]
mov dword [edi + 0x24], edx
mov edx, dword [esp + 0x1e4]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x5ac]
add eax, dword [esp + 0x604]
add ecx, edx
add eax, dword [esp + 0x65c]
mov dword [esp + 0x6b4], ecx
add ecx, eax
mov eax, dword [ebp + 0x38fc0]
sub eax, 1
cmp eax, 1
je 0x6fd0f9db
jle 0x6fd10f80
cmp ebx, 0xfe
jbe 0x6fd10bf3
add ebx, 1
cmp ebx, 0xffff
jbe 0x6fd10e91
shr ebx, 0x10
mov esi, 0x30
sub ebx, 1
mov eax, 0x20
cmp ebx, 0xff
jbe 0x6fd0f9d1
shr ebx, 8
mov eax, esi
sub ebx, 1
add eax, dword [ebx*4 + 0x707554e0]
imul edx, eax
mov ebx, dword [esp + 0x1f4]
sub ecx, edx
mov dword [esp + 0x2dc], ecx
test ebx, ebx
je 0x6fd0f02c
cmp ecx, dword [esp + 0x1fc]
jge 0x6fd0fa03
mov dword [esp + 0x1fc], ecx
mov dword [ebp + 0x9d694], 5
mov edi, dword [ebp + 0x9d6ac]
mov dword [ebp + 0x9d6a8], 3
mov ebx, dword [esp + 0x1e8]
mov dword [ebp + 0x9d6a4], 3
mov dword [ebp + 0x9d6a0], 3
mov dword [ebp + 0x9d69c], 3
mov dword [esp], ebp
call fcn.6fd15280
mov dword [esp + 0xc], 0x20
mov eax, dword [ebp + 0x9dbac]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba0]
mov dword [esp], eax
call dword [ebp + 0x9f580]
mov dword [esp + 0xc], 0x20
mov esi, eax
mov eax, dword [ebp + 0x9dbb0]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba4]
mov dword [esp], eax
call dword [ebp + 0x9f58c]
mov dword [esp + 0xc], 0x20
add esi, eax
mov eax, dword [ebp + 0x9dbb4]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba8]
mov dword [esp], eax
call dword [ebp + 0x9f58c]
add esi, eax
mov eax, dword [ebp + 0x9d694]
cmp eax, 0x12
jne 0x6fd10d95
lea ecx, [ebx + esi]
mov dword [ebp + 0x9d6ac], edi
mov dword [esp + 0x2dc], ecx
jmp 0x6fd0f02c
lea edx, [esp + 0x1e4]
mov eax, ebp
call fcn.6fd0a520
mov edx, dword [esp + 0x29b8]
mov ecx, dword [esp + 0x80]
cmp edx, ecx
jge 0x6fd0e5f5
mov ecx, dword [ebp + 0x9d69c]
cmp ecx, dword [ebp + 0x9d6a0]
mov dword [esp + 0x80], edx
je 0x6fd1108a
mov esi, dword [ebp + 0x9d6a4]
mov edi, 0xd
mov ebx, 0x11
cmp esi, dword [ebp + 0x9d6a8]
je 0x6fd1108a
cmp esi, ecx
je 0x6fd11edd
mov eax, dword [ebp + 0x9d6a8]
cmp dword [ebp + 0x9d6a0], eax
je 0x6fd11edd
cmp dword [esp + 0x1f4], 0
mov dword [ebp + 0x9d698], edi
jne 0x6fd131d4
cmp edi, 0xe
je 0x6fd10b97
mov esi, dword [ebp + 0x9d69c]
cmp esi, 0xc
je 0x6fd0fbb2
mov edx, dword [esi*4 + 0x70759060]
xor ecx, ecx
cmp esi, 0xb
sete cl
mov edi, ecx
test edx, edx
jne 0x6fd12c8b
mov eax, dword [esi*4 + 0x707590a4]
test eax, eax
jne 0x6fd12c35
mov esi, dword [ebp + 0x9d6a0]
cmp esi, 0xc
je 0x6fd0fbe5
xor eax, eax
cmp esi, 0xb
sete al
mov edi, eax
mov eax, dword [esi*4 + 0x70759060]
test eax, eax
jne 0x6fd12f0b
mov eax, dword [esi*4 + 0x707590a4]
test eax, eax
jne 0x6fd12eb5
mov esi, dword [ebp + 0x9d6a4]
cmp esi, 0xc
je 0x6fd0fc18
mov eax, dword [esi*4 + 0x70759060]
xor edx, edx
cmp esi, 0xb
sete dl
mov edi, edx
test eax, eax
jne 0x6fd12fbd
mov eax, dword [esi*4 + 0x707590a4]
test eax, eax
jne 0x6fd12f67
mov esi, dword [ebp + 0x9d6a8]
cmp esi, 0xc
je 0x6fd0fc4b
mov eax, dword [esi*4 + 0x70759060]
xor ecx, ecx
cmp esi, 0xb
sete cl
mov edi, ecx
test eax, eax
jne 0x6fd12e0b
mov ecx, dword [esi*4 + 0x707590a4]
test ecx, ecx
jne 0x6fd12db5
mov ecx, dword [esp + 0x80]
mov edi, 0xd
jmp 0x6fd0e650
mov eax, dword [esp + 0x280]
shl eax, 4
add eax, dword [esp + 0x1618]
mov esi, dword [ebp + eax*4 + 0x9ea98]
mov eax, dword [ebp + 0x9d698]
cmp eax, 0xe
je 0x6fd10f87
jg 0x6fd10d44
cmp eax, 0xd
jne 0x6fd0e68e
cmp dword [ebp + 0x9d69c], 0xb
je 0x6fd13040
cmp dword [ebp + 0x9d6a0], 0xb
je 0x6fd13019
cmp dword [ebp + 0x9d6a4], 0xb
je 0x6fd12e67
cmp dword [ebp + 0x9d6a8], 0xb
jne 0x6fd0e68e
lea eax, [esp + 0x1a00]
mov dword [esp + 8], eax
lea eax, [esp + 0x668]
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd408d0
jmp 0x6fd0e68e
lea esi, [esp + 0xe0]
mov ebx, ebp
lea edx, [esp + 0x120]
lea ecx, [esp + 0xa8]
mov dword [ebp + 0x9d698], 0xe
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x68], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], esi
mov dword [esp + 0x58], edx
mov dword [esp + 0x50], ecx
imul eax, dword [esp + 0x4c], 0x58
mov ecx, dword [esp + 0x68]
lea edi, [esp + 0x14b4]
mov dword [esp + 0xe0], 1
lea eax, [esp + eax + 0x14b4]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x68]
mov edx, dword [esp + eax*2 + 0x56c]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x8c], edx
lea eax, [eax + eax + 1]
mov dword [esp + 0x74], eax
mov eax, dword [esp + ecx*2 + 0x5c4]
cmp edx, eax
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x90], eax
setne al
add edi, ecx
movzx eax, al
add eax, 1
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x1f0]
shl edx, 3
mov dword [esp + 0x64], edx
sar edx, 1
mov dword [esp + 0x60], edx
mov dword [esp + 0xe4], eax
mov eax, dword [ebp + 0x9df38]
mov dword [esp + 0x118], eax
mov eax, dword [ebp + 0x9df3c]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x4c]
add dword [esp + 0x4c], 1
shl eax, 7
add eax, dword [ebp + 0x9dba0]
mov dword [esp + 0x108], eax
mov eax, edx
mov edx, dword [ebp + 0x9dba4]
shl eax, 4
add edx, eax
add eax, dword [ebp + 0x9dba8]
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x54]
add edx, edx
mov dword [eax + 0x4c], 0x7fffffff
mov dword [esp + 0x70], edx
mov dword [esp + 0x44], 0
mov dword [esp + 0x78], edi
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x1e4]
mov eax, dword [esp + edx*4 + 0x8c]
mov edx, dword [ebp + 0x38fc0]
mov dword [esp + 0x5c], ecx
sub edx, 1
cmp edx, 1
je 0x6fd0fea0
jle 0x6fd10b2e
cmp eax, 0xfe
jbe 0x6fd1085a
lea edx, [eax + 1]
cmp edx, 0xffff
jbe 0x6fd10a20
shr edx, 0x10
mov esi, 0x30
sub edx, 1
mov ecx, 0x20
cmp edx, 0xff
jbe 0x6fd0fe90
shr edx, 8
mov ecx, esi
sub edx, 1
add ecx, dword [edx*4 + 0x707554e0]
imul ecx, dword [esp + 0x5c]
mov dword [esp + 0x5c], ecx
lea edx, [eax + eax*4]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + edx*8 + 0x2e4]
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], esi
mov esi, dword [esp + edx*8 + 0x2e0]
mov dword [esp + 0xac], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0xa8], esi
lea ecx, [edi + edx + 0x1e]
mov edi, dword [esp + ecx*8 + 0x1f4]
mov esi, dword [esp + ecx*8 + 0x1f0]
mov ecx, dword [esp + 0x64]
imul ecx, dword [esp + 0x118]
mov dword [esp + 0xb4], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0xb0], esi
lea edx, [edi + edx + 0x1e]
mov esi, dword [esp + edx*8 + 0x1f0]
mov edi, dword [esp + edx*8 + 0x1f4]
lea edx, [eax + eax*2]
lea edx, [ebp + edx*8]
mov dword [esp + 0xb8], esi
mov esi, dword [edx + 0x9dbb8]
mov dword [esp + 0xbc], edi
mov edi, dword [edx + 0x9dbc8]
add esi, ecx
mov dword [esp + 0xf0], esi
mov esi, dword [edx + 0x9dbbc]
add esi, ecx
mov dword [esp + 0xf4], esi
mov esi, dword [edx + 0x9dbc0]
add esi, ecx
mov dword [esp + 0xf8], esi
mov esi, dword [edx + 0x9dbc4]
add esi, ecx
mov dword [esp + 0xfc], esi
mov esi, dword [esp + 0x60]
imul esi, dword [esp + 0x11c]
add edi, esi
add esi, dword [edx + 0x9dbcc]
mov edx, dword [ebp + eax*4 + 0x9deb8]
mov dword [esp + 0x100], edi
mov dword [esp + 0x104], esi
lea edx, [edx + ecx*2]
mov dword [esp + 0x114], edx
mov edx, dword [esp + 0x58]
mov byte [ebx + 0x9e0dc], al
mov byte [ebx + 0x9e0dd], al
mov byte [ebx + 0x9e0de], al
mov byte [ebx + 0x9e0df], al
mov byte [ebx + 0x9e0e4], al
mov byte [ebx + 0x9e0e5], al
mov byte [ebx + 0x9e0e6], al
mov byte [ebx + 0x9e0e7], al
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], ebp
call fcn.6fcf4d10
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 3
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], ebp
call fcn.6fd3c130
mov eax, dword [ebp + 0x3a548]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x5c]
add edx, dword [esp + 0x12c]
mov esi, dword [ebp + 0x3a550]
cmp eax, ecx
mov dword [esp + 0x12c], edx
jg 0x6fd10051
cmp ecx, esi
mov eax, esi
cmovle eax, ecx
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x134]
mov eax, dword [ebp + 0x3a54c]
mov esi, dword [ebp + 0x3a554]
cmp eax, ecx
jg 0x6fd10076
cmp ecx, esi
mov eax, esi
cmovle eax, ecx
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x54]
cmp edx, dword [eax + 0x4c]
jge 0x6fd10095
mov edi, dword [esp + 0x78]
mov ecx, 0x16
mov esi, dword [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x6c]
cmp dword [esp + 0x44], edx
jl 0x6fd0fe2c
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x3c]
add dword [esp + 0x68], 0x58
mov eax, dword [edx + 0x54]
mov ecx, edx
mov edx, dword [edx + 0x50]
mov word [esi + 0x9e192], ax
mov word [esi + 0x9e196], ax
mov word [esi + 0x9e19a], ax
mov word [esi + 0x9e19e], ax
mov word [esi + 0x9e1b2], ax
mov word [esi + 0x9e1b6], ax
mov word [esi + 0x9e1ba], ax
mov word [esi + 0x9e1be], ax
mov eax, dword [ecx + 0xc]
mov word [esi + 0x9e190], dx
mov word [esi + 0x9e194], dx
mov word [esi + 0x9e198], dx
mov word [esi + 0x9e19c], dx
mov word [esi + 0x9e1b0], dx
mov word [esi + 0x9e1b4], dx
mov word [esi + 0x9e1b8], dx
mov word [esi + 0x9e1bc], dx
add esi, 0x40
mov byte [ebx + 0x9e0dc], al
mov byte [ebx + 0x9e0dd], al
mov byte [ebx + 0x9e0de], al
mov byte [ebx + 0x9e0df], al
mov byte [ebx + 0x9e0e4], al
mov byte [ebx + 0x9e0e5], al
mov byte [ebx + 0x9e0e6], al
mov byte [ebx + 0x9e0e7], al
add ebx, 0x10
cmp dword [esp + 0x4c], 2
mov dword [esp + 0x3c], esi
jne 0x6fd0fd35
mov eax, dword [esp + 0x1f4]
mov ebx, dword [esp + 0x1500]
add ebx, dword [esp + 0x1558]
test eax, eax
mov dword [esp + 0x14b0], ebx
je 0x6fd10267
cmp ebx, dword [esp + 0x1fc]
jge 0x6fd101a9
mov dword [esp + 0x1fc], ebx
mov dword [ebp + 0x9d694], 4
mov esi, dword [ebp + 0x9d6ac]
mov dword [esp], ebp
mov ebx, dword [esp + 0x1e8]
call fcn.6fd15280
mov dword [esp + 0xc], 0x20
mov eax, dword [ebp + 0x9dbac]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba0]
mov dword [esp], eax
call dword [ebp + 0x9f580]
mov dword [esp + 0xc], 0x20
mov edi, eax
mov eax, dword [ebp + 0x9dbb0]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba4]
mov dword [esp], eax
call dword [ebp + 0x9f58c]
mov dword [esp + 0xc], 0x20
add edi, eax
mov eax, dword [ebp + 0x9dbb4]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba8]
mov dword [esp], eax
call dword [ebp + 0x9f58c]
add edi, eax
mov eax, dword [ebp + 0x9d694]
cmp eax, 0x12
jne 0x6fd10f11
add ebx, edi
mov dword [ebp + 0x9d6ac], esi
mov dword [esp + 0x14b0], ebx
cmp dword [esp + 0x80], ebx
jle 0x6fd10287
mov dword [esp + 0x80], ebx
mov dword [esp + 0x38], 0xe
mov dword [esp + 0x40], 4
mov ebx, dword [esp + 0x7c]
lea eax, [esp + 0x1e4]
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [ebp + 0x9d698], 0xf
mov dword [esp + 0x3c], ebp
imul edx, eax, 0x58
lea esi, [eax*8]
mov dword [esp + 0xe0], 2
mov dword [esp + 0x44], 0
lea edx, [esp + edx + 0x1568]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + 0x388]
mov edx, dword [edx + 0x438]
mov dword [esp + 0x8c], ecx
cmp ecx, edx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x90], edx
setne dl
movzx edx, dl
add edx, 1
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x1f0]
add ecx, 0x1384
mov dword [esp + 0x78], ecx
mov dword [esp + 0xe4], edx
mov edx, dword [ebp + 0x9df38]
mov dword [esp + 0x118], edx
mov edx, dword [ebp + 0x9df3c]
mov dword [esp + 0x11c], edx
mov edx, dword [ebp + 0x9dba0]
add edx, esi
mov dword [esp + 0x108], edx
mov edx, esi
sar edx, 1
mov dword [esp + 0x54], edx
add edx, dword [ebp + 0x9dba4]
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0x54]
add edx, dword [ebp + 0x9dba8]
mov dword [esp + 0x110], edx
mov edx, dword [esp + 0x4c]
mov dword [edx + 0x4c], 0x7fffffff
lea edx, [eax + 1]
mov dword [esp + 0x6c], edx
lea edx, [eax + 3]
mov dword [esp + 0x5c], edx
mov edx, eax
shl edx, 4
shl eax, 2
mov dword [esp + 0x74], eax
mov eax, esi
mov dword [esp + 0x70], edx
mov ecx, dword [ebp + 0x38fc0]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x1e4]
sub ecx, 1
cmp ecx, 1
mov edx, dword [esp + esi*4 + 0x8c]
mov dword [esp + 0x7c], edi
je 0x6fd10406
jle 0x6fd10b21
cmp edx, 0xfe
jbe 0x6fd1084e
lea ecx, [edx + 1]
cmp ecx, 0xffff
jbe 0x6fd10a14
shr ecx, 0x10
mov esi, 0x30
sub ecx, 1
mov edi, 0x20
cmp ecx, 0xff
jbe 0x6fd103f6
shr ecx, 8
mov edi, esi
sub ecx, 1
add edi, dword [ecx*4 + 0x707554e0]
imul edi, dword [esp + 0x7c]
mov dword [esp + 0x7c], edi
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xec], edx
mov dword [esp + 0xe8], ecx
lea ecx, [edx + edx*4]
mov edi, dword [esp + ecx*8 + 0x2e4]
mov esi, dword [esp + ecx*8 + 0x2e0]
mov dword [esp + 0xac], edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0xa8], esi
lea edi, [edi + ecx + 0x1e]
mov esi, dword [esp + edi*8 + 0x1f0]
mov edi, dword [esp + edi*8 + 0x1f4]
mov dword [esp + 0xb0], esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0xb4], edi
lea ecx, [esi + ecx + 0x1e]
mov edi, dword [esp + ecx*8 + 0x1f4]
mov esi, dword [esp + ecx*8 + 0x1f0]
lea ecx, [edx + edx*2]
lea ecx, [ebp + ecx*8]
mov dword [esp + 0xbc], edi
mov edi, dword [ecx + 0x9dbb8]
mov dword [esp + 0xb8], esi
add edi, eax
mov dword [esp + 0xf0], edi
mov edi, dword [ecx + 0x9dbbc]
add edi, eax
mov dword [esp + 0xf4], edi
mov edi, dword [ecx + 0x9dbc0]
add edi, eax
mov dword [esp + 0xf8], edi
mov edi, dword [ecx + 0x9dbc4]
add edi, eax
mov dword [esp + 0xfc], edi
mov edi, dword [esp + 0x54]
add edi, dword [ecx + 0x9dbc8]
mov ecx, dword [ecx + 0x9dbcc]
add ecx, dword [esp + 0x54]
mov dword [esp + 0x100], edi
mov dword [esp + 0x104], ecx
mov ecx, dword [esp + 0x70]
add ecx, dword [ebp + edx*4 + 0x9deb8]
mov dword [esp + 0x114], ecx
mov byte [ebx + 0x9e0dc], dl
mov byte [ebx + 0x9e0dd], dl
mov byte [ebx + 0x9e0e4], dl
mov byte [ebx + 0x9e0e5], dl
mov byte [ebx + 0x9e0ec], dl
mov byte [ebx + 0x9e0ed], dl
mov byte [ebx + 0x9e0f4], dl
mov byte [ebx + 0x9e0f5], dl
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc], 2
mov dword [esp + 4], 0
mov dword [esp], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x28], eax
mov dword [esp + 8], edx
call fcn.6fcf4d10
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 3
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp], ebp
call fcn.6fd3c130
mov edx, dword [ebp + 0x3a548]
mov ecx, dword [esp + 0x130]
mov esi, dword [esp + 0x7c]
add esi, dword [esp + 0x12c]
mov edi, dword [ebp + 0x3a550]
cmp edx, ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x12c], esi
jg 0x6fd105ae
cmp ecx, edi
mov edx, edi
cmovle edx, ecx
mov dword [esp + 0x130], edx
mov ecx, dword [esp + 0x134]
mov edx, dword [ebp + 0x3a54c]
mov edi, dword [ebp + 0x3a554]
cmp edx, ecx
jg 0x6fd105d3
cmp ecx, edi
mov edx, edi
cmovle edx, ecx
mov dword [esp + 0x134], edx
mov edx, dword [esp + 0x4c]
cmp esi, dword [edx + 0x4c]
jge 0x6fd105f2
mov edi, dword [esp + 0x78]
mov ecx, 0x16
mov esi, dword [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x68]
cmp dword [esp + 0x44], edx
jl 0x6fd10391
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
add dword [esp + 0x64], 0x58
mov eax, dword [edx + 0x54]
mov ecx, edx
mov edx, dword [edx + 0x50]
mov word [esi + 0x9e192], ax
mov word [esi + 0x9e196], ax
mov word [esi + 0x9e1b2], ax
mov word [esi + 0x9e1b6], ax
mov word [esi + 0x9e1d2], ax
mov word [esi + 0x9e1d6], ax
mov word [esi + 0x9e1f2], ax
mov word [esi + 0x9e1f6], ax
mov eax, dword [ecx + 0xc]
mov word [esi + 0x9e190], dx
mov word [esi + 0x9e194], dx
mov word [esi + 0x9e1b0], dx
mov word [esi + 0x9e1b4], dx
mov word [esi + 0x9e1d0], dx
mov word [esi + 0x9e1d4], dx
mov word [esi + 0x9e1f0], dx
mov word [esi + 0x9e1f4], dx
add esi, 8
mov byte [ebx + 0x9e0dc], al
mov byte [ebx + 0x9e0dd], al
mov byte [ebx + 0x9e0e4], al
mov byte [ebx + 0x9e0e5], al
mov byte [ebx + 0x9e0ec], al
mov byte [ebx + 0x9e0ed], al
mov byte [ebx + 0x9e0f4], al
mov byte [ebx + 0x9e0f5], al
add ebx, 2
cmp dword [esp + 0x6c], 2
mov dword [esp + 0x3c], esi
jne 0x6fd10845
mov eax, dword [esp + 0x1f4]
xor esi, esi
mov ebx, dword [esp + 0x15b4]
add ebx, dword [esp + 0x160c]
test eax, eax
mov dword [esp + 0x1564], ebx
je 0x6fd107cd
cmp ebx, dword [esp + 0x1fc]
jge 0x6fd10708
mov dword [esp + 0x1fc], ebx
mov dword [ebp + 0x9d694], 4
mov esi, dword [ebp + 0x9d6ac]
mov dword [esp], ebp
mov ebx, dword [esp + 0x1e8]
call fcn.6fd15280
mov dword [esp + 0xc], 0x20
mov eax, dword [ebp + 0x9dbac]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba0]
mov dword [esp], eax
call dword [ebp + 0x9f580]
mov dword [esp + 0xc], 0x20
mov edi, eax
mov eax, dword [ebp + 0x9dbb0]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba4]
mov dword [esp], eax
call dword [ebp + 0x9f58c]
mov dword [esp + 0xc], 0x20
add edi, eax
mov eax, dword [ebp + 0x9dbb4]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba8]
mov dword [esp], eax
call dword [ebp + 0x9f58c]
add edi, eax
mov eax, dword [ebp + 0x9d694]
cmp eax, 0x12
jne 0x6fd10ea9
mov dword [ebp + 0x9d6ac], esi
mov esi, dword [esp + 0x1f4]
add ebx, edi
mov dword [esp + 0x1564], ebx
mov ecx, dword [esp + 0x80]
cmp ecx, ebx
jle 0x6fd0e1f7
test esi, esi
mov dword [esp + 0x80], ebx
mov dword [ebp + 0x9d698], 0xf
jne 0x6fd0f0be
mov dword [esp + 0x40], 4
lea eax, [esp + 0x1568]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x15c0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov ecx, dword [esp + 0x15b4]
add ecx, dword [esp + 0x160c]
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x80], ecx
jmp 0x6fd0e23d
mov eax, dword [esp + 0x6c]
jmp 0x6fd102a6
mov edi, dword [edx*4 + 0x707554e0]
jmp 0x6fd103fd
mov ecx, dword [eax*4 + 0x707554e0]
jmp 0x6fd0fe97
mov eax, dword [ebp + 0x9d69c]
mov dword [esp + 0x80], 0
cmp eax, 1
je 0x6fd1217e
jle 0x6fd122bc
cmp eax, 2
je 0x6fd1213e
cmp eax, 3
je 0x6fd12118
mov dword [esp + 8], 0x707551b8
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.6fcec410
mov eax, dword [ebp + 0x9d6a0]
cmp eax, 1
je 0x6fd120d8
jle 0x6fd1245c
cmp eax, 2
je 0x6fd12098
cmp eax, 3
je 0x6fd12072
mov dword [esp + 8], 0x707551b8
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.6fcec410
mov eax, dword [ebp + 0x9d6a4]
cmp eax, 1
je 0x6fd12224
jle 0x6fd12338
cmp eax, 2
je 0x6fd121e4
cmp eax, 3
je 0x6fd121be
mov dword [esp + 8], 0x707551b8
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.6fcec410
mov eax, dword [ebp + 0x9d6a8]
cmp eax, 1
je 0x6fd11faf
jle 0x6fd123e0
cmp eax, 2
je 0x6fd12264
cmp eax, 3
nop
je 0x6fd11f89
mov dword [esp + 8], 0x707551b8
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.6fcec410
mov ecx, dword [esp + 0x80]
jmp 0x6fd0e23d
mov eax, dword [esp + 0x290]
mov byte [ebp + 0x9e0dc], al
mov byte [ebp + 0x9e0dd], al
mov byte [ebp + 0x9e0de], al
mov byte [ebp + 0x9e0df], al
mov byte [ebp + 0x9e0e4], al
mov byte [ebp + 0x9e0e5], al
mov byte [ebp + 0x9e0e6], al
mov byte [ebp + 0x9e0e7], al
mov byte [ebp + 0x9e0ec], al
mov byte [ebp + 0x9e0ed], al
mov byte [ebp + 0x9e0ee], al
mov byte [ebp + 0x9e0ef], al
mov byte [ebp + 0x9e0f4], al
mov byte [ebp + 0x9e0f5], al
mov byte [ebp + 0x9e0f6], al
mov byte [ebp + 0x9e0f7], al
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x284]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0daa3
mov esi, 0x10
xor edi, edi
jmp 0x6fd103e6
mov esi, 0x10
xor ecx, ecx
jmp 0x6fd0fe80
lea eax, [esp + 0x284]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov ecx, dword [esp + 0x2d0]
mov dword [esp + 0x80], ecx
jmp 0x6fd0e23d
mov eax, dword [esp + 0x14c0]
mov byte [ebp + 0x9e0dc], al
mov byte [ebp + 0x9e0dd], al
mov byte [ebp + 0x9e0de], al
mov byte [ebp + 0x9e0df], al
mov byte [ebp + 0x9e0e4], al
mov byte [ebp + 0x9e0e5], al
mov byte [ebp + 0x9e0e6], al
mov byte [ebp + 0x9e0e7], al
mov eax, dword [esp + 0x1518]
mov byte [ebp + 0x9e0ec], al
mov byte [ebp + 0x9e0ed], al
mov byte [ebp + 0x9e0ee], al
mov byte [ebp + 0x9e0ef], al
mov byte [ebp + 0x9e0f4], al
mov byte [ebp + 0x9e0f5], al
mov byte [ebp + 0x9e0f6], al
mov byte [ebp + 0x9e0f7], al
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x14b4]
mov dword [esp + 4], eax
call fcn.6fd44750
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 8
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x150c]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0daa3
mov dword [esp + 0x7c], 0
jmp 0x6fd10406
mov dword [esp + 0x5c], 0
jmp 0x6fd0fea0
mov dword [esp], ebp
call fcn.6fcf4ba0
test eax, eax
jne 0x6fd10e6d
mov ecx, dword [esp + 0x80]
jmp 0x6fd0f0e8
lea eax, [esp + 0x14b4]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x150c]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov ecx, dword [esp + 0x1500]
add ecx, dword [esp + 0x1558]
mov dword [esp + 0x80], ecx
jmp 0x6fd0e23d
cmp dword [esp + 0x29d4], 7
jne 0x6fd1204c
lea eax, [esp + 0x284c]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
cmp dword [esp + 0x29d8], 7
je 0x6fd12034
lea eax, [esp + 0x150c]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
cmp dword [esp + 0x29d8], 3
jne 0x6fd12034
mov ecx, dword [esp + 0x80]
jmp 0x6fd0e650
mov eax, dword [ebx*4 + 0x707554e0]
jmp 0x6fd0f9d8
mov edx, dword [edi*4 + 0x707554e0]
jmp 0x6fd0f191
mov eax, dword [esp + 0x1574]
mov byte [ebp + 0x9e0dc], al
mov byte [ebp + 0x9e0dd], al
mov byte [ebp + 0x9e0e4], al
mov byte [ebp + 0x9e0e5], al
mov byte [ebp + 0x9e0ec], al
mov byte [ebp + 0x9e0ed], al
mov byte [ebp + 0x9e0f4], al
mov byte [ebp + 0x9e0f5], al
mov eax, dword [esp + 0x15cc]
mov byte [ebp + 0x9e0de], al
mov byte [ebp + 0x9e0df], al
mov byte [ebp + 0x9e0e6], al
mov byte [ebp + 0x9e0e7], al
mov byte [ebp + 0x9e0ee], al
mov byte [ebp + 0x9e0ef], al
mov byte [ebp + 0x9e0f6], al
mov byte [ebp + 0x9e0f7], al
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x1568]
mov dword [esp + 4], eax
call fcn.6fd44750
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 4
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x15c0]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0daa3
mov ebx, dword [esp + 0x38]
lea edx, [esi + 0xc]
add esi, 0xd
add ecx, 1
mov dword [esp + 0x3c], ecx
add ebx, edx
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x38]
add ebx, esi
mov dword [esp + 0x4c], ebx
lea ebx, [eax + eax + 1]
mov eax, dword [esp + 0x40]
shl ebx, 3
add edx, ebx
add esi, ebx
mov dword [esp + 0x50], edx
mov ebx, 0x7fffffff
mov dword [esp + 0x48], esi
jmp 0x6fd0ef04
lea edx, [esp + 0x1e4]
mov eax, ebp
call fcn.6fd03870
mov ebx, dword [esp + 0x204]
mov ecx, dword [esp + 0x264]
mov edx, dword [esp + 0x80]
jmp 0x6fd0e2a1
cmp eax, 0xf
je 0x6fd10fca
cmp eax, 0x10
jne 0x6fd0e68e
cmp ebx, 0x10
jne 0x6fd0e68e
lea eax, [esp + 0x161c]
mov dword [esp + 8], eax
lea eax, [esp + 0x284]
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd408d0
jmp 0x6fd0e68e
jge 0x6fd0e812
lea esi, [esi]
jmp 0x6fd0e847
cmp eax, 6
nop
lea esi, [esi]
je 0x6fd0fada
mov eax, dword [ebp + 0x3fc]
mov dword [esp + 0xa4], 0
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0x400]
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 0x404]
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x408]
mov dword [esp], ebp
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
call fcn.6fd07cb0
imul ebx, dword [esp + 0xa4]
jmp 0x6fd0fada
cmp eax, 6
je 0x6fd0ee71
mov eax, dword [ebp + 0x3fc]
mov dword [esp + 0xa4], 0
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0x400]
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 0x404]
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x408]
mov dword [esp], ebp
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
call fcn.6fd07cb0
imul ebx, dword [esp + 0xa4]
jmp 0x6fd0ee71
mov dword [ebp + 0x9e674], 1
lea ecx, [esp + 0x80]
mov eax, ebp
lea edx, [esp + 0x1e4]
call fcn.6fd0c8a0
jmp 0x6fd1096e
mov esi, 0x10
xor eax, eax
jmp 0x6fd0f9c1
mov ecx, 0x10
xor edx, edx
jmp 0x6fd0f17b
cmp eax, 6
je 0x6fd107b7
mov eax, dword [ebp + 0x3fc]
mov dword [esp + 0xa4], 0
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0x400]
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 0x404]
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x408]
mov dword [esp], ebp
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
call fcn.6fd07cb0
imul ebx, dword [esp + 0xa4]
jmp 0x6fd107b7
cmp eax, 6
je 0x6fd10258
mov eax, dword [ebp + 0x3fc]
mov dword [esp + 0xa4], 0
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0x400]
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 0x404]
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x408]
mov dword [esp], ebp
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
call fcn.6fd07cb0
imul ebx, dword [esp + 0xa4]
jmp 0x6fd10258
xor esi, esi
jmp 0x6fd0f194
xor edx, edx
jmp 0x6fd0f9db
cmp dword [esp + 0x29d4], 0xb
je 0x6fd12d8e
cmp dword [esp + 0x29d8], 0xb
jne 0x6fd0e68e
lea eax, [esp + 0x28a4]
mov dword [esp + 8], eax
lea eax, [esp + 0x150c]
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd408d0
jmp 0x6fd0e68e
cmp dword [esp + 0x29dc], 0xb
je 0x6fd12e8e
cmp dword [esp + 0x29e0], 0xb
jne 0x6fd0e68e
lea eax, [esp + 0x2958]
mov dword [esp + 8], eax
lea eax, [esp + 0x15c0]
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd408d0
jmp 0x6fd0e68e
mov eax, dword [esp + 0x29d4]
cmp eax, 3
mov dword [ebp + 0x9d6a0], eax
mov dword [ebp + 0x9d69c], eax
je 0x6fd12d54
cmp eax, 7
je 0x6fd12d21
mov eax, dword [esp + 0x29d8]
cmp eax, 3
mov dword [ebp + 0x9d6a8], eax
mov dword [ebp + 0x9d6a4], eax
je 0x6fd12ce7
cmp eax, 7
jne 0x6fd0daa3
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 8
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x28a4]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0daa3
mov eax, dword [esp + 0x280]
mov dword [ebp + 0x9d698], 0xe
mov dword [esp + 0x29cc], 0
mov dword [esp + 0x14b4], 1
lea edx, [eax + eax*2]
mov eax, dword [ebp + eax*4 + 0x9deb8]
lea edx, [ebp + edx*8 + 0x9dbb0]
mov dword [esp + 0x4c], edx
mov esi, edx
mov edx, dword [esp + 0x1618]
mov edi, dword [esp + 0x4c]
add esi, 8
lea edx, [edx + edx*2]
lea edx, [ebp + edx*8 + 0x9dd30]
mov dword [esp + 0x54], edx
mov ebx, edx
mov edx, dword [esp + 0x1f0]
add ebx, 8
mov dword [esp + 0x14b8], edx
mov edx, dword [ebp + 0x9df38]
mov dword [esp + 0x14ec], edx
mov edx, dword [ebp + 0x9df3c]
mov dword [esp + 0x14f0], edx
mov edx, dword [ebp + 0x9dba0]
mov dword [esp + 0x14dc], edx
mov edx, dword [ebp + 0x9dba4]
mov dword [esp + 0x14e0], edx
mov edx, dword [ebp + 0x9dba8]
mov dword [esp + 0x14e4], edx
mov edx, dword [edi + 8]
mov dword [esp + 0x14c4], edx
mov edx, dword [esi + 4]
mov dword [esp + 0x14c8], edx
mov edx, dword [esi + 8]
mov dword [esp + 0x14cc], edx
mov edx, dword [esi + 0xc]
mov dword [esp + 0x14d0], edx
mov edx, dword [esi + 0x10]
mov dword [esp + 0x14d4], edx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x14d8], edx
mov dword [esp + 0x14e8], eax
mov eax, dword [esp + 0x5b0]
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x5b4]
mov dword [esp], ebp
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x608]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x60c]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x14f4]
mov dword [esp + 0x10], eax
call fcn.6fcf4d10
lea eax, [esp + 0xa8]
mov dword [esp + 0x50], eax
mov dword [esp + 8], eax
lea eax, [esp + 0x14b4]
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp], ebp
call fcn.6fd3c130
mov ecx, dword [ebp + 0x3a548]
mov eax, dword [esp + 0x1504]
mov edx, dword [ebp + 0x3a550]
cmp eax, ecx
jl 0x6fd1122e
cmp edx, eax
mov ecx, eax
cmovle ecx, edx
mov eax, dword [ebp + 0x3a54c]
mov edx, dword [esp + 0x1508]
mov dword [esp + 0x1504], ecx
mov edi, dword [ebp + 0x3a554]
cmp edx, eax
jl 0x6fd11253
cmp edi, edx
mov eax, edx
cmovle eax, edi
mov dword [esp + 0x1508], eax
lea edx, [esp + 0xe0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14ec]
mov dword [esp + 0x48], edx
mov dword [esp + 8], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x14c4]
mov dword [esp], eax
mov dword [esp + 0x1c], 8
mov dword [esp + 0x18], 0x10
mov dword [esp + 0xc], 0x10
call dword [ebp + 0x9f638]
mov eax, dword [esp + 0x1f0]
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x14fc]
mov dword [esp + 0x284c], 1
mov dword [esp + 0x2850], eax
mov eax, dword [ebp + 0x9df38]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x2884], eax
mov eax, dword [ebp + 0x9df3c]
mov dword [esp + 0x2888], eax
mov eax, dword [ebp + 0x9dba0]
mov dword [esp + 0x2874], eax
mov eax, dword [ebp + 0x9dba4]
mov dword [esp + 0x2878], eax
mov eax, dword [ebp + 0x9dba8]
mov dword [esp + 0x287c], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x285c], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x2860], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x2864], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x2868], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x286c], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x2870], eax
mov eax, dword [esp + 0x1618]
mov eax, dword [ebp + eax*4 + 0x9def8]
mov dword [esp + 0x2880], eax
mov eax, dword [esp + 0x1948]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x194c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x19a0]
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x19a4]
mov dword [esp], ebp
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x288c]
mov dword [esp + 0x10], eax
call fcn.6fcf4d10
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x284c]
mov dword [esp + 4], eax
call fcn.6fd3c130
mov edi, dword [ebp + 0x3a548]
mov eax, dword [esp + 0x289c]
mov ecx, dword [ebp + 0x3a550]
mov edx, edi
cmp eax, edi
mov dword [esp + 0x44], ecx
jl 0x6fd11410
cmp ecx, eax
mov edx, ecx
cmovg edx, eax
mov ecx, dword [ebp + 0x3a554]
mov eax, dword [esp + 0x28a0]
mov dword [esp + 0x289c], edx
mov dword [esp + 0x40], ecx
mov ecx, dword [ebp + 0x3a54c]
cmp eax, ecx
mov edx, ecx
mov dword [esp + 0x38], ecx
jl 0x6fd11443
mov edx, dword [esp + 0x40]
cmp dword [esp + 0x40], eax
cmovg edx, eax
mov eax, dword [ebp + 0x397f8]
mov dword [esp + 0x28a0], edx
mov ecx, dword [eax]
mov eax, dword [esp + 0x1618]
mov eax, dword [ebp + eax*4 + 0x39854]
mov eax, dword [eax]
sub eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x280]
mov eax, dword [ebp + eax*4 + 0x39804]
sub ecx, dword [eax]
mov eax, 0x200
mov edx, eax
sar edx, 0x1f
idiv ecx
mov edx, dword [esp + 0x3c]
imul edx, dword [esp + 0x1504]
mov ecx, eax
imul edx, eax
mov eax, dword [esp + 0x3c]
imul eax, dword [esp + 0x1508]
add edx, 0x100
imul eax, ecx
sar edx, 9
neg edx
add eax, 0x100
sar eax, 9
neg eax
cmp edx, edi
jl 0x6fd114c8
mov edi, dword [esp + 0x44]
cmp edx, dword [esp + 0x44]
cmovle edi, edx
cmp eax, dword [esp + 0x38]
jl 0x6fd114db
cmp eax, dword [esp + 0x40]
cmovg eax, dword [esp + 0x40]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x160]
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2884]
mov dword [esp + 0x1c], 8
mov dword [esp + 0x18], 0x10
mov dword [esp + 0x14], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x285c]
mov dword [esp], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0x10
call dword [ebp + 0x9f638]
mov eax, dword [ebp + 0x178]
mov ecx, dword [esp + 0x58]
add ecx, dword [esp + 0x2894]
test eax, eax
mov dword [esp + 0x3c], ecx
jne 0x6fd12a50
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x160]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], eax
mov dword [esp + 4], 0x10
mov dword [esp], edx
call dword [ebp + 0x9f648]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x14dc]
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 0x10
mov dword [esp + 8], edx
mov dword [esp], eax
call dword [ebp + 0x9f5cc]
mov edx, dword [esp + 0x1500]
mov ecx, 3
mov dword [esp + 0x29d4], 3
add eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x2898]
cmp edx, eax
jle 0x6fd115cb
mov dword [esp + 0x29d4], 7
mov edx, eax
mov cl, 7
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x1e4]
cmp edx, eax
jg 0x6fd128db
add dword [esp + 0x29cc], edx
cmp ecx, 3
jne 0x6fd12750
mov eax, dword [esp + 0x280]
mov edx, dword [esp + 0x1504]
mov byte [ebp + 0x9e10c], 0xff
mov byte [ebp + 0x9e10d], 0xff
mov byte [ebp + 0x9e0dc], al
mov byte [ebp + 0x9e0dd], al
mov byte [ebp + 0x9e0de], al
mov byte [ebp + 0x9e0df], al
mov byte [ebp + 0x9e0e4], al
mov byte [ebp + 0x9e0e5], al
mov byte [ebp + 0x9e0e6], al
mov byte [ebp + 0x9e0e7], al
mov eax, dword [esp + 0x1508]
mov word [ebp + 0x9e190], dx
mov word [ebp + 0x9e194], dx
mov word [ebp + 0x9e198], dx
mov word [ebp + 0x9e192], ax
mov word [ebp + 0x9e196], ax
mov word [ebp + 0x9e19a], ax
mov word [ebp + 0x9e19c], dx
mov word [ebp + 0x9e19e], ax
mov word [ebp + 0x9e1b0], dx
mov word [ebp + 0x9e1b2], ax
mov word [ebp + 0x9e1b4], dx
mov word [ebp + 0x9e1b6], ax
mov word [ebp + 0x9e1b8], dx
mov word [ebp + 0x9e1ba], ax
mov word [ebp + 0x9e1bc], dx
mov word [ebp + 0x9e1be], ax
mov byte [ebp + 0x9e10e], 0xff
mov byte [ebp + 0x9e10f], 0xff
mov byte [ebp + 0x9e114], 0xff
mov byte [ebp + 0x9e115], 0xff
mov byte [ebp + 0x9e116], 0xff
mov byte [ebp + 0x9e117], 0xff
mov word [ebp + 0x9e250], 0
mov word [ebp + 0x9e252], 0
mov word [ebp + 0x9e254], 0
mov word [ebp + 0x9e256], 0
mov word [ebp + 0x9e258], 0
mov word [ebp + 0x9e25a], 0
mov word [ebp + 0x9e25c], 0
mov word [ebp + 0x9e25e], 0
mov word [ebp + 0x9e270], 0
mov word [ebp + 0x9e272], 0
mov word [ebp + 0x9e274], 0
mov word [ebp + 0x9e276], 0
mov word [ebp + 0x9e278], 0
mov word [ebp + 0x9e27a], 0
mov word [ebp + 0x9e27c], 0
mov word [ebp + 0x9e27e], 0
mov eax, dword [esp + 0x1f0]
mov edi, dword [ebp + 0x9df3c]
mov ecx, dword [ebp + 0x9df38]
mov dword [esp + 0x150c], 1
mov dword [esp + 0x1510], eax
mov eax, dword [ebp + 0x9dba0]
mov dword [esp + 0x1548], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x1544], ecx
sub eax, 0xffffff80
mov dword [esp + 0x1534], eax
mov eax, dword [ebp + 0x9dba4]
mov edx, dword [edi + 8]
add eax, 0x40
mov dword [esp + 0x1538], eax
mov eax, dword [ebp + 0x9dba8]
add eax, 0x40
mov dword [esp + 0x153c], eax
lea eax, [ecx*8]
add edx, eax
mov dword [esp + 0x151c], edx
mov edx, dword [esi + 4]
shl ecx, 4
add edx, eax
mov dword [esp + 0x1520], edx
mov edx, dword [esi + 8]
add edx, eax
add eax, dword [esi + 0xc]
mov dword [esp + 0x1524], edx
mov edx, dword [esi + 0x10]
mov dword [esp + 0x1528], eax
mov eax, dword [ebp + 0x9df3c]
shl eax, 2
add edx, eax
add eax, dword [esi + 0x14]
mov dword [esp + 0x152c], edx
mov dword [esp + 0x1530], eax
mov eax, dword [esp + 0x280]
add ecx, dword [ebp + eax*4 + 0x9deb8]
mov eax, dword [esp + 0x660]
mov dword [esp + 0x1540], ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x664]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x6b8]
mov dword [esp + 0xc], 2
mov dword [esp + 8], 8
mov dword [esp + 4], 0
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x6bc]
mov dword [esp], ebp
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x154c]
mov dword [esp + 0x10], eax
call fcn.6fcf4d10
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x150c]
mov dword [esp + 4], eax
call fcn.6fd3c130
mov ecx, dword [ebp + 0x3a548]
mov eax, dword [esp + 0x155c]
mov edx, dword [ebp + 0x3a550]
cmp ecx, eax
jg 0x6fd118ea
cmp eax, edx
mov ecx, edx
cmovle ecx, eax
mov eax, dword [ebp + 0x3a54c]
mov edx, dword [esp + 0x1560]
mov dword [esp + 0x155c], ecx
mov esi, dword [ebp + 0x3a554]
cmp eax, edx
jg 0x6fd1190f
cmp edx, esi
mov eax, esi
cmovle eax, edx
mov dword [esp + 0x1560], eax
mov esi, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1544]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], 8
mov dword [esp + 8], esi
mov dword [esp + 4], eax
lea eax, [esp + 0x151c]
mov dword [esp], eax
mov dword [esp + 0x18], 0x10
mov dword [esp + 0xc], 0x10
call dword [ebp + 0x9f638]
mov eax, dword [esp + 0x1f0]
mov edi, dword [esp + 0x1554]
mov ecx, dword [ebp + 0x9df38]
mov esi, dword [ebp + 0x9df3c]
mov dword [esp + 0x28a8], eax
mov eax, dword [ebp + 0x9dba0]
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0x28dc], ecx
mov dword [esp + 0x28e0], esi
sub eax, 0xffffff80
mov dword [esp + 0x28cc], eax
mov eax, dword [ebp + 0x9dba4]
mov edx, dword [edi + 8]
mov dword [esp + 0x28a4], 1
add eax, 0x40
mov dword [esp + 0x28d0], eax
mov eax, dword [ebp + 0x9dba8]
add eax, 0x40
mov dword [esp + 0x28d4], eax
lea eax, [ecx*8]
add edx, eax
mov dword [esp + 0x28b4], edx
mov edx, dword [ebx + 4]
shl ecx, 4
add edx, eax
mov dword [esp + 0x28b8], edx
mov edx, dword [ebx + 8]
add edx, eax
mov dword [esp + 0x28bc], edx
mov edx, dword [ebx + 0x10]
add eax, dword [ebx + 0xc]
mov dword [esp + 0x28c0], eax
lea eax, [esi*4]
add edx, eax
add eax, dword [ebx + 0x14]
mov dword [esp + 0x28c4], edx
mov dword [esp + 0x28c8], eax
mov eax, dword [esp + 0x1618]
add ecx, dword [ebp + eax*4 + 0x9def8]
mov eax, dword [esp + 0x19f8]
mov dword [esp + 0x28d8], ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x19fc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x1a50]
mov dword [esp + 0xc], 2
mov dword [esp + 8], 8
mov dword [esp + 4], 0
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1a54]
mov dword [esp], ebp
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x28e4]
mov dword [esp + 0x10], eax
call fcn.6fcf4d10
mov ebx, dword [esp + 0x50]
lea eax, [esp + 0x28a4]
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], ebx
mov dword [esp], ebp
call fcn.6fd3c130
mov esi, dword [ebp + 0x3a550]
mov eax, dword [esp + 0x28f4]
mov dword [esp + 0x38], esi
mov esi, dword [ebp + 0x3a548]
cmp esi, eax
mov edx, esi
jg 0x6fd11aeb
mov edx, dword [esp + 0x38]
cmp eax, dword [esp + 0x38]
cmovle edx, eax
mov ebx, dword [ebp + 0x3a54c]
mov eax, dword [esp + 0x28f8]
mov edi, dword [ebp + 0x3a554]
mov dword [esp + 0x28f4], edx
mov edx, ebx
cmp ebx, eax
mov dword [esp + 0x3c], edi
jg 0x6fd11b16
cmp eax, edi
mov edx, edi
cmovle edx, eax
mov eax, dword [ebp + 0x397f8]
mov dword [esp + 0x28f8], edx
mov ecx, dword [eax]
mov eax, dword [esp + 0x1618]
mov eax, dword [ebp + eax*4 + 0x39854]
mov edi, dword [eax]
mov eax, dword [esp + 0x280]
sub edi, ecx
mov eax, dword [ebp + eax*4 + 0x39804]
sub ecx, dword [eax]
mov eax, 0x200
mov edx, eax
sar edx, 0x1f
idiv ecx
mov edx, dword [esp + 0x1560]
imul edx, edi
mov ecx, eax
mov eax, dword [esp + 0x155c]
imul edx, ecx
imul eax, edi
add edx, 0x100
sar edx, 9
neg edx
imul eax, ecx
add eax, 0x100
sar eax, 9
neg eax
cmp esi, eax
jg 0x6fd11b93
mov esi, dword [esp + 0x38]
cmp eax, dword [esp + 0x38]
cmovle esi, eax
cmp ebx, edx
jg 0x6fd11ba2
mov ebx, dword [esp + 0x3c]
cmp edx, dword [esp + 0x3c]
cmovle ebx, edx
lea eax, [esp + 0x160]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28dc]
mov dword [esp + 0x1c], 8
mov dword [esp + 0x18], 0x10
mov dword [esp + 0x14], ebx
mov dword [esp + 4], eax
lea eax, [esp + 0x28b4]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x10
mov dword [esp], eax
call dword [ebp + 0x9f638]
mov ecx, dword [ebp + 0x178]
mov edi, dword [esp + 0x40]
add edi, dword [esp + 0x28ec]
test ecx, ecx
jne 0x6fd126ec
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x160]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], edx
mov dword [esp + 4], 0x10
mov dword [esp], ecx
call dword [ebp + 0x9f648]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x1534]
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 0x10
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [ebp + 0x9f5cc]
mov edx, dword [esp + 0x28f0]
mov dword [esp + 0x29d8], 3
add eax, edi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1558]
cmp eax, edx
jle 0x6fd126e0
mov eax, edx
mov edi, 1
mov dword [esp + 0x29d8], 7
mov edx, 7
mov ecx, dword [esp + 0x1e4]
mov dword [esp + 0x3c], ecx
add ecx, dword [esp + 0x40]
cmp eax, ecx
jg 0x6fd12a99
add eax, dword [esp + 0x29cc]
cmp edx, 3
mov dword [esp + 0x38], eax
jne 0x6fd12555
mov eax, dword [esp + 0x280]
mov edx, dword [esp + 0x155c]
mov byte [ebp + 0x9e11c], 0xff
mov byte [ebp + 0x9e11d], 0xff
mov byte [ebp + 0x9e0ec], al
mov byte [ebp + 0x9e0ed], al
mov byte [ebp + 0x9e0ee], al
mov byte [ebp + 0x9e0ef], al
mov byte [ebp + 0x9e0f4], al
mov byte [ebp + 0x9e0f5], al
mov byte [ebp + 0x9e0f6], al
mov byte [ebp + 0x9e0f7], al
mov eax, dword [esp + 0x1560]
mov word [ebp + 0x9e1d0], dx
mov word [ebp + 0x9e1d4], dx
mov word [ebp + 0x9e1d8], dx
mov word [ebp + 0x9e1d2], ax
mov word [ebp + 0x9e1d6], ax
mov word [ebp + 0x9e1da], ax
mov word [ebp + 0x9e1dc], dx
mov word [ebp + 0x9e1de], ax
mov word [ebp + 0x9e1f0], dx
mov word [ebp + 0x9e1f2], ax
mov word [ebp + 0x9e1f4], dx
mov word [ebp + 0x9e1f6], ax
mov word [ebp + 0x9e1f8], dx
mov word [ebp + 0x9e1fa], ax
mov word [ebp + 0x9e1fc], dx
mov word [ebp + 0x9e1fe], ax
mov byte [ebp + 0x9e11e], 0xff
mov byte [ebp + 0x9e11f], 0xff
mov byte [ebp + 0x9e124], 0xff
mov byte [ebp + 0x9e125], 0xff
mov byte [ebp + 0x9e126], 0xff
mov byte [ebp + 0x9e127], 0xff
mov word [ebp + 0x9e290], 0
mov word [ebp + 0x9e292], 0
mov word [ebp + 0x9e294], 0
mov word [ebp + 0x9e296], 0
mov word [ebp + 0x9e298], 0
mov word [ebp + 0x9e29a], 0
mov word [ebp + 0x9e29c], 0
mov word [ebp + 0x9e29e], 0
mov word [ebp + 0x9e2b0], 0
mov word [ebp + 0x9e2b2], 0
mov word [ebp + 0x9e2b4], 0
mov word [ebp + 0x9e2b6], 0
mov word [ebp + 0x9e2b8], 0
mov word [ebp + 0x9e2ba], 0
mov word [ebp + 0x9e2bc], 0
mov word [ebp + 0x9e2be], 0
mov eax, dword [esp + 0x29d4]
mov edx, dword [esp + 0x1f4]
sar eax, 2
lea eax, [eax + eax*2 + 8]
add edi, eax
mov eax, dword [esp + 0x3c]
imul eax, dword [edi*4 + 0x70759400]
add eax, dword [esp + 0x38]
test edx, edx
mov dword [esp + 0x29e4], edi
mov dword [esp + 0x29cc], eax
je 0x6fd11ea8
mov edx, dword [esp + 0x1fc]
cmp eax, edx
jge 0x6fd11e84
mov dword [esp + 0x1fc], eax
mov edx, eax
lea edx, [edx + edx*2]
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar edx, 1
cmp eax, edx
jl 0x6fd133d8
mov dword [esp + 0x29cc], 0x10000000
mov eax, 0x10000000
mov edx, dword [esp + 0x80]
cmp edx, eax
jle 0x6fd12735
mov dword [esp + 0x80], eax
mov ebx, dword [esp + 0x29e4]
mov edx, eax
mov ecx, dword [ebp + 0x9d69c]
mov edi, 0xe
mov esi, dword [ebp + 0x9d6a4]
jmp 0x6fd0fb48
lea edx, [esp + 0x1e4]
mov eax, ebp
call fcn.6fd0b0a0
mov ecx, dword [esp + 0x29d0]
mov edx, dword [esp + 0x80]
cmp ecx, edx
jge 0x6fd0fb62
mov edi, dword [esp + 0x1f4]
mov dword [esp + 0x80], ecx
mov ebx, dword [esp + 0x29e8]
mov dword [ebp + 0x9d698], 0xf
test edi, edi
jne 0x6fd133ce
cmp dword [esp + 0x29dc], 7
jne 0x6fd123b4
lea eax, [esp + 0x2900]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
cmp dword [esp + 0x29e0], 7
je 0x6fd122a4
lea eax, [esp + 0x15c0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
cmp dword [esp + 0x29e0], 3
jne 0x6fd122a4
mov ecx, dword [esp + 0x80]
mov edi, 0xf
jmp 0x6fd0e650
lea eax, [esp + 0x668]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0x6b4]
add dword [esp + 0x80], eax
jmp 0x6fd1096e
lea eax, [esp + 0xe70]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0xec8]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0xebc]
add eax, dword [esp + 0xf14]
add dword [esp + 0x80], eax
jmp 0x6fd1096e
cmp ebx, 8
je 0x6fd109e1
cmp ebx, 0xc
jne 0x6fd0daa3
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x161c]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0daa3
lea eax, [esp + 0x28a4]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
jmp 0x6fd10be7
lea eax, [esp + 0x14b4]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
cmp dword [esp + 0x29d4], 3
je 0x6fd10bb8
jmp 0x6fd10ba5
lea eax, [esp + 0x5b8]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0x604]
add dword [esp + 0x80], eax
jmp 0x6fd108ef
lea eax, [esp + 0x1090]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x10e8]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0x10dc]
add eax, dword [esp + 0x1134]
add dword [esp + 0x80], eax
jmp 0x6fd108ef
lea eax, [esp + 0xd10]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0xd68]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0xd5c]
add eax, dword [esp + 0xdb4]
add dword [esp + 0x80], eax
jmp 0x6fd108ef
lea eax, [esp + 0x560]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0x5ac]
add dword [esp + 0x80], eax
jmp 0x6fd108b0
lea eax, [esp + 0xf30]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0xf88]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0xf7c]
add eax, dword [esp + 0xfd4]
add dword [esp + 0x80], eax
jmp 0x6fd108b0
lea eax, [esp + 0xc60]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0xcb8]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0xcac]
add eax, dword [esp + 0xd04]
add dword [esp + 0x80], eax
jmp 0x6fd108b0
lea eax, [esp + 0x610]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0x65c]
add dword [esp + 0x80], eax
jmp 0x6fd1092e
lea eax, [esp + 0x11f0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x1248]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0x123c]
add eax, dword [esp + 0x1294]
add dword [esp + 0x80], eax
jmp 0x6fd1092e
lea eax, [esp + 0xdc0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0xe18]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0xe0c]
add eax, dword [esp + 0xe64]
add dword [esp + 0x80], eax
jmp 0x6fd1092e
lea eax, [esp + 0x1350]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x13a8]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0x139c]
add eax, dword [esp + 0x13f4]
add dword [esp + 0x80], eax
jmp 0x6fd1096e
lea eax, [esp + 0x2958]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
jmp 0x6fd11f78
test eax, eax
jne 0x6fd10898
lea eax, [esp + 0x6d0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x728]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x780]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x7d8]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0x71c]
add eax, dword [esp + 0x774]
add eax, dword [esp + 0x7cc]
add eax, dword [esp + 0x824]
add dword [esp + 0x80], eax
jmp 0x6fd108b0
test eax, eax
jne 0x6fd10916
lea eax, [esp + 0x990]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x9e8]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0xa40]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0xa98]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0x9dc]
add eax, dword [esp + 0xa34]
add eax, dword [esp + 0xa8c]
add eax, dword [esp + 0xae4]
add dword [esp + 0x80], eax
jmp 0x6fd1092e
lea eax, [esp + 0x1568]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
cmp dword [esp + 0x29dc], 3
je 0x6fd11f49
jmp 0x6fd11f36
test eax, eax
jne 0x6fd10956
lea eax, [esp + 0xaf0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0xb48]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0xba0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0xbf8]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0xb3c]
add eax, dword [esp + 0xb94]
add eax, dword [esp + 0xbec]
add eax, dword [esp + 0xc44]
add dword [esp + 0x80], eax
jmp 0x6fd1096e
test eax, eax
jne 0x6fd108d7
lea eax, [esp + 0x830]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x888]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x8e0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x938]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0x87c]
add eax, dword [esp + 0x8d4]
add eax, dword [esp + 0x92c]
add eax, dword [esp + 0x984]
add dword [esp + 0x80], eax
jmp 0x6fd108ef
mov eax, dword [esp + 0x29dc]
cmp eax, 3
mov dword [ebp + 0x9d6a4], eax
mov dword [ebp + 0x9d69c], eax
je 0x6fd13572
cmp eax, 7
je 0x6fd1353f
mov eax, dword [esp + 0x29e0]
cmp eax, 3
mov dword [ebp + 0x9d6a8], eax
mov dword [ebp + 0x9d6a0], eax
je 0x6fd135ac
cmp eax, 7
jne 0x6fd0daa3
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 4
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x2958]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0daa3
cmp edx, 7
jne 0x6fd11e37
mov eax, dword [esp + 0x1618]
mov edx, dword [esp + 0x28f4]
mov byte [ebp + 0x9e0ec], 0xff
mov byte [ebp + 0x9e0ed], 0xff
mov byte [ebp + 0x9e11c], al
mov byte [ebp + 0x9e11d], al
mov byte [ebp + 0x9e11e], al
mov byte [ebp + 0x9e11f], al
mov byte [ebp + 0x9e124], al
mov byte [ebp + 0x9e125], al
mov byte [ebp + 0x9e126], al
mov byte [ebp + 0x9e127], al
mov eax, dword [esp + 0x28f8]
mov byte [ebp + 0x9e0ee], 0xff
mov byte [ebp + 0x9e0ef], 0xff
mov byte [ebp + 0x9e0f4], 0xff
mov byte [ebp + 0x9e0f5], 0xff
mov byte [ebp + 0x9e0f6], 0xff
mov byte [ebp + 0x9e0f7], 0xff
mov word [ebp + 0x9e1d0], 0
mov word [ebp + 0x9e1d2], 0
mov word [ebp + 0x9e1d4], 0
mov word [ebp + 0x9e1d6], 0
mov word [ebp + 0x9e1d8], 0
mov word [ebp + 0x9e1da], 0
mov word [ebp + 0x9e1dc], 0
mov word [ebp + 0x9e1de], 0
mov word [ebp + 0x9e1f0], 0
mov word [ebp + 0x9e1f2], 0
mov word [ebp + 0x9e1f4], 0
mov word [ebp + 0x9e1f6], 0
mov word [ebp + 0x9e1f8], 0
mov word [ebp + 0x9e1fa], 0
mov word [ebp + 0x9e1fc], 0
mov word [ebp + 0x9e1fe], 0
mov word [ebp + 0x9e290], dx
mov word [ebp + 0x9e292], ax
mov word [ebp + 0x9e294], dx
mov word [ebp + 0x9e296], ax
mov word [ebp + 0x9e298], dx
mov word [ebp + 0x9e29a], ax
mov word [ebp + 0x9e29c], dx
mov word [ebp + 0x9e29e], ax
mov word [ebp + 0x9e2b0], dx
mov word [ebp + 0x9e2b2], ax
mov word [ebp + 0x9e2b4], dx
mov word [ebp + 0x9e2b6], ax
mov word [ebp + 0x9e2b8], dx
mov word [ebp + 0x9e2ba], ax
mov word [ebp + 0x9e2bc], dx
mov word [ebp + 0x9e2be], ax
jmp 0x6fd11e37
xor edi, edi
mov edx, 3
jmp 0x6fd11c8f
mov eax, dword [esp + 0x280]
mov edx, dword [esp + 0x48]
shl eax, 4
add eax, dword [esp + 0x1618]
mov eax, dword [ebp + eax*4 + 0x9ea98]
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 0x10
mov dword [esp], edx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x160]
mov dword [esp + 8], eax
call dword [ebp + 0x9f670]
jmp 0x6fd11c29
mov ecx, dword [ebp + 0x9d69c]
mov edi, 0xd
mov ebx, 0x11
mov esi, dword [ebp + 0x9d6a4]
jmp 0x6fd0fb48
cmp ecx, 7
jne 0x6fd1176b
mov eax, dword [esp + 0x1618]
mov edx, dword [esp + 0x289c]
mov byte [ebp + 0x9e0dc], 0xff
mov byte [ebp + 0x9e0dd], 0xff
mov byte [ebp + 0x9e10c], al
mov byte [ebp + 0x9e10d], al
mov byte [ebp + 0x9e10e], al
mov byte [ebp + 0x9e10f], al
mov byte [ebp + 0x9e114], al
mov byte [ebp + 0x9e115], al
mov byte [ebp + 0x9e116], al
mov byte [ebp + 0x9e117], al
mov eax, dword [esp + 0x28a0]
mov byte [ebp + 0x9e0de], 0xff
mov byte [ebp + 0x9e0df], 0xff
mov byte [ebp + 0x9e0e4], 0xff
mov byte [ebp + 0x9e0e5], 0xff
mov byte [ebp + 0x9e0e6], 0xff
mov byte [ebp + 0x9e0e7], 0xff
mov word [ebp + 0x9e190], 0
mov word [ebp + 0x9e192], 0
mov word [ebp + 0x9e194], 0
mov word [ebp + 0x9e196], 0
mov word [ebp + 0x9e198], 0
mov word [ebp + 0x9e19a], 0
mov word [ebp + 0x9e19c], 0
mov word [ebp + 0x9e19e], 0
mov word [ebp + 0x9e1b0], 0
mov word [ebp + 0x9e1b2], 0
mov word [ebp + 0x9e1b4], 0
mov word [ebp + 0x9e1b6], 0
mov word [ebp + 0x9e1b8], 0
mov word [ebp + 0x9e1ba], 0
mov word [ebp + 0x9e1bc], 0
mov word [ebp + 0x9e1be], 0
mov word [ebp + 0x9e250], dx
mov word [ebp + 0x9e252], ax
mov word [ebp + 0x9e254], dx
mov word [ebp + 0x9e256], ax
mov word [ebp + 0x9e258], dx
mov word [ebp + 0x9e25a], ax
mov word [ebp + 0x9e25c], dx
mov word [ebp + 0x9e25e], ax
mov word [ebp + 0x9e270], dx
mov word [ebp + 0x9e272], ax
mov word [ebp + 0x9e274], dx
mov word [ebp + 0x9e276], ax
mov word [ebp + 0x9e278], dx
mov word [ebp + 0x9e27a], ax
mov word [ebp + 0x9e27c], dx
mov word [ebp + 0x9e27e], ax
jmp 0x6fd1176b
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1618]
mov edx, dword [esp + 0x1504]
add dword [esp + 0x29cc], ecx
mov ecx, dword [esp + 0x1508]
mov byte [ebp + 0x9e0dc], al
mov byte [ebp + 0x9e0dd], al
mov byte [ebp + 0x9e0de], al
mov byte [ebp + 0x9e0df], al
mov byte [ebp + 0x9e0e4], al
mov byte [ebp + 0x9e0e5], al
mov byte [ebp + 0x9e0e6], al
mov byte [ebp + 0x9e0e7], al
mov byte [ebp + 0x9e10c], al
mov byte [ebp + 0x9e10d], al
mov dword [esp + 0x29d4], 0xb
mov word [ebp + 0x9e190], dx
mov word [ebp + 0x9e192], cx
mov word [ebp + 0x9e194], dx
mov word [ebp + 0x9e196], cx
mov word [ebp + 0x9e198], dx
mov word [ebp + 0x9e19a], cx
mov word [ebp + 0x9e19c], dx
mov word [ebp + 0x9e19e], cx
mov word [ebp + 0x9e1b0], dx
mov word [ebp + 0x9e1b2], cx
mov word [ebp + 0x9e1b4], dx
mov word [ebp + 0x9e1b6], cx
mov word [ebp + 0x9e1b8], dx
mov word [ebp + 0x9e1ba], cx
mov word [ebp + 0x9e1bc], dx
mov word [ebp + 0x9e1be], cx
mov byte [ebp + 0x9e10e], al
mov byte [ebp + 0x9e10f], al
mov byte [ebp + 0x9e114], al
mov byte [ebp + 0x9e115], al
mov byte [ebp + 0x9e116], al
mov byte [ebp + 0x9e117], al
movzx eax, word [esp + 0x38]
mov word [ebp + 0x9e250], di
mov word [ebp + 0x9e254], di
mov word [ebp + 0x9e258], di
mov word [ebp + 0x9e252], ax
mov word [ebp + 0x9e256], ax
mov word [ebp + 0x9e25a], ax
mov word [ebp + 0x9e25c], di
mov word [ebp + 0x9e25e], ax
mov word [ebp + 0x9e270], di
mov word [ebp + 0x9e272], ax
mov word [ebp + 0x9e274], di
mov word [ebp + 0x9e276], ax
mov word [ebp + 0x9e278], di
mov word [ebp + 0x9e27a], ax
mov word [ebp + 0x9e27c], di
mov word [ebp + 0x9e27e], ax
jmp 0x6fd1176b
mov eax, dword [esp + 0x280]
lea ecx, [esp + 0x160]
shl eax, 4
add eax, dword [esp + 0x1618]
mov eax, dword [ebp + eax*4 + 0x9ea98]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x10
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call dword [ebp + 0x9f670]
jmp 0x6fd1156a
mov eax, dword [esp + 0x1618]
mov edx, dword [esp + 0x1560]
mov ecx, dword [esp + 0x155c]
mov edi, dword [esp + 0x40]
add edi, dword [esp + 0x29cc]
mov dword [esp + 0x29d8], 0xb
mov byte [ebp + 0x9e0ec], al
mov dword [esp + 0x38], edi
mov edi, 2
mov byte [ebp + 0x9e0ed], al
mov byte [ebp + 0x9e0ee], al
mov byte [ebp + 0x9e0ef], al
mov byte [ebp + 0x9e0f4], al
mov byte [ebp + 0x9e0f5], al
mov byte [ebp + 0x9e0f6], al
mov byte [ebp + 0x9e0f7], al
mov word [ebp + 0x9e1d0], cx
mov word [ebp + 0x9e1d2], dx
mov word [ebp + 0x9e1d4], cx
mov word [ebp + 0x9e1d6], dx
mov word [ebp + 0x9e1d8], cx
mov word [ebp + 0x9e1da], dx
mov word [ebp + 0x9e1dc], cx
mov word [ebp + 0x9e1de], dx
mov word [ebp + 0x9e1f0], cx
mov word [ebp + 0x9e1f2], dx
mov word [ebp + 0x9e1f4], cx
mov word [ebp + 0x9e1f6], dx
mov word [ebp + 0x9e1f8], cx
mov word [ebp + 0x9e1fa], dx
mov word [ebp + 0x9e1fc], cx
mov word [ebp + 0x9e1fe], dx
mov byte [ebp + 0x9e11c], al
mov byte [ebp + 0x9e11d], al
mov byte [ebp + 0x9e11e], al
mov byte [ebp + 0x9e11f], al
mov byte [ebp + 0x9e124], al
mov byte [ebp + 0x9e125], al
mov byte [ebp + 0x9e126], al
mov byte [ebp + 0x9e127], al
mov word [ebp + 0x9e290], si
mov word [ebp + 0x9e292], bx
mov word [ebp + 0x9e294], si
mov word [ebp + 0x9e296], bx
mov word [ebp + 0x9e298], si
mov word [ebp + 0x9e29a], bx
mov word [ebp + 0x9e29c], si
mov word [ebp + 0x9e29e], bx
mov word [ebp + 0x9e2b0], si
mov word [ebp + 0x9e2b2], bx
mov word [ebp + 0x9e2b4], si
mov word [ebp + 0x9e2b6], bx
mov word [ebp + 0x9e2b8], si
mov word [ebp + 0x9e2ba], bx
mov word [ebp + 0x9e2bc], si
mov word [ebp + 0x9e2be], bx
jmp 0x6fd11e37
mov eax, ebp
mov dword [ebp + 0x9d694], 6
lea edx, [esp + 0x1e4]
call fcn.6fd04bc0
mov eax, dword [ebp + 0x9d694]
jmp 0x6fd0e179
mov esi, dword [esp + 0x1944]
mov eax, dword [esp + 0x1e4]
mov dword [esp], ebp
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
mov dword [esp + 0x1944], eax
lea eax, [esp + 0x18f8]
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.6fd40830
test edi, edi
mov edx, dword [esp + 0x2c]
jne 0x6fd0fbb2
mov eax, dword [esp + 0x1944]
add eax, edx
sub eax, esi
add dword [esp + 0x29b8], eax
jmp 0x6fd0fbb2
mov ecx, dword [esp + 0x5ac]
mov eax, dword [esp + 0x1e4]
mov dword [esp], ebp
mov edx, ecx
lea eax, [eax + eax*2]
sub edx, eax
mov dword [esp + 0x5ac], edx
lea edx, [esp + 0x560]
mov dword [esp + 4], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
call fcn.6fd40830
test edi, edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jne 0x6fd0fba3
add eax, dword [esp + 0x5ac]
sub eax, ecx
add dword [esp + 0x29b8], eax
jmp 0x6fd0fba3
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 8
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x150c]
mov dword [esp + 4], eax
call fcn.6fd44750
mov eax, dword [esp + 0x29d8]
jmp 0x6fd1104e
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x284c]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd11032
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x14b4]
mov dword [esp + 4], eax
call fcn.6fd44750
mov eax, dword [esp + 0x29d4]
jmp 0x6fd11029
lea eax, [esp + 0x284c]
mov dword [esp + 8], eax
lea eax, [esp + 0x14b4]
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd408d0
jmp 0x6fd10f95
mov esi, dword [esp + 0x1a4c]
mov eax, dword [esp + 0x1e4]
mov dword [esp], ebp
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
mov dword [esp + 0x1a4c], eax
lea eax, [esp + 0x1a00]
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.6fd40830
test edi, edi
mov edx, dword [esp + 0x2c]
jne 0x6fd0fc4b
mov eax, dword [esp + 0x1a4c]
add eax, edx
sub eax, esi
add dword [esp + 0x29b8], eax
jmp 0x6fd0fc4b
mov ecx, dword [esp + 0x6b4]
mov eax, dword [esp + 0x1e4]
mov dword [esp], ebp
mov edx, ecx
lea eax, [eax + eax*2]
sub edx, eax
mov dword [esp + 0x6b4], edx
lea edx, [esp + 0x668]
mov dword [esp + 4], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
call fcn.6fd40830
test edi, edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jne 0x6fd0fc3c
add eax, dword [esp + 0x6b4]
sub eax, ecx
add dword [esp + 0x29b8], eax
jmp 0x6fd0fc3c
lea eax, [esp + 0x19a8]
mov dword [esp + 8], eax
lea eax, [esp + 0x610]
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd408d0
jmp 0x6fd0fcb9
lea eax, [esp + 0x2900]
mov dword [esp + 8], eax
lea eax, [esp + 0x1568]
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd408d0
jmp 0x6fd10fd8
mov esi, dword [esp + 0x199c]
mov eax, dword [esp + 0x1e4]
mov dword [esp], ebp
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
mov dword [esp + 0x199c], eax
lea eax, [esp + 0x1950]
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.6fd40830
test edi, edi
mov edx, dword [esp + 0x2c]
jne 0x6fd0fbe5
mov eax, dword [esp + 0x199c]
add eax, edx
sub eax, esi
add dword [esp + 0x29b8], eax
jmp 0x6fd0fbe5
mov ecx, dword [esp + 0x604]
mov eax, dword [esp + 0x1e4]
mov dword [esp], ebp
mov edx, ecx
lea eax, [eax + eax*2]
sub edx, eax
mov dword [esp + 0x604], edx
lea edx, [esp + 0x5b8]
mov dword [esp + 4], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
call fcn.6fd40830
test edi, edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jne 0x6fd0fbd6
add eax, dword [esp + 0x604]
sub eax, ecx
add dword [esp + 0x29b8], eax
jmp 0x6fd0fbd6
mov esi, dword [esp + 0x19f4]
mov eax, dword [esp + 0x1e4]
mov dword [esp], ebp
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
mov dword [esp + 0x19f4], eax
lea eax, [esp + 0x19a8]
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.6fd40830
test edi, edi
mov edx, dword [esp + 0x2c]
jne 0x6fd0fc18
mov eax, dword [esp + 0x19f4]
add eax, edx
sub eax, esi
add dword [esp + 0x29b8], eax
jmp 0x6fd0fc18
mov ecx, dword [esp + 0x65c]
mov eax, dword [esp + 0x1e4]
mov dword [esp], ebp
mov edx, ecx
lea eax, [eax + eax*2]
sub edx, eax
mov dword [esp + 0x65c], edx
lea edx, [esp + 0x610]
mov dword [esp + 4], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
call fcn.6fd40830
test edi, edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jne 0x6fd0fc09
add eax, dword [esp + 0x65c]
sub eax, ecx
add dword [esp + 0x29b8], eax
jmp 0x6fd0fc09
lea eax, [esp + 0x1950]
mov dword [esp + 8], eax
lea eax, [esp + 0x5b8]
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd408d0
jmp 0x6fd0fcac
lea eax, [esp + 0x18f8]
mov dword [esp + 8], eax
lea eax, [esp + 0x560]
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd408d0
jmp 0x6fd0fc9f
lea eax, [esp + 0x284]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
lea eax, [esp + 0x161c]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
jmp 0x6fd0e640
lea eax, [esp + 0x161c]
mov edi, 0x10
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0x1e4]
lea ecx, [eax + eax*2]
add ecx, dword [esp + 0x1668]
mov dword [esp + 0x80], ecx
jmp 0x6fd0e650
lea eax, [esp + 0x284]
mov edi, 0x10
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.6fd40830
mov eax, dword [esp + 0x1e4]
lea ecx, [eax + eax*2]
add ecx, dword [esp + 0x2d0]
mov dword [esp + 0x80], ecx
jmp 0x6fd0e650
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 4
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x1950]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0e709
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 4
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x5b8]
mov dword [esp + 4], eax
call fcn.6fd44750
mov eax, dword [ebp + 0x9d6a0]
jmp 0x6fd0e700
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x18f8]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0e6f1
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x560]
mov dword [esp + 4], eax
call fcn.6fd44750
mov eax, dword [ebp + 0x9d69c]
jmp 0x6fd0e6e8
mov ecx, edx
mov esi, dword [ebp + 0x174]
mov dword [ebp + 0x9d694], ebx
test esi, esi
jne 0x6fd131f5
mov dword [ebp + 0x9e674], 0
jmp 0x6fd0e650
mov dword [esp], ebp
call fcn.6fcf4ba0
test eax, eax
jne 0x6fd1320a
mov ecx, dword [esp + 0x80]
jmp 0x6fd131e6
lea edx, [esp + 0x1e4]
mov eax, ebp
mov dword [ebp + 0x9e674], 1
call fcn.6fd04bc0
mov eax, dword [ebp + 0x9d6ac]
test eax, eax
sete byte [esp + 0x38]
movzx esi, byte [esp + 0x38]
mov dword [ebp + 0x9d6ac], esi
mov dword [esp], ebp
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x1e8]
call fcn.6fd15280
mov dword [esp + 0xc], 0x20
mov eax, dword [ebp + 0x9dbac]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba0]
mov dword [esp], eax
call dword [ebp + 0x9f580]
mov dword [esp + 0xc], 0x20
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x9dbb0]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba4]
mov dword [esp], eax
call dword [ebp + 0x9f58c]
mov dword [esp + 0xc], 0x20
add eax, dword [esp + 0x40]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x9dbb4]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x9dba8]
mov dword [esp], eax
call dword [ebp + 0x9f58c]
add eax, dword [esp + 0x40]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x9d694]
cmp eax, 0x12
jne 0x6fd13360
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x3c]
add esi, dword [esp + 0x40]
cmp ecx, esi
mov dword [ebp + 0x9d6ac], edx
jl 0x6fd1334a
test ecx, ecx
mov eax, dword [esp + 0x1fc]
jle 0x6fd1332d
imul esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov edx, ecx
sar edx, 0x1f
mov dword [esp], eax
mov dword [esp + 0xc], edx
call fcn.703e0860
mov dword [esp + 0x1fc], eax
test eax, eax
jne 0x6fd1333c
mov dword [esp + 0x1fc], 1
mov dword [esp + 0x80], esi
mov ecx, esi
jmp 0x6fd0e650
movzx eax, byte [esp + 0x38]
xor eax, 1
movzx eax, al
mov dword [ebp + 0x9d6ac], eax
jmp 0x6fd0e650
cmp eax, 6
je 0x6fd132e7
mov eax, dword [ebp + 0x3fc]
mov dword [esp + 0xa4], 0
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0x400]
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 0x404]
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x408]
mov dword [esp], ebp
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
call fcn.6fd07cb0
imul esi, dword [esp + 0xa4]
jmp 0x6fd132e7
mov edi, 0x10
jmp 0x6fd131d6
mov edi, 0xf
jmp 0x6fd131d6
mov edx, dword [esp + 0x1e8]
mov eax, ebp
mov dword [ebp + 0x9d694], edi
mov dword [ebp + 0x9d698], 0xe
call fcn.6fd09340
mov dword [esp + 0x29cc], eax
jmp 0x6fd11ea8
shl eax, 2
mov dword [esp + 0x1e8], eax
mov eax, dword [ebp + 0x194]
cmp eax, 5
mov dword [esp + 0x44], eax
jle 0x6fd0dac0
mov edi, dword [ebp + 0x1a0]
test edi, edi
je 0x6fd0dac0
mov eax, dword [ebp + 0x184]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x1f4], 1
mov dword [esp + 0x38], 1
mov dword [ebp + 0x3a534], eax
xor eax, eax
mov dword [ebp + 0x3a538], ecx
jmp 0x6fd0d7d5
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xc
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x668]
mov dword [esp + 4], eax
call fcn.6fd44750
mov eax, dword [ebp + 0x9d6a8]
jmp 0x6fd0e730
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 8
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x19a8]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0e721
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 8
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x610]
mov dword [esp + 4], eax
call fcn.6fd44750
mov eax, dword [ebp + 0x9d6a4]
jmp 0x6fd0e718
mov edx, 0x30
jmp 0x6fd0e3a8
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x560]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0e349
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x2900]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd124fd
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x1568]
mov dword [esp + 4], eax
call fcn.6fd44750
mov eax, dword [esp + 0x29dc]
jmp 0x6fd124f4
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 4
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x15c0]
mov dword [esp + 4], eax
call fcn.6fd44750
mov eax, dword [esp + 0x29e0]
jmp 0x6fd12519
mov ecx, 0x30
jmp 0x6fd0eee5
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 8
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x610]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0e363
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 4
mov dword [esp], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0x5b8]
mov dword [esp + 4], eax
call fcn.6fd44750
jmp 0x6fd0e356