Function at 0x180004598
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r14, qword [rsp + 0x88]
lea eax, [rcx + 0xe9f]
lea ebp, [rdx + 0x50b]
mov dword [rsp + 0x60], eax
lea esi, [rcx + 0x50b]
mov ebx, ecx
lea r8d, [rdx + 0x8ac]
mov ecx, ebp
xor dword [r14 + 0x68], 0x2b4f33
mov edx, ebp
mov edi, r9d
xor esi, 0x7f2e
lea r9d, [rbp + 0x36a]
xor r8d, 0x7d83
xor edx, 0x7860
xor ecx, 0x656
lea eax, [rsi - 0xc6]
mov dword [rsp + 0x28], eax
lea rax, [0x18017e010]
mov qword [r11 - 0x38], rax
call sym.rjtm209qe25.dll_ABqr1221
mov r15d, eax
lea r10d, [rbx + 0xbf4]
mov eax, dword [r14 + 0x138]
lea r12d, [rbx + 0x875]
xor eax, 0xc4b
lea r13d, [rdi + 0xf4]
sub dword [0x18017e0a8], eax
xor r10d, 0x7c81
add ebp, 0x878
lea rax, [0x180180d40]
add r15d, 0x464
xor r12d, 0x7bec
mov r11d, edi
xor r11d, 0x7e88
cmp dword [r14 + 0x54], 0x11dbe
cmove rax, qword [0x18017e0d8]
sub esi, 0x1fd
xor ebx, ebx
mov qword [0x18017e0d8], rax
mov eax, dword [r14 + 0x54]
mov rcx, qword [section..data]
or dword [rcx + 0x58], eax
mov eax, dword [r14]
mov ecx, dword [r14 + 0x50]
add eax, 0xffca9a29
mov rdx, qword [section..data]
add ecx, eax
xor dword [rdx + 0xd8], ecx
mov rax, qword [r14 + 0xc8]
mov rcx, qword [section..data]
mov r9d, dword [rbx + rax]
add rbx, 4
mov eax, dword [r14 + 0x14]
sub eax, dword [0x18017e07c]
add eax, 0xc8b2d
add dword [rcx + 0x54], eax
mov rax, qword [r14 + 0xd0]
imul r9d, dword [0x18017e0a8]
movsxd rcx, dword [0x18017e0ac]
mov edx, r9d
shr edx, 0x18
mov byte [rcx + rax], dl
inc dword [0x18017e0ac]
mov r8, qword [section..data]
mov edx, dword [0x18017e04c]
mov ecx, edx
add edx, dword [0x18017e0a4]
mov eax, dword [0x18017e050]
sub ecx, dword [r8 + 0xc0]
mov dword [0x18017e04c], edx
sub ecx, 0xab834
imul eax, ecx
mov edx, r9d
shr edx, 0x10
mov dword [0x18017e050], eax
movsxd rcx, dword [r8 + 0x9c]
mov rax, qword [r8 + 0xd0]
mov r8d, r9d
shr r8d, 8
mov byte [rcx + rax], dl
mov rax, qword [section..data]
inc dword [rax + 0x9c]
mov rax, qword [section..data]
mov ecx, dword [rax + 0xac]
mov eax, dword [0x18017e044]
add eax, 0xc4807
add ecx, eax
mov eax, dword [r14 + 0x28]
add dword [r14], ecx
xor eax, 0x17e719
add dword [r14 + 0xc0], eax
mov rax, qword [section..data]
movsxd rdx, dword [r14 + 0x9c]
mov rcx, qword [rax + 0xd0]
mov byte [rdx + rcx], r8b
inc dword [r14 + 0x9c]
mov eax, dword [r14 + 0x50]
add dword [0x18017e060], eax
mov eax, dword [0x18017e12c]
xor eax, 0x183fce
sub dword [0x18017e148], eax
mov rax, qword [section..data]
movsxd rcx, dword [rax + 0x9c]
mov rax, qword [rax + 0xd0]
mov byte [rcx + rax], r9b
mov rax, qword [section..data]
inc dword [rax + 0x9c]
cmp rbx, 0x5700
jl 0x180004699
lea edi, [r10 + 0x201]
mov eax, r15d
lea ebx, [r11 - 0xae]
xor edi, 0x7993
xor ebx, 0x7231
xor eax, 0x7ad4
xor esi, 0x1b3
cmp ebp, eax
jle 0x1800049b0
lea eax, [rbp - 0x8a]
cmp ebx, eax
jge 0x180004893
mov rcx, qword [section..data]
mov eax, dword [0x18017e148]
cmp dword [rcx + 0x58], eax
je 0x180004874
mov eax, dword [0x18017e04c]
sub eax, dword [r14 + 0xf0]
add eax, 0x1fd964
xor dword [rcx + 0x28], eax
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x6c]
sub esi, 0x5c0
xor eax, dword [0x18017e058]
add eax, 0xd5308
mov dword [rcx + 0x98], eax
jmp 0x1800049b0
mov r8, qword [section..data]
mov eax, dword [r8 + 0x1c]
sub eax, r15d
xor eax, dword [r8 + 0x84]
cmp edi, eax
jbe 0x1800049b0
mov ecx, dword [0x18017e01c]
add ecx, ebx
movsxd rdx, r15d
sub edi, ecx
xor rdx, 0x40a0
mov ecx, dword [r8 + 0xdc]
xor ecx, r15d
add ecx, 0x43ad
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
mov eax, dword [r14 + 0x94]
and ebp, 0x3d63
and eax, dword [rsp + 0x60]
mov ecx, dword [0x18017e05c]
xor eax, r12d
mov r9d, dword [r14 + 0xe0]
or r15d, eax
mov rax, qword [section..data]
and ecx, ebx
sub ecx, dword [r14 + 0x140]
and r9d, r15d
and r9d, r12d
mov edx, dword [rax + 0x1c]
or ebp, dword [rax + 0x44]
mov eax, r13d
sub eax, dword [0x18017e038]
mov r8d, ebp
imul eax, dword [0x18017e080]
add edx, dword [r14 + 0xc0]
or edx, esi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r14
call fcn.18000317c
mov edx, dword [r14 + 0x50]
mov ecx, edi
sub ecx, dword [r14 + 0x14]
mov ebx, eax
xor rcx, 0x43ad
or rdx, rbx
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov rdx, qword [section..data]
mov ecx, dword [rdx + 0x11c]
mov eax, dword [rdx + 0x54]
xor ecx, r13d
imul eax, ecx
mov dword [rdx + 0x54], eax
mov eax, dword [r14 + 0x1c]
sub eax, dword [rsp + 0x60]
or eax, ebx
xor dword [r14 + 0x6c], eax
mov ecx, dword [0x18017e05c]
mov eax, dword [r14 + 0xac]
or rcx, 0x421e
xor rcx, rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [rsi + r13]
or esi, eax
lea ecx, [r15 + rdi]
xor esi, ecx
mov rbx, qword [rsp + 0x68]
xor esi, 0x7db7
mov rbp, qword [rsp + 0x70]
mov eax, esi
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret