Function at 0x68f160
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff0
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push esi
push edi
sub esp, 0x100
mov esi, dword [ebx + 0x1c]
mov eax, dword [ebx + 8]
mov edi, dword [esi]
test edi, edi
jle 0x690068
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax*4 + 0x7b3834]
jle 0x68f1a8
mov dword [ebp - 0x8c], edi
jmp 0x68f1ae
mov dword [ebp - 0x8c], eax
lea edi, [ebp - 0x54]
push edi
mov edi, 0x767910
lea eax, [ebp - 0x8c]
push eax
push edi
push edi
lea edx, [ebp - 0x7c]
push edx
push 0x767914
call fcn.0067e6b0
lea eax, [ebp - 0x54]
push eax
push 0x767918
push edi
push edi
lea edx, [ebp - 0x50]
push edx
push 0x767914
call fcn.0067e6b0
lea eax, [ebp - 0x54]
push eax
push 0x767918
push edi
push edi
lea edx, [ebp - 0x4c]
push edx
push 0x767914
call fcn.0067e6b0
add esp, 0x48
mov edx, dword [ebp - 0x4c]
test edx, edx
jle 0x69005f
mov eax, 1
lea esi, [ebp - 0x54]
mov edi, eax
mov dword [ebp - 0xe8], edx
push esi
push 0x767918
mov edx, 0x767910
lea ecx, [ebp - 0x18]
push edx
push edx
push ecx
push 0x767914
call fcn.0067e6b0
add esp, 0x18
mov eax, dword [ebp - 0x18]
mov ecx, eax
cdq
xor ecx, edx
sub ecx, edx
mov dword [edi*4 + 0x8050bc], 0
mov dword [edi*4 + 0x80589c], ecx
test eax, eax
jge 0x68f267
mov dword [edi*4 + 0x8050bc], 1
push esi
push 0x767918
mov edx, 0x767910
lea ecx, [ebp - 0x14]
push edx
push edx
push ecx
push 0x767914
call fcn.0067e6b0
push esi
push 0x767918
push 0x767910
lea edx, [ebp - 0x10]
push edx
mov edx, dword [ebp - 0x14]
push 0x806aa0
push 0x767914
lea ecx, [edx - 1]
sar ecx, 1
shr ecx, 0x1e
lea edx, [ecx + edx - 1]
sar edx, 2
inc edx
mov dword [ebp - 0x10], edx
call fcn.0067d890
add esp, 0x30
mov edx, dword [ebp - 0x14]
mov eax, edx
sar eax, 0x1f
lea ecx, [edi*8 + 0x806ab8]
not eax
and eax, edx
cdq
movq xmm0, qword [0x7679a0]
movd xmm2, eax
mov dword [esp], ecx
movd xmm1, edx
punpckldq xmm2, xmm1
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x806aa0
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], 0
call fcn.005cbf40
inc edi
cmp edi, dword [ebp - 0xe8]
jle 0x68f21e
mov edx, dword [ebp - 0x4c]
mov edi, 0x767910
movq xmm0, qword [0x7679a0]
mov esi, dword [ebx + 0x1c]
test edx, edx
jle 0x69005f
mov eax, 1
lea esi, [ebp - 0x54]
mov dword [ebp - 0xe8], edx
mov edi, eax
push esi
push 0x767918
mov edx, 0x767910
lea ecx, [ebp - 0x18]
push edx
push edx
push ecx
push 0x767914
call fcn.0067e6b0
push esi
push 0x767918
mov ecx, 0x767910
lea edx, [ebp - 0x14]
push ecx
push ecx
mov eax, dword [ebp - 0x18]
push edx
cdq
xor eax, edx
push 0x767914
sub eax, edx
mov dword [edi*4 + 0x80606c], eax
call fcn.0067e6b0
push esi
push 0x767918
push 0x767910
lea edx, [ebp - 0x10]
push edx
mov edx, dword [ebp - 0x14]
push 0x806aa0
push 0x767914
lea ecx, [edx - 1]
sar ecx, 1
shr ecx, 0x1e
lea edx, [ecx + edx - 1]
sar edx, 2
inc edx
mov dword [ebp - 0x10], edx
call fcn.0067d890
add esp, 0x48
mov edx, dword [ebp - 0x14]
mov eax, edx
sar eax, 0x1f
lea ecx, [edi*8 + 0x807a58]
not eax
and eax, edx
cdq
movq xmm0, qword [0x7679a0]
movd xmm2, eax
mov dword [esp], ecx
movd xmm1, edx
punpckldq xmm2, xmm1
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x806aa0
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], 0
call fcn.005cbf40
inc edi
cmp edi, dword [ebp - 0xe8]
jle 0x68f33d
xor eax, eax
mov edx, dword [ebp - 0x4c]
xor edi, edi
mov esi, dword [ebx + 0x1c]
test edx, edx
jle 0x68f479
mov dword [ebp - 0xc8], eax
mov ecx, 1
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0x9c], edx
mov eax, 0x51eb851f
mov esi, dword [ecx*4 + 0x80589c]
mov edi, esi
imul esi
sar edx, 5
sar edi, 0x1f
sub edx, edi
imul eax, edx, 0xffffff9c
add eax, esi
cmp eax, 3
je 0x68fce2
lea edi, [ecx + 1]
mov ecx, edi
cmp edi, dword [ebp - 0x9c]
jle 0x68f437
mov eax, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xdc]
mov esi, dword [ebx + 0x1c]
cmp dword [esi], 0
jle 0x68f9c5
mov dword [esi], eax
mov eax, dword [ebx + 0xc]
movq xmm0, qword [0x7679a0]
movq xmm1, qword [0x7679b0]
movq xmm2, qword [0x7679b8]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x7679d0
movq qword [esp + 0x10], xmm1
mov dword [esi + 4], edi
movq qword [esp + 0x18], xmm2
call fcn.005cd2b0
test eax, eax
jne 0x68f55a
mov edi, 8
lea eax, [ebp - 0x9c]
push edi
push edi
push eax
push 0x7b3338
push 0x767910
push str.
push dword [ebx + 0xc]
call fcn.0068ee50
add esp, 0x1c
cmp eax, 1
jne 0x68f55a
push 0x80120
push 0x7b2240
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0x78]
push eax
push 0x76791c
push 0x8384ff00
push 6
mov dword [eax], 8
lea edx, [ebp - 0x48]
push edx
mov dword [ebp - 0x74], str._being__
call fcn.005d83f0
mov eax, dword [ebx + 0xc]
lea edx, [ebp - 0xa8]
push edx
push 0x767924
mov dword [edx], edi
lea ecx, [ebp - 0x48]
push ecx
mov dword [edx + 8], edi
mov dword [edx + 4], eax
call fcn.005dab70
add esp, 0x28
mov edi, 1
jmp 0x68f55c
xor edi, edi
mov eax, dword [ebx + 0xc]
movq xmm0, qword [0x7679a0]
movq xmm1, qword [0x7679b0]
movq xmm2, qword [0x7679b8]
lea ecx, [eax + 8]
mov dword [ebp - 0xdc], ecx
mov dword [esp], ecx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x7679e0
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005cd2b0
test eax, eax
jne 0x68f63e
mov eax, 8
lea edx, [ebp - 0x9c]
push eax
push eax
push edx
push 0x7b333c
push 0x767910
push 0x7b29d8
push dword [ebp - 0xdc]
call fcn.0068ee50
add esp, 0x1c
cmp eax, 1
jne 0x68f63e
push 0x80120
push 0x7b2240
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0x70]
push eax
push 0x76792c
push 0x8384ff00
push 6
mov dword [eax], 0x10
lea edi, [ebp - 0x48]
push edi
mov dword [ebp - 0x6c], str._type_of_being__
call fcn.005d83f0
mov eax, dword [ebp - 0xdc]
lea ecx, [ebp - 0x98]
push ecx
push 0x767934
push edi
mov edx, 8
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov dword [ecx + 8], edx
call fcn.005dab70
add esp, 0x28
mov edi, 1
mov eax, dword [ebx + 0xc]
movq xmm0, qword [0x7679a0]
movq xmm1, qword [0x7679b0]
movq xmm2, qword [0x7679b8]
lea ecx, [eax + 0x10]
mov dword [ebp - 0xdc], ecx
mov dword [esp], ecx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x7679f8
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005cd2b0
test eax, eax
jne 0x68f75a
mov eax, 8
lea edx, [ebp - 0x9c]
push eax
push eax
push edx
push 0x7b3340
push 0x767910
push 0x7b2a50
push dword [ebp - 0xdc]
call fcn.0068ee50
add esp, 0x1c
cmp eax, 1
jne 0x68f75a
mov eax, 8
lea edx, [ebp - 0x9c]
push eax
push eax
push edx
push 0x7b3344
push 0x767910
push 0x7b2ac8
push dword [ebp - 0xdc]
call fcn.0068ee50
add esp, 0x1c
cmp eax, 1
jne 0x68f75a
push 0x80120
push 0x7b2240
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0xb0]
push eax
push 0x76793c
push 0x8384ff00
push 6
mov dword [eax], 0x17
lea edx, [ebp - 0x48]
push edx
mov dword [eax + 4], str._entity_or_overentity__
call fcn.005d83f0
mov eax, dword [ebp - 0xdc]
lea ecx, [ebp - 0xc8]
push ecx
push 0x767944
mov edx, 8
lea edi, [ebp - 0x48]
push edi
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov dword [ecx + 8], edx
call fcn.005dab70
add esp, 0x28
mov edi, 1
mov eax, dword [ebx + 0xc]
movq xmm0, qword [0x7679a0]
movq xmm1, qword [0x7679b0]
movq xmm2, qword [0x7679b8]
lea ecx, [eax + 0x18]
mov dword [ebp - 0xdc], ecx
mov dword [esp], ecx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x767a14
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005cd2b0
test eax, eax
jne 0x68f96b
mov eax, 8
lea edx, [ebp - 0x9c]
push eax
push eax
push edx
push 0x7b3348
push 0x767910
push 0x7b2b40
push dword [ebp - 0xdc]
call fcn.0068ee50
add esp, 0x1c
cmp eax, 1
jne 0x68f83c
push 0x80120
push 0x7b2240
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0x68]
push eax
push 0x76794c
push 0x8384ff00
push 6
mov dword [eax], 0x20
lea edi, [ebp - 0x48]
push edi
mov dword [ebp - 0x64], str._type_of_entity_or_over_entity__
call fcn.005d83f0
mov eax, dword [ebp - 0xdc]
lea ecx, [ebp - 0x88]
push ecx
push 0x767954
push edi
mov edx, 8
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov dword [ebp - 0x80], edx
call fcn.005dab70
add esp, 0x28
mov edi, 1
mov eax, dword [ebx + 0xc]
movq xmm0, qword [0x7679a0]
movq xmm1, qword [0x7679b0]
movq xmm2, qword [0x7679b8]
lea ecx, [eax + 0x20]
mov dword [ebp - 0xb8], ecx
mov dword [esp], ecx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x767a3c
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005cd2b0
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xb8]
movq xmm0, qword [0x7679a0]
movq xmm1, qword [0x7679c0]
movq xmm2, qword [0x7679b8]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], str.HISTORY
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005cd2b0
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xb8]
movq xmm0, qword [0x7679a0]
movq xmm1, qword [0x7679b8]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], str.SKELETON
movq qword [esp + 0x10], xmm0
movq qword [esp + 0x18], xmm1
call fcn.005cd2b0
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xb8]
movq xmm0, qword [0x7679a0]
movq xmm1, qword [0x7679c8]
movq xmm2, qword [0x7679b8]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], str.INPUT
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.005cd2b0
cmp dword [ebp - 0xbc], 0
jne 0x68f96b
cmp dword [ebp - 0xcc], 0
jne 0x68f96b
cmp dword [ebp - 0xdc], 0
jne 0x68f96b
test eax, eax
je 0x68f971
test edi, edi
jg 0x68f9ae
jmp 0x68f9bf
push 0x80120
push 0x7b22cc
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0xb8]
push eax
push 0x76795c
push 0x8384ff00
push 6
mov dword [eax], 0x38
lea edx, [ebp - 0x48]
push edx
mov dword [eax + 4], str._last_parameter_not_void_or_INPUT_or_SKELETON_or_HISTORY
call fcn.005d83f0
add esp, 0x1c
neg dword [esi]
neg dword [esi + 4]
xor eax, eax
lea esp, [ebp - 8]
pop edi
pop esi
pop ebp
mov esp, ebx
pop ebx
ret
jg 0x68f9b0
xor eax, eax
jmp 0x68f9b5
mov eax, 8
lea edx, [ebp - 0x9c]
push eax
push eax
push edx
mov esi, dword [ebx + 0xc]
lea ecx, [ebp - 0x4c]
push ecx
push 0x767910
push 0x807a60
lea edi, [esi + 0x28]
push edi
call fcn.0068ee50
add esp, 0x1c
cmp eax, 1
jne 0x68f9fc
mov eax, 1
jmp 0x68f9b5
mov eax, dword [ebp - 0x9c]
lea esi, [ebp - 0xc8]
push esi
lea edi, [ebp - 0x4c]
push edi
push 0x767910
push 0x8058a0
lea ecx, [ebp - 0xcc]
push ecx
mov ecx, dword [eax*4 + 0x80606c]
mov eax, 0x51eb851f
imul ecx
mov eax, edx
mov edx, ecx
sar eax, 5
sar edx, 0x1f
sub eax, edx
imul esi, eax, 0xffffff9c
imul edx, eax, 0x64
add ecx, esi
add edx, 3
mov dword [edi - 0x78], eax
mov dword [ebp - 0x1c], ecx
mov dword [edi - 0x80], edx
call fcn.0068ef80
add esp, 0x14
cmp eax, 1
je 0x68f9c1
mov ecx, dword [ebp - 0xc4]
xor eax, eax
dec ecx
jle 0x68fbc1
cmp ecx, 0x10
jl 0x68fcd1
mov eax, ecx
xor edx, edx
movdqu xmm1, xmmword [0x767990]
pxor xmm7, xmm7
and eax, 0xfffffff0
movdqu xmm4, xmmword [edx*4 + 0x808cc0]
movdqu xmm2, xmmword [edx*4 + 0x8094a0]
movdqa xmm3, xmm4
pmuludq xmm3, xmm2
psrlq xmm4, 0x20
psrlq xmm2, 0x20
pand xmm3, xmm1
movdqu xmm0, xmmword [edx*4 + 0x8094b0]
pmuludq xmm4, xmm2
movdqa xmm6, xmm0
movdqu xmm2, xmmword [edx*4 + 0x808cd0]
psrlq xmm6, 0x20
movdqa xmm5, xmm2
psllq xmm4, 0x20
psrlq xmm5, 0x20
por xmm3, xmm4
pmuludq xmm5, xmm6
paddd xmm7, xmm3
pmuludq xmm2, xmm0
movdqu xmm4, xmmword [edx*4 + 0x808ce0]
pand xmm2, xmm1
movdqu xmm0, xmmword [edx*4 + 0x8094c0]
movdqa xmm6, xmm4
pmuludq xmm6, xmm0
psrlq xmm4, 0x20
movdqu xmm3, xmmword [edx*4 + 0x808cf0]
psrlq xmm0, 0x20
psllq xmm5, 0x20
pand xmm6, xmm1
pmuludq xmm4, xmm0
por xmm2, xmm5
movdqu xmm0, xmmword [edx*4 + 0x8094d0]
movdqa xmm5, xmm3
pmuludq xmm5, xmm0
psrlq xmm3, 0x20
psrlq xmm0, 0x20
psllq xmm4, 0x20
pmuludq xmm3, xmm0
paddd xmm7, xmm2
por xmm6, xmm4
pand xmm5, xmm1
psllq xmm3, 0x20
add edx, 0x10
paddd xmm7, xmm6
por xmm5, xmm3
paddd xmm7, xmm5
cmp edx, eax
jb 0x68fa88
movdqa xmm0, xmm7
psrldq xmm0, 8
paddd xmm7, xmm0
movdqa xmm1, xmm7
psrlq xmm1, 0x20
paddd xmm7, xmm1
movd edx, xmm7
lea esi, [eax + 1]
cmp esi, ecx
ja 0x68fbbd
sub ecx, eax
xor esi, esi
shl eax, 2
mov edi, dword [eax + esi*4 + 0x808cc0]
imul edi, dword [eax + esi*4 + 0x8094a0]
inc esi
add edx, edi
cmp esi, ecx
jb 0x68fba7
mov eax, edx
jmp 0x68fbc3
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xdc], ecx
lea esi, [ecx - 1]
cmp esi, 4
jl 0x68fc12
mov eax, dword [ebp - 0xc4]
shl eax, 2
mov dword [ebp - 0xc4], eax
lea esi, [ecx - 4]
mov ecx, esi
shr ecx, 1
mov eax, dword [eax + 0x80949c]
je 0x68fcd8
xor edi, edi
inc edi
lea edx, [edx + eax*2]
cmp edi, ecx
jb 0x68fbf8
lea ecx, [edi + edi + 1]
dec ecx
cmp ecx, esi
jae 0x68fc0b
add edx, eax
mov ecx, dword [ebx + 0x10]
mov dword [ecx], edx
jmp 0x68fc2c
mov ecx, dword [ebx + 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc4]
shl eax, 2
mov dword [ebp - 0xc4], eax
mov eax, dword [eax + 0x80949c]
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebp - 0xc4]
cmp dword [ebp - 0xdc], 3
mov dword [ecx], eax
mov esi, dword [esi + 0x808cbc]
jle 0x68fc56
mov ecx, dword [ebx + 0x18]
mov esi, 1
mov dword [ecx], 1
jmp 0x68fc5b
mov ecx, dword [ebx + 0x18]
mov dword [ecx], esi
mov edi, dword [0x809d04]
lea ecx, [edi + 1]
mov dword [0x809d04], ecx
cmp ecx, 5
jle 0x68fc79
mov dword [0x809d04], 5
mov dword [ecx*4 + 0x809c6c], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx*4 + 0x809c8c], eax
lea eax, [edi + edi*2 + 3]
mov dword [ecx*4 + 0x809cac], esi
mov dword [ecx*4 + 0x809ccc], edx
mov edx, 1
mov dword [ecx*4 + 0x809cec], 1
shl eax, 4
mov ecx, dword [ebx + 0xc]
movsd xmm0, qword [ecx + edx*8 - 8]
movsd qword [eax + edx*8 + 0x7b22a8], xmm0
inc edx
cmp edx, 6
jle 0x68fcb5
xor eax, eax
jmp 0x68f9b5
xor edx, edx
jmp 0x68fb99
mov ecx, 1
jmp 0x68fc04
mov eax, 0x51eb851f
imul esi
sar edx, 5
movsd xmm0, qword [ecx*8 + 0x806ab8]
sub edx, edi
movsd qword [0x809d08], xmm0
mov dword [ebp - 0xa0], edx
mov eax, dword [ecx*4 + 0x8050bc]
lea edi, [ecx + 1]
mov dword [ebp - 0xc4], eax
xor esi, esi
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
mov ecx, edi
jle 0x68fd5a
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xcc], edi
mov eax, 0x51eb851f
mov edi, dword [ecx*4 + 0x80589c]
imul edi
sar edx, 5
sar edi, 0x1f
sub edx, edi
cmp edx, dword [ebp - 0xa0]
jg 0x68fd54
inc ecx
inc esi
cmp ecx, dword [ebp - 0xa4]
jle 0x68fd2c
mov edi, dword [ebp - 0xcc]
push 0
push 1
push 0x767a98
push 8
push 0x809d08
call fcn.005cda20
push 0
push 1
push 0x767a9c
push 8
push 0x809d08
mov dword [ebp - 0xa8], eax
call fcn.005cda20
push 0
push 1
push 0x767aa0
push 8
push 0x809d08
mov dword [ebp - 0xac], eax
call fcn.005cda20
push 0
push 1
push 0x767aa4
push 8
push 0x809d08
mov dword [ebp - 0xb0], eax
call fcn.005cda20
push 0
push 1
push 0x767aa8
push 8
push 0x809d08
mov dword [ebp - 0xb4], eax
call fcn.005cda20
push 0
push 1
push 0x767aac
push 8
push 0x809d08
mov dword [ebp - 0xb8], eax
call fcn.005cda20
add esp, 0x78
push 0
push 1
push 0x767ab0
push 8
push 0x809d08
mov dword [ebp - 0xbc], eax
call fcn.005cda20
add esp, 0x14
cmp dword [ebp - 0xa8], 0
jle 0x68fe69
mov edx, 1
mov dword [ebp - 0x14], 1
mov eax, edx
cmp esi, edx
mov ecx, eax
cmovg edx, esi
imul ecx, edx
add dword [ebp - 0xc8], ecx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0xc4], 0
jle 0x68fe50
add dword [ebp - 0xdc], ecx
mov ecx, dword [ebp - 0xa0]
mov dword [ecx*4 + 0x808cbc], edx
mov dword [ecx*4 + 0x80949c], eax
jmp 0x68f460
cmp dword [ebp - 0xac], 0
jle 0x68fed3
mov ecx, dword [ebp - 0xac]
xor eax, eax
mov edx, ecx
neg edx
add edx, 8
test edx, edx
push 0x80120
push 0x7b227c
mov dword [ebp - 0x48], eax
cmovle edx, eax
mov dword [ebp - 0x28], edx
lea eax, [ecx + 0x809d08]
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x28]
push ecx
push 0x767964
push 0x8384ff00
lea eax, [ebp - 0x48]
push eax
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x20], edx
call fcn.005cdd10
add esp, 0x18
mov dword [ebp - 0x14], 1
mov eax, 1
mov edx, dword [ebp - 0x1c]
jmp 0x68fe2e
cmp dword [ebp - 0xb0], 0
jg 0x68fe20
cmp dword [ebp - 0xb4], 0
jle 0x68ff4a
mov ecx, dword [ebp - 0xb4]
xor eax, eax
mov edx, ecx
neg edx
add edx, 8
test edx, edx
push 0x80120
push 0x7b2290
mov dword [ebp - 0x48], eax
cmovle edx, eax
mov dword [ebp - 0x60], edx
lea eax, [ecx + 0x809d08]
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x60]
push ecx
push 0x76796c
push 0x8384ff00
lea eax, [ebp - 0x48]
push eax
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x58], edx
call fcn.005cdd10
add esp, 0x18
mov dword [ebp - 0x14], 1
mov eax, 1
mov edx, dword [ebp - 0x1c]
jmp 0x68fe2e
cmp dword [ebp - 0xb8], 0
jle 0x68ff69
mov dword [ebp - 0x14], 2
mov edx, 1
mov eax, 2
jmp 0x68fe2e
cmp dword [ebp - 0xbc], 0
jle 0x68ffdc
mov ecx, dword [ebp - 0xbc]
xor eax, eax
mov edx, ecx
neg edx
add edx, 8
test edx, edx
push 0x80120
push 0x7b22a4
mov dword [ebp - 0x48], eax
cmovle edx, eax
mov dword [ebp - 0xd8], edx
lea eax, [ecx + 0x809d08]
mov dword [ebp - 0xd4], eax
lea ecx, [ebp - 0xd8]
push ecx
push 0x767974
push 0x8384ff00
lea eax, [ebp - 0x48]
push eax
lea edx, [ebp - 0x1c]
mov dword [ecx + 8], edx
call fcn.005cdd10
add esp, 0x18
mov dword [ebp - 0x14], 2
mov eax, 2
mov edx, dword [ebp - 0x1c]
jmp 0x68fe2e
test eax, eax
jle 0x690054
push 0x80120
push 0x7b22b8
xor edx, edx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0xe0], ecx
mov ecx, eax
neg ecx
lea eax, [eax + 0x809d08]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0xe8]
add ecx, 8
push eax
test ecx, ecx
push 0x76797c
mov dword [ebp - 0x48], edx
cmovle ecx, edx
push 0x8384ff00
mov dword [ebp - 0x1c], 1
lea edx, [ebp - 0x48]
push edx
mov dword [eax], ecx
call fcn.005cdd10
add esp, 0x18
mov edx, dword [ebp - 0x14]
lea eax, [edx - 1]
sar eax, 1
shr eax, 0x1e
lea eax, [eax + edx - 1]
mov edx, dword [ebp - 0x1c]
sar eax, 2
inc eax
mov dword [ebp - 0x14], eax
jmp 0x68fe2e
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
jmp 0x68fe2e
xor eax, eax
xor edi, edi
jmp 0x68f479
mov eax, dword [eax]
mov ecx, dword [0x809d04]
mov dword [ebp - 0xc0], eax
test ecx, ecx
je 0x690091
jle 0x690091
mov edx, eax
mov eax, 1
cmp edx, dword [eax*4 + 0x809c8c]
je 0x690098
inc eax
cmp eax, ecx
jle 0x690083
test edi, edi
jmp 0x68f191
mov eax, 1
mov edx, 0x30
mov dword [ebp - 0xe8], edi
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0xdc], edx
mov edi, 1
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xe4], ecx
mov eax, dword [ebp - 0xdc]
movq xmm0, qword [0x7679a0]
movq xmm1, qword [0x7679a8]
lea ecx, [eax + edi*8 + 0x7b22a8]
mov dword [esp], ecx
movq qword [esp + 4], xmm0
lea eax, [esi + edi*8 - 8]
mov dword [esp + 0xc], eax
movq qword [esp + 0x10], xmm0
movq qword [esp + 0x18], xmm1
call fcn.005cd2b0
test eax, eax
jne 0x690143
inc edi
cmp edi, 6
jle 0x6900c2
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax*4 + 0x809ccc]
mov dword [ecx], edx
mov edi, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
inc dword [eax*4 + 0x809cec]
mov esi, dword [eax*4 + 0x809c6c]
mov eax, dword [eax*4 + 0x809cac]
mov dword [edi], esi
mov dword [edx], eax
xor eax, eax
jmp 0x68f9b5
mov eax, dword [ebp - 0xe0]
inc eax
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe4]
add edx, 0x30
cmp eax, ecx
jle 0x6900ab
mov edi, dword [ebp - 0xe8]
test edi, edi
mov esi, dword [ebx + 0x1c]
jmp 0x68f191