Function at 0x180016ed0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
xor eax, eax
mov qword [rcx + 8], rcx
mov r8d, 0xe6371b26
mov qword [rcx], rax
mov r15, rcx
mov r12d, eax
lea edx, [rax + 0xf]
lea r9d, [rax + 0x6b]
call fcn.180004350
xor edx, edx
xor ecx, ecx
call rax
mov edi, eax
test eax, eax
je 0x18001724e
lea rbx, [rdi*2 + 2]
mov rcx, rbx
call fcn.180023428
mov r8, rbx
mov qword [rbp + 0x40], rax
xor edx, edx
mov rcx, rax
mov r14, rax
call fcn.1800207a0
test r14, r14
je 0x18001724e
mov edx, 0xf
mov qword [rsp + 0xa0], rsi
mov r8d, 0xe6371b26
mov qword [rsp + 0x50], r13
lea r9d, [rdx + 0x5c]
call fcn.180004350
mov rdx, r14
mov ecx, edi
call rax
mov edx, 0xf
mov r8d, 0xe27a325f
mov rsi, r14
lea r9d, [rdx + 0x5d]
call fcn.180004350
mov rcx, r14
call rax
xor ebx, ebx
mov r13d, eax
test eax, eax
je 0x18001705a
mov ecx, 0x30
call fcn.18001f65c
xorps xmm0, xmm0
mov rdi, rax
mov rdx, 0xffffffffffffffff
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
nop dword [rax]
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x180016fc0
cmp rdx, 7
ja 0x180016ffe
cmp qword [rax + 0x18], 8
mov r14, rdi
jb 0x180016fdd
mov r14, qword [rax]
lea rbx, [rdx + rdx]
mov qword [rax + 0x10], rdx
mov r8, rbx
mov rdx, rsi
mov rcx, r14
call fcn.180021710
xor eax, eax
mov word [r14 + rbx], ax
xor ebx, ebx
jmp 0x180017009
mov r9, rsi
mov rcx, rdi
call fcn.180017270
mov qword [rdi + 0x20], rbx
lea rcx, [rdi + 0x20]
mov rax, qword [r15 + 8]
mov edx, 0xf
mov qword [rdi + 0x28], rax
mov r8d, 0xe27a325f
mov rax, qword [r15 + 8]
inc r12d
lea r9d, [rdx + 0x5d]
mov qword [rax], rdi
lea eax, [r13 + 1]
mov qword [r15 + 8], rcx
movsxd rcx, eax
lea rsi, [rsi + rcx*2]
call fcn.180004350
mov rcx, rsi
call rax
mov r13d, eax
test eax, eax
jne 0x180016f90
mov r14, qword [rbp + 0x40]
mov byte [rbp - 0x38], 0
mov byte [rbp - 0x37], 0x1c
mov byte [rbp - 0x36], 0x39
mov byte [rbp - 0x35], 0x3c
mov byte [rbp - 0x34], 0x39
mov byte [rbp - 0x33], 0x2b
mov byte [rbp - 0x32], 0x39
mov r13, qword [rsp + 0x50]
mov rsi, qword [rsp + 0xa0]
mov byte [rbp - 0x31], 0x54
mov byte [rbp - 0x30], 0x39
mov byte [rbp - 0x2f], 0x46
mov byte [rbp - 0x2e], 0x39
mov byte [rbp - 0x2d], 0x33
mov byte [rbp - 0x2c], 0x39
mov byte [rbp - 0x2b], 0x3a
mov byte [rbp - 0x2a], 0x39
mov byte [rbp - 0x29], 0x46
mov byte [rbp - 0x28], 0x39
mov byte [rbp - 0x27], 0x33
mov byte [rbp - 0x26], 0x39
mov byte [rbp - 0x25], 0x46
mov byte [rbp - 0x24], 0x39
mov byte [rbp - 0x23], 0x73
mov byte [rbp - 0x22], 0x39
mov byte [rbp - 0x21], 0x4d
mov byte [rbp - 0x20], 0x39
mov byte [rbp - 0x1f], 0x13
mov byte [rbp - 0x1e], 0x39
mov byte [rbp - 0x1d], 0x2e
mov byte [rbp - 0x1c], 0x39
mov byte [rbp - 0x1b], 0x5b
mov byte [rbp - 0x1a], 0x39
mov byte [rbp - 0x19], 0x3e
mov byte [rbp - 0x18], 0x39
mov byte [rbp - 0x17], 0x33
mov byte [rbp - 0x16], 0x39
mov byte [rbp - 0x15], 0x39
mov byte [rbp - 0x14], 0x39
movzx eax, byte [rbp - 0x37]
movzx eax, byte [rbp - 0x38]
test al, al
jne 0x180017165
mov r9, rbx
nop word [rax + rax]
movzx ecx, byte [rbp + r9 - 0x37]
mov eax, 0x81020409
sub ecx, 0x39
imul r8d, ecx, 0x25
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov eax, 0x81020409
add r8d, 0x7f
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov byte [rbp + r9 - 0x37], r8b
inc r9
cmp r9, 0x24
jb 0x180017110
mov edx, r12d
lea rcx, [rbp - 0x37]
call fcn.18001a350
mov rbx, qword [r15]
test rbx, rbx
je 0x180017235
xor r14d, r14d
cmp qword [rbx + 0x18], 8
mov r10, rbx
jb 0x18001718d
mov r10, qword [rbx]
mov byte [rbp + 0x38], r14b
mov byte [rbp + 0x39], 0x71
mov byte [rbp + 0x3a], 0x7a
mov byte [rbp + 0x3b], 0x46
mov byte [rbp + 0x3c], 0x7a
mov byte [rbp + 0x3d], 0x7a
mov byte [rbp + 0x3e], 0x7a
movzx eax, byte [rbp + 0x39]
movzx eax, byte [rbp + 0x38]
test al, al
jne 0x180017218
mov r9, r14
nop dword [rax + rax]
movzx ecx, byte [rbp + r9 + 0x39]
mov eax, 0x81020409
sub ecx, 0x7a
lea r8d, [rcx + rcx*4]
add r8d, r8d
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov eax, 0x81020409
add r8d, 0x7f
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov byte [rbp + r9 + 0x39], r8b
inc r9
cmp r9, 6
jb 0x1800171c0
mov rdx, r10
lea rcx, [rbp + 0x39]
call fcn.18001a350
mov rbx, qword [rbx + 0x20]
test rbx, rbx
jne 0x180017180
mov r14, qword [rbp + 0x40]
mov rcx, r14
call fcn.180023430
mov eax, r12d
add rsp, 0x58
pop r15
pop r14
pop r12
pop rdi
pop rbx
pop rbp
ret
xor eax, eax
add rsp, 0x58
pop r15
pop r14
pop r12
pop rdi
pop rbx
pop rbp
ret