Function at 0x180031578
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
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3f]
sub rsp, 0xe0
movaps xmmword [rax - 0x38], xmm6
mov rdi, rdx
movaps xmmword [rax - 0x48], xmm7
mov rsi, r9
movaps xmmword [rax - 0x58], xmm8
mov r14, r8
movaps xmmword [rax - 0x68], xmm9
mov r15, rcx
movaps xmmword [rax - 0x78], xmm10
mov bl, 0x2c
movaps xmmword [rax - 0x88], xmm11
xor eax, eax
xor r12d, r12d
movaps xmmword [rsp + 0x70], xmm12
movaps xmmword [rsp + 0x60], xmm13
mov edx, r12d
mov dword [rsp + 0x20], 0x5b404c61
lea r13d, [rax + 1]
mov word [rsp + 0x24], 0x4259
mov byte [rsp + 0x26], al
movsxd rcx, edx
lea eax, [rbx + rdx]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 6
jb 0x1800315f3
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x26], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
movdqa xmm0, xmmword [0x180006430]
mov edx, r12d
movdqu xmmword [rsp + 0x20], xmm0
movsxd rcx, edx
lea eax, [rbx + rdx]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xf
jb 0x180031631
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2f], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov dword [rsp + 0x20], 0x5d5b7973
mov edx, r12d
mov dword [rsp + 0x24], 0x72465442
mov word [rsp + 0x28], 0x7664
mov byte [rsp + 0x2a], al
movsxd rcx, edx
lea eax, [rbx + rdx]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xa
jb 0x18003167c
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2a], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov dword [rsp + 0x20], 0x4c4f416e
mov edx, r12d
mov dword [rsp + 0x24], 0x5c656e5b
mov word [rsp + 0x28], 0x5358
mov byte [rsp + 0x2a], al
movsxd rcx, edx
lea eax, [rbx + rdx]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xa
jb 0x1800316c7
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2a], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov dword [rsp + 0x20], 0x474d4841
mov edx, r12d
mov dword [rsp + 0x24], 0x3020202
mov dword [rsp + 0x28], 0x45575d6b
mov word [rsp + 0x2c], 0x5c
movsxd rcx, edx
lea eax, [rbx + rdx]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xd
jb 0x180031716
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2d], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
movdqa xmm0, xmmword [0x180006940]
mov edx, r12d
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x40], 0x4953
mov byte [rsp + 0x42], al
movsxd rcx, edx
lea eax, [rbx + rdx]
add edx, r13d
xor byte [rsp + rcx + 0x30], al
cmp edx, 0x12
jb 0x18003175f
lea rdx, [rsp + 0x30]
mov byte [rsp + 0x42], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov dword [rsp + 0x20], 0x44404c78
mov edx, r12d
mov dword [rsp + 0x24], 0x4147656f
mov dword [rsp + 0x28], 0x425046
movsxd rcx, edx
lea eax, [rbx + rdx]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xb
jb 0x1800317a7
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2b], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
movdqa xmm0, xmmword [0x180006490]
lea rcx, [rsp + 0x20]
movdqa xmm2, xmmword [0x1800063d0]
movdqa xmm3, xmmword [0x1800063e0]
movdqa xmmword [rbp - 0x79], xmm0
movdqa xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x20], 0x706a6461
mov dword [rsp + 0x24], 0x41766e64
mov dword [rsp + 0x28], 0x68535b5b
mov byte [rsp + 0x2c], al
movd xmm0, dword [rbp - 0x79]
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
andps xmm1, xmm3
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 0xc
jb 0x180031818
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2c], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov ebx, dword [rsp + 0x30]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x705a4444
mov dword [rsp + 0x24], 0x50535442
mov dword [rsp + 0x28], 0x59595c40
mov byte [rsp + 0x2c], al
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
movd xmm0, ebx
paddd xmm1, xmm2
andps xmm1, xmm3
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 0xc
jb 0x180031890
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2c], r12b
mov rcx, r14
call fcn.180039c28
test rax, rax
jne 0x180032075
movdqa xmm0, xmmword [0x180006910]
mov edx, r12d
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x40], 0x5353
mov byte [rsp + 0x42], al
movsxd rcx, edx
lea eax, [rdx + 0x2c]
add edx, r13d
xor byte [rsp + rcx + 0x30], al
cmp edx, 0x12
jb 0x1800318fe
lea rdx, [rsp + 0x30]
mov byte [rsp + 0x42], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov dword [rsp + 0x20], 0x5b7d7274
mov edx, r12d
mov dword [rsp + 0x24], 0x556d5f45
mov dword [rsp + 0x28], 0x5f5f5b5d
mov word [rsp + 0x2c], 0x4b5d
mov byte [rsp + 0x2e], al
movsxd rcx, edx
lea eax, [rdx + 0x2c]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xe
jb 0x180031951
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2e], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
movdqa xmm0, xmmword [0x1800068f0]
mov edx, r12d
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x40], 0x4950
mov byte [rsp + 0x42], al
movsxd rcx, edx
lea eax, [rdx + 0x2c]
add edx, r13d
xor byte [rsp + rcx + 0x30], al
cmp edx, 0x12
jb 0x18003199a
lea rdx, [rsp + 0x30]
mov byte [rsp + 0x42], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
movdqa xmm0, xmmword [0x1800068f0]
mov edx, r12d
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x40], 0x4950
mov byte [rsp + 0x42], al
movsxd rcx, edx
lea eax, [rdx + 0x2c]
add edx, r13d
xor byte [rsp + rcx + 0x30], al
cmp edx, 0x12
jb 0x1800319e3
lea rdx, [rsp + 0x30]
mov byte [rsp + 0x42], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
movdqa xmm0, xmmword [0x1800063f0]
mov edx, r12d
movdqu xmmword [rsp + 0x20], xmm0
movsxd rcx, edx
lea eax, [rdx + 0x2c]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xf
jb 0x180031a21
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2f], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
movdqa xmm0, xmmword [0x180006950]
lea rcx, [rsp + 0x30]
movdqu xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], 0x5a525975
mov byte [rsp + 0x44], al
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
movd xmm0, ebx
paddd xmm1, xmm2
andps xmm1, xmm3
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 0x14
jb 0x180031a6d
lea rdx, [rsp + 0x30]
mov byte [rsp + 0x44], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
je 0x180031b0a
mov dword [rsp + 0x20], 0x7b6a687f
mov edx, r12d
mov dword [rsp + 0x24], 0x43575d55
mov dword [rsp + 0x28], 0x5242475b
mov word [rsp + 0x2c], 0x4a
movsxd rcx, edx
lea eax, [rdx + 0x2c]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xd
jb 0x180031add
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2d], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
xor eax, eax
mov dword [rsp + 0x20], 0x705a4444
mov byte [rsp + 0x2c], al
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x24], 0x50535442
mov dword [rsp + 0x28], 0x59595c40
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
movd xmm0, ebx
paddd xmm1, xmm2
andps xmm1, xmm3
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 0xc
jb 0x180031b2d
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2c], r12b
mov rcx, r14
call fcn.180039c28
test rax, rax
je 0x180031c8a
xor eax, eax
mov dword [rsp + 0x20], 0x7c6a687f
mov byte [rsp + 0x2a], al
mov edx, r12d
mov dword [rsp + 0x24], 0x5a565d5f
mov word [rsp + 0x28], 0x4751
movsxd rcx, edx
lea eax, [rdx + 0x2c]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xa
jb 0x180031b9f
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2a], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov dword [rsp + 0x20], 0x6e6a687f
mov edx, r12d
mov dword [rsp + 0x24], 0x46534243
mov word [rsp + 0x28], 0x4158
mov byte [rsp + 0x2a], al
movsxd rcx, edx
lea eax, [rdx + 0x2c]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xa
jb 0x180031bea
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2a], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov dword [rsp + 0x20], 0x424f416a
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x24], 0x415a4555
mov dword [rsp + 0x28], 0x4553425b
mov byte [rsp + 0x2c], al
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
movd xmm0, ebx
paddd xmm1, xmm2
andps xmm1, xmm3
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 0xc
jb 0x180031c38
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2c], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
xor eax, eax
mov dword [rsp + 0x20], 0x4a56444a
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x28], al
mov dword [rsp + 0x24], 0x505d7d54
call fcn.180038cd0
mov rdx, rax
mov rcx, r14
call fcn.180039c28
test rax, rax
je 0x180031e3c
mov dword [rsp + 0x20], 0x4a47457f
mov edx, r12d
mov dword [rsp + 0x24], 0x606d555c
mov dword [rsp + 0x28], 0x5b535c5c
mov word [rsp + 0x2c], 0x5c
movsxd rcx, edx
lea eax, [rdx + 0x2c]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xd
jb 0x180031ce0
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2d], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
movdqa xmm0, xmmword [0x180006980]
lea rcx, [rsp + 0x30]
movdqu xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x40], al
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
movd xmm0, ebx
paddd xmm1, xmm2
andps xmm1, xmm3
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 0x10
jb 0x180031d24
lea rdx, [rsp + 0x30]
mov byte [rsp + 0x40], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov dword [rsp + 0x20], 0x7c716f65
mov edx, r12d
mov dword [rsp + 0x24], 0x5f575858
mov dword [rsp + 0x28], 0x567e6a50
mov word [rsp + 0x2c], 0x5d4a
mov byte [rsp + 0x2e], al
movsxd rcx, edx
lea eax, [rdx + 0x2c]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xe
jb 0x180031d9c
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2e], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov dword [rsp + 0x20], 0x706a6461
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x24], 0x565b5963
mov dword [rsp + 0x28], 0x53535158
mov byte [rsp + 0x2c], al
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
movd xmm0, ebx
paddd xmm1, xmm2
andps xmm1, xmm3
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 0xc
jb 0x180031dea
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2c], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov dword [rsp + 0x20], 0x404d7274
mov edx, r12d
mov dword [rsp + 0x24], 0x4753535d
mov bl, 0x2c
mov word [rsp + 0x28], 0x6b
movsxd rcx, edx
lea eax, [rbx + rdx]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 9
jb 0x180031e58
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x29], r12b
mov rcx, r14
call fcn.180039c28
test rax, rax
je 0x180031f1a
xor eax, eax
mov dword [rsp + 0x20], 0x594f4864
mov byte [rsp + 0x2a], al
mov edx, r12d
mov dword [rsp + 0x24], 0x5c407549
mov word [rsp + 0x28], 0x515d
movsxd rcx, edx
lea eax, [rbx + rdx]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xa
jb 0x180031ea5
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2a], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov dword [rsp + 0x20], 0x404c546f
mov edx, r12d
mov dword [rsp + 0x24], 0x726d5642
mov dword [rsp + 0x28], 0x595859
movsxd rcx, edx
lea eax, [rbx + rdx]
add edx, r13d
xor byte [rsp + rcx + 0x20], al
cmp edx, 0xb
jb 0x180031eed
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x2b], r12b
mov rcx, rdi
call fcn.180039c28
test rax, rax
jne 0x180032075
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
mov r8, qword [rax + 0x2a0]
call r8
test rax, rax
je 0x180032075
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
mov r8, qword [rax + 0x2a0]
call r8
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x30]
mov rcx, rax
call rdx
mov r9, qword [rbp + 0x7f]
mov r8, rdi
mov rdx, rsi
mov rcx, rax
mov rbx, rax
call fcn.180030da0
mov rcx, qword [rbp + 0x67]
mov dword [rcx], eax
test eax, eax
je 0x180032075
mov rcx, qword [rbx]
mov edx, eax
mov r8, qword [rcx + 0x38]
mov rcx, rbx
call r8
mov rcx, qword [rsi]
mov rbx, rax
mov rdx, qword [rcx + 0xb8]
mov rcx, rsi
call rdx
movss xmm11, dword [rbx + 0x14]
mov rdx, rdi
movss xmm13, dword [rbx + 0x10]
movaps xmm2, xmm11
movss xmm12, dword [rbx + 0x18]
movaps xmm0, xmm13
mulss xmm2, dword [rax + 4]
movaps xmm1, xmm12
mov rcx, qword [rbp + 0x6f]
mulss xmm0, dword [rax]
mov r8, qword [rbp + 0x7f]
mulss xmm1, dword [rax + 8]
movss xmm4, dword [rax + 0x14]
addss xmm2, xmm0
movss xmm3, dword [rax + 0x10]
movaps xmm0, xmm11
movss xmm5, dword [rax + 0x18]
movss xmm6, dword [rax + 0x1c]
movss xmm9, dword [rax + 0x24]
movss xmm7, dword [rax + 0x20]
addss xmm2, xmm1
movss xmm8, dword [rax + 0x28]
movaps xmm1, xmm12
movss xmm10, dword [rax + 0x2c]
mulss xmm0, xmm4
addss xmm2, dword [rax + 0xc]
mulss xmm9, xmm11
mulss xmm1, xmm5
movss dword [rcx], xmm2
movaps xmm2, xmm13
mulss xmm2, xmm3
mulss xmm13, xmm7
addss xmm2, xmm0
mulss xmm12, xmm8
addss xmm13, xmm9
addss xmm2, xmm1
addss xmm13, xmm12
addss xmm2, xmm6
addss xmm13, xmm10
movss dword [rcx + 4], xmm2
movss dword [rcx + 8], xmm13
mov rcx, r15
mov r9b, byte [0x18003db44]
call fcn.180030f70
mov rcx, qword [rbp + 0x77]
mov dword [rcx], eax
test eax, eax
je 0x180032075
mov al, r13b
jmp 0x180032077
xor al, al
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret