Function at 0x18000f244
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], r14
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [section..data]
lea r14, [0x180052010]
xor ebx, ebx
mov dword [0x180052010], 0x40
mov r11d, 0x20aa
mov dword [rbp - 4], r11d
mov dword [rbp - 0x20], 0x283c
mov dword [rbp - 0x14], ebx
lea esi, [rbx + 1]
mov dword [rbp - 0x10], 0x1ea5
lea ecx, [rbx + 0xa]
mov dword [0x180052048], ecx
mov dword [rbp - 0xc], ebx
mov dword [rbp - 8], ebx
mov dword [0x180052038], esi
mov dword [0x180052040], esi
mov dword [0x180052044], esi
mov dword [rax + 0x4c], ebx
mov rax, qword [section..data]
mov dword [rbp - 0x1c], ebx
mov dword [rbp - 0x18], 0x2481
mov dword [rax + 0x58], 0x62
mov rax, qword [section..data]
mov dword [0x1800520b0], ecx
mov ecx, dword [rbp - 4]
mov edx, dword [rbp - 0x20]
xor ecx, 0x3fef
mov r9d, dword [rbp - 0x20]
sub edx, 0x7da
mov r10d, dword [rbp - 0x10]
mov r8d, dword [rbp - 0x14]
add r10d, 0x4fb
mov dword [0x180052078], ebx
add r8d, r11d
mov dword [0x180052094], ebx
mov qword [0x1800520a0], 7
mov dword [rax + 0xb4], ebx
mov rax, qword [section..data]
mov dword [rax + 0xb8], ebx
mov rax, qword [section..data]
mov dword [0x1800520e0], ebx
mov dword [rax + 0xe0], ebx
mov rax, qword [section..data]
mov dword [0x1800520fc], 9
mov dword [0x180052100], 0x5b
mov dword [0x180052104], esi
mov dword [0x18005210c], ebx
mov dword [0x180052120], ebx
mov dword [0x180052124], esi
mov dword [0x180052134], ebx
mov dword [rax + 0x12c], esi
mov eax, dword [rbp - 0x1c]
xor eax, 0x18b2
mov dword [0x18005214c], esi
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r8d
mov r8, r14
mov dword [0x180052150], 0x52
mov dword [rsp + 0x20], r10d
call fcn.180002d8c
cmp dword [0x1800520a4], 0x1293f
mov dword [rbp - 0x1c], eax
jbe 0x18000f3cf
imul eax, dword [0x180052068], 0x3cc6c
mov dword [0x180052068], eax
jmp 0x18000f3e1
mov eax, dword [0x18005214c]
xor eax, dword [0x180052068]
add dword [0x1800520c8], eax
mov ecx, dword [0x180052010]
xor ecx, dword [0x180052038]
mov rax, qword [section..data]
add ecx, 0x1324cb
mov dword [rax + 0x4c], ecx
mov rcx, qword [section..data]
mov eax, dword [0x1800520e8]
mov dword [rcx + 0x54], eax
mov ecx, dword [rbp - 0x1c]
mov eax, dword [rbp - 4]
add ecx, 0x244
cmp eax, ecx
jg 0x18000f82d
mov ecx, dword [rbp - 0x10]
mov eax, dword [rbp - 0x20]
cmp eax, ecx
jle 0x18000f6ea
mov rcx, qword [section..data]
mov eax, dword [0x180052014]
sub dword [rcx + 0x54], eax
mov ecx, dword [rbp - 0x18]
mov edx, dword [rbp - 0x14]
add ecx, 0x688
mov r8d, dword [rbp - 0x18]
add edx, 0x2e29
mov r9d, dword [rbp - 0x1c]
add r8d, 0x27
mov eax, dword [0x1800520e8]
add r9d, 0xbc4
mov r10d, dword [rbp - 0x18]
mov dword [0x1800520e4], eax
sub r10d, 0x3d7
mov eax, dword [rbp - 0x1c]
add eax, 0x165
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r10d
call fcn.18000e018
mov ecx, dword [0x1800520a4]
mov dword [rbp - 0x20], eax
mov eax, dword [0x180052034]
add eax, 0x38dc0d6b
add ecx, eax
mov eax, 0x508
mov dword [0x180052034], ecx
mov ecx, dword [rbp - 0x1c]
mov edx, dword [rbp - 4]
sub ecx, 0x7ff
mov r8d, dword [rbp - 0x20]
sub edx, 0x165
mov r9d, dword [rbp - 0x18]
add r8d, 0xd62
mov r10d, dword [rbp - 0x18]
xor r9d, eax
xor r10d, eax
mov eax, dword [rbp - 0x14]
add eax, 0x2062
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x20], r14
call fcn.180002180
mov dword [rbp - 0x10], eax
mov rax, qword [0x180052080]
mov rdx, qword [section..data]
mov ecx, dword [0x180052048]
xor ecx, 0x10445c5
mov r9d, dword [rbx + rax]
add rbx, 4
mov eax, dword [rdx + 0xe0]
imul eax, ecx
mov dword [rdx + 0xe0], eax
movsxd rcx, dword [0x180052050]
imul r9d, dword [0x180052034]
mov rax, qword [0x180052088]
mov edx, r9d
shr edx, 0x10
mov byte [rcx + rax], dl
mov edx, r9d
mov r8d, dword [0x180052050]
mov rax, qword [section..data]
add r8d, esi
mov dword [0x180052050], r8d
shr edx, 8
mov ecx, dword [rax + 0x124]
mov eax, dword [0x1800520b0]
add ecx, esi
imul eax, ecx
movsxd rcx, r8d
mov dword [0x1800520b0], eax
mov rax, qword [0x180052088]
mov byte [rcx + rax], dl
mov ecx, dword [0x180052050]
mov eax, dword [0x1800520f0]
add ecx, esi
add eax, 0xfff9a53a
mov dword [0x180052050], ecx
xor dword [0x18005205c], eax
mov rax, qword [0x180052088]
movsxd rcx, ecx
mov byte [rcx + rax], r9b
mov eax, dword [0x180052040]
add dword [0x180052050], esi
add eax, 0xfff69709
mov rdx, qword [section..data]
mov ecx, dword [rdx + 0xfc]
add ecx, eax
mov eax, dword [0x1800520a4]
add eax, 0xfff8920c
mov dword [0x180052040], ecx
add dword [rdx + 0x94], eax
mov eax, dword [0x180052040]
mov rcx, qword [section..data]
imul eax, dword [rcx + 0x12c]
mov dword [0x180052040], eax
mov eax, dword [0x1800520b0]
sub eax, dword [0x1800520a0]
add eax, 0x9b3c2
add dword [rcx + 0x13c], eax
mov eax, dword [0x180052100]
xor eax, dword [0x1800520a4]
xor eax, 0x76daf
sub dword [0x180052078], eax
cmp rbx, 0xdbb0
jl 0x18000f500
mov rax, qword [section..data]
mov edx, 0x37517
mov ecx, dword [0x180052034]
cmp dword [rax + 0x30], 0x8412
cmovae ecx, edx
mov rdx, r14
mov dword [0x180052034], ecx
xor dword [rbp - 0x20], 0x34e6
mov ecx, dword [rbp - 8]
mov r8d, dword [rbp - 8]
add ecx, 0x207c
mov r9d, dword [rbp - 0xc]
add r8d, 0x2677
mov r10d, dword [rbp - 0xc]
add r9d, 0x2189
mov eax, dword [rbp - 0x10]
xor r10d, 0x283c
xor eax, 0xf88
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.180001474
mov r8, qword [0x1800520b8]
mov rdx, qword [0x180052110]
mov dword [rbp - 8], eax
mov rax, qword [section..data]
mov qword [0x180052070], r8
mov ecx, dword [rax + 0x144]
call r8
mov dword [0x1800520f8], eax
jmp 0x18000f82d
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov eax, dword [rbp - 0x18]
mov edx, dword [rbp - 0x14]
mov rcx, qword [section..data]
sub edx, eax
mov eax, dword [rbp - 0xc]
sub edx, eax
mov r8d, dword [rbp - 0x20]
mov r9d, dword [rbp - 0x1c]
mov rax, qword [section..data]
mov r11d, dword [0x18005207c]
sub r11d, dword [0x180052148]
mov ebx, dword [0x1800520c0]
or r9d, dword [rax + 0x5c]
add ebx, 0x24a8
mov eax, dword [rbp - 0x14]
sub r11d, eax
mov r10d, dword [rbp - 8]
mov rax, qword [section..data]
or r8d, dword [0x1800520a4]
sub r8d, 0x1ea5
imul r10d, dword [rax + 0x114]
xor r10d, dword [0x1800520d8]
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], ebx
call fcn.180003838
mov dword [rbp - 0x1c], eax
mov edx, dword [rbp - 0x18]
mov r9d, dword [rbp - 0xc]
mov r10d, dword [rbp - 0x20]
mov eax, dword [0x180052060]
sub r10d, 0x1ea5
and eax, dword [0x180052094]
mov r8d, dword [0x1800520e0]
add edx, eax
mov eax, dword [rbp - 0x10]
imul r8d, dword [0x18005210c]
and r9d, dword [0x180052134]
and r10d, dword [0x18005210c]
and r9d, 0x1f45
imul ecx, eax, 0x1746
add r8d, 0x283c
sub ecx, 0x2189
mov dword [rsp + 0x28], ecx
mov rcx, r14
mov dword [rsp + 0x20], r10d
call fcn.18000e7b8
mov dword [rbp - 0x10], eax
mov eax, dword [rbp - 8]
sub eax, dword [0x18005204c]
mov ecx, dword [rbp - 0x10]
add ecx, eax
mov eax, dword [rbp - 4]
imul eax, ecx
mov dword [rbp - 4], eax
mov eax, dword [rbp - 0x20]
mov ecx, dword [0x180052098]
sub ecx, eax
mov eax, dword [rbp - 0x18]
or eax, ecx
add dword [rbp - 0xc], eax
mov eax, dword [rbp - 0x18]
imul ecx, eax, 0x2b09
sub dword [rbp - 0x14], ecx
mov ecx, dword [rbp - 0x1c]
mov eax, dword [rbp - 0x14]
or ecx, eax
mov eax, dword [rbp - 0x1c]
imul eax, ecx
xor dword [0x180052104], eax
mov eax, dword [0x1800520f8]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov r14, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret