Function at 0x1400412c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x150
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], r9
mov qword [rbp + 0x20], r8
mov qword [rbp - 8], rdx
mov qword [rbp + 0x18], rcx
mov qword [rbp], rcx
mov eax, 0x10
mov qword [rbp + 8], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.14003d810
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov qword [rbp + 0x10], rax
mov qword [rcx], 0
xor eax, eax
mov ecx, eax
mov edx, 0x10
mov r8d, 8
sub rsp, 0x20
call fcn.1400105f0
mov rdx, qword [rbp + 0x18]
mov r8, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x28]
mov r9, qword [rbp + 0x30]
add rsp, 0x20
mov r10, rax
mov rax, qword [rbp + 0x38]
mov qword [rdx + 8], r10
mov qword [rbp + 0xc0], 0
lea rdx, [rbp + 0xc0]
add rdx, 8
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0xc8], 0
mov rdx, qword [r8]
mov r8d, 1
cmp rdx, 0
cmove rdx, r8
mov qword [rbp + 0x48], rdx
add rcx, 8
mov qword [rbp + 0x50], rcx
add rax, 8
mov qword [rbp + 0x58], rax
xor eax, eax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], r9
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x68]
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], rax
cmp rax, qword [rcx]
mov qword [rbp - 0x10], rax
jg 0x140041a06
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x28], rax
cmp rax, qword [rcx]
jge 0x140041641
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp - 8]
mov r8, qword [rcx]
mov qword [rbp + 0xa0], r8
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xa8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x90], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0xa0]
lea r8, [rbp + 0x90]
sub rsp, 0x20
call fcn.140040d50
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x10]
mov byte [rbp - 0x29], cl
cmp byte [rax], 0
jne 0x140041a06
mov al, byte [rbp - 0x29]
test al, 1
jne 0x140041641
jmp 0x14004145f
mov ecx, dword [0x1401d6f20]
mov edx, dword [0x1401d6f24]
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x9b1ddbab
xor ecx, 0x64e22454
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xdee37698
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xbce59b1a
xor ecx, 0xc189c26b
xor edx, edx
div ecx
mov ecx, 0xfb9916b9
xor ecx, 0x976305c4
add eax, ecx
cmp eax, 0xb9d58a53
ja 0x140041c94
mov r8, qword [rbp - 0x28]
mov eax, dword [0x1401d6f28]
xor edx, edx
div dword [0x1401d6f2c]
mov ecx, 0x1ba049f
xor ecx, 0xfe45fb60
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0x38d34c90
mov ecx, 0xffffffff
xor ecx, 0x5b07ecc3
or eax, edx
or ecx, 0x5b07ecc3
mov edx, 0x9cf67391
xor edx, 0x63098c6e
xor eax, edx
and eax, ecx
mov ecx, 0xc80e9b77
xor ecx, 0x4af5e214
mov edx, 0x14e8d23e
xor edx, 0xeb172dc1
xor ecx, edx
add eax, ecx
mov ecx, 0x5a1040b8
xor ecx, 0x5a1040b9
add eax, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xbb33a241
mov edx, 0x5675745
xor edx, 0x2ed56a09
mov r9d, 0x529312d1
xor r9d, 0xad6ced2e
xor edx, r9d
or eax, ecx
mov ecx, 0x11383311
xor ecx, 0x3a8a0e5d
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xef473d98
xor ecx, 0xcaab7749
xor edx, edx
mov r9d, edx
sub r9, 1
mov rdx, r8
sub rdx, r9
mov qword [rbp - 0x38], rdx
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs r9, 0xa47dfd32cec2e234
movabs r10, 0x84eb3570881caf1
xor r9, r10
movabs r10, 0x62afa105278e788d
movabs r11, 0x9d505efad8718772
xor r10, r11
xor r9, r10
or rdx, r8
movabs r8, 0xc6a02a739accb8f4
movabs r10, 0x6a9364165c8f9031
xor r8, r10
or r8, r9
movabs r9, 0xc6b9644c961db87f
movabs r10, 0x39469bb369e24780
xor r9, r10
xor rdx, r9
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rbp - 0x2a], dl
cmp eax, ecx
je 0x140041c94
mov rax, qword [rbp - 0x38]
mov cl, byte [rbp - 0x2a]
test cl, 1
mov qword [rbp - 0x10], rax
jne 0x1400418ca
jmp 0x1400413d7
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
movabs rdx, 0x3ba4f3b8a23997a7
movabs r8, 0x3ba4f3b8a23997a7
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x41], cl
test cl, 1
mov qword [rbp - 0x40], rax
jne 0x14004167b
jmp 0x140041686
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov qword [rbp - 0x40], rax
mov rdx, qword [rbp - 0x40]
mov qword [rbp - 0x58], rdx
mov rax, rdx
add rax, 0xffffffffffffffff
mov qword [rbp - 0x50], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x1400418ca
mov rcx, qword [rbp + 0x28]
mov r9, qword [rbp - 0x50]
mov r8, qword [rbp - 0x18]
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
mov qword [rbp + 0x80], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x88], rax
lea rdx, [rbp + 0x80]
sub rsp, 0x20
call fcn.14001aa20
mov r8, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x38]
add rsp, 0x20
mov r8, qword [r8]
mov rcx, qword [rcx]
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.140014bff
add rsp, 0x20
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xb8], rax
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.140010510
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x78], rax
lea rdx, [rbp + 0x70]
sub rsp, 0x20
call fcn.14001ae60
mov al, byte [rbp - 0x41]
add rsp, 0x20
test al, 1
jne 0x140041a06
mov rdx, qword [rbp - 0x20]
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor eax, eax
sub rax, 1
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rbp - 0x60], rax
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xa8cd97d56ba5d9a4
movabs r8, 0xa8cd97d56ba5d9a4
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x1400418ca
mov r8, qword [rbp + 0x48]
mov r9, qword [rbp - 0x58]
mov rdx, r9
and rdx, r8
mov rax, r9
or rax, r8
add rdx, rax
mov qword [rbp - 0x68], rdx
mov rax, rdx
or rax, rax
xor rax, 0xffffffffffffffff
mov rcx, r9
or rcx, rcx
xor rcx, 0xffffffffffffffff
or rax, rcx
xor rax, 0xffffffffffffffff
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r10, 0x87b7a877ce74f85d
movabs r11, 0x78485788318b07a2
xor r10, r11
xor r9, r10
and rcx, r9
or rax, rcx
xor rax, 0xffffffffffffffff
movabs r9, 0xc94e95da50ee027d
movabs rcx, 0x36b16a25af11fd82
xor r9, rcx
mov rcx, rdx
xor rcx, r9
mov r9, rdx
xor r9, 0xffffffffffffffff
and rcx, r9
mov r9, r8
xor r9, 0xffffffffffffffff
mov r10, r8
xor r10, 0xffffffffffffffff
and r9, r10
xor rcx, 0xffffffffffffffff
movabs r10, 0xdbab6820aa0dd517
movabs r11, 0x245497df55f22ae8
xor r10, r11
xor r9, r10
and rcx, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
and rax, rcx
cmp rax, 0
jl 0x1400418ca
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x68]
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
jmp 0x1400413b6
mov r11d, dword [0x1401d6f30]
mov eax, dword [0x1401d6f34]
xor eax, 0x6f14cfca
and r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
and ecx, 0x29c41823
mov edx, 0xffffffff
xor edx, 0x29c41823
mov eax, r11d
and eax, edx
imul eax, ecx
mov edx, 0x9f76b6d4
xor edx, 0xb6b2aef7
mov ecx, r11d
and ecx, edx
or r11d, 0x29c41823
imul r11d, ecx
add r11d, eax
xor r11d, 0x429a4f5e
mov eax, 0x103a815e
xor eax, 0xefc57ea1
mov ecx, r11d
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0x2682042f
mov r8d, 0xffffffff
xor r8d, 0x4fbba2c3
mov eax, ecx
and eax, 0x4fbba2c3
and r11d, r8d
mov r9d, edx
and r9d, 0x4fbba2c3
mov r10d, r8d
and r10d, 0x2682042f
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x3a1522c7
xor edx, 0x75ae8004
or edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x7f5b967a
xor ecx, 0xe9097956
cmp eax, ecx
je 0x140041c9d
mov eax, dword [0x1401d6f38]
add eax, dword [0x1401d6f3c]
or eax, 0xff9458cd
mov ecx, 0x6bd7d774
xor edx, edx
div ecx
mov edx, 0x9ec0de96
xor edx, 0xa23ae6f1
mov ecx, eax
and ecx, edx
shl ecx, 1
mov edx, 0x2192692
xor edx, 0x3ee31ef5
add eax, edx
sub eax, ecx
mov dword [rbp - 0x6c], eax
mov eax, 0x749c45d2
xor eax, 0x4eacea09
mov dword [rbp - 0x70], eax
sub rsp, 0x20
call fcn.1400077a3
mov ecx, dword [rbp - 0x70]
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, ecx
je 0x14004199b
jmp 0x140041a06
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x140041c87
mov eax, dword [0x1401d6f40]
mov edx, dword [0x1401d6f44]
xor ecx, ecx
sub ecx, eax
mov eax, 0xdb17a52d
xor eax, 0xdb17a52d
sub eax, edx
add ecx, eax
mov eax, 0x67771464
xor eax, 0x67771464
sub eax, ecx
sub eax, 0xc0e80a61
mov ecx, 0xd5a2fc71
xor ecx, 0x10fcfe1f
sub eax, ecx
add eax, 0xc0e80a61
mov r8d, 0x6554ce92
xor r8d, 0x54de7176
mov ecx, 0xcb84704e
xor ecx, 0x347b8fb1
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x318abfe4
or eax, 0x318abfe4
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0x9c7d6f73
sub eax, ecx
cmp eax, 0xb79e4d83
je 0x140041ca6
mov rcx, qword [rbp - 0x78]
mov eax, dword [0x1401d6f48]
or eax, dword [0x1401d6f4c]
xor edx, edx
sub edx, eax
mov eax, 0x1b5accfb
xor eax, 0x1b5accfb
mov r8d, 0xa86a2c4b
xor r8d, 0xa482405
sub eax, r8d
add edx, eax
xor eax, eax
sub eax, edx
sub eax, 0xb23cf35
mov r9d, 0x6b02a5ac
xor r9d, 0xf5fd5870
mov edx, 0xe6bad1
xor edx, 0xff19452e
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x9efffddc
or eax, 0x9efffddc
imul eax, r8d
add eax, edx
mov rcx, qword [rcx]
movabs r8, 0xb907abee97c3ec05
movabs rdx, 0xf907abee97c3ec05
xor r8, rdx
mov rdx, rcx
xor rdx, r8
movabs r8, 0xc41e2071f193dfe8
movabs r9, 0x3be1df8e0e6c2017
xor r8, r9
xor rdx, r8
movabs r8, 0x4000000000000000
or rcx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x79], cl
cmp eax, 0x8ba6f37
je 0x140041aae
mov al, byte [rbp - 0x79]
test al, 1
jne 0x140041b98
jmp 0x140041c87
mov r8d, dword [0x1401d6f50]
mov ecx, dword [0x1401d6f54]
xor eax, eax
sub eax, ecx
add r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x4ceb728a
mov edx, 0x7fe10bdc
xor edx, 0x330a7956
mov ecx, 0xe213a480
xor ecx, 0x1dec5b7f
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x7beb13d1
mov r9d, 0xc06a6da6
xor r9d, 0x8c811f2c
and ecx, r9d
and edx, 0x7beb13d1
or eax, r8d
or ecx, edx
xor eax, ecx
add eax, 0xfb08a4df
sub eax, 0x2584fb1f
cmp eax, 0x9b3806be
je 0x140041caf
mov rcx, qword [rbp - 0x78]
mov eax, dword [0x1401d6f58]
and eax, dword [0x1401d6f5c]
mov edx, 0xdde0ecc
xor edx, 0x2a28e053
imul eax, edx
mov edx, eax
add edx, 1
xor eax, 0xffffffff
mov r8d, 0x75bf69f9
xor r8d, 0x34f36278
or eax, r8d
add eax, edx
mov edx, eax
xor edx, 0x3d35463b
xor edx, 0xffffffff
mov r8d, 0x35351c4d
xor r8d, 0x8005a76
or eax, r8d
and eax, edx
mov dword [rbp - 0x80], eax
sub rsp, 0x20
call fcn.14000eb2e
mov eax, dword [rbp - 0x80]
add rsp, 0x20
cmp eax, 0xe9df5428
jae 0x140041c0f
jmp 0x140041c87
mov rax, qword [rbp]
lea rsp, [rbp + 0xd0]
pop rbp
ret
xor al, 0x5f
cmpsd dword [rsi], dword [rdi]
imul ebp, ecx, 0xfffff834
invalid
and cl, 0x6d
mov gs, ecx
invalid
popfq
add eax, 0x57e9506e
invalid