Function at 0x140001460
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov ebx, dword [rsp + 0xa0]
lea r11d, [rdx - 0x1caf]
mov rsi, qword [rsp + 0x90]
lea r8d, [r9 - 0xab2]
add ecx, 0xffffdf6a
mov qword [rsp + 0x80], rbp
mov ebp, dword [rsp + 0x98]
xor ebx, 0x2e87
mov edi, ebp
mov dword [rsp + 0x70], ecx
xor edi, 0x3287
mov dword [rsp + 0x78], r8d
lea edx, [rbp - 0x1a1]
lea eax, [rdx + 0x1028]
mov dword [rsp + 0xa0], edx
cmp r11d, eax
jge 0x14000151c
mov rax, qword [section..data]
add edx, 0x82c
add r11d, 0x2637
sub edi, 0x902
xor r11d, 0xcf9
mov ecx, dword [rax + 0x118]
mov eax, edx
xor ecx, dword [rsi + 0xc]
xor eax, 0x765
sub ecx, 0x14ff6c
mov dword [0x140105018], ecx
cmp ebx, eax
je 0x14000168e
sub edi, 0xce9
mov r8d, r9d
jmp 0x14000168e
mov eax, dword [0x1401050b8]
imul eax, ebp
or eax, dword [rsi + 0x60]
cmp ecx, eax
jae 0x14000168e
mov edx, dword [rsi + 0xf0]
mov rcx, qword [section..data]
mov dword [rsp + 0x88], edx
mov eax, dword [rcx + 0x40]
xor eax, dword [0x140105118]
or eax, ebx
cmp edx, eax
ja 0x140001631
mov edx, dword [rsp + 0x70]
mov r11d, edi
mov ebp, dword [rsp + 0x88]
sub r11d, edx
mov dword [rsp + 0x40], r11d
nop dword [rax]
mov eax, dword [rcx + 0x94]
and eax, 0x24db
imul eax, eax, 0x2cd7
or dword [0x140105098], eax
mov eax, dword [rcx + 0x2c]
xor eax, dword [rsi + 0xf4]
sub dword [rcx + 0xfc], eax
mov r10, qword [section..data]
mov ecx, dword [rsi + 0xc]
mov r8d, dword [rsi + 0x50]
sub ecx, 0x2096
xor ecx, dword [rsi + 0x1c]
mov r9d, dword [r10 + 0x34]
mov eax, r9d
or r9d, dword [0x1401050b8]
or eax, dword [0x1401050a0]
xor eax, dword [0x140105048]
mov dword [rsp + 0x30], ecx
mov ecx, r11d
imul r8d, edx
mov edx, dword [r10 + 0x94]
or edx, dword [0x140105044]
mov dword [rsp + 0x28], eax
imul r9d, edi
mov qword [rsp + 0x20], r10
call fcn.140001460
mov rcx, qword [section..data]
add ebp, 2
mov eax, dword [0x140105014]
mov edx, dword [rsp + 0x70]
and eax, 0x2a4a
mov r11d, dword [rsp + 0x40]
add eax, dword [rcx + 0x90]
xor ebx, eax
mov eax, dword [rcx + 0x40]
xor eax, dword [0x140105118]
or eax, ebx
cmp ebp, eax
jbe 0x140001570
mov ebp, dword [rsp + 0x98]
lea eax, [rdi - 0x16ec]
imul eax, dword [rcx + 0x18]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [rsp + 0x78]
lea edx, [rdi + 0x1caf]
mov r8d, dword [rsp + 0xa0]
mov eax, edi
mov r9, qword [section..data]
and eax, ebx
imul eax, dword [0x140105034]
or ecx, 0x2ace
add r8d, 0x2637
add ecx, ebx
mov dword [rsp + 0x20], eax
call fcn.140003480
mov edx, dword [rsp + 0xa0]
mov r11d, eax
mov r8d, dword [rsp + 0x78]
xor ebp, 0x3f2c
cmp r11d, ebp
mov rbp, qword [rsp + 0x80]
jle 0x140001727
mov rax, qword [section..data]
lea ecx, [rdx - 0xbaf]
xor r11d, 0xcf9
mov qword [rsp + 0x30], rax
lea r9d, [r8 - 0x850]
mov dword [rsp + 0x28], ecx
xor ebx, 0x2ace
lea r8d, [rdi + 0x764]
mov r10d, ebx
xor r9d, 0xae0
lea edx, [r11 - 0xd0b]
xor r10d, 0x619
xor r11d, 0x3867
mov dword [rsp + 0x20], r10d
mov ecx, r11d
call fcn.1400031b0
mov eax, dword [rsi + 0x40]
mov ecx, dword [rsi + 0x60]
add eax, 0xf7ca3
mov rdx, qword [section..data]
add ecx, eax
lea eax, [rbx - 0x1273]
xor dword [rdx + 8], ecx
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
lea eax, [rbx - 0xb63]
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret