Function at 0x6c6660
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff18
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x6c9720
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x8c], eax
xor eax, eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x94], 0xffffffff
mov eax, dword [ebp - 8]
cmp word [eax + 0x1e], 1
jne 0x6c66e1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
imul dword [ebp + 0x10]
mov dword [ebp - 0xe4], eax
fild dword [ebp - 0xe4]
mov eax, dword [ebp - 8]
fild dword [eax + 0xc]
fdiv dword [0x6c9730]
fmulp st(1)
call fcn.00404894
mov dword [ebp - 0x48], eax
jmp 0x6c66fa
fild dword [ebp + 0x10]
mov eax, dword [ebp - 8]
fild dword [eax + 0xc]
fdiv dword [0x6c9730]
fmulp st(1)
call fcn.00404894
mov dword [ebp - 0x48], eax
fild dword [ebp - 0x48]
mov eax, dword [ebp - 8]
fild dword [eax + 0xc]
fdiv dword [0x6c9730]
fdivp st(1)
fild dword [ebp + 0x10]
fcompp
wait
fnstsw ax
sahf
jbe 0x6c6719
inc dword [ebp - 0x48]
xor eax, eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 7
jne 0x6c6985
mov eax, dword [ebp - 8]
cmp dword [eax + 0x6c], 0
jne 0x6c6985
mov dl, 1
mov eax, dword [0x4348bc]
call fcn.00405828
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x5c]
mov ebx, dword [eax]
call dword [ebx + 0x10]
push 0
push 0
mov eax, dword [ebp - 0x5c]
call fcn.00440558
mov dl, 1
mov eax, dword [0x85ef34]
call fcn.008730d8
mov dword [ebp - 0x64], eax
push 5
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x64]
mov ebx, dword [eax]
call dword [ebx + 0x28]
mov eax, dword [ebp - 8]
cmp dword [eax + 0x28], 1
je 0x6c6793
mov eax, dword [ebp - 8]
cmp dword [eax + 0x38], 1
jne 0x6c67a7
mov eax, dword [ebp + 8]
mov esi, eax
lea edi, [ebp - 0xe0]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
jmp 0x6c6823
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c6809
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x20]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c67da
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c6809
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x20]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
xor eax, eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xb8], eax
mov byte [ebp - 0x65], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov ebx, dword [eax + 0x1c]
mov edx, dword [ebp - 8]
mov esi, dword [eax + 0x20]
mov edx, dword [ebp - 8]
mov edi, dword [eax + 0x14]
mov edx, dword [ebp - 8]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 8]
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 8]
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 8]
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x78], edx
mov edx, dword [ebp - 8]
add edx, 0x180
push edx
lea edx, [ebp - 0xe0]
push edx
push 0
movzx edx, byte [ebp - 0x65]
push edx
push 0
push 1
push 0
push 1
push 0xffffffffffffffff
mov edx, dword [ebp - 8]
movzx eax, byte [eax + 0x530]
push eax
mov ecx, dword [ebp - 0x64]
xor edx, edx
mov eax, dword [ebp - 0x5c]
call fcn.0075b8f8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov edx, dword [ebp - 0x78]
call fcn.007cf074
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov edx, ebx
call fcn.007cef54
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov edx, esi
call fcn.007cefcc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov dword [eax + 0x14], edi
mov edx, dword [ebp - 8]
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 8]
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 8]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0xb8]
cmp byte [eax], 0
jne 0x6c6970
cmp byte [ebp - 0x65], 0
je 0x6c6949
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
test eax, eax
jl 0x6c6949
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edx, eax
mov eax, ebx
call fcn.00816ab4
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c6921
push 0
mov eax, dword [ebp + 0x1c]
mov ecx, 3
cdq
idiv ecx
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
xor ecx, ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x64]
call fcn.0087882c
lea eax, [ebp - 0x64]
call fcn.0041f804
lea eax, [ebp - 0x5c]
call fcn.0041f804
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 7
jne 0x6c6c60
mov eax, dword [ebp - 8]
cmp dword [eax + 0x6c], 0
je 0x6c6c60
mov dl, 1
mov eax, dword [0x4348bc]
call fcn.00405828
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x5c]
mov ebx, dword [eax]
call dword [ebx + 0x10]
push 0
push 0
mov eax, dword [ebp - 0x5c]
call fcn.00440558
mov dl, 1
mov eax, dword [0x4348bc]
call fcn.00405828
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 0x70]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x6c]
mov eax, dword [ebp - 0x60]
mov ebx, dword [eax]
call dword [ebx + 0x10]
push 0
push 0
mov eax, dword [ebp - 0x60]
call fcn.00440558
mov dl, 1
mov eax, dword [0x85ef34]
call fcn.008730d8
mov dword [ebp - 0x64], eax
push 5
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x64]
mov ebx, dword [eax]
call dword [ebx + 0x28]
mov eax, dword [ebp - 8]
cmp dword [eax + 0x28], 1
je 0x6c6a29
mov eax, dword [ebp - 8]
cmp dword [eax + 0x38], 1
jne 0x6c6a3d
mov eax, dword [ebp + 8]
mov esi, eax
lea edi, [ebp - 0xe0]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
jmp 0x6c6ab9
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c6a9f
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x20]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c6a70
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c6a9f
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x20]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
xor eax, eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 2
sete byte [ebp - 0x65]
xor edx, edx
push ebp
push 0x6c6bbe
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov ebx, dword [eax + 0x1c]
mov edx, dword [ebp - 8]
mov esi, dword [eax + 0x20]
mov edx, dword [ebp - 8]
mov edi, dword [eax + 0x14]
mov edx, dword [ebp - 8]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 8]
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 8]
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 8]
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x78], edx
mov edx, dword [ebp - 8]
add edx, 0x180
push edx
lea edx, [ebp - 0xe0]
push edx
push 0
movzx edx, byte [ebp - 0x65]
push edx
push 0
push 1
push 0
push 1
push 0xffffffffffffffff
mov edx, dword [ebp - 8]
movzx eax, byte [eax + 0x530]
push eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
call fcn.0075b8f8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov edx, dword [ebp - 0x78]
call fcn.007cf074
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov edx, ebx
call fcn.007cef54
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov edx, esi
call fcn.007cefcc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov dword [eax + 0x14], edi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x38], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6c6bc8
mov eax, dword [ebp - 0xb8]
cmp byte [eax], 0
jne 0x6c6c43
cmp byte [ebp - 0x65], 0
je 0x6c6c1c
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
test eax, eax
jl 0x6c6c1c
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edx, eax
mov eax, ebx
call fcn.00816ab4
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c6bf4
push 0
mov eax, dword [ebp + 0x1c]
mov ecx, 3
cdq
idiv ecx
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
xor ecx, ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x64]
call fcn.0087882c
lea eax, [ebp - 0x64]
call fcn.0041f804
lea eax, [ebp - 0x5c]
call fcn.0041f804
lea eax, [ebp - 0x60]
call fcn.0041f804
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 2
jne 0x6c6ea5
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 3
je 0x6c6c84
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 4
jne 0x6c6ea5
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
jne 0x6c6ea5
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 4
jne 0x6c6ca6
mov eax, dword [ebp - 8]
cmp dword [eax + 0x18c], 2
je 0x6c6cb9
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 4
jne 0x6c6cc5
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 2
jne 0x6c6cc5
mov eax, dword [ebp - 8]
cmp byte [eax + 0x188], 0
je 0x6c6cc9
xor eax, eax
jmp 0x6c6ccb
mov al, 1
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x6c6ce1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x184]
mov byte [eax + 0x68], 0
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c6cfc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
imul dword [ebp + 0x10]
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c6e8a
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c6e70
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
cmp byte [ebp - 0x55], 0
je 0x6c6de1
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x184]
call fcn.0086ea30
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x1c]
add dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c6e01
inc eax
mov dword [ebp - 0xa8], eax
mov ax, word [esi]
mov word [ebx], ax
mov al, byte [esi + 2]
mov byte [ebx + 2], al
mov edx, ebx
lea eax, [ebx + 2]
call fcn.00805a7c
add esi, 3
movzx eax, byte [esi]
mov edx, dword [ebp - 0x38]
mov byte [edx], al
inc dword [ebp - 0x38]
inc esi
add ebx, 3
dec dword [ebp - 0xa8]
jne 0x6c6daf
jmp 0x6c6e01
push 1
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
push eax
mov edi, dword [0x8e6a04]
mov edi, dword [edi]
mov ecx, ebx
xor edx, edx
mov eax, esi
call edi
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c6e63
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c6e34
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c6e63
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c6e8a
jmp 0x6c6e7b
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c6e8a
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c6d16
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 2
jne 0x6c722f
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 3
jle 0x6c722f
mov eax, dword [ebp - 8]
cmp dword [eax + 0x190], 0
jle 0x6c722f
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
jne 0x6c722f
mov byte [ebp - 0x55], 0
mov eax, dword [ebp - 8]
cmp byte [eax + 0x188], 0
jne 0x6c6f39
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x190]
dec eax
test eax, eax
jl 0x6c6f39
inc eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 8]
add eax, 0x194
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
cmp dword [eax], 1
je 0x6c6f26
mov eax, dword [ebp - 0xac]
cmp dword [eax], 2
jne 0x6c6f2a
mov byte [ebp - 0x55], 1
add dword [ebp - 0xac], 4
dec dword [ebp - 0xa4]
jne 0x6c6f10
cmp byte [ebp - 0x55], 0
je 0x6c6f4c
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x184]
mov byte [eax + 0x68], 0
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c6f67
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
imul dword [ebp + 0x10]
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c7214
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c71fa
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
cmp byte [ebp - 0x55], 0
je 0x6c7145
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c718b
inc eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x18], 0
mov ax, word [esi]
mov word [ebx], ax
mov al, byte [esi + 2]
mov byte [ebx + 2], al
mov edx, ebx
lea eax, [ebx + 2]
call fcn.00805a7c
add esi, 3
mov edi, dword [ebp - 8]
mov edi, dword [edi + 0x190]
dec edi
test edi, edi
jl 0x6c7131
inc edi
mov eax, dword [ebp - 8]
add eax, 0x194
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp dword [eax], 1
jne 0x6c70fc
movzx eax, byte [esi]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x184]
mov edx, dword [ebp - 0x18]
call fcn.0086c298
movzx eax, byte [esi]
mov dword [ebp - 0xe4], eax
fild dword [ebp - 0xe4]
fdiv dword [0x6c9734]
add esp, 0xfffffff8
fstp qword [esp]
wait
push 0x3f701010
push 0x10101010
call fcn.008059dc
fstp qword [ebp - 0xa0]
wait
movzx eax, byte [ebx + 2]
mov dword [ebp - 0xe4], eax
fild dword [ebp - 0xe4]
fdiv qword [ebp - 0xa0]
call fcn.00404894
mov byte [ebx + 2], al
movzx eax, byte [ebx + 1]
mov dword [ebp - 0xe4], eax
fild dword [ebp - 0xe4]
fdiv qword [ebp - 0xa0]
call fcn.00404894
mov byte [ebx + 1], al
movzx eax, byte [ebx]
mov dword [ebp - 0xe4], eax
fild dword [ebp - 0xe4]
fdiv qword [ebp - 0xa0]
call fcn.00404894
mov byte [ebx], al
jmp 0x6c7122
mov eax, dword [ebp - 0xb0]
cmp dword [eax], 2
jne 0x6c7122
movzx eax, byte [esi]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x184]
mov edx, dword [ebp - 0x18]
call fcn.0086c298
inc esi
add dword [ebp - 0xb0], 4
dec edi
jne 0x6c7046
add ebx, 3
inc dword [ebp - 0x18]
dec dword [ebp - 0xa8]
jne 0x6c700c
jmp 0x6c718b
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c718b
inc eax
mov dword [ebp - 0xa8], eax
mov ax, word [esi]
mov word [ebx], ax
mov al, byte [esi + 2]
mov byte [ebx + 2], al
mov edx, ebx
lea eax, [ebx + 2]
call fcn.00805a7c
add esi, 3
mov edi, dword [ebp - 8]
mov edi, dword [edi + 0x190]
dec edi
test edi, edi
jl 0x6c7180
inc edi
inc esi
dec edi
jne 0x6c717c
add ebx, 3
dec dword [ebp - 0xa8]
jne 0x6c7154
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c71ed
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c71be
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c71ed
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c7214
jmp 0x6c7205
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c7214
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c6f81
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 2
jne 0x6c74b4
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 3
jne 0x6c74b4
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 0x10
jne 0x6c74b4
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c7274
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
imul dword [ebp + 0x10]
add eax, eax
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c7499
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c747f
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 8
jne 0x6c73ae
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov edi, eax
mov eax, dword [ebp - 8]
push dword [eax + 8]
mov eax, dword [ebp + 0x1c]
pop edx
mov ecx, edx
cdq
idiv ecx
add eax, eax
lea eax, [eax + eax*2]
add edi, eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x17c], 0
je 0x6c7362
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c7410
inc eax
mov dword [ebp - 0xa8], eax
movzx eax, word [esi]
mov word [edi], ax
add esi, 2
movzx eax, word [esi]
mov word [edi + 2], ax
add esi, 2
movzx eax, word [esi]
mov word [edi + 4], ax
add esi, 2
add edi, 6
dec dword [ebp - 0xa8]
jne 0x6c7335
jmp 0x6c7410
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c7410
inc eax
mov dword [ebp - 0xa8], eax
movzx eax, word [esi]
call fcn.00868a3c
mov word [edi], ax
add esi, 2
movzx eax, word [esi]
call fcn.00868a3c
mov word [edi + 2], ax
add esi, 2
movzx eax, word [esi]
call fcn.00868a3c
mov word [edi + 4], ax
add esi, 2
add edi, 6
dec dword [ebp - 0xa8]
jne 0x6c7375
jmp 0x6c7410
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x17c], 0
jne 0x6c73f0
push 1
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
push eax
mov edi, dword [0x8e6a04]
mov edi, dword [edi]
mov ecx, ebx
mov dl, 7
mov eax, esi
call edi
jmp 0x6c7410
push 1
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
push eax
mov edi, dword [0x8e6a04]
mov edi, dword [edi]
mov ecx, ebx
mov dl, 6
mov eax, esi
call edi
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c7472
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c7443
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c7472
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c7499
jmp 0x6c748a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c7499
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c728e
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 2
jne 0x6c778e
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 4
jne 0x6c778e
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 0x10
jne 0x6c778e
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c74f9
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
imul dword [ebp + 0x10]
add eax, eax
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c7773
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c7759
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 8
jne 0x6c763c
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov edi, eax
mov eax, dword [ebp - 8]
push dword [eax + 8]
mov eax, dword [ebp + 0x1c]
pop edx
mov ecx, edx
cdq
idiv ecx
add eax, eax
lea eax, [eax + eax*2]
add edi, eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x17c], 0
je 0x6c75ea
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c76ea
inc eax
mov dword [ebp - 0xa8], eax
movzx eax, word [esi]
mov word [edi], ax
add esi, 2
movzx eax, word [esi]
mov word [edi + 2], ax
add esi, 2
movzx eax, word [esi]
mov word [edi + 4], ax
add esi, 2
add esi, 2
add edi, 6
dec dword [ebp - 0xa8]
jne 0x6c75ba
jmp 0x6c76ea
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c76ea
inc eax
mov dword [ebp - 0xa8], eax
movzx eax, word [esi]
call fcn.00868a3c
mov word [edi], ax
add esi, 2
movzx eax, word [esi]
call fcn.00868a3c
mov word [edi + 2], ax
add esi, 2
movzx eax, word [esi]
call fcn.00868a3c
mov word [edi + 4], ax
add esi, 2
add esi, 2
add edi, 6
dec dword [ebp - 0xa8]
jne 0x6c75fd
jmp 0x6c76ea
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
mov edi, esi
mov dword [ebp - 0x24], esi
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c769c
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x24]
movzx eax, word [eax]
mov word [edi], ax
add dword [ebp - 0x24], 2
mov eax, dword [ebp - 0x24]
movzx eax, word [eax]
mov word [edi + 2], ax
add dword [ebp - 0x24], 2
mov eax, dword [ebp - 0x24]
movzx eax, word [eax]
mov word [edi + 4], ax
add dword [ebp - 0x24], 2
add dword [ebp - 0x24], 2
add edi, 6
dec dword [ebp - 0xa8]
jne 0x6c7664
mov eax, dword [ebp - 8]
cmp byte [eax + 0x17c], 0
jne 0x6c76ca
push 1
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
push eax
mov edi, dword [0x8e6a04]
mov edi, dword [edi]
mov ecx, ebx
mov dl, 7
mov eax, esi
call edi
jmp 0x6c76ea
push 1
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
push eax
mov edi, dword [0x8e6a04]
mov edi, dword [edi]
mov ecx, ebx
mov dl, 6
mov eax, esi
call edi
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c774c
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c771d
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c774c
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c7773
jmp 0x6c7764
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c7773
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c7513
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 2
jne 0x6c7940
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 1
jne 0x6c7940
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 0x10
jne 0x6c7940
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c77d1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
imul dword [ebp + 0x10]
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c7925
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c790b
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c789c
inc eax
mov dword [ebp - 0xa8], eax
movzx eax, word [esi]
shr eax, 0xa
add eax, eax
add eax, eax
add eax, eax
mov byte [ebx + 2], al
movzx eax, word [esi]
shr eax, 5
and al, 0x1f
add eax, eax
add eax, eax
add eax, eax
mov byte [ebx + 1], al
movzx eax, byte [esi]
and al, 0x1f
add eax, eax
add eax, eax
add eax, eax
mov byte [ebx], al
add esi, 2
add ebx, 3
dec dword [ebp - 0xa8]
jne 0x6c7861
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c78fe
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c78cf
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c78fe
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c7925
jmp 0x6c7916
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c7925
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c77eb
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 3
jne 0x6c7b2e
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 1
jne 0x6c7b2e
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 1
jne 0x6c7b2e
mov eax, dword [ebp + 0x10]
add eax, eax
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c7b21
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c7b07
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 2
jne 0x6c7a3e
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c7a98
inc eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x1c], 0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
call fcn.008139b0
test eax, eax
je 0x6c7a2d
mov byte [ebx], 1
jmp 0x6c7a30
mov byte [ebx], 0
inc ebx
inc dword [ebp - 0x1c]
dec dword [ebp - 0xa8]
jne 0x6c7a19
jmp 0x6c7a98
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c7a98
inc eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x1c], 0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
call fcn.008139b0
test eax, eax
je 0x6c7a78
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
mov dx, word [eax + 3]
mov word [ebx], dx
mov dl, byte [eax + 5]
mov byte [ebx + 2], dl
jmp 0x6c7a8a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x44]
mov dx, word [eax]
mov word [ebx], dx
mov dl, byte [eax + 2]
mov byte [ebx + 2], dl
add ebx, 3
inc dword [ebp - 0x1c]
dec dword [ebp - 0xa8]
jne 0x6c7a54
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c7afa
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c7acb
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c7afa
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c7b21
jmp 0x6c7b12
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c7b21
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c798f
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 3
jne 0x6c7ec4
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
jg 0x6c7ec4
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 2
jne 0x6c7d01
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
jne 0x6c7d01
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c7b7a
mov eax, dword [ebp + 0x10]
add eax, eax
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c7ce6
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c7ccc
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c7c5d
inc eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x1c], 0
movzx eax, byte [esi]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x44]
mov cx, word [edx + eax]
mov word [ebx], cx
mov cl, byte [edx + eax + 2]
mov byte [ebx + 2], cl
inc esi
movzx eax, byte [esi]
mov edx, 0xff
sub edx, eax
push edx
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x184]
mov edx, dword [ebp - 0x1c]
call fcn.0086c298
inc esi
add ebx, 3
inc dword [ebp - 0x1c]
dec dword [ebp - 0xa8]
jne 0x6c7c11
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c7cbf
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c7c90
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c7cbf
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c7ce6
jmp 0x6c7cd7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c7ce6
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c7b94
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
jne 0x6c7d14
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
jge 0x6c7d21
mov eax, dword [ebp + 0x10]
add eax, eax
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c7ea0
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c7e86
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 2
jne 0x6c7dd8
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c7e17
inc eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x1c], 0
movzx eax, byte [esi]
mov byte [ebx], al
inc esi
inc ebx
inc dword [ebp - 0x1c]
dec dword [ebp - 0xa8]
jne 0x6c7dc4
jmp 0x6c7e17
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c7e17
inc eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x1c], 0
movzx eax, byte [esi]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x44]
mov cx, word [edx + eax]
mov word [ebx], cx
mov cl, byte [edx + eax + 2]
mov byte [ebx + 2], cl
inc esi
add ebx, 3
inc dword [ebp - 0x1c]
dec dword [ebp - 0xa8]
jne 0x6c7dee
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c7e79
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c7e4a
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c7e79
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c7ea0
jmp 0x6c7e91
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c7ea0
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c7d3b
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
jne 0x6c7eb7
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
jge 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 1
ja 0x6c810c
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 1
jne 0x6c810c
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
je 0x6c7f07
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 4
je 0x6c7f07
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 2
je 0x6c7f07
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 7
jne 0x6c810c
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
jne 0x6c7f2c
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 4
je 0x6c7f2c
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 2
je 0x6c7f2c
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 7
jne 0x6c7f3a
mov eax, dword [ebp + 0x10]
add eax, 4
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c80e8
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c80ce
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 3
jne 0x6c7feb
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c805f
inc eax
mov dword [ebp - 0xa8], eax
movzx eax, byte [esi]
mov byte [ebx], al
inc esi
inc ebx
dec dword [ebp - 0xa8]
jne 0x6c7fda
jmp 0x6c805f
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 0
jne 0x6c8033
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c805f
inc eax
mov dword [ebp - 0xa8], eax
movzx eax, byte [esi]
mov edx, 0xff
sub edx, eax
mov dword [ebp - 0x1c], edx
movzx eax, byte [ebp - 0x1c]
mov byte [ebx + 2], al
movzx eax, byte [ebp - 0x1c]
mov byte [ebx + 1], al
movzx eax, byte [ebp - 0x1c]
mov byte [ebx], al
inc esi
add ebx, 3
dec dword [ebp - 0xa8]
jne 0x6c8004
jmp 0x6c805f
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c805f
inc eax
mov dword [ebp - 0xa8], eax
movzx eax, byte [esi]
mov byte [ebx + 2], al
movzx eax, byte [esi]
mov byte [ebx + 1], al
movzx eax, byte [esi]
mov byte [ebx], al
inc esi
add ebx, 3
dec dword [ebp - 0xa8]
jne 0x6c8042
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c80c1
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c8092
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c80c1
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c80e8
jmp 0x6c80d9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c80e8
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c7f54
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
jne 0x6c80ff
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 4
jne 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 1
ja 0x6c83ee
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 1
jle 0x6c83ee
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
jne 0x6c83ee
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x188]
xor al, 1
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x6c8156
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x184]
mov byte [eax + 0x68], 0
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c8171
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
imul dword [ebp + 0x10]
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
imul dword [ebp + 0x10]
call fcn.00404360
mov dword [ebp - 0x34], eax
xor eax, eax
push ebp
push 0x6c83e7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c83bf
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c83a5
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 0
jne 0x6c82a8
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c8336
inc eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x18], 0
movzx eax, byte [esi]
mov edx, 0xff
sub edx, eax
mov dword [ebp - 0x1c], edx
movzx eax, byte [ebp - 0x1c]
mov byte [ebx + 2], al
movzx eax, byte [ebp - 0x1c]
mov byte [ebx + 1], al
movzx eax, byte [ebp - 0x1c]
mov byte [ebx], al
inc esi
cmp byte [ebp - 0x55], 0
je 0x6c827c
movzx eax, byte [esi]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x184]
mov edx, dword [ebp - 0x18]
call fcn.0086c298
mov edi, dword [ebp - 8]
mov edi, dword [edi + 8]
dec edi
test edi, edi
jle 0x6c8295
mov dword [ebp - 0x1c], 1
inc esi
inc dword [ebp - 0x1c]
dec edi
jne 0x6c828e
add ebx, 3
inc dword [ebp - 0x18]
dec dword [ebp - 0xa8]
jne 0x6c8239
jmp 0x6c8336
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c8315
inc eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x18], 0
movzx eax, byte [esi]
mov edx, dword [ebp - 0x38]
mov byte [edx], al
inc esi
cmp byte [ebp - 0x55], 0
je 0x6c82ee
movzx eax, byte [esi]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x184]
mov edx, dword [ebp - 0x18]
call fcn.0086c298
mov edi, dword [ebp - 8]
mov edi, dword [edi + 8]
dec edi
test edi, edi
jle 0x6c8307
mov dword [ebp - 0x1c], 1
inc esi
inc dword [ebp - 0x1c]
dec edi
jne 0x6c8300
inc dword [ebp - 0x38]
inc dword [ebp - 0x18]
dec dword [ebp - 0xa8]
jne 0x6c82c4
push 1
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
push eax
mov esi, dword [0x8e6a04]
mov esi, dword [esi]
mov ecx, ebx
mov dl, 5
mov eax, dword [ebp - 0x34]
call esi
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c8398
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c8369
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c8398
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c83bf
jmp 0x6c83b0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c83bf
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c81aa
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6c96cc
mov eax, dword [ebp - 0x34]
call fcn.0040437c
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c83e6
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
ret
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 1
ja 0x6c876b
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 1
jne 0x6c876b
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 0x10
jne 0x6c876b
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c842d
mov eax, dword [ebp + 0x10]
add eax, eax
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c8750
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c8736
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0xe8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xa4]
mov ecx, 0xf
mov edx, 1
call fcn.0088f5f0
mov eax, dword [ebp - 0xe8]
mov edx, 0x6c9744
call fcn.00407338
jne 0x6c84eb
mov dword [ebp - 0x20], 4
jmp 0x6c84f2
mov dword [ebp - 0x20], 8
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 4
jne 0x6c85d0
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 0
jne 0x6c8570
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c86c7
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x17c], 0
jne 0x6c854f
mov eax, dword [ebp - 0x44]
movzx eax, word [eax]
shr eax, 8
and ax, 0xff
mov edx, dword [ebp - 0x44]
movzx edx, word [edx]
shl edx, 8
and dx, 0xff00
or ax, dx
mov edx, dword [ebp - 0x44]
mov word [edx], ax
mov eax, dword [ebp - 0x44]
mov dx, 0xffff
sub dx, word [eax]
mov word [ebx], dx
add dword [ebp - 0x44], 2
add ebx, 2
dec dword [ebp - 0xa8]
jne 0x6c851f
jmp 0x6c86c7
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c86c7
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x17c], 0
jne 0x6c85b3
mov eax, dword [ebp - 0x44]
movzx eax, word [eax]
shr eax, 8
and ax, 0xff
mov edx, dword [ebp - 0x44]
movzx edx, word [edx]
shl edx, 8
and dx, 0xff00
or ax, dx
mov edx, dword [ebp - 0x44]
mov word [edx], ax
mov eax, dword [ebp - 0x44]
movzx eax, word [eax]
mov word [ebx], ax
add dword [ebp - 0x44], 2
add ebx, 2
dec dword [ebp - 0xa8]
jne 0x6c8583
jmp 0x6c86c7
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 0
jne 0x6c8657
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c86c7
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x17c], 0
jne 0x6c861d
mov eax, dword [ebp - 0x44]
movzx eax, word [eax]
shr eax, 8
and ax, 0xff
mov edx, dword [ebp - 0x44]
movzx edx, word [edx]
shl edx, 8
and dx, 0xff00
or ax, dx
mov edx, dword [ebp - 0x44]
mov word [edx], ax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
movzx eax, word [eax]
mov edx, 0xffff
sub edx, eax
shr edx, cl
mov dword [ebp - 0x1c], edx
movzx eax, byte [ebp - 0x1c]
mov byte [ebx + 2], al
movzx eax, byte [ebp - 0x1c]
mov byte [ebx + 1], al
movzx eax, byte [ebp - 0x1c]
mov byte [ebx], al
add dword [ebp - 0x44], 2
add ebx, 3
dec dword [ebp - 0xa8]
jne 0x6c85ed
jmp 0x6c86c7
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c86c7
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x17c], 0
jne 0x6c8696
mov eax, dword [ebp - 0x44]
movzx eax, word [eax]
shr eax, 8
and ax, 0xff
mov edx, dword [ebp - 0x44]
movzx edx, word [edx]
shl edx, 8
and dx, 0xff00
or ax, dx
mov edx, dword [ebp - 0x44]
mov word [edx], ax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
movzx eax, word [eax]
shr eax, cl
mov dword [ebp - 0x1c], eax
movzx eax, byte [ebp - 0x1c]
mov byte [ebx + 2], al
movzx eax, byte [ebp - 0x1c]
mov byte [ebx + 1], al
movzx eax, byte [ebp - 0x1c]
mov byte [ebx], al
add dword [ebp - 0x44], 2
add ebx, 3
dec dword [ebp - 0xa8]
jne 0x6c8666
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c8729
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c86fa
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c8729
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c8750
jmp 0x6c8741
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c8750
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c8447
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 1
ja 0x6c899c
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 1
jne 0x6c899c
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 1
jne 0x6c899c
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x10]
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x48]
call fcn.00404360
mov dword [ebp - 0x30], eax
mov cl, 0xff
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x30]
call fcn.0040e580
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 0
jne 0x6c87df
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c87fd
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 5
jae 0x6c87fd
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 1
jne 0x6c8803
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 2
jbe 0x6c8803
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 4
jae 0x6c8803
mov byte [ebp - 0x4d], 1
jmp 0x6c8807
mov byte [ebp - 0x4d], 0
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c8987
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
mov eax, dword [ebp + 0x18]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x28]
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
mov eax, dword [ebp + 0x14]
cdq
cmp edx, dword [esp + 4]
jne 0x6c8862
cmp eax, dword [esp]
pop edx
pop eax
ja 0x6c886a
jmp 0x6c8987
pop edx
pop eax
jle 0x6c8987
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c896d
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x34], ebx
movzx eax, byte [ebp - 0x4d]
sub al, 1
jb 0x6c88f1
jne 0x6c88fe
mov eax, dword [ebp - 0x48]
dec eax
test eax, eax
jl 0x6c88fe
inc eax
mov dword [ebp - 0xa8], eax
movzx eax, byte [esi]
not al
mov edx, dword [ebp - 0x34]
mov byte [edx], al
inc esi
inc dword [ebp - 0x34]
dec dword [ebp - 0xa8]
jne 0x6c88d9
jmp 0x6c88fe
mov ecx, dword [ebp - 0x48]
mov edx, esi
mov eax, dword [ebp - 0x34]
call fcn.0040e578
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c8960
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c8931
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c8960
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c8987
jmp 0x6c8978
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c8987
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c8821
mov eax, dword [ebp - 0x30]
call fcn.0040437c
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 5
jne 0x6c8c14
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 4
jne 0x6c8c14
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
jne 0x6c8c14
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c89dd
mov eax, dword [ebp + 0x10]
add eax, eax
add eax, eax
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c8bf9
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c8bdf
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 7
jne 0x6c8ae2
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x1c]
mov ecx, 3
cdq
idiv ecx
add eax, eax
add eax, eax
add dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c8b70
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x7c]
mov byte [eax], dl
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x7c]
mov byte [eax + 1], dl
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x7c]
mov byte [eax + 2], dl
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x7c]
mov byte [eax + 3], dl
inc dword [ebp - 0x38]
add dword [ebp - 0x7c], 4
dec dword [ebp - 0xa8]
jne 0x6c8a92
jmp 0x6c8b70
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c8b4f
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x38]
mov byte [eax], dl
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x38]
mov byte [eax], dl
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x38]
mov byte [eax], dl
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x38]
mov byte [eax], dl
inc dword [ebp - 0x38]
dec dword [ebp - 0xa8]
jne 0x6c8b0b
push 1
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
push eax
mov esi, dword [0x8e6a04]
mov esi, dword [esi]
mov ecx, ebx
mov dl, 2
mov eax, dword [ebp - 0x2c]
call esi
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c8bd2
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c8ba3
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c8bd2
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c8bf9
jmp 0x6c8bea
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c8bf9
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c89f7
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 5
jne 0x6c8fd4
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 5
jl 0x6c8fd4
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
jne 0x6c8fd4
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 4
jle 0x6c8c5d
mov eax, dword [ebp - 8]
cmp dword [eax + 0x18c], 2
jne 0x6c8c5d
mov eax, dword [ebp - 8]
cmp byte [eax + 0x188], 0
je 0x6c8c61
xor eax, eax
jmp 0x6c8c63
mov al, 1
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x6c8c79
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x184]
mov byte [eax + 0x68], 0
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c8c94
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
imul dword [ebp + 0x10]
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c8fb9
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c8f9f
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 7
jne 0x6c8e15
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x1c]
mov ecx, 3
cdq
idiv ecx
add eax, eax
add eax, eax
add dword [ebp - 0x7c], eax
cmp byte [ebp - 0x55], 0
je 0x6c8d53
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x184]
call fcn.0086ea30
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x1c]
add dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c8f30
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x7c]
mov byte [eax], dl
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x7c]
mov byte [eax + 1], dl
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x7c]
mov byte [eax + 2], dl
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x7c]
mov byte [eax + 3], dl
inc dword [ebp - 0x38]
cmp byte [ebp - 0x55], 0
je 0x6c8de3
mov eax, dword [ebp - 0x38]
movzx eax, byte [eax]
mov edx, dword [ebp - 0x40]
mov byte [edx], al
inc dword [ebp - 0x40]
inc dword [ebp - 0x38]
mov edi, dword [ebp - 8]
mov edi, dword [edi + 8]
sub edi, 4
sub edi, 2
jl 0x6c8e00
inc edi
mov dword [ebp - 0x20], 2
inc dword [ebp - 0x38]
inc dword [ebp - 0x20]
dec edi
jne 0x6c8dd8
jmp 0x6c8e00
mov edi, dword [ebp - 8]
mov edi, dword [edi + 8]
sub edi, 4
test edi, edi
jle 0x6c8e00
mov dword [ebp - 0x20], 1
inc dword [ebp - 0x38]
inc dword [ebp - 0x20]
dec edi
jne 0x6c8df7
add dword [ebp - 0x7c], 4
dec dword [ebp - 0xa8]
jne 0x6c8d6c
jmp 0x6c8f30
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
cmp byte [ebp - 0x55], 0
je 0x6c8e4c
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x184]
call fcn.0086ea30
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x1c]
add dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c8f0f
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x7c]
mov byte [eax], dl
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x7c]
mov byte [eax + 1], dl
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x7c]
mov byte [eax + 2], dl
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dl, 0xff
sub dl, byte [eax]
mov eax, dword [ebp - 0x7c]
mov byte [eax + 3], dl
inc dword [ebp - 0x38]
cmp byte [ebp - 0x55], 0
je 0x6c8ee2
mov eax, dword [ebp - 0x38]
movzx eax, byte [eax]
mov edx, dword [ebp - 0x40]
mov byte [edx], al
inc dword [ebp - 0x40]
inc dword [ebp - 0x38]
mov edi, dword [ebp - 8]
mov edi, dword [edi + 8]
sub edi, 4
sub edi, 2
jl 0x6c8eff
inc edi
mov dword [ebp - 0x20], 2
inc dword [ebp - 0x38]
inc dword [ebp - 0x20]
dec edi
jne 0x6c8ed7
jmp 0x6c8eff
mov edi, dword [ebp - 8]
mov edi, dword [edi + 8]
sub edi, 4
test edi, edi
jle 0x6c8eff
mov dword [ebp - 0x20], 1
inc dword [ebp - 0x38]
inc dword [ebp - 0x20]
dec edi
jne 0x6c8ef6
add dword [ebp - 0x7c], 4
dec dword [ebp - 0xa8]
jne 0x6c8e6b
push 1
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
push eax
mov esi, dword [0x8e6a04]
mov esi, dword [esi]
mov ecx, ebx
mov dl, 2
mov eax, dword [ebp - 0x2c]
call esi
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c8f92
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c8f63
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c8f92
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c8fb9
jmp 0x6c8faa
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c8fb9
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c8cae
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 5
jne 0x6c92a6
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 4
jne 0x6c92a6
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 0x10
jne 0x6c92a6
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c9017
mov eax, dword [ebp + 0x10]
add eax, eax
add eax, eax
add eax, eax
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c928b
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c9271
mov eax, dword [ebp - 8]
cmp byte [eax + 0x17c], 0
jne 0x6c908c
mov edx, dword [ebp + 0x10]
add edx, edx
add edx, edx
mov eax, dword [ebp - 0x2c]
call fcn.00868a44
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 7
jne 0x6c9142
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x1c]
test eax, eax
jns 0x6c90c6
add eax, 3
sar eax, 2
add eax, eax
add eax, eax
add dword [ebp - 0x7c], eax
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c9202
inc eax
mov dword [ebp - 0xa8], eax
movzx eax, word [esi]
shr eax, 8
mov dl, 0xff
sub dl, al
mov eax, dword [ebp - 0x7c]
mov byte [eax], dl
add esi, 2
movzx eax, word [esi]
shr eax, 8
mov dl, 0xff
sub dl, al
mov eax, dword [ebp - 0x7c]
mov byte [eax + 1], dl
add esi, 2
movzx eax, word [esi]
shr eax, 8
mov dl, 0xff
sub dl, al
mov eax, dword [ebp - 0x7c]
mov byte [eax + 2], dl
add esi, 2
movzx eax, word [esi]
shr eax, 8
mov dl, 0xff
sub dl, al
mov eax, dword [ebp - 0x7c]
mov byte [eax + 3], dl
add esi, 2
add dword [ebp - 0x7c], 4
dec dword [ebp - 0xa8]
jne 0x6c90e6
jmp 0x6c9202
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp + 0x10]
add eax, eax
add eax, eax
call fcn.00404360
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
jl 0x6c91d9
inc eax
mov dword [ebp - 0xa8], eax
movzx eax, word [esi]
shr eax, 8
mov dl, 0xff
sub dl, al
mov eax, dword [ebp - 0x38]
mov byte [eax], dl
inc dword [ebp - 0x38]
add esi, 2
movzx eax, word [esi]
shr eax, 8
mov dl, 0xff
sub dl, al
mov eax, dword [ebp - 0x38]
mov byte [eax], dl
inc dword [ebp - 0x38]
add esi, 2
movzx eax, word [esi]
shr eax, 8
mov dl, 0xff
sub dl, al
mov eax, dword [ebp - 0x38]
mov byte [eax], dl
inc dword [ebp - 0x38]
add esi, 2
movzx eax, word [esi]
shr eax, 8
mov dl, 0xff
sub dl, al
mov eax, dword [ebp - 0x38]
mov byte [eax], dl
inc dword [ebp - 0x38]
add esi, 2
dec dword [ebp - 0xa8]
jne 0x6c917d
push 1
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
push eax
mov esi, dword [0x8e6a04]
mov esi, dword [esi]
mov ecx, ebx
mov dl, 2
mov eax, dword [ebp - 0x3c]
call esi
mov eax, dword [ebp - 0x3c]
call fcn.0040437c
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c9264
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c9235
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c9264
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c928b
jmp 0x6c927c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c928b
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c9031
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 8
jne 0x6c9429
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 3
jne 0x6c9429
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
jne 0x6c9429
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c92e6
mov eax, dword [ebp + 0x10]
lea eax, [eax + eax*2]
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c940e
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c93f4
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
push 1
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
push eax
mov esi, dword [0x8e6a04]
mov esi, dword [esi]
mov ecx, ebx
mov dl, 4
mov eax, dword [ebp - 0x2c]
call esi
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c93e7
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c93b8
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c93e7
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c940e
jmp 0x6c93ff
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c940e
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c9300
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c96cc
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 6
jne 0x6c969a
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 3
jne 0x6c969a
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
jne 0x6c969a
mov eax, dword [ebp - 8]
cmp dword [eax + 0xd4], 2
jne 0x6c969a
mov eax, dword [ebp - 8]
cmp dword [eax + 0xd8], 1
jne 0x6c969a
mov eax, dword [ebp + 0x10]
add eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c9491
mov eax, dword [ebp + 0x10]
lea eax, [eax + eax*2]
call fcn.00404360
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x10]
lea eax, [eax + eax*2]
call fcn.00404360
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0xc]
dec eax
test eax, eax
jl 0x6c967e
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x18]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.006c6184
test al, al
je 0x6c9664
push 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2c]
call fcn.006c5e7c
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x84], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp + 0x10]
jge 0x6c95c0
mov eax, dword [ebp - 0x88]
movzx eax, byte [eax]
mov edx, dword [ebp - 0x84]
mov byte [edx], al
mov eax, dword [ebp - 0x88]
movzx eax, byte [eax + 2]
mov edx, dword [ebp - 0x84]
mov byte [edx + 1], al
mov eax, dword [ebp - 0x88]
movzx eax, byte [eax + 3]
mov edx, dword [ebp - 0x84]
mov byte [edx + 2], al
add dword [ebp - 0x84], 3
mov eax, dword [ebp - 0x88]
movzx eax, byte [eax + 1]
mov edx, dword [ebp - 0x84]
mov byte [edx], al
mov eax, dword [ebp - 0x88]
movzx eax, byte [eax + 2]
mov edx, dword [ebp - 0x84]
mov byte [edx + 1], al
mov eax, dword [ebp - 0x88]
movzx eax, byte [eax + 3]
mov edx, dword [ebp - 0x84]
mov byte [edx + 2], al
add dword [ebp - 0x84], 3
add dword [ebp - 0x88], 4
add dword [ebp - 0x18], 2
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp + 0x10]
jl 0x6c952c
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx]
mov ebx, eax
mov eax, dword [ebp + 0x1c]
add ebx, eax
push 1
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x180]
push eax
mov esi, dword [0x8e6a04]
mov esi, dword [esi]
mov ecx, ebx
mov dl, 8
mov eax, dword [ebp - 0x80]
call esi
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0
je 0x6c9657
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
push edx
push eax
mov eax, dword [ebp - 0x94]
cdq
cmp edx, dword [esp + 4]
jne 0x6c9628
cmp eax, dword [esp]
pop edx
pop eax
je 0x6c9657
mov eax, dword [ebp + 8]
fild dword [eax + 0xc]
mov eax, dword [ebp + 8]
fmul qword [eax + 0x18]
call fcn.00404894
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebx + 4]
call dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp byte [eax], 0
jne 0x6c967e
jmp 0x6c966f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov byte [eax], 1
jmp 0x6c967e
inc dword [ebp - 0x14]
dec dword [ebp - 0xa4]
jne 0x6c94b9
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 1
je 0x6c9690
mov eax, dword [ebp - 0x2c]
call fcn.0040437c
mov eax, dword [ebp - 0x80]
call fcn.0040437c
jmp 0x6c96cc
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c], 6
jne 0x6c96cc
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 3
jne 0x6c96cc
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 8
jne 0x6c96cc
mov eax, dword [ebp - 8]
cmp dword [eax + 0xd4], 2
jne 0x6c96cc
mov eax, dword [ebp - 8]
cmp dword [eax + 0xd8], 2
mov eax, dword [ebp - 8]
cmp word [eax + 0x22], 5
jne 0x6c96f3
cmp dword [ebp - 0x54], 0
je 0x6c96f3
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x7c]
push eax
mov ebx, dword [ebp - 8]
lea ecx, [ebp - 0x54]
xor edx, edx
xor eax, eax
call dword [ebx + 0x178]
cmp dword [ebp - 0x8c], 0
je 0x6c9707
mov eax, dword [ebp - 0x8c]
call fcn.0040437c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6c9727
lea eax, [ebp - 0xe8]
call fcn.00406c1c
ret