Function at 0x18000e5a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rcx, qword [rcx + 0x270]
xor r9d, r9d
mov rax, qword [rcx + 0x38]
movss xmm1, dword [rax + 0x24]
movss xmm0, dword [rax + 0x20]
movss xmm2, dword [rax + 0x1c]
unpcklps xmm0, xmm1
movss xmm1, dword [rax + 0x18]
movq r8, xmm0
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.1800386c0
call fcn.180028610
mov r8, qword [0x18008dc98]
lea r10, [0x18007db80]
mov rcx, qword [r8 + 0x18c8]
movsxd rax, dword [r8 + 0x18c0]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x14bc], xmm0
dec dword [r8 + 0x18c0]
movsxd rax, dword [r8 + 0x18d0]
mov rdx, qword [r8 + 0x18d8]
lea rax, [rax + rax*2]
movsxd rcx, dword [rdx + rax*4 - 0xc]
mov r9d, dword [r10 + rcx*8]
cmp r9d, 1
je 0x18000e675
cmp r9d, 2
jne 0x18000e670
movss xmm0, dword [rdx + rax*4 - 8]
movss xmm1, dword [rdx + rax*4 - 4]
mov eax, dword [r10 + rcx*8 + 4]
movss dword [rax + r8 + 0x1428], xmm0
movss dword [rax + r8 + 0x142c], xmm1
jmp 0x18000e686
test r9d, r9d
jne 0x18000e686
mov ecx, dword [r10 + rcx*8 + 4]
mov eax, dword [rdx + rax*4 - 8]
mov dword [rcx + r8 + 0x1428], eax
movsxd rcx, dword [r8 + 0x18d0]
lea eax, [rcx - 1]
mov dword [r8 + 0x18d0], eax
lea rax, [rcx - 2]
mov rdx, qword [r8 + 0x18d8]
lea rax, [rax + rax*2]
movsxd rcx, dword [rdx + rax*4]
mov r9d, dword [r10 + rcx*8]
cmp r9d, 1
je 0x18000e6e6
cmp r9d, 2
jne 0x18000e6e1
movss xmm0, dword [rdx + rax*4 + 4]
movss xmm1, dword [rdx + rax*4 + 8]
mov eax, dword [r10 + rcx*8 + 4]
movss dword [rax + r8 + 0x1428], xmm0
movss dword [rax + r8 + 0x142c], xmm1
jmp 0x18000e6f7
test r9d, r9d
jne 0x18000e6f7
mov ecx, dword [r10 + rcx*8 + 4]
mov eax, dword [rdx + rax*4 + 4]
mov dword [rcx + r8 + 0x1428], eax
dec dword [r8 + 0x18d0]
call fcn.18000deb0
cmp byte [0x18008dc94], 0
je 0x18000f2dd
mov rax, qword [0x18008dc98]
movups xmm0, xmmword [0x1800821c8]
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rdi
xor edi, edi
mov dword [rax + 0x1938], 0x43af0000
mov dword [rax + 0x193c], 0x43960000
mov dword [rax + 0x1914], 1
mov ebx, dword [0x18008d088]
movups xmmword [rbp - 0x40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm7
test al, al
je 0x18000e8f4
cmp ebx, 2
jl 0x18000e8b9
movdqa xmm0, xmmword [str.3333333333333333]
lea rcx, [rbp - 0x3c]
movdqa xmm5, xmmword [0x1800826b0]
mov edx, edi
movdqa xmm4, xmmword [0x1800827c0]
movdqa xmm6, xmmword [0x1800826d0]
movdqa xmmword [rbp - 0x30], xmm0
mov r8d, dword [rbp - 0x30]
nop dword [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1800826f0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800826f0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x10
jl 0x18000e7b0
jmp 0x18000e8f4
lea r9, [rbp - 0x40]
mov r8d, edi
mov eax, 0x92492493
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9 - 1], al
cmp r8d, 0x10
jl 0x18000e8c0
mov r8d, 0x20
lea rcx, [rbp - 0x40]
xor edx, edx
call fcn.180026060
mov eax, dword [0x18007d81c]
lea rdx, [rbp + 0x18]
mov dword [rbp + 0x10], eax
lea rcx, [rbp + 0x10]
movzx eax, word [0x18007d820]
xorps xmm6, xmm6
xor byte [rbp + 0x11], 0x34
xor byte [rbp + 0x12], 0x35
xor byte [rbp + 0x13], 0x36
mov word [rbp + 0x14], ax
movzx eax, byte [0x18007d822]
xor byte [rbp + 0x14], 0x37
xor al, 0x39
xor byte [rbp + 0x15], 0x38
mov byte [rbp + 0x16], al
mov qword [rbp + 0x18], 0x429a0000
mov byte [rbp + 0x10], 0x43
call fcn.180029760
test al, al
je 0x18000e95f
mov dword [0x180097d50], edi
movss xmm7, dword [0x18008261c]
xorps xmm0, xmm0
movaps xmm1, xmm7
call fcn.18002f1f0
cmp byte [0x180081d47], dil
mov rax, qword [str.e_FCVTJ:]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], 0x429a0000
je 0x18000eae4
cmp ebx, 2
jl 0x18000ea9b
movdqa xmm2, xmmword [0x1800826b0]
movdqa xmm3, xmmword [0x1800826c0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1800827c0]
movdqa xmm0, xmm2
mov eax, dword [str.3333333333333333]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800826f0]
movd xmm1, dword [rbp + 0x10]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd dword [rbp + 0x10], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800826f0]
movd xmm1, dword [rbp + 0x14]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp + 0x14], xmm2
jmp 0x18000eae4
lea r9, [rbp + 0x10]
mov r8d, edi
nop dword [rax]
nop word [rax + rax]
mov eax, 0x92492493
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x18000eab0
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x10]
call fcn.180029760
test al, al
je 0x18000eaff
mov dword [0x180097d50], 1
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.18002f1f0
cmp byte [0x18007d917], dil
mov rax, qword [str.vLEZXQM:]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], 0x429a0000
je 0x18000ec74
cmp ebx, 2
jl 0x18000ec33
movdqa xmm2, xmmword [0x1800826b0]
movdqa xmm3, xmmword [0x1800826c0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1800827c0]
movdqa xmm0, xmm2
mov eax, dword [str.3333333333333333]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800826f0]
movd xmm1, dword [rbp + 0x10]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd dword [rbp + 0x10], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800826d0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800826f0]
movd xmm1, dword [rbp + 0x14]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp + 0x14], xmm2
jmp 0x18000ec74
lea r9, [rbp + 0x10]
mov r8d, edi
nop word [rax + rax]
mov eax, 0x92492493
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x18000ec40
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x10]
call fcn.180029760
movzx r8d, byte [0x180081aa8]
test al, al
mov eax, dword [str._FU7]
movaps xmm0, xmm6
mov dword [rbp + 0x10], eax
movaps xmm1, xmm7
mov qword [rbp + 0x18], 0x429a0000
je 0x18000ecae
mov dword [0x180097d50], 2
call fcn.18002f1f0
xor byte [rbp + 0x11], 0x34
lea rdx, [rbp + 0x18]
xor byte [rbp + 0x12], 0x35
lea rcx, [rbp + 0x10]
xor byte [rbp + 0x13], 0x36
xor r8b, 0x37
mov byte [rbp + 0x14], r8b
mov byte [rbp + 0x10], 0x4d
call fcn.180029760
test al, al
je 0x18000eceb
mov dword [0x180097d50], 3
jmp 0x18000f253
mov eax, dword [0x180097d50]
test eax, eax
jne 0x18000ef3d
mov rbx, qword [0x18008dc98]
lea rcx, [0x18007d2ec]
xor edx, edx
mov qword [rbp + 0x18], rdi
mov rax, qword [rbx + 0x1860]
mov byte [rax + 0x92], 1
mov rax, qword [rbx + 0x1860]
movsxd r8, dword [rax + 0x1d0]
mov rax, qword [rax + 0x1d8]
mov r8d, dword [rax + r8*4 - 4]
call fcn.18001ea20
lea r8, [rbp + 0x18]
mov dword [rsp + 0x20], edi
lea rcx, [0x18007d2ec]
mov edx, eax
cmp dword [rbx + 0x1890], eax
jne 0x18000ed5a
mov byte [rbx + 0x189c], 1
call fcn.180024380
movzx eax, word [0x18007db68]
lea rdx, [0x1800903b4]
movsd xmm0, qword [str.QXYEA]
lea rcx, [rbp - 0x40]
movsd qword [rbp - 0x40], xmm0
xor byte [rbp - 0x3f], 0x34
xor byte [rbp - 0x3e], 0x35
xor byte [rbp - 0x3d], 0x36
xor byte [rbp - 0x3c], 0x37
xor byte [rbp - 0x3b], 0x38
xor byte [rbp - 0x3a], 0x39
xor byte [rbp - 0x39], 0x3a
mov word [rbp - 0x38], ax
movzx eax, byte [0x18007db6a]
xor byte [rbp - 0x38], 0x3b
xor al, 0x3d
xor byte [rbp - 0x37], 0x3c
mov byte [rbp - 0x36], al
mov byte [rbp - 0x40], 0x4d
call fcn.18002ac80
movzx eax, byte [0x180081af0]
lea rdx, [0x180097421]
movsd xmm0, qword [str.__SB]
lea rcx, [rbp - 0x40]
movsd qword [rbp - 0x40], xmm0
xor al, 0x3b
xor byte [rbp - 0x3f], 0x34
xor byte [rbp - 0x3e], 0x35
xor byte [rbp - 0x3d], 0x36
xor byte [rbp - 0x3c], 0x37
xor byte [rbp - 0x3b], 0x38
xor byte [rbp - 0x3a], 0x39
xor byte [rbp - 0x39], 0x3a
mov byte [rbp - 0x38], al
mov byte [rbp - 0x40], 0x53
call fcn.18002ac80
movzx ecx, word [0x18007d948]
lea rdx, [0x18008ddb4]
movzx eax, byte [0x18007d94a]
movsd xmm0, qword [0x18007d940]
xor al, 0x3d
movss xmm6, dword [0x180082534]
movss xmm3, dword [0x1800825f0]
movaps xmm2, xmm6
movsd qword [rbp - 0x40], xmm0
xor byte [rbp - 0x3f], 0x34
xor byte [rbp - 0x3e], 0x35
xor byte [rbp - 0x3d], 0x36
xor byte [rbp - 0x3c], 0x37
xor byte [rbp - 0x3b], 0x38
xor byte [rbp - 0x3a], 0x39
xor byte [rbp - 0x39], 0x3a
mov word [rbp - 0x38], cx
xor cl, 0x3b
xor byte [rbp - 0x37], 0x3c
mov byte [rbp - 0x38], cl
lea rcx, [rbp - 0x40]
movss dword [rsp + 0x28], xmm6
mov byte [rbp - 0x40], 0x41
mov byte [rbp - 0x36], al
call fcn.18002a6c0
movzx ecx, word [0x180082120]
lea rdx, [0x180090334]
movsd xmm0, qword [0x180082118]
movzx eax, byte [0x180082122]
movsd qword [rbp - 0x40], xmm0
xor byte [rbp - 0x3f], 0x34
xor byte [rbp - 0x3e], 0x35
xor byte [rbp - 0x3d], 0x36
xor byte [rbp - 0x3c], 0x37
xor byte [rbp - 0x3b], 0x38
xor byte [rbp - 0x3a], 0x39
xor byte [rbp - 0x39], 0x3a
mov word [rbp - 0x38], cx
xor cl, 0x3b
xor byte [rbp - 0x37], 0x3c
xor al, 0x3d
mov byte [rbp - 0x40], 0x66
mov byte [rbp - 0x36], al
mov byte [rbp - 0x38], cl
lea rcx, [rbp - 0x40]
call fcn.18002ac80
movsd xmm0, qword [0x1800818f8]
lea rdx, [0x18008dc90]
movzx eax, byte [0x180081900]
lea rcx, [rbp - 0x40]
movss xmm3, dword [0x180082604]
xor al, 0x3b
movss xmm2, dword [0x1800825e4]
movsd qword [rbp - 0x40], xmm0
xor byte [rbp - 0x3f], 0x34
xor byte [rbp - 0x3e], 0x35
xor byte [rbp - 0x3d], 0x36
xor byte [rbp - 0x3c], 0x37
xor byte [rbp - 0x3b], 0x38
xor byte [rbp - 0x3a], 0x39
xor byte [rbp - 0x39], 0x3a
mov byte [rbp - 0x38], al
movss dword [rsp + 0x28], xmm6
mov byte [rbp - 0x40], 0x46
call fcn.18002a6c0
jmp 0x18000f2b9
cmp eax, 1
jne 0x18000f16f
mov rbx, qword [0x18008dc98]
lea rcx, [0x18007d2f8]
xor edx, edx
mov qword [rbp + 0x18], 0x43250000
mov rax, qword [rbx + 0x1860]
mov byte [rax + 0x92], 1
mov rax, qword [rbx + 0x1860]
movsxd r8, dword [rax + 0x1d0]
mov rax, qword [rax + 0x1d8]
mov r8d, dword [rax + r8*4 - 4]
call fcn.18001ea20
cmp dword [rbx + 0x1890], eax
jne 0x18000ef9a
mov byte [rbx + 0x189c], 1
lea r8, [rbp + 0x18]
mov dword [rsp + 0x20], edi
mov edx, eax
lea rcx, [0x18007d2f8]
call fcn.180024380
test al, al
je 0x18000f050
lea rdx, [0x1800903b6]
lea rcx, str.Box_Esp
call fcn.18002ac80
lea rdx, [0x18009742b]
lea rcx, str.Cornered_box_Esp
call fcn.18002ac80
lea rdx, [0x180097423]
lea rcx, str.Skeleton_Esp
call fcn.18002ac80
lea rdx, [0x18009742e]
lea rcx, str.Line_Esp
call fcn.18002ac80
lea rdx, [0x180097428]
lea rcx, str.Name_Esp
call fcn.18002ac80
lea rdx, [0x180097420]
lea rcx, str.Distance_Esp
call fcn.18002ac80
lea rdx, [0x180097429]
lea rcx, str.Level_Esp
call fcn.18002ac80
lea rdx, [0x1800903b5]
lea rcx, str.Kills_Esp
call fcn.18002ac80
call fcn.180024760
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.18002f1f0
mov rbx, qword [0x18008dc98]
lea rcx, [0x18007d37c]
xor edx, edx
mov qword [rbp + 0x10], 0x432f0000
mov rax, qword [rbx + 0x1860]
mov byte [rax + 0x92], 1
mov rax, qword [rbx + 0x1860]
movsxd r8, dword [rax + 0x1d0]
mov rax, qword [rax + 0x1d8]
mov r8d, dword [rax + r8*4 - 4]
call fcn.18001ea20
cmp dword [rbx + 0x1890], eax
jne 0x18000f0b4
mov byte [rbx + 0x189c], 1
lea r8, [rbp + 0x10]
mov dword [rsp + 0x20], edi
mov edx, eax
lea rcx, [0x18007d37c]
call fcn.180024380
test al, al
je 0x18000f2b9
lea rdx, [0x1800903b7]
lea rcx, str.Platform_Esp
call fcn.18002ac80
lea rdx, [0x18009742d]
lea rcx, str.Weapon_Esp
call fcn.18002ac80
lea rdx, [0x180097430]
lea rcx, str.Chams
call fcn.18002ac80
lea rdx, [0x18009742f]
lea rcx, str.Aim_Line
call fcn.18002ac80
lea rdx, [0x18009742c]
lea rcx, str.Chest
call fcn.18002ac80
lea rdx, [0x180097427]
lea rcx, str.Ammo
call fcn.18002ac80
lea rdx, [0x180097425]
lea rcx, str.Vehicle
call fcn.18002ac80
lea rdx, [0x180097426]
lea rcx, str.item
call fcn.18002ac80
jmp 0x18000f2b9
cmp eax, 2
jne 0x18000f24e
mov rbx, qword [0x18008dc98]
lea rcx, [0x18007d2f8]
xor edx, edx
mov qword [rbp + 0x18], rdi
mov rax, qword [rbx + 0x1860]
mov byte [rax + 0x92], 1
mov rax, qword [rbx + 0x1860]
movsxd r8, dword [rax + 0x1d0]
mov rax, qword [rax + 0x1d8]
mov r8d, dword [rax + r8*4 - 4]
call fcn.18001ea20
cmp dword [rbx + 0x1890], eax
jne 0x18000f1c8
mov byte [rbx + 0x189c], 1
lea r8, [rbp + 0x18]
mov dword [rsp + 0x20], edi
mov edx, eax
lea rcx, [0x18007d2f8]
call fcn.180024380
lea rdx, [0x18009742a]
lea rcx, str.Fov_Changer
call fcn.18002ac80
cmp byte [0x18009742a], dil
je 0x18000f226
movss xmm0, dword [0x180082534]
lea rdx, [0x18008ddb0]
movss xmm3, dword [0x1800825f8]
lea rcx, str.Fov_Value
movaps xmm2, xmm6
movss dword [rsp + 0x28], xmm0
call fcn.18002a6c0
lea rdx, [0x180097424]
lea rcx, str.Bullet_TP
call fcn.18002ac80
lea rdx, [0x180097422]
lea rcx, str.Car_Fly
call fcn.18002ac80
jmp 0x18000f2b9
cmp eax, 3
jne 0x18000f2be
mov rbx, qword [0x18008dc98]
lea rcx, [0x18007d2f8]
xor edx, edx
mov qword [rbp + 0x18], rdi
mov rax, qword [rbx + 0x1860]
mov byte [rax + 0x92], 1
mov rax, qword [rbx + 0x1860]
movsxd r8, dword [rax + 0x1d0]
mov rax, qword [rax + 0x1d8]
mov r8d, dword [rax + r8*4 - 4]
call fcn.18001ea20
cmp dword [rbx + 0x1890], eax
jne 0x18000f2a3
mov byte [rbx + 0x189c], 1
lea r8, [rbp + 0x18]
mov dword [rsp + 0x20], edi
mov edx, eax
lea rcx, [0x18007d2f8]
call fcn.180024380
call fcn.180024760
call fcn.180028610
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm6, xmmword [rsp + 0x60]
mov rdi, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x90]
add rsp, 0x70
pop rbp
jmp 0x180022dd0
push rbx
sub rsp, 0xe0
mov rbx, qword [0x18008dc98]
movaps xmmword [rsp + 0x40], xmm12
mov eax, dword [rbx + 0x180c]
cmp dword [rbx + 0x1810], eax
je 0x180022df9
call fcn.1800229d0
movss xmm0, dword [rbx + 0x1428]
xorps xmm12, xmm12
comiss xmm0, xmm12
mov eax, dword [rbx + 0x180c]
mov dword [rbx + 0x1814], eax
jbe 0x18002342a
mov qword [rsp + 0x108], rbp
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xd0], rdi
xor edi, edi
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xb0], r15
lea r15, [rbx + 0x19a0]
mov qword [rbx + 0x35c], rdi
mov rsi, r15
lea ebp, [rdi + 2]
mov dword [rbx + 0x358], edi
nop
xor edx, edx
mov rcx, rsi
call fcn.1800301b0
add rsi, 0x10
sub rbp, 1
jne 0x180022e60
mov esi, edi
cmp dword [rbx + 0x1818], edi
je 0x180022edf
mov r14, rdi
mov rax, qword [rbx + 0x1820]
mov rdx, qword [r14 + rax]
cmp byte [rdx + 0x90], dil
je 0x180022ed1
cmp dword [rdx + 0xbc], edi
jg 0x180022ed1
test dword [rdx + 0xc], 0x1000000
jne 0x180022ed1
mov rcx, qword [0x18008dc98]
inc dword [rcx + 0x360]
test dword [rdx + 0xc], 0x2000000
je 0x180022ec5
add rcx, 0x19b0
jmp 0x180022ecc
add rcx, 0x19a0
call fcn.180022840
inc esi
add r14, 8
cmp esi, dword [rbx + 0x1818]
jne 0x180022e81
movsxd r14, dword [r15]
mov rcx, r15
mov edx, dword [r15 + 0x10]
add edx, r14d
call fcn.1800301b0
movsxd rax, dword [r15 + 0x10]
test eax, eax
je 0x180022f1c
mov rdx, qword [r15 + 0x18]
mov r8, rax
mov rax, qword [r15 + 8]
shl r8, 3
lea rcx, [rax + r14*8]
call fcn.18006f690
xor edx, edx
lea rcx, [r15 + 0x10]
call fcn.1800301b0
cmp byte [rbx + 0x124], dil
je 0x180023331
movsxd rax, dword [rbx + 0x1a70]
lea rsi, [rbx + 0x19c8]
mov r8d, dword [rsi + 0x74]
mov r15d, 8
mov ecx, dword [rsi + 0x70]
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xc0], r13
imul r13, rax, 0x34
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x70], xmm9
mov rax, qword [rbx + 0x98]
movaps xmmword [rsp + 0x60], xmm10
movss xmm10, dword [rbx + 0x110]
movaps xmmword [rsp + 0x50], xmm11
movss xmm11, dword [rbx + 0x114]
movss xmm8, dword [rbx + r13 + 0x1a80]
movss xmm9, dword [rbx + r13 + 0x1a84]
mov r12, qword [rax]
subss xmm10, dword [rbx + r13 + 0x1a78]
subss xmm11, dword [rbx + r13 + 0x1a7c]
movss dword [rsp + 0xf0], xmm10
movss dword [rsp + 0xf4], xmm11
cmp ecx, r8d
jne 0x180023007
inc ecx
test r8d, r8d
je 0x180022ff4
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x180022ff7
mov eax, r15d
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
lea rcx, [rsi + 0x70]
call fcn.180030060
movsxd rcx, dword [rsi + 0x70]
mov rax, qword [rsi + 0x78]
mov qword [rax + rcx*8], r12
mov rcx, rsi
inc dword [rsi + 0x70]
call fcn.180038600
movaps xmm0, xmm10
mov dword [rsp + 0x30], 0x30000000
addss xmm0, dword [0x180082534]
movaps xmm6, xmm11
lea rbp, [rbx + 0x1aa0]
addss xmm6, xmm12
movaps xmm7, xmm11
addss xmm7, xmm12
add rbp, r13
lea rax, [rbx + 0x1a90]
mov qword [rsp + 0x28], rbp
addss xmm0, xmm8
add rax, r13
lea r9, [rsp + 0xf8]
mov qword [rsp + 0x20], rax
addss xmm6, xmm9
mov rdx, r12
lea r8, [rsp + 0x100]
movss dword [rsp + 0x104], xmm7
mov rcx, rsi
movss dword [rsp + 0xf8], xmm0
movaps xmm0, xmm10
addss xmm0, dword [0x180082534]
movss dword [rsp + 0xfc], xmm6
movss dword [rsp + 0x100], xmm0
call fcn.18003ab50
movaps xmm0, xmm10
mov dword [rsp + 0x30], 0x30000000
addss xmm0, dword [0x180082564]
lea rax, [rbx + 0x1a90]
mov qword [rsp + 0x28], rbp
add rax, r13
movss dword [rsp + 0xfc], xmm6
lea r9, [rsp + 0xf8]
movss dword [rsp + 0x104], xmm7
lea r8, [rsp + 0x100]
mov qword [rsp + 0x20], rax
addss xmm0, xmm8
mov rdx, r12
mov rcx, rsi
movss dword [rsp + 0xf8], xmm0
movaps xmm0, xmm10
addss xmm0, dword [0x180082564]
movss dword [rsp + 0x100], xmm0
call fcn.18003ab50
movsxd r8, dword [rsi + 0x70]
movaps xmm0, xmm8
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm1, xmm9
movaps xmm6, xmmword [rsp + 0xa0]
addss xmm0, xmm10
addss xmm1, xmm11
movss dword [rsp + 0xf8], xmm0
movss dword [rsp + 0xfc], xmm1
test r8d, r8d
je 0x18002317c
mov rax, qword [rsi + 0x78]
cmp r12, qword [rax + r8*8 - 8]
jne 0x18002317c
xor bpl, bpl
jmp 0x1800231c6
mov ecx, dword [rsi + 0x74]
mov bpl, 1
cmp r8d, ecx
jne 0x1800231af
inc r8d
test ecx, ecx
je 0x180023199
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002319c
mov eax, r15d
cmp eax, r8d
lea rcx, [rsi + 0x70]
cmovg r8d, eax
mov edx, r8d
call fcn.180030060
movsxd rcx, dword [rsi + 0x70]
mov rax, qword [rsi + 0x78]
mov qword [rax + rcx*8], r12
mov rcx, rsi
inc dword [rsi + 0x70]
call fcn.180038600
mov edx, 6
mov rcx, rsi
lea r8d, [rdx - 2]
call fcn.180038af0
lea rax, [rbx + 0x1aa0]
mov dword [rsp + 0x28], 0xff000000
add rax, r13
lea r9, [rbx + 0x1a90]
add r9, r13
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xf8]
mov rcx, rsi
lea rdx, [rsp + 0xf0]
call fcn.180038ba0
test bpl, bpl
je 0x180023220
dec dword [rsi + 0x70]
mov rcx, rsi
call fcn.180038600
movsxd rdx, dword [rsi + 0x70]
addss xmm8, xmm10
movaps xmm10, xmmword [rsp + 0x60]
addss xmm9, xmm11
movaps xmm11, xmmword [rsp + 0x50]
movss dword [rsp + 0xf8], xmm8
movaps xmm8, xmmword [rsp + 0x80]
movss dword [rsp + 0xfc], xmm9
movaps xmm9, xmmword [rsp + 0x70]
test edx, edx
je 0x180023271
mov rax, qword [rsi + 0x78]
cmp r12, qword [rax + rdx*8 - 8]
jne 0x180023271
xor r14b, r14b
jmp 0x1800232b8
mov ecx, dword [rsi + 0x74]
mov r14b, 1
cmp edx, ecx
jne 0x1800232a1
lea r8d, [rdx + 1]
test ecx, ecx
je 0x18002328e
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r15d, [rcx + rax]
cmp r15d, r8d
lea rcx, [rsi + 0x70]
cmovg r8d, r15d
mov edx, r8d
call fcn.180030060
movsxd rcx, dword [rsi + 0x70]
mov rax, qword [rsi + 0x78]
mov qword [rax + rcx*8], r12
mov rcx, rsi
inc dword [rsi + 0x70]
call fcn.180038600
mov edx, 6
mov rcx, rsi
lea r8d, [rdx - 2]
call fcn.180038af0
lea rax, [rbx + 0x1a98]
mov dword [rsp + 0x28], 0xffffffff
add rax, r13
lea r9, [rbx + 0x1a88]
add r9, r13
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xf8]
mov rcx, rsi
lea rdx, [rsp + 0xf0]
call fcn.180038ba0
mov r13, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xc8]
test r14b, r14b
je 0x180023322
dec dword [rsi + 0x70]
mov rcx, rsi
call fcn.180038600
lea rcx, [rbx + 0x19c8]
dec dword [rcx + 0x70]
call fcn.180038600
mov r15, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0x108]
cmp dword [rbx + 0x19e8], edi
je 0x18002336c
lea rdx, [rbx + 0x19c8]
lea rcx, [rbx + 0x19a0]
call fcn.180022750
mov byte [rbx + 0x1980], 1
cmp dword [rbx + 0x19a0], edi
jle 0x180023384
mov rax, qword [rbx + 0x19a8]
jmp 0x180023387
mov rax, rdi
mov qword [rbx + 0x1988], rax
mov eax, dword [rbx + 0x19a0]
mov dword [rbx + 0x1990], eax
mov qword [rbx + 0x1994], rdi
jle 0x1800233ec
mov r8d, edi
mov r9d, edi
mov rdx, rdi
nop dword [rax]
mov rax, qword [rbx + 0x19a8]
lea rdx, [rdx + 8]
inc edi
mov rcx, qword [rdx + rax - 8]
add r8d, dword [rcx + 0x20]
mov dword [rbx + 0x1994], r8d
mov rax, qword [rbx + 0x19a8]
mov rcx, qword [rdx + rax - 8]
add r9d, dword [rcx + 0x10]
mov dword [rbx + 0x1998], r9d
cmp edi, dword [rbx + 0x19a0]
jl 0x1800233b0
cmp dword [rbx + 0x1990], 0
mov eax, dword [rbx + 0x1994]
mov rdi, qword [rsp + 0xd0]
mov dword [rbx + 0x358], eax
mov eax, dword [rbx + 0x1998]
mov dword [rbx + 0x35c], eax
jle 0x18002342a
mov rax, qword [rbx + 0xd0]
test rax, rax
je 0x18002342a
lea rcx, [rbx + 0x1980]
call rax
movaps xmm12, xmmword [rsp + 0x40]
add rsp, 0xe0
pop rbx
ret