Function at 0x14003cf10
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], rcx
mov eax, dword [0x140101c70]
imul eax, dword [0x140101c74]
and eax, 0xa12d5e76
and eax, 0xc9cdab9e
and eax, 0x1e55475a
cmp eax, 0x58dc9828
ja 0x14003d634
mov r8, qword [rbp + 0x18]
mov eax, dword [0x140101c78]
mov ecx, dword [0x140101c7c]
xor eax, ecx
imul eax, eax, 0xb0028348
add eax, 0x565d1cf8
imul rax, rax, 0x1bece321
shr rax, 0x3b
mov dword [rbp + 0x10], eax
mov eax, 0x10
mov qword [rbp - 0x10], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rdx, rsp
mov qword [rbp - 0x28], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp], rcx
mov qword [rdx], r8
mov dword [rax], 0x140
mov dword [rcx], 1
movsxd rcx, dword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_malloc
mov rdx, qword [rbp + 8]
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp + 0x10]
mov qword [rdx], rcx
cmp rcx, 0
setne cl
mov byte [rbp + 0x17], cl
cmp eax, 0x70965df8
ja 0x14003d634
mov al, byte [rbp + 0x17]
test al, 1
jne 0x14003d064
jmp 0x14003d055
mov rax, qword [rbp - 0x30]
mov dword [rax], 0
jmp 0x14003d628
mov eax, dword [0x140101c80]
sub eax, dword [str.__bv]
add eax, 0x8ea6882b
and eax, 0x60a9a4b8
and eax, 0xcf1b6864
cmp eax, 0x2163d6b4
ja 0x14003d6d7
mov rax, qword [rbp - 8]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp - 0x28]
mov r8d, dword [0x140101c88]
xor r8d, dword [0x140101c8c]
add r8d, 0x7282fbec
xor r8d, 0x2272d3ff
xor r8d, 0x9c788267
mov dword [rbp - 0x38], r8d
mov rcx, qword [rcx]
mov r8, qword [rdx]
mov r9d, dword [rax]
sub r9d, 1
mov rax, qword [0x140117de0]
mov eax, dword [rax + 0xc]
xor edx, edx
sub rsp, 0x30
mov dword [rsp + 0x20], 0xa
mov dword [rsp + 0x28], eax
call fcn.140069f30
mov rcx, qword [rbp - 0x18]
add rsp, 0x30
mov edx, eax
mov eax, dword [rbp - 0x38]
mov dword [rcx], edx
cmp dword [rcx], 4
setl cl
mov byte [rbp - 0x31], cl
cmp eax, 0xd481af4c
je 0x14003d08a
mov al, byte [rbp - 0x31]
test al, 1
jne 0x14003d11e
jmp 0x14003d180
mov eax, dword [0x140101c90]
and eax, dword [0x140101c94]
add eax, 0x2d92b1cd
or eax, 0x54db1b2
or eax, 0xf584a62e
cmp eax, 0x948db1cf
jb 0x14003d722
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x140101c98]
sub eax, dword [0x140101c9c]
or eax, 0x288a5103
imul eax, eax, 0xb49a70a5
mov r8d, 0x1fc72cb7
xor edx, edx
div r8d
mov dword [rcx], 0
cmp eax, 0xec4a2f19
je 0x14003d144
jmp 0x14003d628
mov eax, dword [0x140101ca0]
sub eax, dword [0x140101ca4]
mov ecx, 0x36bae5b2
xor edx, edx
div ecx
imul eax, eax, 0x1dfa8bc6
and eax, 0xf1b70ab
cmp eax, 0x872a6709
ja 0x14003d731
mov rax, qword [rbp + 8]
mov ecx, dword [0x140101ca8]
and ecx, dword [0x140101cac]
xor ecx, 0xbee7360b
xor ecx, 0x79f5ebc0
imul ecx, ecx, 0x1aecc35c
mov dword [rbp - 0x40], ecx
mov rcx, qword [rax]
lea rdx, [0x140101ac9]
mov r8d, 4
sub rsp, 0x20
call sub.msvcrt.dll__strnicmp
add rsp, 0x20
mov ecx, eax
mov eax, dword [rbp - 0x40]
cmp ecx, 0
setne cl
mov byte [rbp - 0x39], cl
cmp eax, 0x7a25e29
jb 0x14003d1ab
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14003d216
jmp 0x14003d36f
mov eax, dword [0x140101cb0]
add eax, dword [0x140101cb4]
imul eax, eax, 0x7bee2299
or eax, 0x2bfa8acf
add eax, 0x83e95a5f
cmp eax, 0xb637affd
je 0x14003d757
mov eax, dword [0x140101cb8]
xor edx, edx
div dword [0x140101cbc]
mov ecx, 0xfcba49df
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 8]
add ecx, 0x3198ce80
sub ecx, 0x4ad20743
mov dword [rbp - 0x48], ecx
mov rcx, qword [rax]
lea rdx, [0x140101ace]
mov r8d, 4
sub rsp, 0x20
call sub.msvcrt.dll__strnicmp
add rsp, 0x20
mov ecx, eax
mov eax, dword [rbp - 0x48]
cmp ecx, 0
setne cl
mov byte [rbp - 0x41], cl
cmp eax, 0x5a9a144a
jb 0x14003d757
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14003d2af
jmp 0x14003d36f
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
lea rdx, [0x140101ad3]
mov r8d, 8
sub rsp, 0x20
call sub.msvcrt.dll__strnicmp
add rsp, 0x20
cmp eax, 0
je 0x14003d36f
mov eax, dword [0x140101cc0]
sub eax, dword [0x140101cc4]
and eax, 0x19461979
sub eax, 0xb6dbff97
mov ecx, 0x87930403
xor edx, edx
div ecx
cmp eax, 0x8d3aca58
je 0x14003d77d
mov rax, qword [rbp + 8]
mov ecx, dword [0x140101cc8]
imul ecx, dword [0x140101ccc]
and ecx, 0x525c7def
or ecx, 0x46a6d270
add ecx, 0x7a9d6eff
mov dword [rbp - 0x50], ecx
mov rcx, qword [rax]
lea rdx, [0x140101adc]
mov r8d, 4
sub rsp, 0x20
call sub.msvcrt.dll__strnicmp
add rsp, 0x20
mov ecx, eax
mov eax, dword [rbp - 0x50]
cmp ecx, 0
setne cl
mov byte [rbp - 0x49], cl
cmp eax, 0x58e640b
jbe 0x14003d303
mov al, byte [rbp - 0x49]
test al, 1
jne 0x14003d43c
jmp 0x14003d36f
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp - 8]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp - 0x28]
mov rcx, qword [rcx]
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14001bce0
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp - 0x20]
mov dword [rax], ecx
cmp dword [rax], 0
je 0x14003d437
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rax, qword [rbp - 0x20]
add rsp, 0x20
cmp dword [rax], 2
jne 0x14003d3d8
mov rax, qword [rbp - 0x30]
mov dword [rax], 2
jmp 0x14003d628
mov eax, dword [0x140101cd0]
xor eax, dword [0x140101cd4]
add eax, 0xda9e07a5
mov ecx, 0x749c39f3
xor edx, edx
div ecx
or eax, 0x9a57f1e0
cmp eax, 0x5ffbcf8e
jb 0x14003d7a3
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x140101cd8]
xor eax, dword [0x140101cdc]
sub eax, 0x8932d38b
xor eax, 0x4c8c9abe
sub eax, 0xc6cbaae5
mov dword [rcx], 0xffffffff
cmp eax, 0x7bf34cad
jbe 0x14003d7a3
jmp 0x14003d628
jmp 0x14003d43c
mov eax, dword [0x140101ce0]
xor eax, dword [0x140101ce4]
sub eax, 0xccef449f
add eax, 0xf80cc7ff
xor eax, 0xb96134ec
cmp eax, 0xf08a72b8
je 0x14003d7b2
mov r8, qword [rbp + 8]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x28]
mov ecx, dword [0x140101ce8]
xor ecx, dword [0x140101cec]
sub ecx, 0xaded3c76
add ecx, 0x8965ef88
or ecx, 0x2a3524c7
mov dword [rbp - 0x58], ecx
mov rcx, qword [rdx]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x80]
mov r8, qword [r8]
mov r9d, dword [rax]
mov rax, qword [0x140117de0]
mov eax, dword [rax + 8]
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.140065d80
add rsp, 0x30
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
lea rdx, [0x140101ad3]
mov r8d, 8
sub rsp, 0x20
call sub.msvcrt.dll__strnicmp
add rsp, 0x20
mov ecx, eax
mov eax, dword [rbp - 0x58]
cmp ecx, 0
setne cl
mov byte [rbp - 0x51], cl
cmp eax, 0x97b7c5a0
jb 0x14003d462
mov al, byte [rbp - 0x51]
test al, 1
jne 0x14003d507
jmp 0x14003d59d
mov eax, dword [0x140101cf0]
xor edx, edx
div dword [0x140101cf4]
xor eax, 0xedbae9ff
xor eax, 0x3102824d
add eax, 0xadb2a97c
cmp eax, 0xdf009c44
je 0x14003d812
mov eax, dword [0x140101cf8]
xor eax, dword [0x140101cfc]
xor eax, 0x67cef852
sub eax, 0x1993d869
mov ecx, 0xca44c7b3
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 8]
mov dword [rbp - 0x60], ecx
mov rcx, qword [rax]
lea rdx, [0x140101adc]
mov r8d, 4
sub rsp, 0x20
call sub.msvcrt.dll__strnicmp
add rsp, 0x20
mov ecx, eax
mov eax, dword [rbp - 0x60]
cmp ecx, 0
setne cl
mov byte [rbp - 0x59], cl
cmp eax, 0xaecad56f
ja 0x14003d52f
mov al, byte [rbp - 0x59]
test al, 1
jne 0x14003d5a7
jmp 0x14003d59d
mov rax, qword [rbp]
mov dword [rax], 0x16
mov eax, dword [0x140101d00]
or eax, dword [0x140101d04]
and eax, 0xab13f937
and eax, 0x5094d52
sub eax, 0xf2872429
cmp eax, 0x763fc414
jae 0x14003d838
mov eax, dword [0x140101d08]
add eax, dword [0x140101d0c]
xor eax, 0xfa0644c0
mov ecx, 0x841c767e
xor edx, edx
div ecx
mov ecx, 0xd26c8bd0
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 8]
mov dword [rbp - 0x64], ecx
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x30]
mov eax, dword [rbp - 0x64]
add rsp, 0x20
mov edx, dword [rdx]
mov dword [rcx], edx
cmp eax, 0x17ac8aec
je 0x14003d5cd
jmp 0x14003d628
mov rax, qword [rbp - 0x30]
mov eax, dword [rax]
lea rsp, [rbp + 0x20]
pop rbp
ret
mov r8, qword [rbp + 0x18]
mov eax, 0x10
mov qword [rbp - 0x80], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov rdx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov rcx, rsp
mov qword [rbp - 0x70], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov rcx, rsp
mov qword [rbp - 0x78], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov rcx, rsp
mov qword [rdx], r8
mov dword [rax], 0x140
mov dword [rcx], 1
movsxd rcx, dword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_malloc
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x70]
mov qword [rax], rcx
jmp 0x14003cf4b
mov rax, qword [rbp - 8]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp - 0x28]
mov rcx, qword [rcx]
mov r8, qword [rdx]
mov r9d, dword [rax]
sub r9d, 1
mov rax, qword [0x140117de0]
mov eax, dword [rax + 0xc]
xor edx, edx
sub rsp, 0x30
mov dword [rsp + 0x20], 0xa
mov dword [rsp + 0x28], eax
call fcn.140069f30
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp - 0x18]
mov dword [rax], ecx
jmp 0x14003d08a
mov rax, qword [rbp - 0x30]
mov dword [rax], 0
jmp 0x14003d144
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
lea rdx, [0x140101ac9]
mov r8d, 4
sub rsp, 0x20
call sub.msvcrt.dll__strnicmp
add rsp, 0x20
jmp 0x14003d1ab
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
lea rdx, [0x140101ace]
mov r8d, 4
sub rsp, 0x20
call sub.msvcrt.dll__strnicmp
add rsp, 0x20
jmp 0x14003d23d
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
lea rdx, [0x140101adc]
mov r8d, 4
sub rsp, 0x20
call sub.msvcrt.dll__strnicmp
add rsp, 0x20
jmp 0x14003d303
mov rax, qword [rbp - 0x30]
mov dword [rax], 0xffffffff
jmp 0x14003d402
mov r8, qword [rbp + 8]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rdx]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x80]
mov r8, qword [r8]
mov r9d, dword [rax]
mov rax, qword [0x140117de0]
mov eax, dword [rax + 8]
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.140065d80
add rsp, 0x30
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
lea rdx, [0x140101ad3]
mov r8d, 8
sub rsp, 0x20
call sub.msvcrt.dll__strnicmp
add rsp, 0x20
jmp 0x14003d462
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
lea rdx, [0x140101adc]
mov r8d, 4
sub rsp, 0x20
call sub.msvcrt.dll__strnicmp
add rsp, 0x20
jmp 0x14003d52f
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rcx, qword [rbp]
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov ecx, dword [rcx]
mov dword [rax], ecx
jmp 0x14003d5cd