Function at 0x140038630
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xc0
mov dword [rsp + 0xac], ecx
call fcn.14003918d
mov ecx, dword [rsp + 0xac]
mov qword [rsp + 0xb0], rax
movabs r8, 0xddc5915b1133b90f
movabs rax, 0xddc5915b1133b988
xor r8, rax
movabs r9, 0x46efaa35201a6beb
movabs rax, 0x46efaa35201a6bc6
xor r9, rax
movabs rax, 0x71d2768ac7bd0a4d
movabs rdx, 0x71d2768ac7bd0a4e
xor rax, rdx
lea rdx, [0x1401e2690]
mov qword [rsp + 0x20], rax
call fcn.140037fd0
mov rcx, rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], rcx
cmp byte [rax], 0
jne 0x1400390bc
mov rax, qword [rsp + 0xb8]
cmp rax, 0xffffffffffffffff
jle 0x140038ad7
mov rax, qword [rsp + 0xb8]
cmp rax, 0x86
jbe 0x140038714
mov rcx, qword [rsp + 0xb8]
movabs rdx, 0xb1a77ae88d08f3e2
movabs rax, 0xb1a77ae88d08f364
xor rdx, rax
call fcn.140013580
jmp 0x1400390bc
mov ecx, dword [rsp + 0xac]
mov rdx, qword [rsp + 0xb8]
lea rax, [0x1401e2690]
mov rax, qword [rax + rdx*8]
movsxd rcx, ecx
mov qword [rsp + 0xa0], rcx
cmp rax, rcx
jg 0x140038ad7
mov rax, qword [rsp + 0xb8]
xor ecx, ecx
mov edx, ecx
sub rdx, 1
mov rcx, rax
sub rcx, rdx
mov qword [rsp + 0x98], rcx
cmp rax, 0x85
jbe 0x140038783
mov rcx, qword [rsp + 0x98]
mov edx, 0x86
call fcn.140013580
jmp 0x1400390bc
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
lea rax, [0x1401e2690]
cmp qword [rax + rcx*8], rdx
jl 0x140038ad7
mov rax, qword [rsp + 0xb8]
movabs rdx, 0x15da73ee9751d4d
mov rcx, rax
add rcx, rdx
movabs rdx, 0x3064c18d7d5b8577
movabs r8, 0x3064c18d7d5b8575
xor rdx, r8
add rcx, rdx
movabs rdx, 0x15da73ee9751d4d
sub rcx, rdx
mov qword [rsp + 0x90], rcx
cmp rax, 0x84
jbe 0x14003880e
mov rcx, qword [rsp + 0x90]
mov edx, 0x86
call fcn.140013580
jmp 0x1400390bc
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x90]
lea rax, [0x1401e2690]
mov r8, qword [rax + rdx*8]
mov rax, r8
and rax, rcx
movabs rdx, 0x8cd92dd59c11d19e
movabs r9, 0x8cd92dd59c11d19c
xor rdx, r9
imul rax, rdx
mov r9, r8
xor r9, rcx
add r9, rax
mov qword [rsp + 0x88], r9
mov rax, r9
xor rax, rcx
mov rcx, r9
xor rcx, 0xffffffffffffffff
movabs rdx, 0x47f08715db55348a
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x47f08715db55348a
xor r10, rdx
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x873a9b7d01b9543e
movabs rsi, 0xc0ca1c68daec60b4
xor r11, rsi
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x4445a5e4534f9bee
movabs r8, 0xbbba5a1bacb06411
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x1c2ce38be4e29fbe
movabs r8, 0x24b04e7308034cab
xor rdx, r8
movabs r8, 0x172f607ae7cc4b7f
movabs r9, 0xe8d09f851833b480
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0xc3ded6120ea0b92a
movabs r8, 0xfb427beae2416a3f
xor rcx, r8
or rcx, rdx
movabs rdx, 0xc13d0132cb0d61dd
movabs r8, 0x3ec2fecd34f29e22
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140038956
call fcn.1400077a3
jmp 0x1400390bc
mov eax, dword [0x1401d6c50]
xor eax, 0x9318b25a
mov r8d, dword [0x1401d6c54]
mov ecx, 0x12719711
xor ecx, 0xed8e68ee
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xd155b0bb
xor r9d, 0x2eaa4f44
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x3422b2d7
xor ecx, 0xedfd6706
or eax, ecx
mov ecx, 0x90803b31
xor ecx, 0x9c6bba2
xor edx, edx
div ecx
add eax, 0x6df5cbd6
cmp eax, 0x4e37bfe8
jb 0x140039160
mov r8, qword [rsp + 0x88]
mov eax, dword [0x1401d6c58]
mov edx, dword [0x1401d6c5c]
mov ecx, eax
add ecx, 1
mov r9d, 0x9dfcac5b
xor r9d, 0x620353a4
xor eax, r9d
or eax, edx
add eax, ecx
mov ecx, 0x2a26a9af
xor ecx, 0x67046f48
xor edx, edx
div ecx
mov ecx, 0xb7cd5081
xor edx, edx
div ecx
imul eax, eax, 0xba56edf
mov rcx, r8
add rcx, 0xfffffffffffffe0c
mov qword [rsp + 0x78], rcx
mov rdx, rcx
xor rdx, r8
movabs r8, 0x64ca1568625d2c95
movabs r9, 0x64ca1568625d2c95
xor r8, r9
cmp rdx, r8
setl dl
cmp rcx, 0xffffffffffffffff
setg cl
and cl, dl
mov byte [rsp + 0x87], cl
cmp eax, 0xf7ee967d
jae 0x140039160
mov al, byte [rsp + 0x87]
test al, 1
jne 0x140038a7b
jmp 0x140038a85
call fcn.1400077a3
jmp 0x1400390bc
mov rax, qword [rsp + 0x88]
movabs rcx, 0xffffffff7ffffe0c
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x140038ac9
mov rcx, qword [rsp + 0x78]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
call fcn.14000d167
jmp 0x1400390bc
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0x74], eax
jmp 0x1400390bc
mov ecx, dword [rsp + 0xac]
lea rdx, [0x1401e2ad0]
mov r8d, 0x4c4
mov r9d, 0x262
mov qword [rsp + 0x20], 2
call fcn.140037fd0
mov rcx, rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x68], rcx
cmp byte [rax], 0
jne 0x1400390bc
mov eax, dword [rsp + 0xac]
mov rcx, qword [rsp + 0x68]
cmp rcx, 0xffffffffffffffff
mov dword [rsp + 0x74], eax
jle 0x1400390bc
mov rax, qword [rsp + 0x68]
cmp rax, 0x4c3
jbe 0x140038b57
mov rcx, qword [rsp + 0x68]
mov edx, 0x4c3
call fcn.140013580
jmp 0x1400390bc
mov eax, dword [rsp + 0xac]
mov rdx, qword [rsp + 0x68]
movsxd r8, eax
mov qword [rsp + 0x60], r8
lea rcx, [0x1401e2ad0]
cmp qword [rcx + rdx*8], r8
mov dword [rsp + 0x74], eax
jne 0x1400390bc
mov rax, qword [rsp + 0x68]
movabs rdx, 0x1990f291d751d06b
movabs rcx, 0x1990f291d751d06a
xor rdx, rcx
mov rcx, rax
add rcx, rdx
mov qword [rsp + 0x58], rcx
cmp rax, 0x4c2
jbe 0x140038cd4
mov eax, dword [0x1401d6c60]
xor edx, edx
div dword [0x1401d6c64]
add eax, 0x565330fd
mov ecx, 0xe552d8ee
xor edx, edx
div ecx
add eax, 0xb07e11f2
mov ecx, 0x964a6fb5
xor ecx, 0xdd22c4
add eax, ecx
sub eax, 0xb07e11f2
cmp eax, 0xb4963503
je 0x140039169
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1401d6c68]
xor eax, 0x974fcc7d
mov edx, dword [0x1401d6c6c]
mov r8d, 0xc643b95e
xor r8d, 0x3fc5ea28
add eax, r8d
sub eax, edx
mov edx, 0x43a4ea26
xor edx, 0xba22b950
sub eax, edx
sub eax, 0x55b04bc9
sub eax, 0xe358229a
mov edx, 0xe1aca383
xor edx, 0xb41ce84a
add eax, edx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdb272815
mov r8d, 0x87873853
xor r8d, 0x5ca01046
mov r9d, 0xd13b23e3
xor r9d, 0x2ec4dc1c
xor r8d, r9d
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0xe59ff0
xor r8d, 0x8883890d
and r8d, edx
mov r9d, 0xffffffff
xor r9d, 0x886616fd
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x886616fd
or eax, 0x886616fd
imul eax, r8d
add eax, edx
mov dword [rsp + 0x54], eax
mov edx, 0x4c3
call fcn.140013580
mov eax, dword [rsp + 0x54]
cmp eax, 0xe25d0994
je 0x140038bf1
jmp 0x1400390bc
mov r9, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
lea rax, [0x1401e2ad0]
mov rcx, qword [rax + rcx*8]
mov rdx, rcx
add rdx, r9
mov qword [rsp + 0x48], rdx
mov rax, rdx
xor rax, 0xffffffffffffffff
movabs r8, 0x46968f354552eedb
and rax, r8
movabs r11, 0x4ea21d2da3c92519
movabs r8, 0x8349218e69bcbc2
xor r11, r8
movabs r8, 0x8682671377ce6844
movabs r10, 0x797d98ec883197bb
xor r8, r10
xor r11, r8
mov r10, rdx
and r10, r11
mov r8, r9
xor r8, 0xffffffffffffffff
movabs rsi, 0x46968f354552eedb
and r8, rsi
and r9, r11
or rax, r10
or r8, r9
xor rax, r8
xor rdx, rcx
mov rcx, rax
add rcx, 1
movabs r8, 0x9331ae039c258a2e
movabs r9, 0x6cce51fc63da75d1
xor r8, r9
xor rax, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x140038d9d
call fcn.1400077a3
jmp 0x1400390bc
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
add rdx, 0xfffffffffffffe0c
mov qword [rsp + 0x40], rdx
test rdx, rdx
setns al
or rcx, rdx
sets cl
add al, cl
inc al
test al, 1
jne 0x140038dce
jmp 0x140038dd8
call fcn.1400077a3
jmp 0x1400390bc
mov eax, dword [0x1401d6c70]
xor eax, dword [0x1401d6c74]
mov ecx, 0xc96facc1
xor edx, edx
div ecx
and eax, 0x435fd5a4
mov ecx, 0x769c023e
xor ecx, 0xe904dbcd
sub eax, ecx
cmp eax, 0xde4b239
jbe 0x140039172
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1401d6c78]
mov edx, 0x772c95ff
xor edx, 0xcc0d2359
xor eax, edx
mov r9d, dword [0x1401d6c7c]
mov edx, eax
xor edx, 0xffffffff
mov r8d, r9d
and r8d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
or eax, 0x531fb5e0
mov r8d, 0x6a8ab41e
xor edx, edx
div r8d
add eax, 0x12fde757
mov edx, 0x679cac81
xor edx, 0xc18495f7
sub eax, edx
sub eax, 0x12fde757
movabs rdx, 0x5dc844af01695ad4
movabs r8, 0xa237bb507e96a4d8
xor rdx, r8
add rcx, rdx
movabs rdx, 0xffffffff00000000
cmp rcx, rdx
setb cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x99d06bdb
jae 0x140038e0a
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140038ec4
jmp 0x140038ee0
mov rcx, qword [rsp + 0x40]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
call fcn.14000d167
jmp 0x1400390bc
mov r11d, dword [0x1401d6c80]
mov r10d, dword [0x1401d6c84]
xor r10d, 0x582a604f
mov eax, r11d
xor eax, 0xffffffff
mov edx, r10d
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xdd869a9c
mov ecx, eax
and ecx, 0xdd869a9c
and r11d, r8d
mov r9d, edx
and r9d, 0xdd869a9c
and r10d, r8d
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xfb915126
xor edx, 0x2617cbba
or edx, r8d
and eax, edx
or ecx, eax
mov eax, ecx
or eax, eax
mov edx, 0x7c813c8f
xor edx, 0x837ec370
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xcafed3b6
mov r8d, 0x4a348dfd
xor r8d, 0x80ca5e4b
mov r9d, 0x1549be73
xor r9d, 0xeab6418c
xor r8d, r9d
and edx, r8d
mov r8d, 0xb2f24fec
xor r8d, 0x4d0db013
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, 0xcafed3b6
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xfad074dc
xor edx, 0x52f8b23
xor ecx, edx
and eax, ecx
sub eax, 0x3bc45b00
mov ecx, 0x1c75c61c
xor ecx, 0xd4d6d151
imul eax, ecx
mov ecx, 0x62349d5d
xor ecx, 0xa56bccfb
cmp eax, ecx
ja 0x14003917b
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x1401d6c88]
mov r8d, dword [0x1401d6c8c]
xor r8d, 0xe96dff4f
mov edx, eax
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
or edx, eax
mov eax, 0x14db30e2
xor eax, 0xeb24cf1d
xor edx, eax
mov r8d, 0xa6432959
xor r8d, 0x59bcd6a6
mov eax, edx
xor eax, r8d
mov r8d, 0xa6d30633
xor r8d, 0x592cf9cc
xor edx, r8d
or eax, edx
mov edx, 0xf7081fff
xor edx, 0x7d3d9be1
mov r8d, 0x47bbd55d
xor r8d, 0xcd8e5143
and edx, r8d
xor edx, 0xffffffff
and eax, edx
mov edx, 0xacfe9de4
xor edx, 0x5301621b
xor eax, edx
mov r9d, 0xffffffff
xor r9d, 0xbc4f8814
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0xbc4f8814
or eax, 0xbc4f8814
imul eax, r8d
add eax, edx
add eax, 0xcfba1861
mov dword [rsp + 0x38], ecx
cmp eax, 0x43c79dcc
jbe 0x14003917b
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x74], eax
jmp 0x1400390bc
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x34], eax
mov eax, dword [0x1401d6c90]
mov ecx, 0xec18a02f
xor ecx, 0x139bd0c8
xor eax, ecx
xor eax, dword [0x1401d6c94]
and eax, 0xeebb1ef8
mov ecx, 0xd7b71459
xor edx, edx
div ecx
imul eax, eax, 0x5c6e848f
mov ecx, 0x1fe2fb1b
xor ecx, 0xe4b23514
cmp eax, ecx
je 0x140039184
mov eax, dword [0x1401d6c98]
mov ecx, 0x4774c083
xor ecx, 0x604ef98e
xor eax, ecx
mov ecx, dword [0x1401d6c9c]
xor ecx, 0x14e121a6
add eax, ecx
sub eax, 0x496142c
mov ecx, 0x4215902f
xor ecx, 0x7adbecb3
xor edx, edx
div ecx
mov ecx, 0x391bd404
xor ecx, 0x563f5831
xor edx, edx
div ecx
cmp eax, 0x4e539f46
je 0x140039104
mov eax, dword [rsp + 0x34]
add rsp, 0xc0
pop rsi
ret
add esi, dword [rbx + 0x4f]
jmp 0x1400389cf
invalid
cmp eax, eax
adc byte [rcx], bl
jmp 0x140038e0a
sub eax, 0xe9c6aaed
push rsp
invalid
xor al, 0xe6
mov al, 0x74
jmp 0x140039104