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 r14, rdx
mov eax, dword [0x141dbf010]
add eax, dword [0x141dbf014]
mov rsi, rcx
and eax, 0x2044200
add eax, 0x190d5552
cmp eax, 0x1a31fe7a
jb 0x14000108c
mov eax, dword [0x141dbf018]
imul eax, dword [0x141dbf01c]
imul ebp, eax, 0x39c2161e
or ebp, 0x116e6655
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x2c], 0
mov rax, qword [r14]
lea rcx, [rsp + 0x2c]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x30]
mov rcx, r14
mov edx, 0xffffffff
mov r8d, 1
call qword [rax + 0x20]
cmp ebp, 0x3423ff3d
jne 0x1400010c5
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x2c], 0
mov rax, qword [r14]
lea rcx, [rsp + 0x2c]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x30]
mov rcx, r14
mov edx, 0xffffffff
mov r8d, 1
call qword [rax + 0x20]
jmp 0x140001037
mov ebx, eax
test eax, eax
js 0x14000116b
nop
mov eax, dword [0x141dbf060]
or eax, dword [0x141dbf064]
or eax, 0xe7fde36c
xor eax, 0xfd899cc8
imul eax, eax, 0xd7e3b9c5
cmp eax, 0xf7e9bf81
ja 0x1400010d0
cmp dword [rsp + 0x2c], 0
je 0x14000123f
nop
mov eax, dword [0x141dbf098]
add eax, dword [0x141dbf09c]
or eax, 0xa08339d
xor eax, 0xbce26ef2
imul r8, rax, 0x1c5ebfa5
shr r8, 0x3c
mov rdx, qword [rsp + 0x30]
xor eax, eax
test rdx, rdx
setne cl
cmp r8d, 0x20c9ab15
je 0x140001100
mov al, cl
lea ebp, [rax + rax*2]
add ebp, 0xf
mov eax, dword [0x141dbf0a0]
and eax, dword [0x141dbf0a4]
imul eax, eax, 0x19c5a56
add eax, 0x6033f0ba
xor eax, 0xb88ff410
cmp eax, 0xc7c2c7dc
jbe 0x140001484
jmp 0x1400014c1
mov qword [rsp + 0x50], 0
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [sym.imp.oleaut32.dll_GetErrorInfo]
mov eax, dword [0x141dbf020]
add eax, dword [0x141dbf024]
xor eax, 0x2020e000
or eax, 0x57d805de
shr eax, 1
imul rax, rax, 0x107f496d
shr rax, 0x38
cmp eax, 0x8cce264b
nop dword [rax]
mov eax, dword [0x141dbf028]
mov ecx, dword [0x141dbf02c]
add eax, ecx
add eax, 0x64721d3f
xor eax, 0xb5f9664c
add eax, 0x62268e8
cmp eax, 0x1ca099a1
jb 0x1400011b0
mov r14, qword [rsp + 0x50]
test r14, r14
je 0x1400012ab
mov rax, qword [r14]
nop word cs:[rax + rax]
mov ecx, dword [0x141dbf030]
imul ecx, dword [0x141dbf034]
and ecx, 0xec80c1ab
xor ecx, 0xc140e999
add ecx, 0x555b00e5
cmp ecx, 0x79b9ab33
ja 0x1400011f0
mov r15, qword [rax + 0x10]
mov eax, dword [0x141dbf038]
or eax, dword [0x141dbf03c]
or eax, 0xd10d75f8
xor eax, 0xd7e0ff68
add eax, 0x1571e1d4
cmp eax, 0xda4c42ca
jbe 0x140001277
jmp 0x1400012a3
mov byte [rsp + 0x80], 0x13
nop word [rax + rax]
mov eax, dword [0x141dbf080]
imul eax, dword [0x141dbf084]
or eax, 0xded87f7e
imul eax, eax, 0xc386f946
cmp eax, 0x589aaf5
jb 0x140001250
mov bpl, 0x13
jmp 0x140001350
mov eax, dword [0x141dbf040]
and eax, dword [0x141dbf044]
imul ebp, eax, 0xece34902
add ebp, 0x8c9cab8d
or ebp, 0xd783d74a
mov rcx, r14
call r15
cmp ebp, 0xbeede9ac
jne 0x1400012ab
mov rcx, r14
call r15
jmp 0x140001277
mov byte [rsp + 0x80], 0
mov eax, dword [0x141dbf048]
xor edx, edx
div dword [0x141dbf04c]
xor eax, 0x9292589d
mov ecx, 0x9c271953
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0xb37f2c2b
cmp eax, 0x2fe1223a
jne 0x1400012f0
mov dword [rsp + 0x84], ebx
nop word [rax + rax]
mov eax, dword [0x141dbf050]
xor eax, dword [0x141dbf054]
or eax, 0x44db4703
and eax, 0x44dbcf87
mov dword [rsp + 0x84], ebx
cmp eax, 0x24182446
jb 0x1400012f0
mov eax, 0x86009649
nop dword [rax]
mov ecx, dword [0x141dbf058]
xor ecx, dword [0x141dbf05c]
or ecx, 0xd485b333
add ecx, 0xcaaefd1
imul rcx, rax
shr rcx, 0x3c
cmp ecx, 0x8515598a
je 0x140001320
xor ebp, ebp
nop word [rax + rax]
mov eax, dword [0x141dbf068]
imul eax, dword [0x141dbf06c]
imul eax, eax, 0x382506d6
xor eax, 0xc3481915
add eax, 0x26902a5c
cmp eax, 0xd9c59097
ja 0x140001350
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x1400013e0
mov r15, qword [r14]
mov eax, dword [0x141dbf070]
or eax, dword [0x141dbf074]
imul rax, rax, 0x38592993
shr rax, 0x3c
add eax, 0x85fc06c1
cmp eax, 0x168bb6d2
jae 0x1400013b0
mov rcx, r14
call qword [r15 + 0x10]
nop dword [rax + rax]
mov r12d, dword [str._Qcm]
and r12d, dword [0x141dbf07c]
or r12d, 0x44220001
and r12d, 0x44221043
mov rcx, r14
call qword [r15 + 0x10]
cmp r12d, 0xe9c17183
je 0x1400013b0
nop dword [rax]
mov eax, dword [0x141dbf088]
imul eax, dword [0x141dbf08c]
xor eax, 0x86adea6f
imul rcx, rax, 0x28bea9ed
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
or eax, 0x7293f232
cmp eax, 0x682fb251
jb 0x1400013e0
test ebx, ebx
js 0x140001442
mov eax, dword [0x141dbf138]
sub eax, dword [0x141dbf13c]
imul rax, rax, 0x73b1c72f
shr rax, 0x3d
add eax, 0x99157076
cmp eax, 0x89fc70ec
jae 0x1400019a7
jmp 0x1400019d8
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140001450
nop word cs:[rax + rax]
mov eax, dword [0x141dbf090]
imul eax, dword [0x141dbf094]
or eax, 0x7674fec
imul eax, eax, 0xf23200c1
cmp eax, 0xb98306a0
je 0x140001460
jmp 0x140001533
mov eax, dword [0x141dbf0a8]
add eax, dword [0x141dbf0ac]
imul eax, eax, 0xa9750bb
mov ecx, 0xb201c21f
imul rcx, rax
shr rcx, 0x3d
or ecx, 0xf20f39e0
mov byte [rsp + 0x80], bpl
mov qword [rsp + 0x88], rdx
cmp ecx, 0x43acf463
jae 0x1400014d3
mov byte [rsp + 0x80], bpl
mov qword [rsp + 0x88], rdx
jmp 0x140001484
cmp bpl, 0x12
jne 0x140001533
lea rcx, [rsp + 0x50]
call fcn.140003490
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
test rax, rax
je 0x14000160d
mov ecx, dword [0x141dbf150]
sub ecx, dword [0x141dbf154]
lea rdx, [rsp + 0x58]
add ecx, 0x867d0927
or ecx, 0xf73eb36f
cmp ecx, 0xf78d3eee
jae 0x140001a14
jmp 0x140001a30
xor eax, eax
test al, al
jne 0x1400015b0
mov eax, dword [0x141dbf0b0]
imul eax, dword [0x141dbf0b4]
imul eax, eax, 0xd67e5095
add eax, 0xe91b5f60
mov byte [rsp + 0x58], bpl
mov ecx, dword [rsp + 0x81]
mov dword [rsp + 0x59], ecx
mov ecx, dword [rsp + 0x84]
mov dword [rsp + 0x5c], ecx
mov qword [rsp + 0x60], rdx
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x40], xmm0
movzx ecx, byte [rsp + 0x58]
mov byte [rsp + 0x30], cl
mov ecx, dword [rsp + 0x59]
mov dword [rsp + 0x31], ecx
movzx ecx, word [rsp + 0x5d]
mov word [rsp + 0x35], cx
movzx ecx, byte [rsp + 0x5f]
mov byte [rsp + 0x37], cl
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x38], rcx
cmp eax, 0x390f291b
jbe 0x14000160d
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], rdx
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
jmp 0x140001539
movzx ecx, byte [rdi]
mov eax, dword [0x141dbf0b8]
or eax, dword [0x141dbf0bc]
imul eax, eax, 0xc61c972d
add eax, 0xbdf93676
or eax, 0xe2d2020
cmp eax, 0x55dd0464
ja 0x140001610
cmp ecx, 0x12
je case.0x14000167d.0
nop dword [rax]
mov eax, dword [0x141dbf0c0]
xor edx, edx
div dword [0x141dbf0c4]
or eax, 0xdf72a3fc
imul eax, eax, 0x264ca395
add eax, 0xb31bc588
cmp eax, 0xdd79cb69
ja 0x140001640
cmp rcx, 0x10
ja case.default.0x14000167d
lea rax, [0x141db9d30]
movsxd rcx, dword [rax + rcx*4]
add rcx, rax
jmp rcx
mov eax, dword [0x141dbf0f0]
xor edx, edx
div dword [0x141dbf0f4]
mov eax, 0xfb5488c5
nop word cs:[rax + rax]
mov ecx, dword [0x141dbf0f8]
and ecx, dword [0x141dbf0fc]
imul ecx, ecx, 0x2a098989
or ecx, 0x544182cf
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x828d8466
ja 0x1400016a0
jmp case.0x14000167d.6
mov eax, dword [0x141dbf100]
and eax, dword [0x141dbf104]
add eax, 0x9c97eb83
or eax, 0xfdcbf6cf
cmp eax, 0xbf5c32c3
jb case.0x14000167d.10
mov rcx, qword [rdi + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dbf108]
xor edx, edx
div dword [0x141dbf10c]
imul rax, rax, 0x5ea68b0d
shr rax, 0x3d
or eax, 0x600fa5f2
cmp eax, 0xa08d73ea
ja 0x140001700
mov ebx, 0x10
test rcx, rcx
jne 0x14000188e
jmp case.0x14000167d.0
mov eax, dword [0x141dbf110]
xor edx, edx
div dword [0x141dbf114]
add eax, 0x505e7e37
xor eax, 0x69b81811
imul rcx, rax, 0x1637574f
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0x29879062
ja case.0x14000167d.12
nop word cs:[rax + rax]
mov eax, dword [0x141dbf118]
and eax, dword [0x141dbf11c]
cmp eax, 0x56da61f5
je 0x140001780
mov ebx, 0x10
cmp qword [rdi + 8], 0
jne 0x14000188e
jmp case.0x14000167d.0
mov eax, dword [0x141dbf120]
sub eax, dword [0x141dbf124]
and eax, 0x849383c2
xor eax, 0xa8090157
imul eax, eax, 0x1c9e2148
cmp eax, 0x14378566
ja case.0x14000167d.13
nop word cs:[rax + rax]
mov eax, dword [0x141dbf128]
xor eax, dword [0x141dbf12c]
imul eax, eax, 0xd5e47de8
xor eax, 0x7fa8187c
add eax, 0xd2cb2614
cmp eax, 0x72a2fdac
jb 0x1400017e0
mov ebx, 8
cmp qword [rdi + 0x10], 0
jne 0x14000188e
jmp case.0x14000167d.0
mov eax, dword [0x141dbf0c8]
imul eax, dword [0x141dbf0cc]
add eax, 0xe3200930
cmp eax, 0xfe48f449
ja case.default.0x14000167d
mov eax, dword [0x141dbf0d0]
xor edx, edx
div dword [0x141dbf0d4]
mov eax, 0xc9ec718f
nop dword [rax]
mov ecx, dword [0x141dbf0d8]
or ecx, dword [0x141dbf0dc]
imul rcx, rax
shr rcx, 0x3c
add ecx, 0xff365416
cmp ecx, 0xec9d5c28
jb 0x140001850
mov rax, qword [rdi + 8]
xor ecx, ecx
nop dword [rax + rax]
test cl, cl
jne 0x140001880
mov ebx, 0x10
test rax, rax
je case.0x14000167d.0
mov eax, dword [0x141dbf0e0]
or eax, dword [0x141dbf0e4]
and eax, 0x37384b22
add eax, 0xfabcd53e
and eax, 0x62d85176
cmp eax, 0xa1911c54
ja 0x1400018de
mov ebp, dword [0x141dbf0e8]
imul ebp, dword [0x141dbf0ec]
and ebp, 0x4601600
mov r8, qword [rdi + rbx]
mov rcx, qword [0x141ddb260]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebp, 0xeb0eb3b7
jne case.0x14000167d.0
mov r8, qword [rdi + rbx]
mov rcx, qword [0x141ddb260]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400018b0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
nop word cs:[rax + rax]
mov eax, dword [0x141dbf130]
add eax, dword [0x141dbf134]
imul rax, rax, 0x75e7f133
shr rax, 0x3b
imul eax, eax, 0xffb50de0
cmp eax, 0xa5c5e078
je 0x140001910
mov eax, dword [0x141dbf168]
xor edx, edx
div dword [0x141dbf16c]
and eax, 0x9b142c64
add eax, 0x4833f2b3
mov ecx, 0xe7cd5a17
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xb36fd493
jbe 0x140001970
mov qword [rsi], 0
nop dword [rax + rax]
mov eax, dword [0x141dbf170]
xor eax, dword [0x141dbf174]
imul eax, eax, 0xd1871ab4
add eax, 0x48b31e46
mov qword [rsi], 0
cmp eax, 0xcf5ea5fc
jae 0x140001970
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov eax, dword [0x141dbf140]
xor edx, edx
div dword [0x141dbf144]
mov edi, eax
add edi, 0xa4b9f04f
or edi, 0x5733fd37
lea rcx, [rsp + 0x80]
call fcn.14000d870
cmp edi, 0x37d591d4
jae 0x1400019f0
lea rcx, [rsp + 0x80]
call fcn.14000d870
jmp 0x1400019a7
mov eax, dword [0x141dbf148]
xor edx, edx
div dword [0x141dbf14c]
add eax, 0x27d2bbe6
and eax, 0x4480620
cmp eax, 0xd889b917
ja 0x1400019f0
jmp 0x140001934
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 r8d, r8d
test r8b, r8b
je 0x140001a41
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
jmp 0x140001a14
mov edx, dword [0x141dbf158]
sub edx, dword [0x141dbf15c]
imul edx, edx, 0x1af47c5a
cmp edx, 0xbe5e8545
jne 0x140001a70
mov qword [rsi], rax
mov qword [rsi + 0x28], rcx
nop word cs:[rax + rax]
mov edx, dword [0x141dbf160]
sub edx, dword [0x141dbf164]
imul rdx, rdx, 0x118ac4b1
shr rdx, 0x3c
or edx, 0x6249083e
mov qword [rsi], rax
mov qword [rsi + 0x28], rcx
cmp edx, 0x4855a336
je 0x140001a70
jmp 0x140001995