Function at 0x140038850
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov dword [rbp + 0xc], r9d
mov qword [rbp + 0x10], r8
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], rcx
mov eax, dword [0x14010176c]
xor eax, dword [0x140101770]
add eax, 0x6f3ff116
or eax, 0x31320356
mov ecx, 0xe2a55ec4
xor edx, edx
div ecx
cmp eax, 0xf240063f
je 0x140038fc2
mov r8d, dword [rbp + 0xc]
mov r10, qword [rbp + 0x10]
mov r11, qword [rbp + 0x18]
mov rdi, qword [rbp + 0x20]
mov eax, dword [0x140101774]
mov ecx, dword [0x140101778]
xor eax, ecx
add eax, 0x6ce19232
xor eax, 0x50220640
or eax, 0x8bc158aa
mov dword [rbp - 4], eax
mov eax, 0x10
mov qword [rbp - 0x18], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rsi, rsp
mov qword [rbp - 0x40], rsi
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov r9, rsp
mov qword [rbp - 0x30], r9
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rdx, rsp
mov qword [rbp - 0x28], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rbx, rsp
mov qword [rbp - 0x20], rbx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rbx, rsp
mov qword [rbp - 0x10], rbx
call fcn.1400ec140
sub rsp, rax
mov eax, dword [rbp - 4]
mov rbx, rsp
mov qword [rbp], rbx
mov qword [rsi], rdi
mov qword [rcx], r11
mov qword [r9], r10
mov dword [rdx], r8d
cmp qword [rcx], 0
setne cl
mov byte [rbp + 0xb], cl
cmp eax, 0x44c0df7f
jbe 0x140038fc2
mov al, byte [rbp + 0xb]
test al, 1
jne 0x1400389ec
jmp 0x14003898b
mov eax, dword [0x14010177c]
add eax, dword [0x140101780]
sub eax, 0x63d4b8b8
xor eax, 0x743020d0
mov ecx, 0xf9c4b55e
xor edx, edx
div ecx
cmp eax, 0xb4c05fed
ja 0x140039022
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x140101784]
xor eax, dword [0x140101788]
imul eax, eax, 0x5000d6c0
add eax, 0xcdb85f44
or eax, 0x806b7f0d
mov qword [rcx], 0
cmp eax, 0xb0f963b
jb 0x1400389b5
jmp 0x1400389ec
mov eax, dword [0x14010178c]
or eax, dword [0x140101790]
sub eax, 0xf2fbbb67
add eax, 0x1ab8137c
add eax, 0x428c522c
cmp eax, 0x815d9cf6
jae 0x140039032
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x140101794]
xor edx, edx
div dword [0x140101798]
xor eax, 0xaef4738e
and eax, 0x90dae9a7
add eax, 0xf04cb7a8
cmp qword [rcx], 0
setne cl
mov byte [rbp - 0x41], cl
cmp eax, 0xda6d1643
ja 0x140039032
mov al, byte [rbp - 0x41]
test al, 1
jne 0x140038a58
jmp 0x140038dc7
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_strlen
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp]
mov dword [rax], ecx
cmp dword [rax], 0x7fff
jle 0x140038ae8
mov eax, dword [0x14010179c]
or eax, dword [0x1401017a0]
sub eax, 0x5c5618f5
and eax, 0x80450bbe
xor eax, 0x78f54aae
cmp eax, 0xe2a6ebab
ja 0x140039037
mov rcx, qword [rbp]
mov eax, dword [0x1401017a4]
sub eax, dword [0x1401017a8]
mov r8d, 0x5d5aaf0b
xor edx, edx
div r8d
sub eax, 0x73132d1d
mov r8d, 0xf8e2c061
xor edx, edx
div r8d
mov dword [rcx], 0x7fff
cmp eax, 0xedc85544
jae 0x140039037
jmp 0x140038ae8
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov eax, dword [rax]
add eax, 1
movsxd r8, eax
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov rcx, qword [rax]
mov byte [rcx + 0x7fff], 0
mov rcx, qword [rax]
mov edx, 0xd
sub rsp, 0x20
call sub.msvcrt.dll_strchr
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rax], rcx
cmp qword [rax], 0
je 0x140038ba6
mov eax, dword [0x1401017ac]
xor eax, dword [0x1401017b0]
or eax, 0x9c867eb2
add eax, 0x60344a19
mov ecx, 0xbcd7630d
xor edx, edx
div ecx
cmp eax, 0x64df7f4c
jae 0x140039046
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x1401017b4]
imul eax, dword [0x1401017b8]
sub eax, 0xf5d8ee28
xor eax, 0xc822187
add eax, 0x6fe36c3
mov rcx, qword [rcx]
mov byte [rcx], 0
cmp eax, 0x200ac8bb
jb 0x140039046
jmp 0x140038ba6
mov eax, dword [0x1401017bc]
or eax, dword [0x1401017c0]
imul eax, eax, 0x306b17d2
or eax, 0x21889397
and eax, 0xb686616a
cmp eax, 0x72ad30f5
ja 0x140039055
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x1401017c4]
sub eax, dword [0x1401017c8]
mov r8d, 0xb66b55b2
xor edx, edx
div r8d
or eax, 0x4f3661b1
imul eax, eax, 0xeadec371
cmp dword [rcx], 0
setne cl
mov byte [rbp - 0x42], cl
cmp eax, 0x2021c3f0
je 0x140039055
mov al, byte [rbp - 0x42]
test al, 1
jne 0x140038c17
jmp 0x140038dc2
mov eax, dword [0x1401017cc]
sub eax, dword [0x1401017d0]
mov ecx, 0x9b227da7
xor edx, edx
div ecx
and eax, 0xbbb4adeb
and eax, 0x52a564d9
cmp eax, 0x8041921a
ja 0x14003905a
mov eax, dword [0x1401017d4]
and eax, dword [0x1401017d8]
or eax, 0xa6abb522
mov ecx, 0xe70f52bc
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x38]
imul ecx, ecx, 0x31367798
mov dword [rbp - 0x48], ecx
mov rcx, qword [rax]
add rcx, 0xa
mov edx, 0x3a
sub rsp, 0x20
call sub.msvcrt.dll_strchr
mov rdx, qword [rbp - 0x10]
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x48]
mov qword [rdx], rcx
cmp rcx, 0
setne cl
mov byte [rbp - 0x43], cl
cmp eax, 0x2f14b705
je 0x14003905a
mov al, byte [rbp - 0x43]
test al, 1
jne 0x140038cb5
jmp 0x140038dc2
mov eax, dword [0x1401017dc]
add eax, dword [0x1401017e0]
mov ecx, 0x122316dc
xor edx, edx
div ecx
and eax, 0x72ddd019
and eax, 0x9d061743
cmp eax, 0x6c29c245
je 0x140039086
mov rax, qword [rbp - 0x10]
mov ecx, dword [0x1401017e4]
imul ecx, dword [0x1401017e8]
sub ecx, 0xc629e668
add ecx, 0x36610e0d
or ecx, 0x331101be
mov dword [rbp - 0x50], ecx
mov rcx, qword [rax]
mov edx, 0x40
sub rsp, 0x20
call sub.msvcrt.dll_strchr
mov rdx, qword [rbp - 0x20]
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x50]
mov qword [rdx], rcx
cmp rcx, 0
setne cl
mov byte [rbp - 0x49], cl
cmp eax, 0xdc8b9471
ja 0x140038cdf
mov al, byte [rbp - 0x49]
test al, 1
jne 0x140038d4c
jmp 0x140038dc2
mov eax, dword [0x1401017ec]
imul eax, dword [0x1401017f0]
or eax, 0x8b11986
sub eax, 0xd355a2e7
sub eax, 0xdbe03ff4
cmp eax, 0xc9352829
je 0x1400390ae
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x10]
mov edx, dword [0x1401017f4]
or edx, dword [0x1401017f8]
imul edx, edx, 0x3fbc77ff
or edx, 0x32303d20
xor edx, 0x587289d8
mov dword [rbp - 0x54], edx
mov rcx, qword [rcx]
mov rdx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_strcpy
add rsp, 0x20
mov eax, dword [rbp - 0x54]
cmp eax, 0xdf28d608
jb 0x140038d73
jmp 0x140038dc2
jmp 0x140038dc7
mov eax, dword [0x1401017fc]
sub eax, dword [0x140101800]
xor eax, 0x12fed4c0
mov ecx, 0xe6b07149
xor edx, edx
div ecx
and eax, 0x8683d155
cmp eax, 0xe1375917
jae 0x1400390ce
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x140101804]
or eax, dword [0x140101808]
and eax, 0xdcac8222
imul eax, eax, 0xb8345db3
xor eax, 0xa95ab939
mov rcx, qword [rcx]
cmp dword [rcx + 0xe4], 0x22b
setne cl
mov byte [rbp - 0x55], cl
cmp eax, 0x2456ad3d
jae 0x1400390ce
mov al, byte [rbp - 0x55]
test al, 1
jne 0x140038e3f
jmp 0x140038f69
mov eax, dword [0x14010180c]
and eax, dword [0x140101810]
or eax, 0x9aaa6832
imul eax, eax, 0x71eaa131
mov ecx, 0xd314070
xor edx, edx
div ecx
cmp eax, 0xb6f23e24
je 0x1400390d3
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x140101814]
and eax, dword [0x140101818]
xor eax, 0x1b08e04a
sub eax, 0xc99c8ae6
xor eax, 0x36a85cbd
mov rcx, qword [rcx]
cmp dword [rcx + 0xe4], 0x1fc
setne cl
mov byte [rbp - 0x56], cl
cmp eax, 0xb097505
jbe 0x140038e6a
mov al, byte [rbp - 0x56]
test al, 1
jne 0x140038eb7
jmp 0x140038f69
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x40]
mov rcx, qword [rcx]
mov qword [rbp - 0x60], rcx
cmp qword [rax], 0
je 0x140038ee0
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
jmp 0x140038eeb
xor eax, eax
mov qword [rbp - 0x68], rax
jmp 0x140038eeb
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x70], rax
mov eax, dword [0x14010181c]
xor eax, dword [0x140101820]
mov ecx, 0xcce381cd
xor edx, edx
div ecx
or eax, 0xc0068051
add eax, 0x37063cf1
cmp eax, 0x1e87d5bb
jb 0x1400390d8
mov rcx, qword [rbp - 0x60]
mov eax, dword [0x140101824]
and eax, dword [0x140101828]
mov r8d, 0xdb4ff0fe
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x70]
add eax, 0x169d3158
xor eax, 0x5a839aa
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.1400af5b0
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0x80245931
ja 0x140038f1d
jmp 0x140038f69
mov eax, dword [0x14010182c]
and eax, dword [0x140101830]
add eax, 0x1d57446d
mov ecx, 0x6fbec282
xor edx, edx
div ecx
and eax, 0xb79fa399
cmp eax, 0x12125be1
je 0x1400390f2
mov eax, dword [0x140101834]
add eax, dword [0x140101838]
add eax, 0x14cf693
sub eax, 0xa9ba5f63
and eax, 0x4480c633
cmp eax, 0x761c6a4a
ja 0x1400390f2
lea rsp, [rbp + 0x28]
pop rbx
pop rdi
pop rsi
pop rbp
ret
mov ecx, dword [rbp + 0xc]
mov r8, qword [rbp + 0x10]
mov r10, qword [rbp + 0x18]
mov rsi, qword [rbp + 0x20]
mov eax, 0x10
mov qword [rbp - 0x80], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov r11, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov r9, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x80]
mov rdx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [r11], rsi
mov qword [r9], r10
mov qword [rdx], r8
mov dword [rax], ecx
jmp 0x14003889d
mov rax, qword [rbp - 0x30]
mov qword [rax], 0
jmp 0x1400389b5
jmp 0x140038a12
mov rax, qword [rbp]
mov dword [rax], 0x7fff
jmp 0x140038aa7
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov byte [rax], 0
jmp 0x140038b70
jmp 0x140038bcd
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
add rcx, 0xa
mov edx, 0x3a
sub rsp, 0x20
call sub.msvcrt.dll_strchr
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x10]
mov qword [rax], rcx
jmp 0x140038c41
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax]
mov edx, 0x40
sub rsp, 0x20
call sub.msvcrt.dll_strchr
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rax], rcx
jmp 0x140038cdf
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rcx]
mov rdx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_strcpy
add rsp, 0x20
jmp 0x140038d73
jmp 0x140038df1
jmp 0x140038e6a
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.1400af5b0
add rsp, 0x20
jmp 0x140038f1d
jmp 0x140038f93