Function at 0x14003b090
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 r15, r8
mov r12, rdx
mov qword [rbp], rcx
mov eax, dword [str.ijF]
imul eax, dword [0x141dc61e4]
or eax, 0x3a76e25d
add eax, 0x53c29372
or eax, 0x104aa7eb
cmp eax, 0x6c1e5bc9
jb 0x14003b108
mov ecx, dword [0x141dc61e8]
xor ecx, dword [0x141dc61ec]
add ecx, 0xe055e7d5
or ecx, 0x8999c04a
and ecx, 0xcdd9c1eb
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
mov rbx, rsp
cmp ecx, 0x5f02c16e
jae 0x14003b117
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
jmp 0x14003b0d2
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov rdi, rsp
nop word [rax + rax]
mov eax, dword [0x141dc61f0]
imul eax, dword [0x141dc61f4]
add eax, 0x7fcd5e12
cmp eax, 0xa71be391
jb 0x14003b130
test r15, r15
js 0x14003ba27
mov eax, 0xaeb4bf65
nop word [rax + rax]
mov ecx, dword [0x141dc61f8]
xor ecx, dword [0x141dc61fc]
add ecx, 0x937dc117
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xf2028372
ja 0x14003b160
test r15, r15
je 0x14003b200
movzx eax, byte [0x141ddc4f8]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r15
call fcn.1400c0a10
add rsp, 0x20
mov r14, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc6200]
xor edx, edx
div dword [0x141dc6204]
add eax, 0xecee4285
xor eax, 0x146f7c35
imul eax, eax, 0xba47d8af
cmp eax, 0xc773c02
jb 0x14003b1b0
test r14, r14
je 0x14003ba27
nop
mov eax, dword [0x141dc6208]
and eax, dword [0x141dc620c]
or eax, 0xa809c300
imul eax, eax, 0x3c760bc7
cmp eax, 0x70782af8
je 0x14003b1e0
jmp 0x14003b206
mov r14d, 1
mov qword [rdi], r15
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], 0
lea r13, [r12 + r15*2]
xor r10d, r10d
xor r15d, r15d
mov qword [rbp - 8], r13
nop word cs:[rax + rax]
cmp r12, r13
je 0x14003b913
nop dword [rax]
mov eax, dword [0x141dc6218]
imul eax, dword [0x141dc621c]
imul eax, eax, 0xe2ae84ef
xor eax, 0xf85a9e38
cmp eax, 0x90fb73e0
jb 0x14003b240
lea r9, [r12 + 2]
movzx ecx, word [r12]
mov r8d, ecx
and r8d, 0xf800
mov eax, dword [0x141dc6220]
xor edx, edx
div dword [0x141dc6224]
add eax, 0x863f6e84
or eax, 0x27b6ad17
cmp eax, 0xcc5c8d7f
je 0x14003b273
movzx eax, r8w
cmp eax, 0xd800
jne 0x14003b400
nop word cs:[rax + rax]
cmp r9, r13
sete al
cmp ecx, 0xdc00
setae dl
mov r8d, dword [0x141dc6228]
add r8d, dword [0x141dc622c]
imul r8d, r8d, 0xb400bfe2
add r8d, 0xa7283a9b
cmp r8d, 0x32557e49
jb 0x14003b2b0
or dl, al
jne 0x14003b93d
nop dword [rax]
mov eax, dword [0x141dc6230]
imul eax, dword [0x141dc6234]
imul eax, eax, 0x64be588
add eax, 0x8d621ed1
and eax, 0xf33e5db8
cmp eax, 0xcfc146d2
je 0x14003b2f0
movzx r8d, word [r9]
nop dword [rax + rax]
mov eax, dword [0x141dc6238]
xor edx, edx
div dword [0x141dc623c]
shr eax, 2
imul rax, rax, 0x26c3bb79
shr rax, 0x3b
imul eax, eax, 0xb82d1bae
cmp eax, 0x426b4c36
ja 0x14003b320
lea r9d, [r8 + 0x2000]
mov eax, dword [0x141dc6240]
xor edx, edx
div dword [0x141dc6244]
shr eax, 1
imul rax, rax, 0x4c932473
shr rax, 0x3b
imul eax, eax, 0x5c92a251
add eax, 0x70362f0e
cmp eax, 0xb0b57ca3
ja 0x14003b350
movzx eax, r9w
cmp eax, 0xfc00
jb 0x14003b93d
add r12, 4
and ecx, 0x3ff
and r8d, 0x3ff
shl rcx, 0x1a
shl r8, 0x10
or rcx, r8
movabs rax, 0x100000000
add rcx, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc6248]
add eax, dword [0x141dc624c]
and eax, 0x2000e14
add eax, 0x10e37827
cmp eax, 0xa0aa5545
ja 0x14003b3c0
mov r9, r12
mov rsi, rcx
shr rsi, 0x10
cmp esi, 0x80
jae 0x14003b530
jmp 0x14003b417
shl rcx, 0x10
mov rsi, rcx
shr rsi, 0x10
cmp esi, 0x80
jae 0x14003b530
mov eax, dword [0x141dc62e8]
xor edx, edx
div dword [0x141dc62ec]
nop word cs:[rax + rax]
mov eax, dword [0x141dc62f0]
xor eax, dword [0x141dc62f4]
xor eax, 0x4b7d5f64
imul eax, eax, 0x8dd823cf
xor eax, 0x50a10a36
cmp eax, 0xac3cf7ab
ja 0x14003b430
cmp r15, qword [rdi]
jne 0x14003b49d
sub rsp, 0x20
mov rcx, rdi
mov r14, r9
call fcn.14003add0
mov r9, r14
xor r10d, r10d
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141dc62f8]
xor eax, dword [0x141dc62fc]
xor eax, 0x79a5b4a1
add eax, 0xc3412a02
cmp eax, 0xa33fe4b7
ja 0x14003b480
mov eax, dword [0x141dc6300]
add eax, dword [0x141dc6304]
and eax, 0x62f4572f
xor eax, 0xc54c98be
add eax, 0x4769b507
cmp eax, 0xb523fe6
jae 0x14003b4d0
mov rax, qword [rdi + 8]
mov byte [rax + r15], sil
nop word [rax + rax]
mov eax, dword [0x141dc6308]
xor eax, dword [0x141dc630c]
add eax, 0xa48ec370
or eax, 0xc699cec
mov r14, qword [rdi + 8]
mov byte [r14 + r15], sil
cmp eax, 0x941fcab
je 0x14003b4d0
nop word cs:[rax + rax]
mov eax, dword [0x141dc6310]
add eax, dword [0x141dc6314]
and eax, 0x8400820a
imul eax, eax, 0x18fbb970
cmp eax, 0x969ee3d5
ja 0x14003b500
inc r15
mov qword [rdi + 0x10], r15
mov r12, r9
jmp 0x14003b230
test r10b, r10b
jne 0x14003b530
mov eax, dword [0x141dc6270]
imul eax, dword [0x141dc6274]
xor eax, 0x5e565d05
mov edx, 0x9d17e2af
imul rax, rdx
shr rax, 0x3f
cmp eax, 0x7438aebc
jne 0x14003b570
mov dword [rbx], 0
nop word cs:[rax + rax]
mov dword [rbx], 0
test r10b, r10b
jne 0x14003b570
mov eax, dword [0x141dc6278]
or eax, dword [0x141dc627c]
imul eax, eax, 0xa62d6e0f
imul rax, rax, 0x43c65565
shr rax, 0x3e
cmp eax, 0x753b56a4
je 0x14003b57b
cmp esi, 0x800
jae 0x14003b600
nop word [rax + rax]
mov eax, dword [0x141dc62b0]
xor edx, edx
div dword [0x141dc62b4]
and eax, 0xee84189a
add eax, 0x9ddb30f3
imul rax, rax, 0x4407cc95
shr rax, 0x3e
cmp eax, 0x14576846
je 0x14003b5b0
shr rcx, 0x16
mov eax, dword [0x141dc62b8]
imul eax, dword [0x141dc62bc]
and eax, 0x10208
cmp eax, 0xb20a408
jne 0x14003b770
jmp 0x14003b7e0
mov eax, dword [0x141dc6280]
and eax, dword [0x141dc6284]
and eax, 0x81111002
or eax, 0x6aaee0e5
imul eax, eax, 0x3a850d4
cmp eax, 0x463b5d93
ja 0x14003b600
cmp esi, 0x10000
jae 0x14003b719
nop
test r10b, r10b
jne 0x14003b630
mov r8, rcx
shr r8, 0x1c
mov eax, dword [0x141dc6290]
add eax, dword [0x141dc6294]
or eax, 0x6d68fede
mov edx, 0xa0af9237
imul rax, rdx
shr rax, 0x3e
or eax, 0x80d1effc
cmp eax, 0x3bfd6187
jne 0x14003b670
mov eax, r8d
or al, 0xe0
mov byte [rbx], al
nop dword [rax]
mov eax, dword [0x141dc6298]
xor edx, edx
div dword [0x141dc629c]
shr eax, 1
imul rax, rax, 0x44758d55
shr rax, 0x39
and eax, 0xb
imul eax, eax, 0xd0032c57
mov edx, r8d
or dl, 0xe0
mov byte [rbx], dl
cmp eax, 0x4abf4236
je 0x14003b670
mov eax, dword [0x141dc62a0]
and eax, dword [0x141dc62a4]
shr rcx, 0x16
imul eax, eax, 0xfe5c1687
or eax, 0xffe77ff5
cmp eax, 0x909a19cb
jne 0x14003b6d0
mov eax, ecx
and al, 0x3f
or al, 0x80
mov byte [rbx + 1], al
nop
mov eax, dword [0x141dc62a8]
or eax, dword [0x141dc62ac]
imul rax, rax, 0x2590d9c3
shr rax, 0x3b
add eax, 0x447730ce
imul rax, rax, 0x2d8524e7
shr rax, 0x3b
mov edx, ecx
and dl, 0x3f
or dl, 0x80
mov byte [rbx + 1], dl
cmp eax, 0xe091ad67
ja 0x14003b6d0
mov r12d, 3
mov eax, 2
jmp 0x14003b7a4
mov rax, rcx
shr rax, 0x22
mov edx, dword [0x141dc6288]
and edx, dword [0x141dc628c]
imul edx, edx, 0xc19a18b3
imul rdx, rdx, 0x7d422a39
shr rdx, 0x3e
cmp edx, 0x3a432341
ja 0x14003b720
or al, 0xf0
mov byte [rbx], al
mov rax, rcx
shr rax, 0x1c
and al, 0x3f
or al, 0x80
mov byte [rbx + 1], al
shr ecx, 0x16
and cl, 0x3f
or cl, 0x80
mov byte [rbx + 2], cl
mov r12d, 4
mov eax, 3
jmp 0x14003b7a4
mov eax, dword [0x141dc62c0]
and eax, dword [0x141dc62c4]
xor eax, 0x9881a00
or eax, 0x1445c53f
add eax, 0x184405b
mov edx, ecx
or dl, 0xc0
mov byte [rbx], dl
cmp eax, 0x107b87c0
jb 0x14003b7e0
mov r12d, 2
mov eax, 1
mov ecx, dword [0x141dc62c8]
imul ecx, dword [0x141dc62cc]
add ecx, 0x5ae6604d
imul rdx, rcx, 0x2518b4e3
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1e
cmp ecx, 0x9fd71212
jne 0x14003b7f0
jmp 0x14003b8e0
mov eax, ecx
or al, 0xc0
mov byte [rbx], al
jmp 0x14003b770
mov ecx, dword [0x141dc62d0]
and ecx, dword [0x141dc62d4]
and ecx, 0x286
or ecx, 0xffb10d40
xor ecx, 0x48572ccf
mov edx, esi
and dl, 0x3f
or dl, 0x80
mov byte [rbx + rax], dl
cmp ecx, 0xbbd9d62f
ja 0x14003b8e0
mov qword [rbp - 0x10], r9
mov rax, qword [rdi]
sub rax, r15
cmp rax, r12
jb 0x14003b8f0
mov rsi, r15
mov eax, dword [0x141dc62d8]
add eax, dword [0x141dc62dc]
imul eax, eax, 0xcf259c92
add eax, 0x3c10d47b
or eax, 0xf5932167
cmp eax, 0xc2bc35c5
jne 0x14003b880
lea rcx, [r14 + rsi]
sub rsp, 0x20
mov rdx, rbx
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
lea rax, [rsi + r12]
mov qword [rdi + 0x10], rax
nop dword [rax]
mov eax, dword [0x141dc62e0]
imul eax, dword [0x141dc62e4]
imul r13d, eax, 0xbc3990ac
or r13d, 0xedeff3f3
lea rcx, [r14 + rsi]
sub rsp, 0x20
mov rdx, rbx
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
lea r15, [rsi + r12]
mov qword [rdi + 0x10], r15
cmp r13d, 0x81d9eb04
jb 0x14003b880
mov r12, qword [rbp - 0x10]
mov r13, qword [rbp - 8]
xor r10d, r10d
jmp 0x14003b230
mov ecx, esi
and cl, 0x3f
or cl, 0x80
mov byte [rbx + rax], cl
jmp 0x14003b7f0
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
mov r8, r12
call fcn.1400f4720
add rsp, 0x20
mov r14, qword [rdi + 8]
mov rsi, qword [rdi + 0x10]
jmp 0x14003b83b
mov eax, dword [0x141dc6250]
and eax, dword [0x141dc6254]
or eax, 0x114052
and eax, 0x8314152
cmp eax, 0x47d65b0f
mov rcx, qword [rbp]
jbe 0x14003ba4f
jmp 0x14003ba80
movabs rax, 0x8000000000000000
mov ecx, dword [0x141dc6318]
xor ecx, dword [0x141dc631c]
xor ecx, 0x821eff60
imul ecx, ecx, 0x37b9897d
add ecx, 0x1e5357d5
cmp ecx, 0xee386286
mov rdx, qword [rbp]
jbe 0x14003b980
mov qword [rdx], rax
nop word cs:[rax + rax]
mov ecx, dword [0x141dc6320]
sub ecx, dword [0x141dc6324]
xor ecx, 0x4de4031
imul rcx, rcx, 0x1b3cf073
shr rcx, 0x3b
mov qword [rdx], rax
cmp ecx, 0xc3d194e3
ja 0x14003b980
cmp qword [rdi], 0
je 0x14003ba00
mov eax, dword [0x141dc6328]
imul eax, dword [0x141dc632c]
imul eax, eax, 0x64a7118b
add eax, 0x525a0a29
cmp eax, 0xf19ad270
jbe 0x14003b9d4
mov rax, qword [0x141ddc4e0]
xor eax, eax
nop word cs:[rax + rax]
mov rcx, qword [0x141ddc4e0]
test al, al
jne 0x14003b9e0
sub rsp, 0x20
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
nop
mov eax, dword [0x141dc6330]
and eax, dword [0x141dc6334]
xor eax, 0x9b90ccaa
add eax, 0xaf1a54c7
xor eax, 0x190cd08e
cmp eax, 0xa7296706
jae 0x14003ba00
jmp 0x14003bae3
ud2
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [0x141dc6258]
sub eax, dword [str.I_0Wn]
or eax, 0x204068dd
imul eax, eax, 0xd14d6e13
add eax, 0xc8dbc24c
movups xmm0, xmmword [rdi]
movups xmmword [rcx], xmm0
cmp eax, 0x99a231ab
jbe 0x14003ba90
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rcx], xmm0
jmp 0x14003ba4f
mov eax, dword [0x141dc6260]
xor edx, edx
div dword [0x141dc6264]
or eax, 0xa97e0a00
shr eax, 5
imul rax, rax, 0xa737c11
shr rax, 0x36
cmp eax, 0x126c8460
je 0x14003ba90
nop dword [rax + rax]
mov eax, dword [0x141dc6268]
add eax, dword [0x141dc626c]
imul eax, eax, 0xe49e1d54
add eax, 0xe33cc2dc
or eax, 0xecd1b5c1
cmp eax, 0xa07eca07
jb 0x14003bac0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret