Function at 0x140001000
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov qword [rbp - 0x10], r8
mov r8, rdx
mov rbx, rcx
mov eax, dword [0x141dbe010]
or eax, dword [0x141dbe014]
add eax, 0x67e49dd4
xor eax, 0xbce99dc
mov ecx, 0xc7ffe375
imul rcx, rax
shr rcx, 0x3b
cmp ecx, 0xed77ba77
je 0x14000108b
mov ecx, dword [0x141dbe018]
imul ecx, dword [0x141dbe01c]
and ecx, 0x82412818
xor ecx, 0xd3f30c02
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov r13, rsp
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov rsi, rsp
cmp ecx, 0x15051942
jae 0x1400010a7
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
jmp 0x14000104a
mov eax, dword [0x141dbe020]
xor edx, edx
div dword [0x141dbe024]
mov ecx, 0x8198d851
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0xa8098477
add eax, 0xfa70c90f
cmp eax, 0xb2ee4079
jb 0x14000111a
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov r12, rsp
mov eax, 0x30
call fcn.1400eeec0
sub rsp, rax
mov rcx, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rdi, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r14, rsp
xor eax, eax
test al, al
je 0x140001150
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x30
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
jmp 0x1400010d4
mov qword [rbp - 8], rcx
mov qword [r12], 0
mov dword [rsi], 0
mov rax, qword [r8]
sub rsp, 0x30
mov qword [rsp + 0x20], rsi
mov rcx, r8
mov edx, 0xffffffff
mov r8d, 1
mov r9, r12
call qword [rax + 0x20]
add rsp, 0x30
mov r15d, eax
test eax, eax
js 0x140001270
mov eax, dword [rsi]
nop word cs:[rax + rax]
mov ecx, dword [0x141dbe080]
imul ecx, dword [0x141dbe084]
and ecx, 0xef1d8c38
add ecx, 0x1f5031f3
imul rcx, rcx, 0x12450327
shr rcx, 0x3c
cmp ecx, 0xee26d194
ja 0x1400011a0
test eax, eax
je 0x140001409
mov rdx, qword [r12]
xor eax, eax
test rdx, rdx
setne al
lea r13d, [rax + rax*2]
add r13d, 0xf
mov byte [r14], r13b
mov qword [r14 + 8], rdx
nop
mov eax, dword [0x141dbe0b8]
and eax, dword [str.S_re]
add eax, 0xdb28877b
imul rax, rax, 0x37efd133
shr rax, 0x3a
xor eax, 0x6548261c
cmp eax, 0x3de5c17b
jb 0x1400011f0
cmp r13b, 0x12
mov r15, qword [rbp - 8]
jne 0x1400015e0
sub rsp, 0x20
mov rcx, r15
call fcn.140003450
add rsp, 0x20
mov rcx, qword [r15]
mov r8, r15
add r8, 8
mov eax, dword [0x141dbe0c0]
and eax, dword [0x141dbe0c4]
imul eax, eax, 0x4b81450b
add eax, 0x40e091cf
xor eax, 0xb6ae1037
cmp eax, 0xb9173abb
jbe 0x1400018ff
jmp 0x140001937
mov eax, dword [0x141dbe028]
or eax, dword [0x141dbe02c]
imul rax, rax, 0x19a40f8b
shr rax, 0x3a
and eax, 3
xor eax, 0x3d75a6f5
cmp eax, 0x34b296ea
jb 0x140001270
mov qword [rbp], rbx
mov eax, dword [0x141dbe030]
sub eax, dword [0x141dbe034]
imul eax, eax, 0xa6a57ab3
cmp eax, 0x1a62af2a
jne 0x1400012ce
mov qword [r13], 0
sub rsp, 0x20
xor ecx, ecx
mov rdx, r13
call qword [sym.imp.oleaut32.dll_GetErrorInfo]
add rsp, 0x20
mov rsi, qword [sym.imp.oleaut32.dll_GetErrorInfo]
nop word cs:[rax + rax]
mov eax, dword [0x141dbe038]
imul eax, dword [0x141dbe03c]
imul eax, eax, 0x304e4244
imul rbx, rax, 0x6bf23e51
shr rbx, 0x3e
or ebx, 0x7ff1ac32
mov qword [r13], 0
sub rsp, 0x20
xor ecx, ecx
mov rdx, r13
call rsi
add rsp, 0x20
cmp ebx, 0x38e0da75
je 0x1400012e0
mov r13, qword [r13]
test r13, r13
je 0x1400013e3
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140001340
mov rax, qword [r13]
mov rsi, qword [rax + 0x10]
mov eax, dword [0x141dbe040]
xor edx, edx
div dword [0x141dbe044]
add eax, 0xef68ed66
and eax, 0xebd0dfd
xor eax, 0x9e773bcb
cmp eax, 0x9c98a6cd
jbe 0x140001380
sub rsp, 0x20
mov rcx, r13
call rsi
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x141dbe048]
add eax, dword [0x141dbe04c]
imul rax, rax, 0x1ac2cae7
shr rax, 0x3c
or eax, 0x4346a910
imul ebx, eax, 0xa69a88d
sub rsp, 0x20
mov rcx, r13
call rsi
add rsp, 0x20
cmp ebx, 0xb7d73d3f
ja 0x140001380
nop word [rax + rax]
mov eax, dword [0x141dbe050]
xor eax, dword [0x141dbe054]
imul rax, rax, 0x42f3cb47
shr rax, 0x3e
or eax, 0x40800
cmp eax, 0x5a340978
je 0x1400013c0
mov eax, dword [0x141dbe058]
xor edx, edx
div dword [0x141dbe05c]
xor eax, 0x900a09
or eax, 0x9e6d65f2
add eax, 0x74a54926
cmp eax, 0x2774b88c
jbe 0x140001426
jmp 0x14000144d
mov qword [rbp], rbx
mov byte [r14], 0x13
mov r13b, 0x13
mov r12, qword [r12]
test r12, r12
jne 0x1400014d2
jmp 0x140001570
mov eax, dword [0x141dbe060]
sub eax, dword [0x141dbe064]
imul rax, rax, 0x6b55089b
shr rax, 0x3e
or eax, 0xfec57d70
mov byte [r14], 0
cmp eax, 0x2f8fb2d5
jae 0x140001460
mov byte [r14], 0
jmp 0x140001426
mov eax, dword [0x141dbe068]
and eax, dword [0x141dbe06c]
add eax, 0x3594d8cb
xor eax, 0x689dd76d
cmp eax, 0xd3412d02
ja 0x140001460
mov eax, dword [0x141dbe070]
or eax, dword [0x141dbe074]
xor eax, 0x21000080
and eax, 0x611a0080
cmp eax, 0xc25cd3c9
ja 0x1400014bc
mov eax, dword [0x141dbe078]
sub eax, dword [0x141dbe07c]
imul eax, eax, 0x300ce3f3
add eax, 0x502a86e5
mov dword [r14 + 4], r15d
cmp eax, 0x68b2713b
jae 0x1400014c2
mov dword [r14 + 4], r15d
jmp 0x14000149a
xor r13d, r13d
mov r12, qword [r12]
test r12, r12
je 0x140001570
mov rcx, qword [r12]
mov eax, dword [0x141dbe088]
xor edx, edx
div dword [0x141dbe08c]
nop word cs:[rax + rax]
mov eax, dword [0x141dbe090]
xor edx, edx
div dword [0x141dbe094]
and eax, 0x52052afb
imul eax, eax, 0xdf0ce5aa
or eax, 0x1f539c35
cmp eax, 0x60376c0e
jb 0x1400014f0
mov rsi, qword [rcx + 0x10]
mov eax, dword [0x141dbe098]
add eax, dword [0x141dbe09c]
or eax, 0x341133d2
cmp eax, 0xd13961d9
jne 0x140001540
sub rsp, 0x20
mov rcx, r12
call rsi
add rsp, 0x20
nop
mov ebx, dword [0x141dbe0a0]
and ebx, dword [0x141dbe0a4]
or ebx, 0xb6d8ff9d
and ebx, 0xbed8ff9d
sub rsp, 0x20
mov rcx, r12
call rsi
add rsp, 0x20
cmp ebx, 0x4234ea99
jbe 0x140001540
nop dword [rax]
mov eax, dword [0x141dbe0a8]
sub eax, dword [0x141dbe0ac]
and eax, 0x25c432a0
xor eax, 0xdd6d0095
cmp eax, 0xc5b1d5d0
jb 0x140001570
mov rbx, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x141dbe0b0]
xor eax, dword [0x141dbe0b4]
add eax, 0x7bce3f14
or eax, 0x4900042
and eax, 0xae922c4e
cmp eax, 0xf3ca9138
ja 0x1400015a0
test r15d, r15d
js 0x1400015dc
sub rsp, 0x20
mov rcx, r14
call fcn.14000de50
add rsp, 0x20
jmp 0x14000182a
mov r15, qword [rbp - 8]
mov byte [r15 + 8], r13b
mov eax, dword [r14 + 1]
mov ecx, dword [r14 + 4]
mov dword [r15 + 9], eax
mov dword [r15 + 0xc], ecx
mov qword [r15 + 0x10], rdx
movups xmm0, xmmword [r15 + 0x18]
movups xmmword [rdi + 0x10], xmm0
movzx eax, byte [r15 + 8]
mov byte [rdi], al
mov eax, dword [r15 + 9]
mov dword [rdi + 1], eax
movzx eax, word [r15 + 0xd]
mov word [rdi + 5], ax
movzx eax, byte [r15 + 0xf]
mov byte [rdi + 7], al
mov rax, qword [r15 + 0x10]
mov qword [rdi + 8], rax
mov rsi, qword [rbp - 0x10]
nop dword [rax]
mov eax, dword [0x141dbe0d0]
xor edx, edx
div dword [0x141dbe0d4]
or eax, 0xa001a012
and eax, 0xa0cfe5b2
add eax, 0x691a5b63
cmp eax, 0xd7ae0258
ja 0x140001630
movzx eax, byte [rsi]
cmp eax, 0x12
je case.0x140001698.0
mov ecx, dword [0x141dbe0d8]
and ecx, dword [0x141dbe0dc]
add ecx, 0x27092e4b
or ecx, 0xd5c4d8f0
cmp ecx, 0xcfa6b405
je 0x140001660
cmp rax, 0x10
ja case.default.0x140001698
lea rcx, [0x141db8f30]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov ecx, 0xb6f08b15
nop
mov eax, dword [0x141dbe0e8]
xor edx, edx
div dword [0x141dbe0ec]
imul rax, rcx
shr rax, 0x3d
or eax, 0x804000a4
and eax, 0x804000a6
cmp eax, 0x7237b479
je 0x1400016a0
mov rcx, qword [rsi + 8]
mov r8d, 0xa49313d5
nop word cs:[rax + rax]
mov eax, dword [0x141dbe0f0]
xor edx, edx
div dword [0x141dbe0f4]
imul rax, rax, 0x19467eff
shr rax, 0x39
add eax, 0xf28cafdd
imul rax, r8
shr rax, 0x3f
cmp eax, 0x763271d1
ja 0x1400016e0
mov eax, 0x10
jmp 0x1400018f1
mov eax, dword [0x141dbe0e0]
add eax, dword [0x141dbe0e4]
xor eax, 0xb47159ab
add eax, 0xc7d6e29b
or eax, 0x1fe6aa7a
cmp eax, 0xb95dc5d8
je case.default.0x140001698
jmp case.0x140001698.10
mov eax, dword [0x141dbe108]
or eax, dword [0x141dbe10c]
or eax, 0x404
xor eax, 0x2410000
and eax, 0x42611c44
cmp eax, 0xb6e35f32
ja case.0x140001698.12
jmp case.0x140001698.10
mov eax, 0xb20783df
mov ecx, 0x9fded9d5
nop
mov edx, dword [0x141dbe0f8]
xor edx, dword [0x141dbe0fc]
imul rdx, rax
shr rdx, 0x3f
or edx, 0xcf307ea2
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0xf617c85c
ja 0x140001780
nop word [rax + rax]
mov eax, dword [0x141dbe100]
or eax, dword [str.__bR]
imul rax, rax, 0x5c36bfe1
shr rax, 0x3b
xor eax, 0x24edf329
imul eax, eax, 0xffe0c686
cmp eax, 0x941e9aa7
jb 0x1400017b0
mov eax, 0x10
cmp qword [rsi + 8], 0
je case.0x140001698.0
mov r8, qword [rsi + rax]
mov rcx, qword [0x141dda6a0]
sub rsp, 0x20
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
nop
mov eax, dword [0x141dbe120]
imul eax, dword [0x141dbe124]
imul eax, eax, 0xd915bb4d
cmp eax, 0x333851d7
jbe 0x140001810
mov eax, dword [0x141dbe138]
add eax, dword [0x141dbe13c]
cmp eax, 0x9a4b20a4
jne 0x140001850
mov qword [rbx], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dbe140]
xor edx, edx
div dword [0x141dbe144]
add eax, 0x264886bb
imul rax, rax, 0xa4a1d0d
shr rax, 0x3a
mov qword [rbx], 0
cmp eax, 0xe56179d3
je 0x140001850
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [rsi + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dbe110]
xor edx, edx
div dword [0x141dbe114]
or eax, 0xfbec5f5c
and eax, 0xfbfc7f5c
cmp eax, 0x51fe5616
jb 0x1400018a0
nop
mov eax, dword [0x141dbe118]
xor eax, dword [0x141dbe11c]
add eax, 0x327e5fe2
imul rdx, rax, 0x14301911
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x68b48ed9
je 0x1400018c0
mov eax, 8
test rcx, rcx
jne 0x1400017e5
jmp case.0x140001698.0
mov eax, dword [0x141dbe0c8]
xor edx, edx
div dword [0x141dbe0cc]
xor eax, 0xf309dfbe
mov edx, 0xa8d7babb
imul rdx, rax
shr rdx, 0x3f
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
cmp edx, 0x4ebfa4a6
jbe 0x140001949
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
jmp 0x1400018ff
test rcx, rcx
mov rsi, qword [rbp - 0x10]
je 0x140001630
lea rax, [rbx + 8]
mov edx, dword [0x141dbe128]
or edx, dword [0x141dbe12c]
add edx, 0xfca24f7
or edx, 0x469a9203
and edx, 0xf6bf93f7
cmp edx, 0x1082107c
jae 0x140001990
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rdx, qword [r15 + 0x28]
nop word cs:[rax + rax]
mov r9d, dword [0x141dbe130]
and r9d, dword [0x141dbe134]
add r9d, 0x45611d51
or r9d, 0x5ab1a5ff
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
cmp r9d, 0x42d8d8ac
je 0x1400019a0
mov qword [rbx], rcx
mov qword [rbx + 0x28], rdx
jmp 0x14000187c