Function at 0x140141770
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0xd8
lea rbp, [rsp + 0x80]
mov eax, dword [0x1401d0388]
xor eax, 0xfa336749
xor edx, edx
div dword [0x1401d038c]
mov ecx, 0xdc31d4b1
xor edx, edx
div ecx
add eax, 0xe950e1b4
and eax, 0x334e1312
cmp eax, 0x2292504d
jae 0x140141fd8
mov ecx, dword [0x1401d0390]
mov eax, dword [0x1401d0394]
xor eax, 0x82054910
or ecx, eax
mov eax, ecx
or eax, 0x206204c6
not ecx
and ecx, 0x6841b01
and eax, 0xe07364fe
or ecx, eax
mov eax, ecx
xor eax, 0xa0b667c1
and eax, ecx
mov dword [rbp + 0x44], eax
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.140142430
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp + 0x44]
add rcx, 0x60
mov qword [rbp + 0x48], rcx
mov rcx, qword [0x14024ecd0]
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x57], cl
cmp eax, 0x35b6b036
jb 0x1401417b2
mov al, byte [rbp + 0x57]
test al, 1
jne 0x140141891
jmp 0x140141927
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.14001217d
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401dd770]
mov qword [rcx], rax
lea rax, [0x1401dce28]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401dced8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401dcee0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x2939236d08fbf498
movabs rdx, 0x2939236d6e94ba10
xor rax, rdx
lea rdx, [0x1401dce28]
lea r8, [0x1401dcee8]
lea r9, [0x1401dce43]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1400120ce
add rsp, 0x30
xor eax, eax
mov qword [rbp + 8], rax
jmp 0x140141f98
mov rcx, qword [rbp + 0x10]
mov rax, qword [0x1401dcef8]
mov qword [rcx], rax
mov rax, qword [0x1401dcf00]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140030db0
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov qword [rbp], rax
cmp byte [rcx], 0
mov qword [rbp + 8], rax
jne 0x140141f98
mov ecx, 8
mov edx, 4
sub rsp, 0x20
call fcn.14001217d
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, rax
mov qword [rbp - 0x18], rdx
mov dword [rdx + 4], 2
sub rsp, 0x20
call fcn.140067158
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x10], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 8], rcx
cmp byte [rax], 0
jne 0x140141b31
mov rax, qword [rbp - 0x10]
add rax, 0xffffffff80000000
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x1401419f8
mov rcx, qword [rbp - 0x10]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000c8ac
add rsp, 0x20
jmp 0x140141b31
mov rax, qword [rbp - 0x10]
cmp rax, 1
jge 0x140141a3a
mov rdx, qword [rbp - 0x10]
movabs rax, 0xb057c7fdf204edee
movabs rcx, 0x4fa838020dfb1211
xor rax, rcx
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x140141b31
mov rcx, qword [rbp]
mov r11, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
mov esi, eax
add r11, 8
mov rax, qword [0x1401ddad0]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x1401ddad0]
mov rax, qword [rax]
mov edx, 0xfffffffd
xor r9d, r9d
xor r8d, r8d
sub rsp, 0x50
mov r8d, r9d
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.140091e30
mov rax, qword [rbp + 0x48]
add rsp, 0x50
cmp byte [rax], 0
jne 0x140141b31
mov rcx, qword [rbp]
mov rax, qword [0x1401ddad0]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x1401ddad0]
mov rax, qword [rax]
mov r9d, 0xffffffff
xor edx, edx
xor edx, edx
sub rsp, 0x50
mov edx, r9d
mov r8d, r9d
mov dword [rsp + 0x20], 0xffffffff
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.140091e30
add rsp, 0x50
mov eax, dword [0x1401d0398]
mov ecx, dword [0x1401d039c]
xor ecx, 0x84c5e08
xor eax, ecx
mov ecx, 0xb6574cfc
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x695f7529
xor edx, 0x96a08ad6
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xce4318f
and eax, edx
mov edx, 0xeb90a9a5
xor edx, 0x146f565a
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xce4318f
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul eax, eax, 0x13ad98f8
cmp eax, 0x1b8ed820
ja 0x140141fe1
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x1401d03a0]
mov r8d, dword [0x1401d03a4]
mov edx, r8d
and edx, eax
xor edx, 0xffffffff
add eax, r8d
mov r8d, 0x96a2f02f
xor r8d, 0x96a2f02e
add eax, r8d
add eax, edx
and eax, 0x26a363d6
mov r8d, 0xe8383843
xor r8d, 0x44760218
xor edx, edx
div r8d
mov r8d, 0x841d7829
xor edx, edx
div r8d
mov dword [rbp - 0x20], eax
sub rsp, 0x20
call fcn.140081c21
mov rcx, qword [rbp - 8]
mov eax, dword [rbp - 0x20]
add rsp, 0x20
cmp rcx, 0
sete cl
mov byte [rbp - 0x19], cl
cmp eax, 0x3bc75db0
ja 0x140141b9f
mov al, byte [rbp - 0x19]
test al, 1
jne 0x140141c80
jmp 0x140141c2b
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x4d52791e6dbe458f
movabs rdx, 0x4d52791e6dbe458f
xor rcx, rdx
cmp rax, rcx
jne 0x140141c80
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x48]
cmp byte [rcx], 0
mov qword [rbp + 8], rax
jne 0x140141f98
mov rax, qword [0x14024ecd0]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x28], rcx
cmp qword [rax + 8], 0
je 0x140141e31
mov eax, dword [0x1401d03a8]
xor eax, dword [0x1401d03ac]
mov ecx, 0x13a1b9a9
xor ecx, 0x30a1105
xor eax, ecx
xor eax, 0x8a4d7130
and eax, 0xee408eda
mov ecx, 0x7339c20e
xor ecx, 0x375cac79
cmp eax, ecx
je 0x140141fea
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x1401d03b0]
xor edx, edx
div dword [0x1401d03b4]
and eax, 0x7287c0fc
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x7ff69ad0
mov r9d, 0xffffffff
xor r9d, 0x7ff69ad0
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0x7dd664e4
xor r9d, 0x220fe34
mov r8d, eax
and r8d, r9d
mov r9d, 0x1bebe68b
xor r9d, 0x641d7c5b
or eax, r9d
imul eax, r8d
add eax, edx
xor eax, 0xc063f393
mov dword [rbp - 0x44], eax
mov eax, 0xb2a13951
xor eax, 0x4d622dc0
mov dword [rbp - 0x48], eax
sub rsp, 0x20
call fcn.140142547
mov ecx, dword [rbp - 0x48]
mov eax, dword [rbp - 0x44]
add rsp, 0x20
mov rdx, qword [0x14024ecd0]
mov qword [rbp - 0x40], rdx
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x38], rdx
cmp rdx, 1
setl dl
mov byte [rbp - 0x29], dl
cmp eax, ecx
je 0x140141ce8
mov al, byte [rbp - 0x29]
test al, 1
jne 0x140141da9
jmp 0x140141df5
mov rcx, qword [rbp - 0x38]
movabs rax, 0x3d51d4cfa5e645f0
movabs rdx, 0x3d51d4cfa5e645f0
xor rax, rdx
sub rax, rcx
xor ecx, ecx
sub rcx, 0xffffffffffffffff
add rax, rcx
xor ecx, ecx
mov edx, ecx
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400122ad
mov rax, qword [rbp]
add rsp, 0x20
mov qword [rbp + 8], rax
jmp 0x140141f98
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x9f7935aa94a58520
sub rsp, 0x20
call fcn.140090b10
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 8], rax
jne 0x140141f98
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp]
mov r8, qword [rax + 0x58]
mov qword [rdx], r8
mov rax, qword [rax + 0x60]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c072
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov rdx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14011a300
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x48]
mov dl, byte [rax]
mov byte [rbp - 0x4b], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400de970
mov rcx, qword [rbp + 0x48]
mov al, byte [rbp - 0x4b]
add rsp, 0x20
mov dl, 1
mov byte [rbp - 0x4a], dl
cmp byte [rcx], 0
mov byte [rbp - 0x49], al
je 0x140141eb6
mov al, byte [rbp - 0x4a]
mov byte [rbp - 0x49], al
mov rax, qword [rbp + 0x48]
mov cl, byte [rbp - 0x49]
mov byte [rbp - 0x59], cl
mov cl, 0x98
xor cl, 0x98
mov byte [rax], cl
mov rax, qword [0x14024ecd0]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x58], rcx
cmp qword [rax + 8], 0
je 0x140141f87
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.140142547
add rsp, 0x20
mov rax, qword [0x14024ecd0]
mov qword [rbp - 0x70], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x68], rax
cmp rax, 1
jge 0x140141f4b
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffff
movabs rcx, 0x881507f82ca584d6
movabs rax, 0x881507f82ca584d6
xor rcx, rax
sub rsp, 0x20
call fcn.1400122ad
mov rax, qword [rbp]
add rsp, 0x20
mov qword [rbp + 8], rax
jmp 0x140141f98
mov rdx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x9f79ab0304a82520
sub rsp, 0x20
call fcn.140090b10
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 8], rax
jne 0x140141f98
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x48]
mov dl, byte [rbp - 0x59]
mov byte [rcx], dl
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 8]
mov dl, byte [rax]
mov byte [rbp - 0x71], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14002f81c
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xee
xor cl, 0xee
cmp al, cl
jne 0x140141fd1
mov rax, qword [rbp + 0x48]
mov cl, byte [rbp - 0x71]
mov byte [rax], cl
lea rsp, [rbp + 0x58]
pop rsi
pop rbp
ret
invalid
in al, 0x73
invalid
jrcxz 0x140142035
pop rsp
invalid
mov edx, eax