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 0x140001255
mov eax, dword [rsp + 0x2c]
nop dword [rax]
mov ecx, dword [0x141dc0030]
imul ecx, dword [0x141dc0034]
and ecx, 0x58063660
imul ecx, ecx, 0x6f360820
cmp ecx, 0xbe9659f5
je 0x140001060
test eax, eax
je 0x14000135e
nop dword [rax]
mov eax, dword [0x141dc0098]
xor eax, dword [0x141dc009c]
or eax, 0x3c3820b2
and eax, 0xbe792cf2
xor eax, 0x9e4a2b60
cmp eax, 0x311cee80
ja 0x140001090
mov eax, dword [0x141dc00a0]
xor eax, dword [0x141dc00a4]
mov rbx, qword [rsp + 0x30]
imul eax, eax, 0xbee32714
or eax, 0x3ffe0ccc
cmp eax, 0x6c55cc7c
jae 0x140001100
xor eax, eax
test rbx, rbx
setne al
lea eax, [rax + rax*2]
add eax, 0xf
mov byte [rsp + 0x80], al
mov qword [rsp + 0x88], rbx
nop word cs:[rax + rax]
mov eax, dword [0x141dc00a8]
xor eax, dword [0x141dc00ac]
xor eax, 0x2497f1ee
add eax, 0x4f178770
and eax, 0xdab3b684
xor ecx, ecx
test rbx, rbx
setne cl
lea ebp, [rcx + rcx*2]
add ebp, 0xf
mov byte [rsp + 0x80], bpl
mov qword [rsp + 0x88], rbx
cmp eax, 0xd0d8c929
je 0x140001100
mov eax, dword [0x141dc00b0]
and eax, dword [0x141dc00b4]
add eax, 0x3bb27626
xor eax, 0x6c4d38ae
cmp eax, 0x88c9c51e
jb 0x140001140
cmp bpl, 0x12
jne 0x140001582
mov eax, dword [0x141dc00b8]
add eax, dword [0x141dc00bc]
or eax, 0x3e763600
xor eax, 0xdb3c5137
add eax, 0xe04f71d5
cmp eax, 0x1db376b
jae 0x140001196
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.140003200
lea r14, [rsp + 0x50]
nop dword [rax + rax]
mov eax, dword [0x141dc00c0]
sub eax, dword [0x141dc00c4]
xor eax, 0x1010a1
or eax, 0xff856f1a
imul r15, rax, 0x410bc74b
shr r15, 0x3c
mov rcx, r14
mov rdx, rbx
call fcn.140003200
cmp r15d, 0xba919851
ja 0x1400011a0
mov eax, dword [0x141dc00c8]
xor edx, edx
div dword [0x141dc00cc]
lea rdx, [rsp + 0x58]
nop dword [rax + rax]
mov eax, dword [0x141dc00d0]
and eax, dword [0x141dc00d4]
imul rax, rax, 0x5be230b1
shr rax, 0x3c
or eax, 0xe8fff2fe
cmp eax, 0x415594ee
jb 0x1400011f0
mov rax, qword [rsp + 0x50]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
test rax, rax
je 0x1400015da
mov rcx, qword [rsp + 0x78]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
xor edx, edx
test dl, dl
je 0x140001910
jmp 0x140001946
mov qword [rsp + 0x50], 0
mov eax, dword [0x141dc0010]
and eax, dword [0x141dc0014]
or eax, 0x17a524e2
mov ecx, 0xe53918a1
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x3ea27b74
jne 0x140001291
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 dword [rax]
mov eax, dword [0x141dc0018]
imul eax, dword [0x141dc001c]
add eax, 0x823718a7
shr eax, 1
imul r12, rax, 0x528c6de9
shr r12, 0x3d
or r12d, 0xb425d5ec
xor ecx, ecx
mov rdx, r14
call r15
cmp r12d, 0x70a0ff75
jb 0x1400012a0
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14000131a
nop word cs:[rax + rax]
mov eax, dword [0x141dc0020]
add eax, dword [0x141dc0024]
imul eax, eax, 0x7da44a10
and eax, 0x962d4a50
imul eax, eax, 0x3928432c
cmp eax, 0x85976a93
ja 0x1400012f0
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [rsp + 0x80], 0
xor eax, eax
test al, al
je 0x140001330
mov dword [rsp + 0x84], ebx
nop
mov eax, dword [0x141dc0028]
sub eax, dword [str.F_nW]
imul eax, eax, 0xed24f704
xor eax, 0xa2fb4def
add eax, 0x7b6661c7
mov dword [rsp + 0x84], ebx
cmp eax, 0x4e0b191
jbe 0x140001330
xor ebp, ebp
jmp 0x140001384
mov eax, dword [0x141dc0058]
or eax, dword [0x141dc005c]
add eax, 0x9b0a6780
xor eax, 0x59f9b042
cmp eax, 0x7b2c05b8
jae 0x1400018b6
jmp 0x1400018e5
mov eax, 0x9d059357
nop dword [rax]
mov ecx, dword [0x141dc0038]
or ecx, dword [0x141dc003c]
imul ecx, ecx, 0xed392de0
add ecx, 0x74baf840
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xba978fa3
ja 0x140001390
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x140001444
nop word cs:[rax + rax]
mov eax, dword [0x141dc0040]
and eax, dword [0x141dc0044]
and eax, 0x7084eec
add eax, 0xd3d8a2a0
or eax, 0xf95387f1
cmp eax, 0x7353079c
je 0x1400013d0
mov r15, qword [r14]
mov eax, dword [str._Wel]
and eax, dword [0x141dc004c]
cmp eax, 0xf9ed4350
je 0x14000143b
mov r12d, dword [0x141dc0050]
and r12d, dword [0x141dc0054]
add r12d, 0x7cc74d7d
and r12d, 0x980d03dc
add r12d, 0xce610e21
mov rcx, r14
call qword [r15 + 0x10]
cmp r12d, 0x86afc111
jbe 0x140001444
mov rcx, r14
call qword [r15 + 0x10]
jmp 0x140001408
mov eax, 0xa4a9028f
nop dword [rax]
mov ecx, dword [0x141dc0070]
and ecx, dword [0x141dc0074]
xor ecx, 0x12e0f5f0
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x9657a984
je 0x140001450
nop word cs:[rax + rax]
mov eax, dword [0x141dc0078]
sub eax, dword [0x141dc007c]
xor eax, 0x4803e06
and eax, 0x4d03f4e
imul eax, eax, 0x51afcd65
cmp eax, 0x909d4033
ja 0x140001480
test ebx, ebx
js 0x140001510
lea rcx, [rsp + 0x80]
call fcn.14000d370
nop word cs:[rax + rax]
mov eax, dword [0x141dc0138]
add eax, dword [str.C_nPUm]
imul eax, eax, 0xfb3a3503
cmp eax, 0x800f61f3
je 0x1400014c0
nop dword [rax]
mov eax, dword [0x141dc0140]
or eax, dword [0x141dc0144]
or eax, 0xef6da5fe
and eax, 0xfffda7ff
cmp eax, 0xc405ffae
jb 0x1400014e0
jmp 0x140001888
mov eax, dword [0x141dc0080]
imul eax, dword [0x141dc0084]
or eax, 0x5289c95
xor eax, 0x62cd4b74
imul eax, eax, 0x46292f76
cmp eax, 0x372e1dc1
jb 0x140001510
nop word cs:[rax + rax]
mov eax, dword [0x141dc0088]
imul eax, dword [0x141dc008c]
cmp eax, 0xea71d234
je 0x140001540
mov eax, 0xb8eb2d05
nop dword [rax]
mov ecx, dword [0x141dc0090]
or ecx, dword [0x141dc0094]
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xe7846958
cmp ecx, 0x1e0a0adc
jbe 0x140001560
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
movzx ecx, byte [rdi]
nop dword [rax]
mov eax, dword [0x141dc00d8]
xor eax, dword [0x141dc00dc]
xor eax, 0x29c806
add eax, 0x299a2ab4
cmp eax, 0xd0644169
ja 0x1400015e0
mov eax, 0xd9998a8f
nop word cs:[rax + rax]
mov edx, dword [0x141dc00e0]
imul edx, dword [0x141dc00e4]
and edx, 0xdd73cfc1
imul rdx, rax
shr rdx, 0x3d
cmp edx, 0xf865e4af
je 0x140001610
cmp ecx, 0x12
je case.0x1400016a7.0
nop dword [rax]
mov eax, dword [0x141dc00e8]
add eax, dword [0x141dc00ec]
imul eax, eax, 0xda639861
add eax, 0xa811b7e8
imul rax, rax, 0x4dea27fb
shr rax, 0x3d
cmp eax, 0x2aac8200
ja 0x140001640
nop dword [rax]
mov eax, dword [0x141dc00f0]
xor edx, edx
div dword [0x141dc00f4]
xor eax, 0x10b9081
or eax, 0x1ed42d3c
cmp eax, 0xc9da03ec
je 0x140001670
cmp rcx, 0x10
ja case.default.0x1400016a7
lea rax, [0x141dbb150]
movsxd rcx, dword [rax + rcx*4]
add rcx, rax
jmp rcx
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400016b0
nop word cs:[rax + rax]
mov eax, dword [str.dCNI]
imul eax, dword [0x141dc0104]
and eax, 0x544523ca
xor eax, 0x5c14895a
cmp eax, 0xd4a36fdb
ja 0x1400016c0
jmp 0x140001824
mov eax, dword [0x141dc0120]
or eax, dword [0x141dc0124]
imul eax, eax, 0x79dc7862
add eax, 0xa025e256
imul rax, rax, 0x6067e1b9
shr rax, 0x3d
cmp eax, 0xe9a1d539
je case.0x1400016a7.13
mov rcx, qword [rdi + 0x10]
nop dword [rax]
mov eax, dword [0x141dc0128]
or eax, dword [0x141dc012c]
imul eax, eax, 0x8392f25d
add eax, 0xd9fb92ce
and eax, 0x20c51ecc
cmp eax, 0x40a9dcfb
je 0x140001720
mov eax, 8
jmp 0x140001799
mov eax, dword [0x141dc00f8]
add eax, dword [0x141dc00fc]
imul eax, eax, 0x35e402a0
imul rax, rax, 0x4af81b4b
shr rax, 0x3b
cmp eax, 0x85093219
je case.default.0x1400016a7
jmp 0x140001824
mov rcx, qword [rdi + 8]
nop dword [rax]
mov eax, dword [0x141dc0108]
imul eax, dword [0x141dc010c]
cmp eax, 0x34b4109f
je 0x140001780
mov eax, 0x10
test rcx, rcx
jne 0x140001830
jmp case.0x1400016a7.0
mov ecx, 0x9e3e6701
nop dword [rax]
mov eax, dword [0x141dc0110]
xor edx, edx
div dword [str._rIA__]
xor eax, 0x29149657
mov rdx, rax
imul rdx, rcx
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1b
imul eax, eax, 0xc1b2486e
cmp eax, 0xa75d4c3d
je 0x1400017b0
mov eax, 0x91f3e9d5
nop dword [rax]
mov ecx, dword [0x141dc0118]
and ecx, dword [0x141dc011c]
imul rcx, rax
shr rcx, 0x3c
xor ecx, 0x863dc1a
add ecx, 0xe5715ea7
cmp ecx, 0x593a7e94
jb 0x1400017f0
jmp 0x140001824
xor eax, eax
nop dword [rax]
test al, al
jne 0x140001820
mov eax, 0x10
cmp qword [rdi + 8], 0
je case.0x1400016a7.0
mov r8, qword [rdi + rax]
mov rcx, qword [0x141ddc4e0]
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
mov eax, 0x88bb9b6d
nop dword [rax]
mov ecx, dword [0x141dc0130]
or ecx, dword [str.cx_]
imul ecx, ecx, 0x1a07adb
add ecx, 0xc563a7f4
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x889a6d7f
ja 0x140001860
mov qword [rsi], 0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400018a0
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov eax, dword [0x141dc0060]
or eax, dword [0x141dc0064]
imul eax, eax, 0x5d6f2013
mov ecx, 0x8b22dee9
imul rcx, rax
shr rcx, 0x3e
mov byte [rsp + 0x80], 0x13
cmp ecx, 0x8e32b21
jne 0x1400018f0
mov byte [rsp + 0x80], 0x13
jmp 0x1400018b6
mov eax, dword [0x141dc0068]
and eax, dword [0x141dc006c]
add eax, 0x16332ad
cmp eax, 0x98be73e1
ja 0x1400018f0
mov bpl, 0x13
jmp 0x140001384
mov edx, dword [0x141dc0148]
add edx, dword [0x141dc014c]
xor edx, 0xbb1f9e15
add edx, 0xf0b55321
imul rdx, rdx, 0x775cc923
shr rdx, 0x3e
mov qword [rsi], rax
mov qword [rsi + 0x28], rcx
cmp edx, 0x1ac4306f
jne 0x14000188f
mov qword [rsi], rax
mov qword [rsi + 0x28], rcx
jmp 0x140001910