Function at 0x140001000
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa0
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 0x1400011e2
nop word cs:[rax + rax]
mov eax, dword [0x141dbc040]
imul eax, dword [0x141dbc044]
imul rax, rax, 0x202b5beb
shr rax, 0x3b
imul eax, eax, 0xcf189f81
or eax, 0xe155cd57
cmp eax, 0xfce468e1
ja 0x140001060
mov eax, dword [rsp + 0x2c]
nop
mov ecx, dword [str._s_B]
sub ecx, dword [0x141dbc04c]
or ecx, 0x4066d44e
add ecx, 0x6e3bf306
cmp ecx, 0xc78a12ae
jb 0x140001090
mov ecx, dword [0x141dbc050]
imul ecx, dword [0x141dbc054]
and ecx, 0x40850800
add ecx, 0x1c5848a2
cmp ecx, 0x8c04e475
ja 0x1400010b0
test eax, eax
je 0x140001314
mov rbx, qword [rsp + 0x30]
xor eax, eax
test rbx, rbx
setne al
lea ebp, [rax + rax*2]
add ebp, 0xf
mov byte [rsp + 0x80], bpl
mov qword [rsp + 0x88], rbx
cmp bpl, 0x12
jne 0x140001567
mov eax, dword [0x141dbc090]
or eax, dword [0x141dbc094]
xor eax, 0x9ef22cd3
add eax, 0xeb7cbc8c
xor eax, 0x4ce718da
cmp eax, 0x1d57e7df
jae 0x140001149
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.140003220
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
lea r14, [rsp + 0x50]
nop
mov eax, dword [0x141dbc098]
add eax, dword [0x141dbc09c]
or eax, 0xb7848b59
imul r15, rax, 0x473de7d7
shr r15, 0x3d
mov rcx, r14
mov rdx, rbx
call fcn.140003220
mov rax, qword [rsp + 0x50]
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x40], xmm0
cmp r15d, 0x82a83497
je 0x140001150
test rax, rax
je 0x1400015bf
mov rcx, qword [rsp + 0x78]
movups xmm0, xmmword [r14 + 8]
movups xmm1, xmmword [r14 + 0x18]
movups xmmword [rsi + 0x18], xmm1
mov edx, dword [0x141dbc128]
and edx, dword [0x141dbc12c]
movups xmmword [rsi + 8], xmm0
or edx, 0x27000100
and edx, 0x27000124
cmp edx, 0x5b4c1b37
jbe 0x1400018c7
jmp 0x1400018f4
mov eax, dword [0x141dbc010]
xor eax, dword [0x141dbc014]
or eax, 0x80b01180
and eax, 0x80b51385
xor eax, 0x25cfd355
cmp eax, 0xdf9614e5
jbe 0x14000121a
mov qword [rsp + 0x50], 0
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [sym.imp.oleaut32.dll_GetErrorInfo]
lea r14, [rsp + 0x50]
mov r15, qword [sym.imp.oleaut32.dll_GetErrorInfo]
nop word cs:[rax + rax]
mov eax, dword [0x141dbc018]
xor eax, dword [0x141dbc01c]
imul rax, rax, 0x50ba9899
shr rax, 0x3d
imul ebp, eax, 0xb338fabe
or ebp, 0xd48748e2
mov qword [rsp + 0x50], 0
xor ecx, ecx
mov rdx, r14
call r15
cmp ebp, 0xd9091a16
jb 0x140001230
mov r14, qword [rsp + 0x50]
nop word cs:[rax + rax]
mov eax, dword [0x141dbc020]
xor edx, edx
div dword [0x141dbc024]
imul eax, eax, 0x6995dd4c
and eax, 0xa019ba68
add eax, 0xb06e7322
cmp eax, 0x79c6245a
ja 0x140001280
test r14, r14
je 0x1400012ec
mov eax, dword [0x141dbc028]
or eax, dword [str.3BjlT]
mov r15, qword [r14]
add eax, 0xa9b20f5b
and eax, 0xb00a220
cmp eax, 0x22a33d44
jbe 0x1400012d1
mov rcx, r14
call qword [r15 + 0x10]
xor ebp, ebp
nop word cs:[rax + rax]
mov rcx, r14
call qword [r15 + 0x10]
test bpl, bpl
jne 0x1400012e0
mov eax, dword [0x141dbc030]
imul eax, dword [0x141dbc034]
imul eax, eax, 0xeb840206
add eax, 0x68db06b9
cmp eax, 0x92f80500
jbe 0x1400013a6
jmp 0x1400013d2
mov eax, dword [0x141dbc068]
mov ecx, dword [0x141dbc06c]
add eax, ecx
add eax, 0xa3466b8f
xor eax, 0x3c5fb0a8
add eax, 0x488eeab2
cmp eax, 0x66097813
jae 0x140001340
mov byte [rsp + 0x80], 0x13
mov eax, dword [0x141dbc070]
xor edx, edx
div dword [0x141dbc074]
imul eax, eax, 0x873fccfd
add eax, 0x2ead7d72
and eax, 0x2f0ddae0
mov byte [rsp + 0x80], 0x13
cmp eax, 0xa8ffab6f
je 0x140001340
nop dword [rax]
mov eax, dword [0x141dbc078]
xor edx, edx
div dword [0x141dbc07c]
or eax, 0x20004592
and eax, 0xe581c59e
add eax, 0x3c6d3947
cmp eax, 0x4b89384f
jbe 0x140001370
mov bpl, 0x13
mov r14, qword [rsp + 0x30]
test r14, r14
jne 0x1400013ef
jmp 0x14000144b
mov eax, dword [str.f_x_]
xor edx, edx
div dword [0x141dbc03c]
or eax, 0x210262b9
and eax, 0xeda262bb
add eax, 0x748fca33
mov byte [rsp + 0x80], 0
cmp eax, 0x1d57be2a
jae 0x1400013dc
mov byte [rsp + 0x80], 0
jmp 0x1400013a6
mov dword [rsp + 0x84], ebx
xor ebp, ebp
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x14000144b
mov rax, qword [r14]
mov ecx, dword [0x141dbc058]
or ecx, dword [0x141dbc05c]
mov r15, qword [rax + 0x10]
imul eax, ecx, 0x1784d0fb
xor eax, 0x629574c8
cmp eax, 0x1f8e1d7e
jae 0x140001420
mov rcx, r14
call r15
nop word [rax + rax]
mov eax, dword [0x141dbc060]
sub eax, dword [0x141dbc064]
add eax, 0xcd35da7b
imul r12, rax, 0x4544e50f
shr r12, 0x3e
mov rcx, r14
call r15
cmp r12d, 0x1c57be80
je 0x140001420
test ebx, ebx
js 0x140001510
mov eax, dword [0x141dbc108]
mov ecx, dword [0x141dbc10c]
add eax, ecx
add eax, 0x3db66b82
xor eax, 0x6315ed9e
cmp eax, 0x58bba736
jae 0x14000147f
lea rcx, [rsp + 0x80]
call fcn.14000daa0
lea rdi, [rsp + 0x80]
nop word [rax + rax]
mov ebx, dword [0x141dbc110]
add ebx, dword [0x141dbc114]
mov rcx, rdi
call fcn.14000daa0
cmp ebx, 0xb8637fa0
je 0x140001490
nop dword [rax]
mov eax, dword [0x141dbc118]
xor eax, dword [str.cjyK]
xor eax, 0x2984351f
imul eax, eax, 0x9c9ddb92
xor eax, 0x54fd8ea4
cmp eax, 0x71e47f87
jb 0x1400014b0
nop word cs:[rax + rax]
mov eax, dword [0x141dbc120]
imul eax, dword [0x141dbc124]
or eax, 0x782b8219
and eax, 0x7a2b8a19
cmp eax, 0x91cb0744
ja 0x1400014e0
jmp 0x14000183c
mov eax, dword [0x141dbc080]
xor edx, edx
div dword [0x141dbc084]
or eax, 0x22d52bec
imul eax, eax, 0x9050e197
add eax, 0x8ad21e0e
cmp eax, 0x61db4cfb
jb 0x140001510
mov ecx, 0xbc5e01f3
nop word [rax + rax]
mov eax, dword [0x141dbc088]
xor edx, edx
div dword [0x141dbc08c]
xor eax, 0xf37f7c98
imul rax, rcx
shr rax, 0x3f
or eax, 0x898cb9f4
cmp eax, 0x8f70d5d3
ja 0x140001540
mov byte [rsp + 0x58], bpl
mov eax, dword [rsp + 0x81]
mov ecx, dword [rsp + 0x84]
mov dword [rsp + 0x59], eax
mov dword [rsp + 0x5c], ecx
mov qword [rsp + 0x60], rbx
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x40], xmm0
movzx eax, byte [rsp + 0x58]
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x59]
mov dword [rsp + 0x31], eax
movzx eax, word [rsp + 0x5d]
mov word [rsp + 0x35], ax
movzx eax, byte [rsp + 0x5f]
mov byte [rsp + 0x37], al
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov eax, 0x889c8387
nop word cs:[rax + rax]
mov ecx, dword [0x141dbc0a0]
sub ecx, dword [0x141dbc0a4]
imul rcx, rax
shr rcx, 0x3e
imul ecx, ecx, 0x641044ac
add ecx, 0xf2bb702c
cmp ecx, 0x242c837
jb 0x1400015d0
movzx eax, byte [rdi]
nop dword [rax + rax]
mov ecx, dword [0x141dbc0a8]
sub ecx, dword [0x141dbc0ac]
and ecx, 0x20000000
cmp ecx, 0x445b6421
ja 0x140001600
cmp eax, 0x12
je case.0x14000163b.0
cmp rax, 0x10
ja case.default.0x14000163b
lea rcx, [0x141db6f50]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [0x141dbc0c8]
and eax, dword [0x141dbc0cc]
xor eax, 0xe1aea706
imul eax, eax, 0x912cc435
cmp eax, 0x2e970072
jb case.0x14000163b.6
jmp case.0x14000163b.10
mov eax, dword [0x141dbc0e8]
imul eax, dword [0x141dbc0ec]
add eax, 0xec920ec7
imul rax, rax, 0x5b745915
shr rax, 0x39
add eax, 0x99b03366
cmp eax, 0x55b549df
jb case.0x14000163b.13
mov rcx, qword [rdi + 0x10]
mov eax, 0x972f2d59
nop word cs:[rax + rax]
mov edx, dword [0x141dbc0f0]
or edx, dword [0x141dbc0f4]
imul rdx, rax
shr rdx, 0x3d
cmp edx, 0x8dfc30b8
je 0x1400016b0
mov eax, 8
jmp 0x1400017e7
mov eax, dword [0x141dbc0d0]
xor edx, edx
div dword [0x141dbc0d4]
nop word cs:[rax + rax]
mov eax, dword [0x141dbc0d8]
imul eax, dword [0x141dbc0dc]
or eax, 0xdbde9bff
cmp eax, 0xca57c389
jb 0x1400016f0
mov eax, 0x10
cmp qword [rdi + 8], 0
je case.0x14000163b.0
mov r8, qword [rdi + rax]
mov rcx, qword [0x141dd7fe0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [0x141dbc0f8]
xor eax, dword [0x141dbc0fc]
cmp eax, 0xc88fb108
jne 0x1400017f5
jmp 0x140001829
mov rcx, qword [rdi + 8]
nop dword [rax + rax]
mov eax, dword [0x141dbc0e0]
xor eax, dword [0x141dbc0e4]
imul rax, rax, 0x68fd182f
shr rax, 0x3e
imul eax, eax, 0x1170dc35
cmp eax, 0x60a0396c
je 0x140001750
jmp 0x1400017e2
mov eax, dword [0x141dbc0b0]
xor edx, edx
div dword [0x141dbc0b4]
nop word cs:[rax + rax]
mov eax, dword [0x141dbc0b8]
imul eax, dword [0x141dbc0bc]
or eax, 0x89df2b4a
xor eax, 0x12ed232a
cmp eax, 0x5f6408d8
jb 0x140001790
mov rcx, qword [rdi + 8]
mov eax, 0xe5234561
nop word [rax + rax]
mov edx, dword [0x141dbc0c0]
xor edx, dword [0x141dbc0c4]
add edx, 0x8e98eb7b
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0xc905c9b
ja 0x1400017c0
mov eax, 0x10
test rcx, rcx
jne 0x140001715
jmp case.0x14000163b.0
mov eax, dword [0x141dbc100]
xor eax, dword [0x141dbc104]
or eax, 0xfcb5d67
imul eax, eax, 0x75e571e7
and eax, 0x93e0459
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
cmp eax, 0x4998c7d8
jbe 0x14000183c
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
jmp 0x1400017f5
mov eax, dword [0x141dbc140]
xor edx, edx
div dword [0x141dbc144]
xor eax, 0x20c04002
and eax, 0x72c8448b
imul eax, eax, 0x6d136152
cmp eax, 0x5639e567
jae 0x140001870
mov qword [rsi], 0
nop dword [rax + rax]
mov eax, dword [0x141dbc148]
and eax, dword [0x141dbc14c]
mov qword [rsi], 0
cmp eax, 0x9ce9be2
je 0x140001870
nop word [rax + rax]
mov eax, dword [0x141dbc138]
mov ecx, dword [0x141dbc13c]
add eax, ecx
add eax, 0xcdc5ad32
or eax, 0xbb3a5c66
imul eax, eax, 0x62d8326f
cmp eax, 0x658f3b8
je 0x140001890
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov edx, dword [0x141dbc130]
sub edx, dword [0x141dbc134]
or edx, 0xafc5a61c
imul edx, edx, 0xfe48b44
add edx, 0xf8b5feed
mov qword [rsi], rax
mov qword [rsi + 0x28], rcx
cmp edx, 0xb76b5b84
jbe 0x140001890
mov qword [rsi], rax
mov qword [rsi + 0x28], rcx
jmp 0x1400018c7