Function at 0x14003d860
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], rcx
mov eax, dword [0x140101d10]
xor edx, edx
div dword [0x140101d14]
imul eax, eax, 0x3b3b6e00
mov ecx, 0x7658bd0c
xor edx, edx
div ecx
mov ecx, 0xe28a97b1
xor edx, edx
div ecx
cmp eax, 0x4bd76624
jae 0x14003e107
mov eax, dword [0x140101d18]
mov ecx, dword [0x140101d1c]
xor edx, edx
div ecx
mov rdx, qword [rbp + 8]
imul rax, rax, 0x7967f575
shr rax, 0x3e
add eax, 0xd2101eff
xor eax, 0x89cb8b6d
mov dword [rbp], eax
mov eax, 0x10
mov qword [rbp - 0x20], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov r8, rsp
mov qword [rbp - 8], r8
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov r8, rsp
mov qword [rbp - 0x28], r8
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov r8, rsp
mov qword [rbp - 0x18], r8
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov qword [rcx], rdx
mov dword [rax], 0x1000
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]
mov qword [rdx], rcx
cmp rcx, 0
setne cl
mov byte [rbp + 7], cl
cmp eax, 0xdad80e8
jb 0x14003e107
mov al, byte [rbp + 7]
test al, 1
jne 0x14003d9f3
jmp 0x14003d993
mov eax, dword [0x140101d20]
xor edx, edx
div dword [0x140101d24]
or eax, 0x96267058
or eax, 0x7beea354
or eax, 0x14e46f0c
cmp eax, 0x3cf7202d
je 0x14003e18d
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140101d28]
xor edx, edx
div dword [0x140101d2c]
or eax, 0xf752f32b
imul eax, eax, 0x8e2782a2
or eax, 0xff6ba313
mov dword [rcx], 0
cmp eax, 0x5715adde
je 0x14003e18d
jmp 0x14003e095
mov eax, dword [str._u1nQ]
add eax, dword [0x140101d34]
xor eax, 0x8d174166
or eax, 0x35ccd1ae
add eax, 0x72f22680
cmp eax, 0x19311db7
jb 0x14003e19c
mov eax, dword [str.cc_o]
imul eax, dword [0x140101d3c]
add eax, 0xe1c11dc8
and eax, 0x6bf9d079
xor eax, 0x5ab850de
cmp eax, 0xe68d89c9
jae 0x14003e19c
jmp 0x14003da45
mov eax, dword [0x140101d40]
or eax, dword [0x140101d44]
or eax, 0xa80c7560
mov ecx, 0x3383388a
xor edx, edx
div ecx
or eax, 0x5463c772
cmp eax, 0x3c970ba4
jbe 0x14003e1a1
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x30]
mov r8d, dword [0x140101d48]
imul r8d, dword [0x140101d4c]
or r8d, 0xcfb5e4fa
and r8d, 0xf22d7493
or r8d, 0xa452797a
mov dword [rbp - 0x40], 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 rdx, qword [rbp - 0x18]
add rsp, 0x30
mov ecx, eax
mov eax, dword [rbp - 0x40]
mov dword [rdx], ecx
cmp ecx, 0
setg cl
mov byte [rbp - 0x39], cl
cmp eax, 0xe84634ce
je 0x14003e1a1
mov cl, byte [rbp - 0x39]
xor eax, eax
test cl, 1
mov byte [rbp - 0x41], al
jne 0x14003db0a
jmp 0x14003dbff
mov eax, dword [0x140101d50]
sub eax, dword [0x140101d54]
or eax, 0xa6f73ef6
mov ecx, 0x644885c3
xor edx, edx
div ecx
or eax, 0x5c66eb2d
cmp eax, 0xca629068
jae 0x14003e1ec
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x140101d58]
or eax, dword [0x140101d5c]
sub eax, 0x4f0bc60d
imul eax, eax, 0xaf9c9ac8
imul eax, eax, 0x30bcf78
cmp dword [rcx], 3
sete cl
mov byte [rbp - 0x42], cl
cmp eax, 0xb8aabf36
ja 0x14003e1ec
mov cl, byte [rbp - 0x42]
xor eax, eax
test cl, 1
mov byte [rbp - 0x43], al
jne 0x14003db7f
jmp 0x14003db92
mov rax, qword [rbp - 8]
mov rax, qword [rax]
movzx eax, byte [rax]
cmp eax, 0x2e
sete al
mov byte [rbp - 0x43], al
mov al, byte [rbp - 0x43]
mov byte [rbp - 0x44], al
mov eax, dword [0x140101d60]
sub eax, dword [0x140101d64]
and eax, 0x84c31fb2
or eax, 0xfce8352c
add eax, 0xf5137961
cmp eax, 0xdee158c9
jbe 0x14003e1f1
mov cl, byte [rbp - 0x44]
mov eax, dword [0x140101d68]
or eax, dword [str.2Gr_]
mov r8d, 0x706f54ea
xor edx, edx
div r8d
and eax, 0x4ac84bc2
imul eax, eax, 0x324b8bdc
xor cl, 0xff
mov byte [rbp - 0x45], cl
cmp eax, 0x722d70bf
jae 0x14003dbbe
mov al, byte [rbp - 0x45]
mov byte [rbp - 0x41], al
jmp 0x14003dbff
mov al, byte [rbp - 0x41]
mov byte [rbp - 0x46], al
mov eax, dword [0x140101d70]
add eax, dword [0x140101d74]
and eax, 0x22e7c7e3
add eax, 0x325ea6
imul eax, eax, 0x50857918
cmp eax, 0xbf59903a
ja 0x14003e1f6
mov eax, dword [0x140101d78]
xor edx, edx
div dword [0x140101d7c]
xor eax, 0x19fcc94e
add eax, 0x238dff95
mov ecx, 0xac7b7d24
xor edx, edx
div ecx
cmp eax, 0xdb154565
jae 0x14003e1f6
mov al, byte [rbp - 0x46]
test al, 1
jne 0x14003dc68
jmp 0x14003def3
mov eax, dword [0x140101d80]
imul eax, dword [0x140101d84]
xor eax, 0x2c208e3c
and eax, 0x2ec2ef1d
add eax, 0x2caf7382
cmp eax, 0xa9a7ec80
ja 0x14003e1fb
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x30]
mov r9d, dword [0x140101d88]
add r9d, dword [0x140101d8c]
add r9d, 0x202e36cf
and r9d, 0x94451463
imul r9d, r9d, 0x877544a2
mov dword [rbp - 0x4c], r9d
mov rcx, qword [rcx]
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14001c4c0
mov rcx, qword [rbp - 0x28]
add rsp, 0x30
mov edx, eax
mov eax, dword [rbp - 0x4c]
mov dword [rcx], edx
cmp dword [rcx], 0
setne cl
mov byte [rbp - 0x47], cl
cmp eax, 0x1a86da8a
jbe 0x14003e1fb
mov al, byte [rbp - 0x47]
test al, 1
jne 0x14003dd0d
jmp 0x14003de56
mov eax, dword [0x140101d90]
imul eax, dword [0x140101d94]
or eax, 0x11df0b15
sub eax, 0x39e44efd
add eax, 0xce4309c8
cmp eax, 0xffd40559
je 0x14003e230
mov eax, dword [0x140101d98]
xor edx, edx
div dword [0x140101d9c]
mov ecx, 0xebda3c26
xor edx, edx
div ecx
xor eax, 0x93624ea0
mov ecx, 0x8e7b1a43
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 8]
mov dword [rbp - 0x54], ecx
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rcx, qword [rbp - 0x28]
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp dword [rcx], 2
sete cl
mov byte [rbp - 0x4d], cl
cmp eax, 0xd9fb6982
ja 0x14003dd34
mov al, byte [rbp - 0x4d]
test al, 1
jne 0x14003dd9d
jmp 0x14003ddfb
mov eax, dword [0x140101da0]
xor edx, edx
div dword [0x140101da4]
xor eax, 0xb171174e
add eax, 0x2ff8cd99
or eax, 0x3fb253c7
cmp eax, 0xeac33bb7
jbe 0x14003e249
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140101da8]
sub eax, dword [0x140101dac]
xor eax, 0xc15d149a
imul eax, eax, 0x6ba5be1
and eax, 0xd9c2746c
mov dword [rcx], 1
cmp eax, 0x8eae8128
jb 0x14003e249
jmp 0x14003e095
mov eax, dword [0x140101db0]
add eax, dword [0x140101db4]
sub eax, 0xae79c5fe
and eax, 0xab0b3cde
and eax, 0xbbe4e75f
cmp eax, 0x66de2396
jb 0x14003e258
mov rcx, qword [rbp - 0x38]
mov eax, dword [str.wP_]
add eax, dword [0x140101dbc]
add eax, 0x61bd6488
xor eax, 0x68bd1742
xor eax, 0x1536cde0
mov dword [rcx], 0xffffffff
cmp eax, 0x5236d129
jb 0x14003de21
jmp 0x14003e095
mov eax, dword [0x140101dc0]
add eax, dword [0x140101dc4]
mov ecx, 0x988d06bc
xor edx, edx
div ecx
and eax, 0x42a5f12f
sub eax, 0x82db3c3c
cmp eax, 0xb7cbd225
je 0x14003e267
mov r8, qword [rbp - 8]
mov eax, dword [0x140101dc8]
xor edx, edx
div dword [0x140101dcc]
or eax, 0x9ea5d3a6
add eax, 0x51e12b71
mov ecx, 0xbe5e4798
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x30]
mov ecx, eax
mov rax, qword [rbp - 0x18]
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 eax, dword [rbp - 0x58]
cmp eax, 0x473aaf03
je 0x14003e267
jmp 0x14003da45
mov eax, dword [0x140101dd0]
or eax, dword [0x140101dd4]
and eax, 0x31252d54
and eax, 0x40c34a1a
mov ecx, 0x34e676ad
xor edx, edx
div ecx
cmp eax, 0x7eb7718
ja 0x14003e2a6
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x140101dd8]
add eax, dword [0x140101ddc]
add eax, 0xa9a2048
sub eax, 0x9029e3cf
add eax, 0x289188d1
cmp dword [rcx], 1
setl cl
mov byte [rbp - 0x59], cl
cmp eax, 0xff9220d5
ja 0x14003e2a6
mov al, byte [rbp - 0x59]
test al, 1
jne 0x14003df60
jmp 0x14003dfde
mov eax, dword [0x140101de0]
xor eax, dword [0x140101de4]
and eax, 0x9c586d7c
imul eax, eax, 0xd3813a16
xor eax, 0xdc437560
cmp eax, 0x37140cdf
je 0x14003e2ab
mov eax, dword [0x140101de8]
and eax, dword [0x140101dec]
imul eax, eax, 0x867633e9
mov ecx, 0x1ba6317d
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 8]
add ecx, 0x4e20f526
mov dword [rbp - 0x60], ecx
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rcx, qword [rbp - 0x38]
mov eax, dword [rbp - 0x60]
add rsp, 0x20
mov dword [rcx], 0
cmp eax, 0x9032157c
je 0x14003df87
jmp 0x14003e095
mov eax, dword [0x140101df0]
add eax, dword [0x140101df4]
xor eax, 0x164d08d8
add eax, 0x5ec20189
or eax, 0x1f574bdc
cmp eax, 0x5a8cae62
je 0x14003e2ce
mov r8, qword [rbp - 8]
mov eax, dword [0x140101df8]
xor eax, dword [0x140101dfc]
mov ecx, 0xea12e336
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x30]
mov ecx, eax
mov rax, qword [rbp - 0x18]
and ecx, 0x8b571d70
sub ecx, 0x6663ee35
mov dword [rbp - 0x64], 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]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rcx, qword [rbp - 0x38]
mov eax, dword [rbp - 0x64]
add rsp, 0x20
mov dword [rcx], 1
cmp eax, 0xba208c4f
jae 0x14003e004
jmp 0x14003e095
mov eax, dword [0x140101e00]
xor edx, edx
div dword [0x140101e04]
imul eax, eax, 0x431ddb22
mov ecx, 0x5848c1c9
xor edx, edx
div ecx
mov ecx, 0xbb5a4db8
xor edx, edx
div ecx
cmp eax, 0x59441e4e
jae 0x14003e32b
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140101e08]
xor edx, edx
div dword [0x140101e0c]
imul eax, eax, 0x3690d61
mov r8d, 0xbec4a3c9
xor edx, edx
div r8d
sub eax, 0x6ff49f1a
mov ecx, dword [rcx]
mov dword [rbp - 0x68], ecx
cmp eax, 0x63be9532
jbe 0x14003e0c6
mov eax, dword [rbp - 0x68]
lea rsp, [rbp + 0x10]
pop rbp
ret
mov rdx, qword [rbp + 8]
mov eax, 0x10
mov qword [rbp - 0x78], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov rcx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov r8, rsp
mov qword [rbp - 0x70], r8
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [rcx], rdx
mov dword [rax], 0x1000
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 0x14003d8a5
mov rax, qword [rbp - 0x38]
mov dword [rax], 0
jmp 0x14003d9bb
jmp 0x14003da19
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x30]
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 0x14003da6f
jmp 0x14003db34
jmp 0x14003dbbe
jmp 0x14003dc2c
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x30]
mov rcx, qword [rcx]
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14001c4c0
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp - 0x28]
mov dword [rax], ecx
jmp 0x14003dc8f
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_free
add rsp, 0x20
jmp 0x14003dd34
mov rax, qword [rbp - 0x38]
mov dword [rax], 1
jmp 0x14003ddc5
mov rax, qword [rbp - 0x38]
mov dword [rax], 0xffffffff
jmp 0x14003de21
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp - 8]
mov rdx, qword [rbp - 0x30]
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
jmp 0x14003de80
jmp 0x14003df1d
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov dword [rax], 0
jmp 0x14003df87
mov r8, qword [rbp - 8]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x30]
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]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov dword [rax], 1
jmp 0x14003e004
jmp 0x14003e0c6