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 0x140001166
mov eax, dword [rsp + 0x2c]
nop dword [rax]
mov ecx, dword [0x141dbf038]
imul ecx, dword [0x141dbf03c]
and ecx, 0xc19cbc36
imul ecx, ecx, 0xa511219d
cmp ecx, 0xcc392af5
ja 0x140001060
test eax, eax
je 0x140001258
mov rbx, qword [rsp + 0x30]
xor eax, eax
test rbx, rbx
setne al
mov ecx, dword [0x141dbf080]
and ecx, dword [0x141dbf084]
lea ebp, [rax + rax*2]
add ebp, 0xf
xor ecx, 0x508baa60
add ecx, 0x3a4e366
cmp ecx, 0x114bf2d9
jae 0x1400010d0
mov byte [rsp + 0x80], bpl
mov qword [rsp + 0x88], rbx
nop dword [rax]
mov eax, dword [0x141dbf088]
add eax, dword [0x141dbf08c]
imul rax, rax, 0x1302f93d
shr rax, 0x3c
add eax, 0x759f601b
mov byte [rsp + 0x80], bpl
mov qword [rsp + 0x88], rbx
cmp eax, 0xcf80a039
ja 0x1400010d0
nop word cs:[rax + rax]
mov eax, dword [0x141dbf090]
and eax, dword [0x141dbf094]
add eax, 0x97fbf8b7
or eax, 0x8ee882d0
and eax, 0x9ee8b7fa
cmp eax, 0x417f7523
jb 0x140001110
cmp bpl, 0x12
jne 0x140001458
xor eax, eax
nop
test al, al
jne 0x140001140
mov eax, dword [0x141dbf098]
and eax, dword [0x141dbf09c]
imul eax, eax, 0x96905f80
cmp eax, 0x4a7297b3
jne 0x14000184e
jmp 0x140001888
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140001170
mov qword [rsp + 0x50], 0
mov eax, dword [0x141dbf010]
and eax, dword [0x141dbf014]
xor eax, 0xaf4c3ac8
add eax, 0xf24d3ef0
mov ecx, 0xa2fd8747
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xe7aac00d
jbe 0x1400011b5
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 [0x141dbf018]
imul eax, dword [0x141dbf01c]
imul ebp, eax, 0x4434f994
add ebp, 0xa6dfc524
and ebp, 0x2fd19760
xor ecx, ecx
mov rdx, r14
call r15
cmp ebp, 0x64e20c51
je 0x1400011d0
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140001248
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140001210
mov rax, qword [rcx]
call qword [rax + 0x10]
nop word [rax + rax]
mov eax, dword [0x141dbf020]
xor eax, dword [0x141dbf024]
or eax, 0xe309c68f
imul rax, rax, 0x6e7247b9
shr rax, 0x3e
or eax, 0x29147d8a
cmp eax, 0x673ac1d2
ja 0x140001220
mov byte [rsp + 0x80], 0
xor eax, eax
test al, al
je 0x140001279
jmp 0x1400012a3
mov eax, dword [0x141dbf068]
or eax, dword [0x141dbf06c]
and eax, 0x2842128
cmp eax, 0x30293730
jne 0x1400017f9
jmp 0x140001807
mov eax, dword [0x141dbf028]
add eax, dword [0x141dbf02c]
imul eax, eax, 0xfc257d79
add eax, 0x20c57097
and eax, 0xd1af3e0b
mov dword [rsp + 0x84], ebx
cmp eax, 0xff0dbd0f
jbe 0x1400012b0
mov dword [rsp + 0x84], ebx
jmp 0x140001279
mov eax, dword [0x141dbf030]
and eax, dword [0x141dbf034]
or eax, 0xf41da834
xor eax, 0x3807f131
cmp eax, 0xa7b12f9a
jbe 0x1400012b0
xor ebp, ebp
nop
mov eax, dword [0x141dbf040]
xor eax, dword [0x141dbf044]
or eax, 0xbfea0952
imul eax, eax, 0x6e2ba202
cmp eax, 0x6a46a599
je 0x1400012d0
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x14000137d
mov eax, dword [0x141dbf048]
xor edx, edx
div dword [0x141dbf04c]
nop word [rax + rax]
mov eax, dword [0x141dbf050]
add eax, dword [0x141dbf054]
or eax, 0xfa1a43d2
add eax, 0xa1e151ee
or eax, 0x58a73c9f
cmp eax, 0xe744a17c
jb 0x140001310
mov rax, qword [r14]
mov ecx, dword [0x141dbf058]
add ecx, dword [0x141dbf05c]
mov r15, qword [rax + 0x10]
xor ecx, 0xf1fc1779
imul eax, ecx, 0xabe023cd
cmp eax, 0x8b66d044
jae 0x140001360
mov rcx, r14
call r15
nop
mov r12d, dword [0x141dbf060]
or r12d, dword [0x141dbf064]
mov rcx, r14
call r15
cmp r12d, 0x2a07c449
je 0x140001360
test ebx, ebx
js 0x140001420
xor eax, eax
test al, al
je 0x140001398
lea rcx, [rsp + 0x80]
call fcn.14000db50
lea rdi, [rsp + 0x80]
mov ebx, dword [0x141dbf110]
sub ebx, dword [0x141dbf114]
or ebx, 0xf6cf7dd7
and ebx, 0xffff7dd7
mov rcx, rdi
call fcn.14000db50
cmp ebx, 0xb1421eb
jb 0x1400013a0
nop dword [rax + rax]
mov eax, dword [0x141dbf118]
xor eax, dword [0x141dbf11c]
and eax, 0x438246e6
add eax, 0xe779ad1e
cmp eax, 0x91c6aa45
jb 0x1400013d0
nop dword [rax]
mov eax, dword [0x141dbf120]
xor edx, edx
div dword [0x141dbf124]
imul rax, rax, 0x74edbbef
shr rax, 0x3e
or eax, 0xb4ed09a4
imul eax, eax, 0x430c41e4
cmp eax, 0x8cd592ef
jbe 0x1400013f0
jmp 0x140001712
mov eax, 0xae1c3ad9
nop word cs:[rax + rax]
mov ecx, dword [0x141dbf078]
and ecx, dword [0x141dbf07c]
or ecx, 0xc262db56
imul ecx, ecx, 0xd3093c0
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xe42b42b6
je 0x140001430
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
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400014c0
movzx eax, byte [rdi]
nop word [rax + rax]
mov ecx, dword [0x141dbf0b0]
xor ecx, dword [0x141dbf0b4]
add ecx, 0xc84261e3
or ecx, 0xb62c3fd6
and ecx, 0xff6dffd7
cmp ecx, 0xd8073af0
jb 0x1400014d0
cmp eax, 0x12
je case.0x140001538.0
nop
mov ecx, dword [0x141dbf0b8]
or ecx, dword [0x141dbf0bc]
add ecx, 0xbcb24d94
and ecx, 0x4020b602
cmp ecx, 0xda742e45
je 0x140001500
cmp rax, 0x10
ja case.default.0x140001538
lea rcx, [0x141db9d50]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [0x141dbf0c0]
xor edx, edx
div dword [0x141dbf0c4]
add eax, 0xa49b0dba
imul rax, rax, 0x2b988741
shr rax, 0x3d
cmp eax, 0xac23dfce
je case.0x140001538.6
mov rcx, qword [rdi + 8]
nop dword [rax]
mov eax, dword [0x141dbf0c8]
and eax, dword [0x141dbf0cc]
or eax, 0x15d5bac4
add eax, 0xa4547f4b
or eax, 0xc58c56b2
cmp eax, 0x9f1a50c6
jb 0x140001570
jmp 0x14000165d
mov eax, dword [0x141dbf0d8]
add eax, dword [0x141dbf0dc]
and eax, 0x2aebda8e
add eax, 0xe4b0c101
xor eax, 0xd713816d
cmp eax, 0x916063f4
ja case.0x140001538.12
nop word cs:[rax + rax]
mov eax, dword [0x141dbf0e0]
xor edx, edx
div dword [0x141dbf0e4]
or eax, 0x4bcfaa9a
add eax, 0xe7d60c04
cmp eax, 0x69c37701
ja 0x1400015d0
mov rcx, qword [rdi + 8]
mov eax, 0x906219cb
nop dword [rax + rax]
mov edx, dword [0x141dbf0e8]
xor edx, dword [0x141dbf0ec]
add edx, 0xcfb33135
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0xbcacb5a1
ja 0x140001600
jmp 0x14000165d
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140001630
mov rcx, qword [rdi + 8]
nop dword [rax + rax]
mov eax, dword [0x141dbf0d0]
or eax, dword [0x141dbf0d4]
add eax, 0x76785d13
or eax, 0x3fb7ebdb
cmp eax, 0x5cc3445f
jb 0x140001640
mov eax, 0x10
test rcx, rcx
je case.0x140001538.0
mov r8, qword [rdi + rax]
mov rcx, qword [0x141ddb9a0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [0x141dbf0f8]
mov ecx, dword [0x141dbf0fc]
add eax, ecx
add eax, 0x2b0d9a05
or eax, 0xbe33ca88
mov ecx, 0x8862e9a1
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xca319bd4
jne 0x1400016c0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
nop dword [rax + rax]
mov eax, dword [0x141dbf100]
xor eax, dword [0x141dbf104]
add eax, 0x9f75866b
and eax, 0x90ad74ed
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
cmp eax, 0x8d29ab2f
je 0x1400016c0
nop
mov eax, dword [0x141dbf108]
or eax, dword [0x141dbf10c]
and eax, 0xc400028
xor eax, 0x54000a
or eax, 0x918bf685
cmp eax, 0x5bc3432d
jb 0x1400016f0
mov eax, dword [0x141dbf148]
sub eax, dword [0x141dbf14c]
and eax, 0xdbb0950c
imul eax, eax, 0x612120a1
cmp eax, 0xcffb9c97
jne 0x140001740
mov qword [rsi], 0
nop word [rax + rax]
mov eax, dword [0x141dbf150]
sub eax, dword [0x141dbf154]
or eax, 0xfbbbfff9
mov qword [rsi], 0
cmp eax, 0x71323859
je 0x140001740
nop
mov eax, dword [str._h_]
xor edx, edx
div dword [0x141dbf144]
cmp eax, 0xcb78c0ea
je 0x140001760
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
xor eax, eax
nop dword [rax]
test al, al
jne 0x140001790
jmp 0x1400017e4
mov rcx, qword [rdi + 0x10]
nop word [rax + rax]
mov eax, dword [0x141dbf0f0]
imul eax, dword [0x141dbf0f4]
or eax, 0x30a8200
and eax, 0x31a8a18
cmp eax, 0x93e5f07f
ja 0x1400017a0
mov eax, 8
test rcx, rcx
jne 0x140001667
jmp case.0x140001538.0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400017e0
mov eax, 0x10
cmp qword [rdi + 8], 0
jne 0x140001667
jmp case.0x140001538.0
mov byte [rsp + 0x80], 0x13
xor eax, eax
test al, al
je 0x140001820
mov byte [rsp + 0x80], 0x13
jmp 0x1400017f9
mov eax, dword [0x141dbf070]
add eax, dword [0x141dbf074]
imul rax, rax, 0x5196b357
shr rax, 0x3a
and eax, 0xc
or eax, 0xf68fa101
cmp eax, 0x4c4819cb
je 0x140001820
mov bpl, 0x13
jmp 0x1400012d0
mov ebp, dword [0x141dbf0a0]
xor ebp, dword [0x141dbf0a4]
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.140003430
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 ebp, 0x31ad3515
jne 0x1400018ab
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.140003430
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
jmp 0x14000184e
lea rcx, [rsp + 0x58]
mov edx, dword [0x141dbf0a8]
add edx, dword [0x141dbf0ac]
imul edx, edx, 0x98344d0f
xor edx, 0x8828e04a
or edx, 0x7c41db1
cmp edx, 0xe59d54d1
ja 0x1400018b0
test rax, rax
je 0x1400014b0
xor edx, edx
test dl, dl
je 0x140001900
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
nop word cs:[rax + rax]
mov edx, dword [0x141dbf128]
and edx, dword [str._b_V_]
imul r8, rdx, 0x4aea9375
shr r8, 0x3e
or r8d, 0xbef283da
mov rdx, qword [rsp + 0x78]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
cmp r8d, 0x816a8beb
jb 0x140001900
mov qword [rsi], rax
mov eax, dword [0x141dbf130]
imul eax, dword [0x141dbf134]
xor eax, 0x10c449a
add eax, 0x477eaf64
or eax, 0xdd233d9b
cmp eax, 0x9ca0e327
jb 0x14000198c
mov eax, dword [0x141dbf138]
or eax, dword [0x141dbf13c]
and eax, 0x8e9fb981
imul eax, eax, 0x2e4244aa
add eax, 0xe34a8ab1
mov qword [rsi + 0x28], rdx
cmp eax, 0x2156f21b
jae 0x140001760
mov qword [rsi + 0x28], rdx
jmp 0x140001961