Function at 0x140001000
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov rdi, r8
mov rsi, rcx
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x2c], 0
mov rax, qword [rdx]
lea rcx, [rsp + 0x2c]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x30]
mov rcx, rdx
mov edx, 0xffffffff
mov r8d, 1
call qword [rax + 0x20]
mov ebx, eax
test eax, eax
js 0x140001089
cmp dword [rsp + 0x2c], 0
je 0x1400010b4
mov r8, qword [rsp + 0x30]
mov eax, dword [0x141dc2078]
xor edx, edx
div dword [0x141dc207c]
xor eax, 0x25040295
and eax, 0x252c07dd
imul eax, eax, 0xfa493c59
cmp eax, 0x4a0de055
jbe 0x14000134e
jmp 0x14000136c
mov eax, dword [0x141dc2010]
xor eax, dword [0x141dc2014]
imul eax, eax, 0x5c9fc916
add eax, 0x30808872
imul rax, rax, 0x54cf9be9
shr rax, 0x3c
cmp eax, 0x89cd46d1
jbe 0x1400010cc
jmp 0x140001111
mov byte [rsp + 0x58], 0x13
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400010c0
mov bpl, 0x13
jmp 0x1400011b0
mov eax, dword [0x141dc2018]
xor edx, edx
div dword [0x141dc201c]
shr eax, 1
imul rax, rax, 0x4db63397
shr rax, 0x3b
imul ebp, eax, 0x7c76e761
add ebp, 0x48257a19
mov qword [rsp + 0x78], 0
lea rdx, [rsp + 0x78]
xor ecx, ecx
call qword [sym.imp.oleaut32.dll_GetErrorInfo]
cmp ebp, 0x180f9998
jae 0x140001129
mov qword [rsp + 0x78], 0
lea rdx, [rsp + 0x78]
xor ecx, ecx
call qword [sym.imp.oleaut32.dll_GetErrorInfo]
jmp 0x1400010cc
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140001163
nop word cs:[rax + rax]
mov eax, dword [0x141dc2020]
sub eax, dword [0x141dc2024]
or eax, 0x496dfff5
and eax, 0xc9fffff7
cmp eax, 0xba709571
ja 0x140001140
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [rsp + 0x58], 0
mov eax, dword [0x141dc2028]
imul eax, dword [0x141dc202c]
or eax, 0xd1451768
xor eax, 0xcc6c0741
imul rax, rax, 0x1b7cb659
shr rax, 0x38
cmp eax, 0xe246135b
ja 0x1400011a8
mov eax, dword [0x141dc2030]
or eax, dword [0x141dc2034]
mov dword [rsp + 0x5c], ebx
cmp eax, 0x23d09f7b
jne 0x1400011ae
mov dword [rsp + 0x5c], ebx
jmp 0x140001191
xor ebp, ebp
mov eax, dword [0x141dc2038]
or eax, dword [0x141dc203c]
add eax, 0x97726758
or eax, 0xb1ffffff
cmp eax, 0xbdef11ec
je 0x1400011b0
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x140001280
mov ecx, 0x8cdf7853
mov eax, dword [0x141dc2040]
xor edx, edx
div dword [0x141dc2044]
shr eax, 1
imul rax, rcx
shr rax, 0x3e
imul eax, eax, 0xc63f978
cmp eax, 0x9ef1e274
je 0x1400011e0
mov rax, qword [r14]
nop dword [rax + rax]
mov ecx, dword [0x141dc2048]
mov edx, dword [0x141dc204c]
add ecx, edx
add ecx, 0xf7cc4994
imul rcx, rcx, 0x4e16e021
shr rcx, 0x3c
and ecx, 1
cmp ecx, 0x6cf1207c
ja 0x140001210
mov r15, qword [rax + 0x10]
mov eax, dword [0x141dc2050]
xor edx, edx
div dword [0x141dc2054]
mov ecx, 0x88fec529
imul rcx, rax
shr rcx, 0x3d
imul eax, ecx, 0x3d03789d
cmp eax, 0xbd91c75d
je 0x140001272
mov rcx, r14
call r15
xor eax, eax
test al, al
je 0x140001280
mov rcx, r14
call r15
jmp 0x140001266
mov eax, dword [0x141dc2058]
or eax, dword [0x141dc205c]
or eax, 0x10088224
xor eax, 0x18191621
or eax, 0xe7e469da
cmp eax, 0x652311d3
jb 0x140001280
nop word cs:[rax + rax]
mov eax, dword [0x141dc2060]
or eax, dword [0x141dc2064]
imul rax, rax, 0x1eda80bd
shr rax, 0x3c
or eax, 0xc8f4655a
cmp eax, 0x46b8e909
jb 0x1400012b0
test ebx, ebx
js 0x140001300
mov eax, dword [0x141dc20e0]
imul eax, dword [0x141dc20e4]
imul eax, eax, 0x8ceca968
add eax, 0x57c74e5
cmp eax, 0xbcef4562
jae 0x1400017e9
jmp 0x140001827
mov eax, dword [0x141dc2068]
imul eax, dword [0x141dc206c]
xor eax, 0x15b23099
or eax, 0x624d0c44
cmp eax, 0x97fd0967
je 0x140001300
nop
mov eax, dword [str.L8X]
add eax, dword [0x141dc2074]
imul rax, rax, 0x6d57d059
shr rax, 0x3d
or eax, 0x9b94b384
imul eax, eax, 0x8eab718d
cmp eax, 0xb12f11e6
ja 0x140001320
jmp 0x140001521
xor eax, eax
test r8, r8
setne al
lea ebp, [rax + rax*2]
add ebp, 0xf
mov byte [rsp + 0x58], bpl
mov qword [rsp + 0x60], r8
xor eax, eax
test al, al
je 0x140001385
xor eax, eax
test r8, r8
setne al
lea eax, [rax + rax*2]
add eax, 0xf
mov byte [rsp + 0x58], al
mov qword [rsp + 0x60], r8
jmp 0x14000134e
cmp bpl, 0x12
jne 0x140001521
lea rbx, [rsp + 0x78]
mov rcx, rbx
mov rdx, r8
call fcn.140003290
mov eax, dword [0x141dc2080]
imul eax, dword [0x141dc2084]
add eax, 0x83b53ab9
mov ecx, 0xb9cb9a93
imul rcx, rax
shr rcx, 0x3b
cmp ecx, 0xae4740ae
jne 0x1400013d8
movups xmm0, xmmword [rbx + 8]
movups xmm1, xmmword [rbx + 0x18]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
mov rax, qword [rsp + 0x78]
nop dword [rax]
mov ecx, dword [0x141dc2088]
imul ecx, dword [0x141dc208c]
or ecx, 0x9af08ef2
imul ecx, ecx, 0xaf6300ca
movups xmm0, xmmword [rbx + 8]
movups xmm1, xmmword [rbx + 0x18]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
cmp ecx, 0xd596ad32
ja 0x1400013e0
nop word cs:[rax + rax]
mov ecx, dword [0x141dc2090]
xor ecx, dword [0x141dc2094]
xor ecx, 0xc81e298e
imul rdx, rcx, 0x1b4773d
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1e
or ecx, 0xb0e31970
cmp ecx, 0x990ca637
jb 0x140001420
test rax, rax
je 0x1400015a0
lea rcx, [rsi + 8]
nop word cs:[rax + rax]
mov edx, dword [str.sPs]
and edx, dword [0x141dc2104]
add edx, 0x88fb5c4f
or edx, 0x8fc9f689
and edx, 0xdfcff68d
cmp edx, 0x5cad59d2
je 0x140001470
mov rdx, qword [rsp + 0xa0]
mov r8d, dword [0x141dc2108]
sub r8d, dword [0x141dc210c]
xor r8d, 0x22d06002
and r8d, 0x3edaf2a2
imul r8d, r8d, 0xf35dc1c9
cmp r8d, 0xc07772c4
jbe 0x1400014e0
movups xmm0, xmmword [rbx + 8]
movups xmm1, xmmword [rbx + 0x18]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov qword [rsi], rax
mov qword [rsi + 0x28], rdx
mov r8d, dword [0x141dc2110]
imul r8d, dword [0x141dc2114]
and r8d, 0x7121001
imul r8d, r8d, 0x3e8b692d
movups xmm0, xmmword [rbx + 8]
movups xmm1, xmmword [rbx + 0x18]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov qword [rsi], rax
mov qword [rsi + 0x28], rdx
cmp r8d, 0xcdd7409f
ja 0x1400014e0
jmp 0x1400017c0
mov byte [rsp + 0x80], bpl
mov eax, dword [rsp + 0x59]
mov ecx, dword [rsp + 0x5c]
mov dword [rsp + 0x81], eax
mov dword [rsp + 0x84], ecx
mov qword [rsp + 0x88], r8
movups xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x40], xmm0
movzx eax, byte [rsp + 0x80]
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x81]
mov dword [rsp + 0x31], eax
movzx eax, word [rsp + 0x85]
mov word [rsp + 0x35], ax
movzx eax, byte [rsp + 0x87]
mov byte [rsp + 0x37], al
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x38], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc2098]
add eax, dword [0x141dc209c]
or eax, 0xaec0345e
add eax, 0xa1578eb6
and eax, 0xc14ac0a4
cmp eax, 0x1bbb15c3
jb 0x1400015a0
movzx ecx, byte [rdi]
nop word cs:[rax + rax]
mov eax, dword [0x141dc20a0]
imul eax, dword [0x141dc20a4]
cmp eax, 0xb6e9dc0
je 0x1400015d0
nop word cs:[rax + rax]
mov eax, dword [0x141dc20a8]
mov edx, dword [0x141dc20ac]
add eax, edx
add eax, 0x33a78198
cmp eax, 0xaf932e14
jb 0x1400015f0
cmp ecx, 0x12
je case.0x14000166c.0
mov eax, dword [0x141dc20b0]
xor edx, edx
div dword [0x141dc20b4]
nop word cs:[rax + rax]
mov eax, dword [0x141dc20b8]
xor eax, dword [0x141dc20bc]
imul eax, eax, 0x28426689
xor eax, 0x96e72ce8
imul eax, eax, 0x2c5107bf
cmp eax, 0x10e401e6
je 0x140001630
cmp rcx, 0x10
ja case.0x14000166c.10
lea rax, [0x141dbc150]
movsxd rcx, dword [rax + rcx*4]
add rcx, rax
jmp rcx
mov eax, dword [0x141dc20c0]
and eax, dword [0x141dc20c4]
add eax, 0x9b1b8264
xor eax, 0xa000521d
and eax, 0xacc9f65f
cmp eax, 0x1a1281c5
jb case.0x14000166c.6
mov rcx, qword [rdi + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc20c8]
add eax, dword [0x141dc20cc]
or eax, 0xb96737
add eax, 0x1750d150
and eax, 0xf0648c5
cmp eax, 0xf80d1d34
je 0x1400016a0
jmp 0x140001764
mov eax, dword [0x141dc20d0]
add eax, dword [str._C6.]
or eax, 0x5b372cb4
imul rax, rax, 0x590fc0a7
shr rax, 0x3e
cmp eax, 0x788462a2
ja case.0x14000166c.9
mov eax, 0x10
cmp qword [rdi + 8], 0
je case.0x14000166c.0
mov r8, qword [rdi + rax]
mov rcx, qword [0x141dde6e0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
jmp 0x140001770
mov rcx, qword [rdi + 0x10]
nop dword [rax]
mov eax, dword [0x141dc20d8]
and eax, dword [0x141dc20dc]
xor eax, 0xb90104c0
or eax, 0x6de201d
add eax, 0x85bbb4b3
cmp eax, 0xdfc5e539
ja 0x140001730
mov eax, 8
jmp 0x140001769
mov rcx, qword [rdi + 8]
xor eax, eax
nop
test al, al
jne 0x140001760
mov eax, 0x10
test rcx, rcx
jne 0x1400016ff
jmp case.0x14000166c.0
mov eax, dword [0x141dc2120]
or eax, dword [0x141dc2124]
add eax, 0xac9300d
or eax, 0x6fbfd767
cmp eax, 0x233ef2a5
je 0x1400017b7
mov eax, dword [0x141dc2128]
xor eax, dword [0x141dc212c]
xor eax, 0x8c7e9dec
imul eax, eax, 0xea8f8004
and eax, 0xab2f33b8
mov qword [rsi], 0
cmp eax, 0x1c25ac90
ja 0x1400017c0
mov qword [rsi], 0
jmp 0x14000178d
mov eax, dword [0x141dc2118]
imul eax, dword [0x141dc211c]
and eax, 0xa1120091
cmp eax, 0x68d3c736
je 0x1400017c0
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov edi, dword [0x141dc20e8]
or edi, dword [0x141dc20ec]
and edi, 0xc900488e
or edi, 0x24fb0470
imul rax, rdi, 0xf820d9d
shr rax, 0x20
sub edi, eax
shr edi, 1
add edi, eax
shr edi, 0x1f
lea rcx, [rsp + 0x58]
call fcn.14000d390
cmp edi, 0xab6944d4
jne 0x140001840
lea rcx, [rsp + 0x58]
call fcn.14000d390
jmp 0x1400017e9
mov eax, dword [0x141dc20f0]
or eax, dword [0x141dc20f4]
imul eax, eax, 0x683ac92b
add eax, 0x392ff58
and eax, 0x956ab059
cmp eax, 0xd4b0980d
je 0x140001840
nop word cs:[rax + rax]
mov eax, dword [0x141dc20f8]
add eax, dword [0x141dc20fc]
imul eax, eax, 0xa696caa4
or eax, 0x5bf490c5
add eax, 0x669177c
cmp eax, 0xe83f6289
ja 0x140001870
jmp 0x140001770