Function at 0x140039d10
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rdx
mov rdi, rcx
nop
mov eax, dword [0x141dc5f50]
add eax, dword [0x141dc5f54]
or eax, 0xc4fc40d
add eax, 0xaf2aab5a
and eax, 0x5760333f
cmp eax, 0xac90b2ce
je 0x140039d20
cmp qword [r8 + 8], 0
je 0x140039dd0
nop dword [rax]
mov eax, dword [0x141dc5f58]
xor eax, dword [0x141dc5f5c]
or eax, 0x6788b6a4
add eax, 0x18625483
cmp eax, 0xa2dc7115
ja 0x140039d50
mov rbx, qword [r8]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140039d80
mov rax, qword [r8 + 0x10]
nop dword [rax + rax]
mov ecx, dword [0x141dc5f60]
xor ecx, dword [0x141dc5f64]
and ecx, 0x5011c180
cmp ecx, 0x19618ec8
je 0x140039d90
test rax, rax
je 0x140039dff
mov eax, dword [0x141dc5f90]
xor eax, dword [0x141dc5f94]
add eax, 0x5d8ae934
cmp eax, 0x3c45ac5d
jae 0x140039f07
jmp 0x140039f3c
movzx eax, byte [0x141ddc4f8]
mov eax, dword [0x141dc5fa8]
xor edx, edx
div dword [0x141dc5fac]
and eax, 0x1004c182
add eax, 0xe6382c2f
cmp eax, 0x9970d23
jae 0x140039f7f
jmp 0x140039faf
mov eax, dword [0x141dc5f68]
imul eax, dword [0x141dc5f6c]
and eax, 0x23de5ad6
add eax, 0xb454c9a0
mov ecx, 0xb7277c07
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xbd588f6f
jne 0x140039e32
movzx eax, byte [0x141ddc4f8]
mov eax, 0xc79d3ca3
nop word [rax + rax]
mov ecx, dword [0x141dc5f70]
xor ecx, dword [0x141dc5f74]
add ecx, 0xabd6e0cf
imul rcx, rax
shr rcx, 0x3f
movzx edx, byte [0x141ddc4f8]
cmp ecx, 0x31b8a630
je 0x140039e40
mov eax, dword [0x141dc5f78]
add eax, dword [0x141dc5f7c]
xor eax, 0x4d4f0f29
imul eax, eax, 0xae4e9ee1
add eax, 0x7074578
cmp eax, 0x8485dd57
jb 0x140039ec2
mov eax, dword [0x141dc5f80]
xor edx, edx
div dword [0x141dc5f84]
or eax, 0xe6e9e94e
imul eax, eax, 0xe167d85c
imul rbx, rax, 0x7477e299
shr rbx, 0x3e
xor ecx, ecx
mov rdx, rsi
call fcn.1400c0a10
cmp ebx, 0x740be98e
jbe 0x140039ece
xor ecx, ecx
mov rdx, rsi
call fcn.1400c0a10
jmp 0x140039e8c
mov rcx, rax
mov r8d, 0xc9b85d2f
nop word [rax + rax]
mov eax, dword [0x141dc5f88]
xor edx, edx
div dword [0x141dc5f8c]
add eax, 0x30c3a717
imul rax, r8
shr rax, 0x3f
cmp eax, 0xd71455bf
je 0x140039ee0
jmp 0x140039ff2
mov ebp, dword [str.yH7W]
sub ebp, dword [0x141dc5f9c]
add ebp, 0xc13608b2
or ebp, 0x7dfc3f77
mov rcx, qword [0x141ddc4e0]
xor edx, edx
mov r8, rbx
mov r9, rsi
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
cmp ebp, 0xadb0eb52
jbe 0x140039f53
mov rcx, qword [0x141ddc4e0]
xor edx, edx
mov r8, rbx
mov r9, rsi
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
jmp 0x140039f07
mov rcx, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc5fa0]
and eax, dword [0x141dc5fa4]
or eax, 0x6151a55d
and eax, 0x75ddfd5d
cmp eax, 0x392f4918
je 0x140039f60
jmp 0x140039ff2
mov ebx, dword [0x141dc5fb0]
add ebx, dword [0x141dc5fb4]
xor ebx, 0x2025020
or ebx, 0x55f8af0b
xor ebx, 0x9272b981
xor ecx, ecx
mov rdx, rsi
call fcn.1400c0a10
cmp ebx, 0xe8854c3c
jbe 0x140039fbb
xor ecx, ecx
mov rdx, rsi
call fcn.1400c0a10
jmp 0x140039f7f
mov rcx, rax
nop
mov eax, dword [0x141dc5fb8]
imul eax, dword [0x141dc5fbc]
and eax, 0xec7ea5d9
imul rdx, rax, 0x1d377389
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
or eax, 0x2a41ee44
cmp eax, 0x35dbe6c7
ja 0x140039fc0
mov eax, dword [0x141dc5fc0]
xor edx, edx
div dword [0x141dc5fc4]
or eax, 0x1017d7c2
xor eax, 0x8c1b30ae
add eax, 0x4a8db0c5
cmp eax, 0x1bde5078
jae 0x14003a032
xor eax, eax
test rcx, rcx
mov edx, 1
cmovne rdx, rcx
sete al
mov qword [rdi + 8], rdx
mov qword [rdi + 0x10], rsi
mov qword [rdi], rax
mov eax, 1
nop word [rax + rax]
mov edx, dword [0x141dc5fc8]
sub edx, dword [0x141dc5fcc]
xor r8d, r8d
test rcx, rcx
sete r8b
mov r9, rcx
cmove r9, rax
mov qword [rdi + 8], r9
mov qword [rdi + 0x10], rsi
mov qword [rdi], r8
cmp edx, 0xe4376fd3
je 0x14003a040
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret