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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rbx, rcx
mov edx, dword [0x180335888]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rdi, qword [rax + rdx*8]
add rdi, rcx
xor esi, esi
mov eax, dword [rdi]
cmp dword [0x180336ea0], eax
jle 0x180031547
lea rcx, [0x180336ea0]
call fcn.1801a9d00
cmp dword [0x180336ea0], 0xffffffff
jne 0x180031547
movdqa xmm0, xmmword [0x180271cc0]
movdqu xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x20], 0x3a36223d
mov dword [rbp - 0x1c], 0x22373a22
mov word [rbp - 0x18], 0x3046
xor eax, eax
mov byte [rbp - 0x16], al
mov edx, esi
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbp - 0x30]
xor byte [rbp + rdx - 0x2f], al
inc rdx
cmp rdx, 0x19
jb 0x180031500
mov byte [rbp - 0x16], 0
mov dword [rsp + 0x20], esi
mov r9, qword [0x1803367d0]
mov r8, qword [0x1803367c8]
lea rdx, [rbp - 0x2f]
call fcn.180068750
add rax, 2
mov qword [0x180336ee0], rax
lea rcx, [0x180336ea0]
call fcn.1801a9ca0
mov rax, qword [0x180336ee0]
test rax, rax
je 0x180031557
mov ecx, dword [rax]
jmp 0x180031559
mov ecx, esi
mov dword [rbx], ecx
mov eax, dword [rdi]
cmp dword [0x180336e9c], eax
jle 0x180031600
lea rcx, [0x180336e9c]
call fcn.1801a9d00
cmp dword [0x180336e9c], 0xffffffff
jne 0x180031600
movdqa xmm0, xmmword [0x180272990]
movdqu xmmword [rbp - 0x30], xmm0
movdqa xmm1, xmmword [0x1802728e0]
movdqu xmmword [rbp - 0x20], xmm1
mov dword [rbp - 0x10], 0x467057f
mov word [rbp - 0xc], 2
mov rdx, rsi
nop dword [rax]
movzx eax, byte [rbp - 0x30]
xor byte [rbp + rdx - 0x2f], al
movzx eax, byte [rbp - 0x30]
xor byte [rbp + rdx - 0x2e], al
add rdx, 2
cmp rdx, 0x24
jb 0x1800315b0
mov byte [rbp - 0xb], 0
mov dword [rsp + 0x20], esi
mov r9, qword [0x1803367d0]
mov r8, qword [0x1803367c8]
lea rdx, [rbp - 0x2f]
call fcn.180068750
add rax, 2
mov qword [0x180336f08], rax
lea rcx, [0x180336e9c]
call fcn.1801a9ca0
mov rax, qword [0x180336f08]
test rax, rax
je 0x180031610
mov ecx, dword [rax]
jmp 0x180031612
mov ecx, esi
mov dword [rbx + 4], ecx
call fcn.180031380
test rax, rax
je 0x180031623
mov eax, dword [rax]
jmp 0x180031625
mov eax, esi
mov dword [rbx + 8], eax
mov eax, dword [rdi]
cmp dword [0x180336ed0], eax
jle 0x1800316d7
lea rcx, [0x180336ed0]
call fcn.1801a9d00
cmp dword [0x180336ed0], 0xffffffff
jne 0x1800316d7
movdqa xmm0, xmmword [0x180271b10]
movdqu xmmword [rbp - 0x30], xmm0
movdqa xmm1, xmmword [0x1802729a0]
movdqu xmmword [rbp - 0x20], xmm1
mov dword [rbp - 0x10], 0x17077317
mov dword [rbp - 0xc], 0xf170f03
mov dword [rbp - 8], 0x7741702
xor eax, eax
mov byte [rbp - 4], al
mov rdx, rsi
nop word [rax + rax]
movzx eax, byte [rbp - 0x30]
xor byte [rbp + rdx - 0x2f], al
inc rdx
cmp rdx, 0x2b
jb 0x180031690
mov byte [rbp - 4], 0
mov dword [rsp + 0x20], esi
mov r9, qword [0x1803367d0]
mov r8, qword [0x1803367c8]
lea rdx, [rbp - 0x2f]
call fcn.180068750
add rax, 6
mov qword [0x180336ef8], rax
lea rcx, [0x180336ed0]
call fcn.1801a9ca0
mov rax, qword [0x180336ef8]
test rax, rax
je 0x1800316e7
mov ecx, dword [rax]
jmp 0x1800316e9
mov ecx, esi
mov dword [rbx + 0xc], ecx
mov eax, dword [rdi]
cmp dword [0x180336ec8], eax
jle 0x180031780
lea rcx, [0x180336ec8]
call fcn.1801a9d00
cmp dword [0x180336ec8], 0xffffffff
jne 0x180031780
movdqa xmm0, xmmword [0x180272800]
movdqu xmmword [rbp - 0x30], xmm0
movdqa xmm1, xmmword [str.mumfu]
movdqu xmmword [rbp - 0x20], xmm1
mov rdx, rsi
nop dword [rax]
movzx eax, byte [rbp - 0x30]
xor byte [rbp + rdx - 0x2f], al
movzx eax, byte [rbp - 0x30]
xor byte [rbp + rdx - 0x2e], al
add rdx, 2
cmp rdx, 0x1e
jb 0x180031730
mov byte [rbp - 0x11], 0
mov dword [rsp + 0x20], esi
mov r9, qword [0x1803367d0]
mov r8, qword [0x1803367c8]
lea rdx, [rbp - 0x2f]
call fcn.180068750
add rax, 2
mov qword [0x180336ee8], rax
lea rcx, [0x180336ec8]
call fcn.1801a9ca0
mov rax, qword [0x180336ee8]
test rax, rax
je 0x180031793
mov eax, dword [rax]
mov dword [rbx + 0x10], eax
jmp 0x180031796
mov dword [rbx + 0x10], esi
mov rax, rbx
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
add rsp, 0x60
pop rbp
ret