Function at 0x140059350
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
mov r11, rdx
mov r9, rcx
nop dword [rax]
mov eax, dword [0x141dc5a18]
add eax, dword [0x141dc5a1c]
cmp eax, 0xdb4a4d29
je 0x140059360
test r11, r11
sete cl
cmp r9, 0xffffffffffffffbf
setl al
or al, cl
nop word cs:[rax + rax]
mov ecx, dword [0x141dc5a20]
imul ecx, dword [0x141dc5a24]
imul ecx, ecx, 0x57a7d92b
add ecx, 0xc240add3
cmp ecx, 0x10f6babf
jb 0x140059390
test al, al
je 0x1400593c0
xor r8d, r8d
xor eax, eax
jmp 0x1400597a0
mov eax, dword [0x141dc5a28]
sub eax, dword [str.h_aso]
add eax, 0x8ede261c
or eax, 0x594ee4c1
xor eax, 0x4303e8f2
cmp eax, 0xd84287f5
ja 0x1400593c0
mov r8d, 0xff
cmp r9, 0x26
jle 0x1400593f5
xor eax, eax
jmp 0x1400597a0
test r11, r11
je 0x140059404
bsr r10, r11
xor r10, 0x3f
jmp 0x14005940a
mov r10d, 0x40
mov ecx, r10d
shl r11, cl
lea rax, [r9 + 0x156]
shl rax, 4
lea rcx, [0x141db3618]
lea rbx, [rcx + rax]
nop word cs:[rax + rax]
mov edx, dword [0x141dc5a30]
imul edx, dword [0x141dc5a34]
add edx, 0xfcea3b9f
cmp edx, 0x340f78fb
jb 0x140059430
mov rdi, qword [rax + rcx]
movabs r14, 0x3fffffffff
xor ebp, ebp
nop dword [rax + rax]
mov rax, rdi
mul r11
test bpl, bpl
jne 0x140059460
mov rsi, rdx
mov rcx, rax
mov rax, rdx
and rax, r14
cmp rax, r14
jne 0x1400594ee
mov rax, r11
mul qword [rbx + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5a38]
add eax, dword [0x141dc5a3c]
imul r11d, eax, 0x2524c850
or r11d, 0xf7a5f5ff
mov rax, rdx
add rax, rcx
mov rdi, rsi
adc rdi, 0
cmp r11d, 0x97ae4d0e
je 0x140059490
mov ecx, dword [0x141dc5a40]
and ecx, dword [0x141dc5a44]
and ecx, 0x64a5ad05
xor ecx, 0x13d060a3
imul ecx, ecx, 0x1d1348b0
cmp ecx, 0xc782fc47
ja 0x1400594c0
cmp r9, 0xffffffffffffffe4
jle 0x1400594fa
jmp 0x14005950d
mov rdi, rsi
mov rax, rcx
cmp r9, 0xffffffffffffffe4
jg 0x14005950d
cmp rax, 0xffffffffffffffff
jne 0x14005950d
xor eax, eax
mov r8d, 0xffffffff
jmp 0x1400597a0
mov rdx, rdi
shr rdx, 0x3f
mov rcx, rdx
or rcx, 0x26
mov r11, rdi
shr r11, cl
nop word cs:[rax + rax]
mov esi, dword [0x141dc5a48]
or esi, dword [0x141dc5a4c]
add esi, 0xb33f1b19
cmp esi, 0xc5b8398e
ja 0x140059530
imul esi, r9d, 0x3526a
sar esi, 0x10
sub esi, r10d
lea r10d, [rsi + rdx]
add r10d, 0x3f
nop
mov edx, dword [0x141dc5a50]
sub edx, dword [0x141dc5a54]
imul edx, edx, 0xc6020373
or edx, 0x32ba0707
xor edx, 0x32e27285
cmp edx, 0x4dd8efd1
jb 0x140059560
cmp r10d, 0xffffff82
jge 0x140059659
cmp r10d, 0xffffff43
jb 0x1400593b5
mov ecx, 2
sub ecx, r10d
nop word cs:[rax + rax]
mov eax, dword [0x141dc5a88]
xor edx, edx
div dword [0x141dc5a8c]
imul eax, eax, 0xe87f3cf2
or eax, 0xfcff915f
cmp eax, 0x45757656
jb 0x1400595b0
and ecx, 0x3f
nop word cs:[rax + rax]
mov eax, dword [0x141dc5a90]
add eax, dword [0x141dc5a94]
and eax, 0x254a88e9
add eax, 0xfad40421
and eax, 0xedc88482
cmp eax, 0xa345ff11
ja 0x1400595e0
nop word cs:[rax + rax]
mov r9d, dword [0x141dc5a98]
add r9d, dword [0x141dc5a9c]
xor r9d, 0x900080
mov rax, r11
shr rax, cl
and r9d, 0x88b0c8b1
bt r11, rcx
adc rax, 0
xor r8d, r8d
cmp rax, 0x1000000
setae dl
cmp r9d, 0x8e2aca92
jae 0x140059610
shr eax, 1
mov r8b, dl
jmp 0x1400597a0
add r9, 0x11
nop dword [rax]
mov edx, dword [0x141dc5a58]
sub edx, dword [0x141dc5a5c]
xor edx, 0x6e196468
add edx, 0xb3b748af
and edx, 0xc1cdf99f
cmp edx, 0xe886a9cf
ja 0x140059660
nop word cs:[rax + rax]
mov edx, dword [0x141dc5a60]
and edx, dword [0x141dc5a64]
add edx, 0x7d126dfe
and edx, 0x473ab579
xor edx, 0xca40b573
mov ebx, r11d
mov r14, r11
shl r14, cl
and ebx, 3
xor rbx, 1
xor r14, rdi
mov esi, r11d
and esi, 0xfffffffe
or r14, rbx
cmovne rsi, r11
cmp rax, 2
cmovae rsi, r11
cmp r9, 0x1c
cmovae rsi, r11
cmp edx, 0x92cb8138
jb 0x140059690
mov eax, dword [0x141dc5a68]
xor edx, edx
div dword [0x141dc5a6c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5a70]
xor eax, dword [0x141dc5a74]
and eax, 0xc9694943
add eax, 0x4c7f9cd0
mov ecx, esi
and ecx, 1
add rcx, rsi
cmp rcx, 0x2000000
mov edx, r10d
sbb edx, 0xffffffff
cmp eax, 0xfaf8444
jb 0x140059700
add edx, 0x7f
cmp edx, 0xfe
jbe 0x140059741
xor eax, eax
jmp 0x1400597a0
mov r8d, ecx
shr r8d, 1
and r8d, 0x37fffff
xor r9d, r9d
nop word cs:[rax + rax]
mov eax, dword [0x141dc5a78]
imul eax, dword [0x141dc5a7c]
xor eax, 0xde5b1967
imul r10d, eax, 0xb14827ae
add r10d, 0xd26e140d
cmp ecx, 0x2000000
mov rax, r8
cmovae rax, r9
cmp r10d, 0x659edc25
ja 0x140059760
mov r8d, edx
nop dword [rax]
mov ecx, dword [0x141dc5a80]
or ecx, dword [0x141dc5a84]
add ecx, 0xfc7bca44
xor ecx, 0xe3fbfd54
add ecx, 0x28e82b05
cmp ecx, 0xaaf44d7f
ja 0x1400597a0
mov edx, r8d
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret