Function at 0x1800a9350
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rbx, qword [0x1800f2b60]
xor edi, edi
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
mov esi, dword [rbx + 0x5bc8]
lea r12d, [rdi + 1]
sub esi, r12d
js 0x1800a93f5
movsxd r14, esi
shl r14, 5
mov r15, r14
mov rax, qword [rbx + 0x5bd0]
cmp dword [r14 + rax + 4], 7
jne 0x1800a93e8
movsxd r8, dword [rbx + 0x5bc8]
mov rcx, rax
mov rdx, r15
sub rdx, rax
add rdx, rax
sar rdx, 5
sub r8, rdx
mov rax, rdx
shl rax, 5
add rcx, rax
shl r8, 5
sub r8, 0x20
lea rdx, [rcx + 0x20]
call fcn.1800e663c
dec dword [rbx + 0x5bc8]
sub r15, 0x20
sub r14, 0x20
sub esi, r12d
jns 0x1800a939e
xor edx, edx
mov rcx, rbx
call fcn.1800a0c90
mov rax, qword [0x1800f2b60]
cmp byte [rax + 0x7e], dil
je 0x1800a9416
test byte [rax + 0xc], 2
jne 0x1800a9416
mov byte [rax + 0x7e], dil
call fcn.1800afb30
movss xmm0, dword [rbx + 0x18]
lea rsi, [rbx + 0x5b50]
add dword [rbx + 0x3e30], r12d
cvtps2pd xmm0, xmm0
mov byte [rbx + 0x3e3c], r12b
mov word [rbx + 0x5b3a], di
mov dword [rbx + 0x3ea0], edi
addsd xmm0, qword [rbx + 0x3e28]
movsd qword [rbx + 0x3e28], xmm0
cmp dword [rsi + 4], edi
jge 0x1800a9474
mov eax, dword [rsi + 4]
mov rcx, rsi
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, dword [rsi + 4]
test eax, eax
cmovg edx, eax
call fcn.1800b1280
movss xmm6, dword [0x1800060f8]
xorps xmm7, xmm7
movss xmm8, dword [0x180005fd0]
mov dword [rsi], edi
movsxd rax, dword [rbx + 0x5db8]
movss xmm1, dword [rbx + 0x18]
movaps xmm0, xmm1
subss xmm0, dword [rbx + rax*4 + 0x5cc8]
addss xmm0, dword [rbx + 0x5dc0]
movss dword [rbx + 0x5dc0], xmm0
movss dword [rbx + rax*4 + 0x5cc8], xmm1
mov eax, 0x88888889
mov ecx, dword [rbx + 0x5db8]
movss xmm2, dword [rbx + 0x5dc0]
add ecx, r12d
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3c
sub ecx, eax
mov eax, dword [rbx + 0x5dbc]
add eax, r12d
mov dword [rbx + 0x5db8], ecx
mov ecx, 0x3c
cmp eax, ecx
cmovl ecx, eax
comiss xmm2, xmm7
mov dword [rbx + 0x5dbc], ecx
jbe 0x1800a951d
movd xmm0, ecx
movaps xmm1, xmm8
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
divss xmm1, xmm2
jmp 0x1800a9520
movaps xmm1, xmm6
movss dword [rbx + 0xe0], xmm1
call fcn.1800afbac
mov rax, qword [rbx + 0x58]
mov byte [rax + 0x18], r12b
mov rax, qword [0x1800f2b60]
mov rcx, qword [rax + 0x68]
test rcx, rcx
jne 0x1800a9550
mov rax, qword [rax + 0x58]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
call fcn.1800acf44
mov eax, dword [rbx + 0x4880]
movaps xmm5, xmm6
movss xmm0, dword [0x180008460]
movaps xmm4, xmm6
movaps xmm3, xmm0
test eax, eax
jle 0x1800a95bf
mov rcx, qword [rbx + 0x4888]
mov edx, eax
mov rax, qword [rcx]
comiss xmm5, dword [rax + 4]
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
addss xmm1, dword [rax + 0xc]
addss xmm2, dword [rax + 0x10]
jbe 0x1800a959b
movss xmm5, dword [rax + 4]
comiss xmm4, dword [rax + 8]
jbe 0x1800a95a6
movss xmm4, dword [rax + 8]
comiss xmm1, xmm0
jbe 0x1800a95ae
movaps xmm0, xmm1
comiss xmm2, xmm3
jbe 0x1800a95b6
movaps xmm3, xmm2
add rcx, 8
sub rdx, r12
jne 0x1800a9579
movss dword [rbx + 0x3c34], xmm5
lea rcx, [rbx + 0x3c18]
movss dword [rbx + 0x3c38], xmm4
movss dword [rbx + 0x3c3c], xmm0
movss dword [rbx + 0x3c40], xmm3
mov eax, dword [rbx + 0x38a0]
movss xmm1, dword [rbx + 0x38a4]
mov dword [rbx + 0x3c2c], eax
call fcn.1800b9928
mov r8d, edi
mov dword [rbx + 0x3c44], edi
cmp byte [rbx + 0x389c], dil
je 0x1800a961b
mov dword [rbx + 0x3c44], r12d
mov r8d, r12d
mov edx, r8d
cmp byte [rbx + 0x389d], dil
je 0x1800a9640
mov rax, qword [rbx + 0x3c08]
mov rcx, qword [rax + 0x40]
test byte [rcx], 4
jne 0x1800a9640
or edx, 2
mov dword [rbx + 0x3c44], edx
cmp byte [rbx + 0x389e], dil
je 0x1800a9652
or edx, 4
mov dword [rbx + 0x3c44], edx
test byte [rbx + 0xc], 8
je 0x1800a9661
or edx, 8
mov dword [rbx + 0x3c44], edx
mov r8d, edi
cmp dword [rbx + 0x4880], edi
jle 0x1800a9699
mov rdx, rdi
mov rax, qword [rbx + 0x4888]
xorps xmm0, xmm0
add r8d, r12d
mov rcx, qword [rdx + rax]
lea rdx, [rdx + 8]
movups xmmword [rcx + 0x48], xmm0
movups xmmword [rcx + 0x58], xmm0
movups xmmword [rcx + 0x68], xmm0
cmp r8d, dword [rbx + 0x4880]
jl 0x1800a966f
cmp byte [rbx + 0x4a3c], dil
je 0x1800a96b5
mov ecx, dword [rbx + 0x4a5c]
cmp ecx, dword [rbx + 0x3f10]
jne 0x1800a96b5
call fcn.1800a56ec
lea rax, [rbx + 0x3efc]
mov ecx, dword [rax]
cmp dword [rbx + 0x3f00], edi
jne 0x1800a96ce
mov dword [rbx + 0x3f08], edi
jmp 0x1800a96df
mov edx, ecx
mov r8, rax
test ecx, ecx
je 0x1800a96ea
cmp dword [rbx + 0x3f10], ecx
jne 0x1800a96ea
mov dword [rbx + 0x3f0c], edi
mov edx, ecx
mov r8, rax
movss xmm1, dword [rbx + 0x18]
test edx, edx
je 0x1800a9721
movaps xmm0, xmm1
addss xmm0, dword [rbx + 0x3f08]
movss dword [rbx + 0x3f08], xmm0
cmp dword [rbx + 0x3f10], edx
je 0x1800a9721
movaps xmm0, xmm1
addss xmm0, dword [rbx + 0x3f0c]
movss dword [rbx + 0x3f0c], xmm0
mov eax, dword [rbx + 0x3f10]
movaps xmm2, xmm1
mov dword [rbx + 0x3f00], edx
mov dword [r8], edi
mov word [rbx + 0x3f04], di
test eax, eax
je 0x1800a975c
cmp dword [rbx + 0x3f14], eax
je 0x1800a975c
cmp dword [rbx + 0x3f40], eax
jne 0x1800a975c
xor edx, edx
xor ecx, ecx
call fcn.1800acd14
movss xmm2, dword [rbx + 0x18]
mov edx, dword [rbx + 0x3f10]
test edx, edx
je 0x1800a9779
movaps xmm0, xmm2
addss xmm0, dword [rbx + 0x3f18]
movss dword [rbx + 0x3f18], xmm0
mov rax, qword [rbx + 0x3f30]
addss xmm2, dword [rbx + 0x3f54]
mov qword [rbx + 0x3f48], rax
mov al, byte [rbx + 0x3f20]
mov byte [rbx + 0x3f45], al
mov eax, dword [rbx + 0x5ac8]
movss dword [rbx + 0x3f54], xmm2
mov dword [rbx + 0x3f40], edx
mov dword [rbx + 0x3f14], edi
mov byte [rbx + 0x3f21], dil
mov byte [rbx + 0x3f44], dil
mov byte [rbx + 0x3f1c], dil
test eax, eax
je 0x1800a97d8
cmp edx, eax
je 0x1800a97d8
mov dword [rbx + 0x5ac8], edi
test edx, edx
jne 0x1800a97f1
mov dword [rbx + 0x4720], edi
mov byte [rbx + 0x4724], dil
mov dword [rbx + 0x4728], edi
jmp 0x1800a980c
mov eax, dword [rbx + 0x4728]
test eax, eax
je 0x1800a980c
test al, 2
je 0x1800a980c
xor r8d, r8d
mov ecx, 0x20e
call fcn.1800ad3a4
mov eax, dword [rbx + 0x4bb0]
movss xmm0, dword [rbx + 0x4bb8]
mov dword [rbx + 0x4bb4], eax
test eax, eax
je 0x1800a983f
addss xmm0, dword [rbx + 0x18]
mov dword [rbx + 0x4bbc], edi
mov dword [rbx + 0x4bb0], edi
movss dword [rbx + 0x4bb8], xmm0
jmp 0x1800a9878
comiss xmm0, xmm7
jbe 0x1800a9878
movss xmm2, dword [rbx + 0x18]
movss xmm0, dword [0x180005fa4]
movaps xmm1, xmm2
addss xmm1, dword [rbx + 0x4bbc]
addss xmm2, xmm2
movss dword [rbx + 0x4bbc], xmm1
maxss xmm0, xmm2
comiss xmm1, xmm0
jb 0x1800a9878
mov qword [rbx + 0x4bb8], rdi
mov eax, dword [rbx + 0x4aac]
lea rsi, [rbx + 0x37d0]
mov dword [rbx + 0x4ab0], eax
mov qword [rbx + 0x4aa8], 0x7f7fffff
mov word [rbx + 0x4a3d], di
mov dword [rbx + 0x4ab8], edi
cmp dword [rsi + 4], edi
jge 0x1800a98c2
mov eax, dword [rsi + 4]
mov rcx, rsi
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, dword [rsi + 4]
test eax, eax
cmovg edx, eax
call fcn.1800b1510
mov dword [rsi], edi
mov cl, byte [rbx + 0x7a]
call fcn.1800ae514
call fcn.1800aead8
call fcn.1800a7404
call fcn.1800aefcc
call fcn.1800ae29c
call fcn.1800af458
call fcn.1800a3e2c
test rax, rax
jne 0x1800a9924
cmp qword [rbx + 0x4a00], rdi
je 0x1800a9905
movss xmm0, dword [rbx + 0x4a1c]
comiss xmm0, xmm7
ja 0x1800a9924
movss xmm0, dword [rbx + 0x18]
mulss xmm0, dword [0x180006058]
movss xmm1, dword [rbx + 0x4a34]
subss xmm1, xmm0
maxss xmm1, xmm7
jmp 0x1800a993e
movss xmm1, dword [rbx + 0x18]
mulss xmm1, dword [0x180008b30]
addss xmm1, dword [rbx + 0x4a34]
minss xmm1, xmm8
movss dword [rbx + 0x4a34], xmm1
movups xmm0, xmmword [rbx + 0x5b60]
or dword [rbx + 0x5dcc], 0xffffffff
or dword [rbx + 0x5dc8], 0xffffffff
or dword [rbx + 0x5dc4], 0xffffffff
movdqu xmmword [rbx + 0x5b70], xmm0
mov dword [rbx + 0x4a38], edi
mov byte [rbx + 0x5b60], dil
call fcn.1800af534
cmp byte [rbx + 0x3e3f], dil
jne 0x1800a99a2
movss xmm0, dword [rbx + 0x80]
comiss xmm7, xmm0
ja 0x1800a99a2
movsd xmm6, qword [rbx + 0x3e28]
cvtpd2ps xmm6, xmm6
subss xmm6, xmm0
mov esi, edi
cmp dword [rbx + 0x3e50], edi
je 0x1800a9a13
mov r14, rdi
mov rax, qword [rbx + 0x3e58]
mov rcx, qword [r14 + rax]
mov dl, byte [rcx + 0xae]
movzx eax, word [rcx + 0xba]
mov byte [rcx + 0xaf], dl
mov byte [rcx + 0xae], dil
mov byte [rcx + 0xb0], dil
mov word [rcx + 0xbc], ax
mov word [rcx + 0xba], di
test dl, dl
jne 0x1800a9a04
cmp byte [rcx + 0x3cc], dil
jne 0x1800a9a04
comiss xmm6, dword [rcx + 0x25c]
jbe 0x1800a9a04
call fcn.1800a31bc
add esi, r12d
add r14, 8
cmp esi, dword [rbx + 0x3e50]
jne 0x1800a99af
mov esi, edi
cmp dword [rbx + 0x4b40], edi
jle 0x1800a9a5c
mov r14, rdi
mov rax, qword [rbx + 0x4b48]
movss xmm0, dword [r14 + rax]
comiss xmm0, xmm7
jb 0x1800a9a4d
comiss xmm6, xmm0
jbe 0x1800a9a4d
movsxd rax, esi
imul rcx, rax, 0x228
add rcx, qword [rbx + 0x4b20]
call fcn.1800c1ae0
add esi, r12d
add r14, 4
cmp esi, dword [rbx + 0x4b40]
jl 0x1800a9a20
mov esi, edi
cmp dword [rbx + 0x4b08], edi
jle 0x1800a9a9f
mov r14, rdi
mov rdx, qword [rbx + 0x4b10]
movss xmm0, dword [r14 + rdx + 4]
comiss xmm0, xmm7
jb 0x1800a9a90
comiss xmm6, xmm0
jbe 0x1800a9a90
movsxd rax, esi
imul rcx, rax, 0x70
add rcx, rdx
call fcn.1800c1bb0
add esi, r12d
add r14, 0x70
cmp esi, dword [rbx + 0x4b08]
jl 0x1800a9a69
cmp byte [rbx + 0x3e3f], dil
je 0x1800a9aad
call fcn.1800a3120
mov rax, qword [rbx + 0x4890]
mov byte [rbx + 0x3e3f], dil
test rax, rax
je 0x1800a9ad2
cmp byte [rax + 0xaf], dil
jne 0x1800a9ad2
xor edx, edx
xor ecx, ecx
call fcn.1800a2f2c
lea rsi, [rbx + 0x3e80]
cmp dword [rsi + 4], edi
jge 0x1800a9af8
mov eax, dword [rsi + 4]
mov rcx, rsi
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, dword [rsi + 4]
test eax, eax
cmovg edx, eax
call fcn.1800b16a0
mov dword [rsi], edi
lea rsi, [rbx + 0x4868]
cmp dword [rsi + 4], edi
jge 0x1800a9b20
mov eax, dword [rsi + 4]
mov rcx, rsi
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, dword [rsi + 4]
test eax, eax
cmovg edx, eax
call fcn.1800b1380
mov dword [rsi], edi
lea rsi, [rbx + 0x4838]
cmp dword [rsi + 4], edi
jge 0x1800a9b48
mov eax, dword [rsi + 4]
mov rcx, rsi
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, dword [rsi + 4]
test eax, eax
cmovg edx, eax
call fcn.1800b1280
mov dword [rsi], edi
cmp dword [rsi + 4], edi
jne 0x1800a9b5c
mov edx, 8
mov rcx, rsi
call fcn.1800b1280
movsxd rcx, dword [rsi]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*4], edi
add dword [rsi], r12d
lea rsi, [rbx + 0x4848]
cmp dword [rsi + 4], edi
jge 0x1800a9b8f
mov eax, dword [rsi + 4]
mov rcx, rsi
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, dword [rsi + 4]
test eax, eax
cmovg edx, eax
call fcn.1800b1488
mov dword [rsi], edi
mov al, byte [rbx + 0x5c88]
test al, al
je 0x1800a9bac
sub al, r12b
mov byte [rbx + 0x5c88], al
jne 0x1800a9bac
mov dword [rbx + 0x4734], edi
mov byte [rbx + 0x3e3d], r12b
lea r8, [rbp - 0x40]
mov dword [rbp - 0x40], 0x43575177
mov dword [rbp - 0x3c], 0x7e1a1b50
mov dword [rbp - 0x38], 0x4b5c5a5e
mov word [rbp - 0x34], 0x3453
mov byte [rbp - 0x32], 0x41
mov eax, 0x51eb851f
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, dil
add edi, r12d
sub al, cl
add al, 0x33
xor byte [r8], al
add r8, r12
cmp edi, 0xf
jl 0x1800a9bd6
xor r8d, r8d
lea rcx, [rbp - 0x40]
xor edx, edx
call fcn.18009d6c8
mov edx, r12d
mov rcx, rbx
movaps xmm6, xmmword [rsp + 0x50]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm7, xmmword [rsp + 0x40]
mov rsp, r11
pop r15
pop r14
pop rbp
jmp fcn.1800a0c90