Function at 0x180006750
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x10], edx
push rbp
push rdi
push r12
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0xa8
mov rax, qword [0x18000a4e0]
mov r12, r8
mov edi, ecx
test rax, rax
je 0x18000679d
mov rax, qword [rax + 0x48]
test rax, rax
jne 0x1800067af
lea edx, [rax + 1]
xor ecx, ecx
mov r8d, 0x697a6afe
call fcn.180004030
mov rcx, qword [0x18000a4e0]
mov qword [rcx + 0x48], rax
jmp 0x1800067af
mov edx, 1
xor ecx, ecx
mov r8d, 0x697a6afe
call fcn.180004030
xor ecx, ecx
mov edx, 0x2000
mov r8d, 0x3000
lea r9d, [rcx + 4]
call rax
mov r15, rax
test rax, rax
jne 0x1800067d8
add rsp, 0xa8
pop r15
pop r12
pop rdi
pop rbp
ret
mov byte [rbp + 7], 0
mov dword [rbp + 0xb], 0x3137d08d
mov dword [rbp + 0xf], 0x3133d0a1
mov dword [rbp + 0x13], 0x313dd0a7
mov dword [rbp + 0x17], 0x3178d0f4
mov dword [rbp + 0x1b], 0x3107d091
mov dword [rbp + 0x1f], 0x3139d0a9
mov dword [rbp + 0x23], 0x312bd0aa
mov qword [rsp + 0xd0], rbx
xor ebx, ebx
mov dword [rbp + 0x27], 0x3158d0f3
mov eax, dword [rbp + 0xb]
movzx eax, byte [rbp + 7]
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xa0], r14
test al, al
jne 0x180006856
mov ecx, ebx
nop dword [rax + rax]
mov eax, dword [rbp + rcx*4 + 0xb]
xor eax, 0x3158d0ce
mov dword [rbp + rcx*4 + 0xb], eax
inc rcx
cmp rcx, 8
jb 0x180006840
mov byte [rbp - 0x39], bl
mov dword [rbp - 0x35], 0x6f912966
mov dword [rbp - 0x31], 0x6f972966
mov dword [rbp - 0x2d], 0x6fe22943
mov eax, dword [rbp - 0x35]
movzx eax, byte [rbp - 0x39]
test al, al
jne 0x180006896
mov rcx, rbx
nop dword [rax]
mov eax, dword [rbp + rcx*4 - 0x35]
xor eax, 0x6fe22943
mov dword [rbp + rcx*4 - 0x35], eax
inc rcx
cmp rcx, 3
jb 0x180006880
mov r9d, edi
lea r8, [rbp + 0xb]
lea rdx, [rbp - 0x35]
mov rcx, r15
call qword [sym.imp.USER32.dll_wsprintfW]
mov byte [rbp + 0x7f], bl
movsxd r14, eax
mov dword [rbp + 0x83], 0x3df48459
mov eax, dword [rbp + 0x83]
movzx eax, byte [rbp + 0x7f]
test al, al
jne 0x1800068d9
mov eax, dword [rbp + 0x83]
xor eax, 0x3df48463
mov dword [rbp + 0x83], eax
mov byte [rbp - 0x29], bl
mov dword [rbp - 0x25], 0x6f912966
mov dword [rbp - 0x21], 0x6f972966
mov dword [rbp - 0x1d], 0x6fe22943
mov eax, dword [rbp - 0x25]
movzx eax, byte [rbp - 0x29]
test al, al
jne 0x180006916
mov rcx, rbx
nop
mov eax, dword [rbp + rcx*4 - 0x25]
xor eax, 0x6fe22943
mov dword [rbp + rcx*4 - 0x25], eax
inc rcx
cmp rcx, 3
jb 0x180006900
lea rcx, [r15 + r14*2]
mov r9d, 1
lea r8, [rbp + 0x83]
lea rdx, [rbp - 0x25]
call qword [sym.imp.USER32.dll_wsprintfW]
movsxd rcx, eax
mov rax, qword [0x18000a4e0]
add r14, rcx
test rax, rax
je 0x18000696f
mov rax, qword [rax + 0x10e0]
test rax, rax
jne 0x180006981
lea edx, [rax + 1]
xor ecx, ecx
mov r8d, 0x8054817d
call fcn.180004030
mov rcx, qword [0x18000a4e0]
mov qword [rcx + 0x10e0], rax
jmp 0x180006981
mov edx, 1
xor ecx, ecx
mov r8d, 0x8054817d
call fcn.180004030
call rax
mov r8, rax
mov byte [rbp - 0x49], bl
mov dword [rbp - 0x45], 0x1f7fac
movabs rax, 0x624dd2f1a9fbe77
mul r8
mov eax, dword [rbp - 0x45]
movzx eax, byte [rbp - 0x49]
sub r8, rdx
shr r8, 1
add r8, rdx
shr r8, 9
test al, al
jne 0x1800069c0
mov eax, dword [rbp - 0x45]
xor eax, 0x1f7f96
mov dword [rbp - 0x45], eax
mov byte [rbp - 0x19], bl
mov dword [rbp - 0x15], 0x6f912966
mov dword [rbp - 0x11], 0x6f972966
mov dword [rbp - 0xd], 0x6fe22943
mov eax, dword [rbp - 0x15]
movzx eax, byte [rbp - 0x19]
test al, al
jne 0x180006a06
mov rcx, rbx
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x15]
xor eax, 0x6fe22943
mov dword [rbp + rcx*4 - 0x15], eax
inc rcx
cmp rcx, 3
jb 0x1800069f0
mov r9d, r8d
lea rcx, [r15 + r14*2]
lea r8, [rbp - 0x45]
lea rdx, [rbp - 0x15]
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdi, rbx
mov dword [rbp + 0x6f], ebx
movsxd rcx, eax
add r14, rcx
nop word [rax + rax]
mov rax, qword [0x18000a4e0]
test rax, rax
je 0x180006a68
mov rax, qword [rax + 0xd88]
test rax, rax
jne 0x180006a7a
lea edx, [rax + 5]
xor ecx, ecx
mov r8d, 0xbc44a131
call fcn.180004030
mov rcx, qword [0x18000a4e0]
mov qword [rcx + 0xd88], rax
jmp 0x180006a7a
mov edx, 5
xor ecx, ecx
mov r8d, 0xbc44a131
call fcn.180004030
mov r8d, dword [rbp + 0x6f]
lea r9, [rbp + 0x6f]
mov rdx, rdi
mov ecx, 5
call rax
cmp eax, 0xc0000004
jne 0x180006aab
mov edx, dword [rbp + 0x6f]
mov rcx, rdi
call fcn.180004de0
mov rdi, rax
test rax, rax
jne 0x180006a30
jmp 0x180006b91
test eax, eax
jne 0x180006b3b
test rdi, rdi
je 0x180006b91
lea esi, [rax + 1]
mov rcx, rdi
mov eax, dword [rdi]
test eax, eax
je 0x180006adb
nop dword [rax + rax]
add rcx, rax
inc esi
mov eax, dword [rcx]
test eax, eax
jne 0x180006ad0
mov rax, qword [0x18000a4e0]
test rax, rax
je 0x180006b1a
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x180006b2c
lea edx, [rax + 1]
xor ecx, ecx
mov r8d, 0x3a35705f
call fcn.180004030
mov rcx, qword [0x18000a4e0]
xor edx, edx
mov r8d, 0x8000
mov qword [rcx + 0x58], rax
mov rcx, rdi
call rax
jmp 0x180006b93
mov edx, 1
xor ecx, ecx
mov r8d, 0x3a35705f
call fcn.180004030
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call rax
jmp 0x180006b93
test rdi, rdi
je 0x180006b91
mov rax, qword [0x18000a4e0]
test rax, rax
je 0x180006b72
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x180006b84
lea edx, [rax + 1]
xor ecx, ecx
mov r8d, 0x3a35705f
call fcn.180004030
mov rcx, qword [0x18000a4e0]
mov qword [rcx + 0x58], rax
jmp 0x180006b84
mov edx, 1
xor ecx, ecx
mov r8d, 0x3a35705f
call fcn.180004030
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call rax
mov esi, ebx
mov byte [rbp - 0x41], bl
mov dword [rbp - 0x3d], 0x13f150e0
mov eax, dword [rbp - 0x3d]
movzx eax, byte [rbp - 0x41]
test al, al
jne 0x180006bb3
mov eax, dword [rbp - 0x3d]
xor eax, 0x13f150da
mov dword [rbp - 0x3d], eax
mov byte [rbp - 9], bl
mov dword [rbp - 5], 0x6f912966
mov dword [rbp - 1], 0x6f972966
mov dword [rbp + 3], 0x6fe22943
mov eax, dword [rbp - 5]
movzx eax, byte [rbp - 9]
test al, al
jne 0x180006bf6
nop word [rax + rax]
mov eax, dword [rbp + rbx*4 - 5]
xor eax, 0x6fe22943
mov dword [rbp + rbx*4 - 5], eax
inc rbx
cmp rbx, 3
jb 0x180006be0
lea rcx, [r15 + r14*2]
mov r9d, esi
lea r8, [rbp - 0x3d]
lea rdx, [rbp - 5]
call qword [sym.imp.USER32.dll_wsprintfW]
movsxd rcx, eax
add r14, rcx
lea rcx, [r15 + r14*2]
call fcn.180005760
add r14, rax
lea rcx, [r15 + r14*2]
call fcn.180005cf0
add r14, rax
mov rdx, r12
lea rcx, [r15 + r14*2]
call fcn.180006030
add r14, rax
lea rcx, [r15 + r14*2]
call fcn.1800063f0
mov r14, qword [rsp + 0xa0]
mov rax, r15
mov rsi, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xd0]
add rsp, 0xa8
pop r15
pop r12
pop rdi
pop rbp
ret