Function at 0x140046e50
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rcx
mov edx, dword [0x1401dd210]
mov eax, dword [0x1401dd214]
mov ecx, edx
xor ecx, eax
mov r8d, 0xb6e3e1ac
xor r8d, 0x491c1e53
xor eax, r8d
and edx, eax
mov eax, 0x3f51b5c0
xor eax, 0x3f51b5c2
imul eax, edx
sub eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0xf8a8fb1
xor edx, 0xf075704e
xor eax, edx
mov edx, 0x3ece2280
xor edx, 0x769dbced
or eax, edx
add eax, ecx
mov ecx, 0xc8ca998b
xor edx, edx
div ecx
sub eax, 0x4ce538a0
cmp eax, 0xb7b3b06f
ja 0x140047367
mov eax, dword [0x1401dd218]
add eax, dword [0x1401dd21c]
mov ecx, 0xd6593dc
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x78]
and eax, 0xdd08be10
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x5f87ac2
mov r8d, 0xffffffff
xor r8d, 0x5f87ac2
and eax, r8d
sub eax, ecx
mov ecx, 0x422bf1d3
xor ecx, 0xea407ac6
cmp rdx, 0
setl dl
mov byte [rsp + 0x77], dl
cmp eax, ecx
jbe 0x140047367
mov rax, qword [rsp + 0x78]
mov cl, byte [rsp + 0x77]
test cl, 1
mov qword [rsp + 0x68], rax
jne 0x140046f55
jmp 0x140046f6e
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
xor ecx, ecx
sub rcx, 0xffffffffffffffff
sub rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x48], rdx
add rcx, 8
mov qword [rsp + 0x50], rcx
cmp rax, 0xffffffffffffffff
setg cl
mov byte [rsp + 0x5f], cl
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov eax, dword [0x1401dd220]
mov edx, dword [0x1401dd224]
xor edx, 0x6aff1e2d
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x8f3291f8
mov r8d, 0x3ee468bb
xor r8d, 0xb1d6f943
mov ecx, 0x2374d67c
xor ecx, 0xdc8b2983
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8f3291f8
mov r8d, 0x6923e42d
xor r8d, 0xe61175d5
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0xfcaa6f35
mov r8d, 0xffffffff
xor r8d, 0x32e643b4
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xa44f4306
xor r8d, 0x5bb0bcf9
xor ecx, r8d
imul ecx, edx
mov r8d, 0xe82fb68d
xor r8d, 0xdac9f539
mov edx, eax
and edx, r8d
or eax, 0x32e643b4
imul eax, edx
add eax, ecx
mov ecx, 0x891813ef
xor ecx, 0x5f3f2ef6
cmp eax, ecx
jae 0x140047370
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov eax, dword [0x1401dd228]
mov r8d, dword [0x1401dd22c]
sub eax, 0x2ed1ea84
add eax, r8d
add eax, 0x2ed1ea84
mov r9d, 0xc26a4c66
xor r9d, 0x3c251af1
mov r8d, 0x9b0ae807
xor r8d, 0x64f517f8
xor r9d, r8d
mov r8d, eax
and r8d, r9d
mov r9d, eax
xor r9d, 0xfe4f5697
add eax, r9d
sub eax, r8d
or eax, 0x6fbc46d4
add eax, 0x4f38426c
cmp rcx, rdx
setg cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x53e05045
je 0x140047074
mov cl, byte [rsp + 0x3f]
mov rax, 0xffffffffffffffff
test cl, 1
mov qword [rsp + 0x30], rax
jne 0x14004721d
jmp 0x140047108
mov al, byte [rsp + 0x5f]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx]
mov qword [rsp + 0x28], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14004715a
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x28]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
call fcn.1400137e9
mov rax, 0xffffffffffffffff
mov qword [rsp + 0x30], rax
jmp 0x14004721d
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov cl, byte [rcx + rax + 8]
mov r8b, cl
shr r8b, 3
movzx r8d, r8b
movzx edx, byte [rdx + r8]
mov r8b, cl
add r8b, 1
xor cl, 0xff
mov r9b, 0x39
xor r9b, 0x3e
or cl, r9b
add cl, r8b
movzx ecx, cl
mov r8d, 1
shl r8d, cl
mov ecx, r8d
and ecx, edx
cmp ecx, 0
mov qword [rsp + 0x30], rax
jne 0x14004721d
mov rax, qword [rsp + 0x40]
movabs rdx, 0x4e883ab1c7d07e0f
movabs rcx, 0x4e883ab1c7d07e0e
xor rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0xdf637cb882f1ae0a
movabs r8, 0xdf637cb882f1ae08
xor rdx, r8
imul rcx, rdx
movabs rdx, 0xeef9518937686997
movabs r8, 0xeef9518937686996
xor rdx, r8
xor rax, rdx
add rax, rcx
mov qword [rsp + 0x60], rax
jmp 0x140046fa1
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov eax, dword [0x1401dd230]
mov r8d, dword [0x1401dd234]
mov ecx, 0xb7992d66
xor ecx, 0xfa55e465
xor r8d, ecx
mov edx, 0xe14381c5
xor edx, 0x1ebc7e3a
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0xf0831273
mov ecx, 0xf3ba065a
xor edx, edx
div ecx
mov r8d, 0x796e7717
xor r8d, 0x1a4ad34d
mov ecx, 0x2eea90cb
xor ecx, 0xd1156f34
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x2bd37046
xor r8d, 0xd42c8fb9
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x6324a45a
or eax, 0x6324a45a
imul eax, edx
add eax, ecx
cmp eax, 0xe277f3ea
jae 0x140047379
mov ecx, dword [0x1401dd238]
and ecx, dword [0x1401dd23c]
mov edx, 0xadb6dece
xor edx, 0x52492131
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0xb0cb81a9
mov edx, 0x2a0e7ce
xor edx, 0xfd5f1831
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xb0cb81a9
mov r8d, 0x94a4a548
xor r8d, 0x246f24e1
mov r9d, 0xf6828d30
xor r9d, 0x97d72cf
xor r8d, r9d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
sub eax, 0x88abfebe
mov ecx, 0xb37cf70d
xor edx, edx
div ecx
cmp eax, 0xf4574a1f
ja 0x140047379
mov rax, qword [rsp + 0x20]
add rsp, 0x98
ret
invalid
xchg esp, eax
xchg byte [rdi], bl
invalid
pop rbx
out dx, al
mov dh, 0x2a
jmp 0x1400472d5