Function at 0x180038c10
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 - 0xc8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x1801491e0]
xor rax, rsp
mov qword [rbp + 0x50], rax
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
xor r15d, r15d
mov qword [rbp - 0x58], r15
cmp qword [0x180177318], r15
je 0x18003911d
mov ecx, dword [0x180177174]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x180178fd8], ecx
jle 0x180038cd8
lea rcx, [0x180178fd8]
call fcn.180107dd8
cmp dword [0x180178fd8], 0xffffffff
jne 0x180038cd8
mov rax, qword [0x1801734d0]
add rax, qword [0x1801772c8]
mov qword [0x180178d30], rax
mov rax, qword [rax]
mov rdx, qword [rax]
mov qword [0x180178fd0], rdx
lea rcx, [0x180178fd8]
call fcn.180107d78
mov edi, r15d
mov rbx, qword [0x180178fd0]
cmp dword [rbx + 8], r15d
jbe 0x18003911d
mov r14, r15
movabs r13, 0x5f9532f3b5cc2551
movabs r12, 0x22ac59a870e6a669
mov ecx, edi
and ecx, 0x1f
mov eax, edi
test edi, edi
jns 0x180038d14
lea eax, [rdi + 0x1f]
sub ecx, 0x20
sar eax, 5
movsxd rdx, eax
mov rax, qword [rbx + 0x30]
mov r8d, dword [rax + rdx*4]
shr r8d, cl
test r8b, 1
je 0x180039108
mov rax, qword [rbx]
mov rsi, qword [r14 + rax]
test rsi, rsi
je 0x180039108
movsd xmm0, qword [rsi + 0x90]
mov eax, dword [rsi + 0x98]
mov dword [rsp + 0x60], eax
mov rax, qword [0x180177318]
movss xmm7, dword [rsp + 0x60]
movaps xmm2, xmm7
subss xmm2, dword [rax + 0x98]
movaps xmm6, xmm0
shufps xmm6, xmm6, 0x55
movsd qword [rsp + 0x58], xmm0
movaps xmm1, xmm6
subss xmm1, dword [rax + 0x94]
movss xmm8, dword [rsp + 0x58]
movaps xmm3, xmm8
subss xmm3, dword [rax + 0x90]
mulss xmm3, xmm3
mulss xmm1, xmm1
addss xmm3, xmm1
mulss xmm2, xmm2
addss xmm3, xmm2
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x180038db9
xorps xmm0, xmm0
sqrtss xmm0, xmm3
jmp 0x180038dc1
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm9, xmm9
cvtss2sd xmm9, xmm0
movss xmm0, dword [0x1801738f0]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm9
jb 0x180039108
movss dword [rbp - 0x78], xmm7
movaps xmm0, xmm8
unpcklps xmm0, xmm6
movsd qword [rsp + 0x70], xmm0
mov eax, dword [rbp - 0x78]
mov dword [rsp + 0x78], eax
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x50]
call fcn.180016a80
mov rax, qword [0x180177230]
mov rcx, rsi
call rax
mov rbx, rax
xor sil, sil
mov edx, eax
movabs rcx, 0x1bf60a500e28887
call fcn.180040c60
movzx esi, sil
test eax, eax
mov eax, 1
cmovne esi, eax
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x30], 0
mov edx, ebx
movabs rcx, 0x9f47b058362c84b5
call fcn.180040c60
mov edx, eax
movabs rcx, 0xb215aac32d25d019
call fcn.180041050
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180038e76
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.18003ff30
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x50], 0
xor r8d, r8d
lea rdx, [0x180124033]
lea rcx, [rbp - 0x50]
call fcn.18003ff30
nop
xor r8d, r8d
mov edx, ebx
mov rcx, r13
call fcn.1800409e0
test eax, eax
je 0x180038f25
mov dword [rsp + 0x30], 0x41475676
mov dword [rsp + 0x34], 0x5c415844
mov word [rsp + 0x38], 0x5e
mov byte [rsp + 0x3a], 1
mov rcx, r15
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx + 0x32]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 9
jb 0x180038ef0
mov byte [rsp + 0x3a], 0
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180038f11
lea rdx, [rsp + 0x30]
jmp 0x180038fe0
xor r9d, r9d
lea r8d, [r9 - 1]
mov edx, ebx
mov rcx, r12
call fcn.1800417b0
mov rcx, r15
test eax, eax
je 0x180038f92
mov dword [rsp + 0x40], 0x71145c7c
mov dword [rsp + 0x44], 0x5c4e5e44
mov word [rsp + 0x48], 0x48
mov byte [rsp + 0x4a], 1
nop dword [rax]
lea eax, [rcx + 0x32]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 9
jb 0x180038f60
mov byte [rsp + 0x4a], 0
lea rax, [rsp + 0x40]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180038f81
lea rdx, [rsp + 0x40]
jmp 0x180038fe0
mov dword [rsp + 0x20], 0x4057467d
mov dword [rsp + 0x24], 0x5c5246
mov byte [rsp + 0x28], 1
nop word [rax + rax]
lea eax, [rcx + 0x32]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 7
jb 0x180038fb0
mov byte [rsp + 0x28], 0
lea rax, [rsp + 0x20]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180038fd1
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x50]
call fcn.18003ff30
mov qword [rbp - 0x10], r15
mov qword [rbp], r15
mov qword [rbp + 8], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x10], 0
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x10], 0
xor eax, eax
mov qword [rbp + 0x30], rax
mov dword [rbp + 0x34], ebx
movss xmm0, dword [rsp + 0x50]
movss dword [rbp + 0x38], xmm0
movss xmm1, dword [rsp + 0x54]
movss dword [rbp + 0x3c], xmm1
mov byte [rbp + 0x30], sil
movsd qword [rbp + 0x40], xmm9
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp - 0x10]
call fcn.18003ff30
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
lea rcx, [rbp + 0x10]
call fcn.18003ff30
mov rbx, qword [rbp - 0x60]
cmp rbx, qword [rbp - 0x58]
je 0x1800390ca
mov qword [rbp - 0x70], rbx
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.18003eeb0
nop
lea rcx, [rbx + 0x20]
lea rdx, [rbp + 0x10]
call fcn.18003eeb0
movzx eax, byte [rbp + 0x30]
mov byte [rbx + 0x40], al
mov eax, dword [rbp + 0x34]
mov dword [rbx + 0x44], eax
movss xmm0, dword [rbp + 0x38]
movss dword [rbx + 0x48], xmm0
movss xmm1, dword [rbp + 0x3c]
movss dword [rbx + 0x4c], xmm1
movsd xmm0, qword [rbp + 0x40]
movsd qword [rbx + 0x50], xmm0
add qword [rbp - 0x60], 0x58
jmp 0x1800390db
lea r8, [rbp - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.180044670
nop
lea rcx, [rbp + 0x10]
call fcn.18003fed0
lea rcx, [rbp - 0x10]
call fcn.18003fed0
nop
lea rcx, [rbp - 0x50]
call fcn.18003fed0
nop
lea rcx, [rbp - 0x30]
call fcn.18003fed0
mov rbx, qword [0x180178fd0]
inc edi
add r14, 8
mov ecx, dword [rbx + 8]
movsxd rax, edi
cmp rax, rcx
jb 0x180038d03
mov rdi, qword [0x1801773e0]
mov rbx, qword [0x1801773d8]
cmp rbx, rdi
je 0x180039151
lea rcx, [rbx + 0x20]
call fcn.18003fed0
mov rcx, rbx
call fcn.18003fed0
add rbx, 0x58
cmp rbx, rdi
jne 0x180039130
mov rbx, qword [0x1801773d8]
mov qword [0x1801773e0], rbx
mov r8, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
call fcn.18004b130
nop
lea rcx, [rbp - 0x68]
call fcn.18003ea10
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.180107c30
lea r11, [rsp + 0x1a0]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret