Function at 0x140037920
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov r8, qword [rcx]
xor eax, eax
mov ecx, eax
sub rcx, 0xffffffffffffffff
mov rax, r8
sub rax, rcx
mov qword [rsp + 0x50], rax
mov rcx, rax
xor rcx, 0xffffffffffffffff
movabs rdx, 0x9b92e17e9a929e33
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x9b92e17e9a929e33
xor r10, rdx
mov r9, rax
and r9, r10
movabs r11, 0xf9b026949672d3d3
movabs rdx, 0x64fd96b698d2c2c
xor r11, rdx
mov rdx, r8
xor rdx, r11
movabs r11, 0x9b92e17e9a929e33
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
cmp rcx, 0
setl cl
movabs rdx, 0x99ffb216e90d96f7
movabs r8, 0x66004de916f26908
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x140037af6
mov eax, dword [0x1402a9748]
mov ecx, dword [0x1402a974c]
xor ecx, 0x27b86dd0
imul eax, ecx
mov r8d, eax
and r8d, r8d
xor r8d, 0xffffffff
xor r8d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x7573a727
or r8d, ecx
mov ecx, 0x7573a727
and ecx, 0x7573a727
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x3c832e7
xor ecx, 0xfc37cd18
xor r8d, ecx
xor eax, 0xffffffff
or r8d, eax
xor r8d, 0x6ade5c4c
mov eax, 0x8ec37c72
xor eax, 0x713c838d
mov ecx, r8d
xor ecx, eax
mov eax, 0xaba3b312
xor eax, 0xc18f43fa
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x6a2cf0e8
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0x6c7b6160
and ecx, 0x6a2cf0e8
mov edx, 0x58026e26
xor edx, 0x34790f46
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0xdf2b7b42
je 0x140037e8a
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1402a9750]
xor eax, 0xf87f770c
add eax, dword [0x1402a9754]
sub eax, 0xd253e265
mov edx, 0x3abf970a
xor edx, 0xb6ea1a6c
sub eax, edx
add eax, 0xd253e265
xor eax, 0xefc2a8f9
mov edx, 0xe84b85a8
xor edx, 0xaf792193
and eax, edx
add rcx, 8
mov qword [rsp + 0x38], rcx
cmp eax, 0x3c567175
je 0x140037a94
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
jmp 0x140037b00
call fcn.14000ee80
jmp 0x140037d30
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jl 0x140037d23
mov edx, dword [0x1402a9758]
xor edx, 0x1869698c
mov eax, dword [0x1402a975c]
xor eax, 0xb0036a19
mov ecx, edx
xor ecx, eax
xor eax, 0xffffffff
and edx, eax
mov eax, 0xcba608e5
xor eax, 0xcba608e7
imul eax, edx
sub eax, ecx
mov ecx, 0x3363729b
xor edx, edx
div ecx
mov edx, 0xb5efb087
xor edx, 0xb5efb086
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x3c490cdf
add eax, ecx
add eax, 0xd56dd60a
mov ecx, 0x9b0cc1e6
xor ecx, 0xac1f130f
cmp eax, ecx
jb 0x140037e93
mov rcx, qword [rsp + 0x28]
mov eax, dword [0x1402a9760]
mov r8d, dword [0x1402a9764]
xor r8d, 0xe5cefc4c
xor edx, edx
div r8d
xor eax, 0x3dc2fb9
mov r9d, 0xe761e09d
xor r9d, 0xa7438e5c
mov edx, 0x128281ff
xor edx, 0xed7d7e00
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, 0x40226ec1
or eax, 0x40226ec1
imul eax, r8d
add eax, edx
mov r8d, 0xaca8c272
xor r8d, 0xd3ed3ab4
xor edx, edx
div r8d
cmp rcx, 0
setl cl
mov byte [rsp + 0x27], cl
cmp eax, 0x80fc3c28
ja 0x140037e93
mov al, byte [rsp + 0x27]
test al, 1
jne 0x140037c32
jmp 0x140037c1f
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
cmp rax, qword [rcx]
jl 0x140037c3f
mov rcx, rdx
call fcn.140025e55
jmp 0x140037d30
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
call fcn.1400378bd
mov rcx, qword [rsp + 0x28]
mov rax, rcx
add rax, 0xffffffffffffffff
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r8, 0xc1da7eb8157b19bb
and rdx, r8
movabs r11, 0xa46eb58c7fcba3be
movabs r8, 0x65b4cb346ab0ba05
xor r11, r8
movabs r8, 0x800d480687191cb7
movabs r9, 0x7ff2b7f978e6e348
xor r8, r9
xor r11, r8
mov r10, rax
and r10, r11
movabs r9, 0x4d50609af1599db3
movabs r8, 0xb2af9f650ea6624c
xor r9, r8
mov r8, rcx
xor r8, r9
movabs r9, 0xc1da7eb8157b19bb
and r8, r9
mov r9, rcx
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
cmp rdx, 0
setl r8b
cmp rcx, 0
setne dl
xor r8b, 0xff
mov cl, dl
xor cl, r8b
and cl, dl
test cl, 1
mov qword [rsp + 0x30], rax
jne 0x140037d19
jmp 0x140037b00
call fcn.14000ee80
jmp 0x140037d30
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
mov eax, dword [0x1402a9768]
or eax, dword [0x1402a976c]
mov edx, eax
and edx, 0xecb5ee34
mov ecx, 0x4f2c40ac
xor ecx, 0x4f2c40ae
imul ecx, edx
add eax, 0xecb5ee34
sub eax, ecx
mov edx, 0x21c115b5
xor edx, 0xb8b94f89
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x99785a3c
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x56f39924
xor edx, edx
div ecx
mov ecx, 0x4ea94ae
xor ecx, 0xd85d8278
cmp eax, ecx
je 0x140037e9c
mov r11d, dword [0x1402a9770]
xor r11d, 0xbdb18d30
mov eax, dword [0x1402a9774]
xor eax, 0xb08dd358
xor r11d, eax
mov eax, 0x26904580
xor eax, 0xd96fba7f
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x37f4c4ab
mov edx, 0x5fe04428
xor edx, 0xa5e0584c
mov eax, 0xa9302af
xor eax, 0xf56cfd50
xor edx, eax
mov eax, ecx
and eax, 0xfa001c64
and r11d, edx
mov r10d, 0xec8ace6f
xor r10d, 0x168ad20b
mov r9d, r8d
and r9d, r10d
mov r10d, 0x62980d91
xor r10d, 0x556cc93a
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xfa001c64
and ecx, edx
or eax, ecx
mov ecx, 0x805bb5b3
xor ecx, 0x7fa44a4c
mov edx, eax
xor edx, ecx
and edx, 0xa754bff0
mov r8d, 0x32ec16d4
xor r8d, 0x95b8a924
mov ecx, 0x3c6cc5b7
xor ecx, 0xc3933a48
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xa754bff0
or eax, 0xa754bff0
imul eax, edx
add eax, ecx
add eax, 0x5e6b11d8
cmp eax, 0x2c11017d
jbe 0x140037d96
add rsp, 0x58
ret
wait
in al, dx
shr dword [rbx], 0xe9
add esp, edi
invalid
in eax, dx
mov dl, 0x9c
hlt
invalid