Function at 0x140094a40
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x110
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x88], rcx
mov ecx, dword [0x1401dc478]
mov r8d, dword [0x1401dc47c]
mov eax, 0x2bb5ce0c
xor eax, 0x898d8805
xor r8d, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x5b022f5
mov r8d, 0xffffffff
xor r8d, 0x5b022f5
mov eax, ecx
and eax, r8d
imul eax, edx
mov r8d, 0x755fe7a5
xor r8d, 0x70efc550
mov edx, ecx
and edx, r8d
or ecx, 0x5b022f5
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x5bd86747
mov edx, 0x326a6065
xor edx, 0x69b20722
mov r8d, 0xcea36902
xor r8d, 0x315c96fd
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x577fc7d7
xor ecx, 0xce0a1a70
xor eax, ecx
mov ecx, 0x66320fcc
xor ecx, 0x1b28a7f7
cmp eax, ecx
jb 0x1400956ad
mov eax, dword [0x1401dc480]
xor eax, 0x5919209b
mov ecx, dword [0x1401dc484]
add eax, ecx
mov ecx, eax
xor ecx, 0x44c1829
xor eax, 0xb9b1e3c6
mov edx, eax
and edx, 0xdb02e790
and ecx, 0x24fd186f
imul ecx, edx
mov edx, eax
and edx, 0x24fd186f
or eax, 0x24fd186f
imul eax, edx
add eax, ecx
mov dword [rbp + 0x74], eax
mov eax, 0x10
mov qword [rbp + 0x38], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x58], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
mov eax, 0x20
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
sub rsp, 0x20
call fcn.1400920d4
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x68], rdx
mov qword [rcx], 0
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x60], rdx
mov qword [rcx + 8], 0
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140030cb6
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp + 0x74]
mov dword [rbp + 0x78], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x7f], cl
cmp eax, 0x3fffd998
jb 0x140094b24
mov cl, byte [rbp + 0x7f]
xor eax, eax
test cl, 1
mov qword [rbp + 0x30], rax
jne 0x140094c3c
jmp 0x1400956a0
mov rax, qword [rbp + 0x88]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140030cb6
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x68]
mov dword [rbp + 0x2c], ecx
cmp byte [rax], 0
jne 0x140095627
mov r8d, dword [0x1401dc488]
mov edx, dword [0x1401dc48c]
xor edx, 0xbe0d75c2
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x9854a5d4
mov r9d, 0xffffffff
xor r9d, 0x9854a5d4
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
mov r10d, 0xee88f6d
xor r10d, 0x96bc2ab9
and ecx, r10d
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
imul eax, eax, 0xc27843dc
mov edx, 0xffffffff
xor edx, 0x599925cc
mov ecx, eax
and ecx, edx
mov r8d, 0x1248c4dd
xor r8d, 0x4bd1e111
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xe6b768ca
xor ecx, 0xbd84defa
add eax, ecx
cmp eax, 0xcfcffb58
jae 0x1400956b6
mov eax, dword [0x1401dc490]
mov ecx, dword [0x1401dc494]
xor ecx, 0xef412890
xor ecx, 0xffffffff
add eax, ecx
mov ecx, 0x64e65ba1
xor ecx, 0x64e65ba0
add eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x6ee291aa
add eax, ecx
mov ecx, 0x3a3c1744
xor ecx, 0x4d9699eb
or eax, ecx
mov ecx, 0xcd76884b
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 0x88]
mov dword [rbp + 0x20], ecx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140030cb6
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp + 0x20]
mov dword [rbp + 0x24], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x2b], cl
cmp eax, 0x90fd39ed
je 0x140094cf5
mov al, byte [rbp + 0x2b]
test al, 1
jne 0x140094d8a
jmp 0x140095627
mov rax, qword [rbp + 0x88]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140030cb6
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x68]
mov dword [rbp + 0x1c], ecx
cmp byte [rax], 0
jne 0x140095627
mov eax, dword [rbp + 0x24]
cmp eax, 0
jle 0x140094dfa
mov rcx, qword [rbp + 0x58]
mov eax, dword [rbp + 0x24]
mov rdx, qword [rbp + 0x88]
mov rdx, qword [rdx]
mov eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.140030560
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x38
xor cl, 0x38
cmp al, cl
je 0x140094e13
jmp 0x140095627
mov rax, qword [rbp + 0x58]
mov rcx, qword [0x1401eca70]
mov qword [rax], rcx
mov rcx, qword [0x1401eca78]
mov qword [rax + 8], rcx
mov ecx, dword [rbp + 0x2c]
lea rax, [0x1401eca98]
cmp ecx, 0
mov qword [rbp + 0x10], rax
jle 0x140094e6d
mov rcx, qword [rbp + 0x48]
mov eax, dword [rbp + 0x2c]
mov rdx, qword [rbp + 0x88]
mov rdx, qword [rdx]
mov eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.140030560
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov rax, qword [rax + 8]
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x10], rcx
mov qword [rbp + 8], rax
jne 0x14009559e
mov ecx, dword [rbp + 0x24]
mov edx, dword [rbp + 0x2c]
mov r8d, dword [rbp + 0x78]
mov eax, dword [rbp + 0x1c]
mov r9, qword [rbp + 0x10]
mov qword [rbp], r9
and eax, r8d
and eax, edx
and eax, ecx
sub eax, 0xffffffff
sete al
test al, 1
jne 0x140094e9c
jmp 0x1400950a6
mov rax, qword [rbp]
cmp rax, 0
je 0x140095044
mov ecx, dword [0x1401dc498]
mov eax, 0x5583e091
xor eax, 0xaa774215
xor ecx, eax
mov edx, dword [0x1401dc49c]
mov r8d, 0x35c6264a
xor r8d, 0xca39d9b5
mov eax, ecx
xor eax, r8d
mov r9d, 0xc385d176
xor r9d, 0x3c7a2e89
mov r8d, edx
xor r8d, r9d
and eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0x95d97d4e
xor ecx, 0x6a2682b1
xor eax, ecx
and eax, 0x16d9d444
mov ecx, eax
and ecx, 0x164a0183
xor ecx, 0xffffffff
and eax, 0x164a0183
xor eax, 0xffffffff
mov edx, 0x5fabc29a
xor edx, 0xa0543d65
xor ecx, edx
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xf4be264
xor edx, 0xf0b41d9b
xor ecx, edx
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x422b1782
mov edx, 0xffffffff
xor edx, 0x422b1782
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x9d011643
xor edx, 0x62fee9bc
xor ecx, edx
and eax, ecx
cmp eax, 0x9686ff6c
jae 0x1400956bf
mov eax, dword [0x1401dc4a0]
mov ecx, 0x1d4a718e
xor ecx, 0xddf754fd
xor eax, ecx
mov r8d, dword [0x1401dc4a4]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xbe925c21
xor edx, edx
div ecx
mov ecx, 0x1cfdead6
xor edx, edx
div ecx
mov rdx, qword [rbp]
add eax, 0x1f7d2c9c
mov ecx, 0x8187cbd1
xor ecx, 0xba5cf3ed
mov rdx, qword [rdx]
movabs r9, 0x974e3a3855ef1180
movabs r8, 0x974e3a3855ef1181
xor r9, r8
mov r8, rdx
add r8, r9
movabs r9, 0xc13acb60e4c9481
movabs r10, 0xf3ec5349f1b36b7e
xor r9, r10
xor rdx, r9
movabs r9, 0x4000000000000000
or rdx, r9
add rdx, r8
cmp rdx, 0
sete dl
mov byte [rbp - 1], dl
cmp eax, ecx
jae 0x1400956bf
mov al, byte [rbp - 1]
test al, 1
jne 0x140095033
jmp 0x140095044
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov qword [rbp - 0x10], rcx
xor eax, eax
cmp rcx, 0
mov qword [rbp + 0x30], rax
je 0x1400956a0
mov rcx, qword [rbp - 0x10]
movabs rdx, 0x4000000000000000
and rdx, qword [rcx]
movabs r8, 0x80d1f97028bffda1
movabs rax, 0x80d1f97028bffda1
xor r8, rax
xor eax, eax
cmp rdx, r8
mov qword [rbp - 0x20], rcx
mov rcx, rax
mov qword [rbp - 0x18], rcx
mov qword [rbp + 0x30], rax
je 0x14009567f
jmp 0x1400956a0
mov eax, dword [rbp + 0x78]
mov ecx, 0x8419e2bf
xor ecx, 0x8419e2bf
cmp eax, ecx
je 0x140095225
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov qword [rbp - 0x30], rcx
xor eax, eax
cmp rcx, 0
mov qword [rbp - 0x28], rax
je 0x140095175
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax]
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
movabs r8, 0x46fdd12af416319a
movabs r9, 0xf3cbeb6d6e83de7f
xor r8, r9
movabs r9, 0xc784297ab1372624
movabs r10, 0x387bd6854ec8d9db
xor r9, r10
xor r8, r9
or rcx, rdx
movabs rdx, 0x6bb4ef15128203a
movabs r9, 0xb38d74b6cbbdcfdf
xor rdx, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov qword [rbp - 0x28], rax
je 0x140095175
mov rcx, qword [rbp + 0x58]
sub rsp, 0x20
call fcn.140013c70
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0x80]
mov ecx, dword [rbp + 0x78]
mov rdx, qword [rbp + 0x50]
mov r8d, dword [rbp + 0x2c]
mov r9, qword [rbp]
mov r10d, dword [rbp + 0x24]
mov r11, qword [rbp - 0x28]
add r11, 8
mov qword [rdx], r11
mov dword [rdx + 8], r10d
add r9, 8
mov qword [rdx + 0x10], r9
mov dword [rdx + 0x18], r8d
movsxd rdx, ecx
imul r8, rdx, 0x48
mov rcx, rax
add rcx, r8
add rcx, 0x18
imul rdx, rdx, 0x48
add rax, rdx
add rax, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x40], rax
mov rcx, qword [rcx]
mov qword [rbp - 0x38], rcx
cmp rax, 0
je 0x1400951f9
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x50]
sub rsp, 0x20
call rax
add rsp, 0x20
jmp 0x14009520b
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x50]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [rbp + 0x68]
cmp byte [rax], 0
je 0x140095225
mov rax, qword [rbp]
mov qword [rbp + 8], rax
jmp 0x14009559e
movabs rcx, 0x543549eb9c9df318
movabs rax, 0x543549eb9c9df300
xor rcx, rax
movabs rdx, 0x152f61596d9f8aba
movabs rax, 0x152f61596d9f8ab2
xor rdx, rax
sub rsp, 0x20
call fcn.14001b340
mov r8d, dword [rbp + 0x1c]
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x48], rdx
mov dword [rdx], r8d
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.14000fb15
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rcx + 8], r8
mov rdx, qword [rdx + 8]
mov qword [rcx + 0x10], rdx
cmp rax, 0
je 0x14009542d
mov rax, qword [rbp]
mov rcx, qword [rax]
movabs rdx, 0x6db318507e0cb382
movabs rax, 0x2db318507e0cb382
xor rdx, rax
mov rax, rcx
and rax, rdx
movabs rdx, 0x46f2f20b283421ff
movabs r8, 0xb90d0df4d7cbde00
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x675d842d395d99fc
movabs r8, 0x98a27bd2c6a26603
xor rdx, r8
xor rcx, rdx
or rax, rcx
cmp rax, 0
jne 0x14009542d
mov eax, dword [0x1401dc4a8]
xor eax, dword [0x1401dc4ac]
mov ecx, 0xf5376418
xor ecx, 0x438386ec
xor eax, ecx
mov ecx, 0x91f35df9
xor ecx, 0x81977fed
xor eax, ecx
and eax, 0x9cbe317c
mov ecx, 0x211341ea
xor ecx, 0x3a8690fd
cmp eax, ecx
jae 0x1400956c8
mov rcx, qword [rbp]
mov eax, dword [0x1401dc4b0]
mov edx, dword [0x1401dc4b4]
xor edx, 0x7f1acafa
imul eax, edx
imul edx, eax, 0xbb5e5dc3
mov r8d, 0x1dcb49c0
xor r8d, 0x5a338235
mov eax, edx
xor eax, r8d
mov r8d, 0x33d4ce86
xor r8d, 0x742c0573
mov r9d, 0x2ba92648
xor r9d, 0xd456d9b7
xor r8d, r9d
and edx, r8d
shl edx, 1
sub edx, eax
mov eax, 0x87d1f6c1
xor eax, 0x782e093e
mov r8d, edx
xor r8d, eax
mov eax, 0x8e8ca321
xor eax, 0xad6f8bd7
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x23e328f6
and edx, r8d
or eax, edx
mov dword [rbp - 0x4c], eax
mov eax, 0xef884c6a
xor eax, 0xe8429ca3
mov dword [rbp - 0x50], eax
sub rsp, 0x20
call fcn.14000de03
mov ecx, dword [rbp - 0x50]
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
cmp eax, ecx
jb 0x140095378
jmp 0x14009542d
mov eax, dword [0x1401dc4b8]
mov r8d, dword [0x1401dc4bc]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x54eb8cd3
xor edx, edx
div ecx
mov ecx, 0x84de1a20
xor ecx, 0xa8182960
and eax, ecx
and eax, 0xef5d8258
mov ecx, 0x4fd55f49
xor ecx, 0x53bdafd
cmp eax, ecx
ja 0x1400956d1
mov rdx, qword [rbp + 0x60]
mov ecx, dword [0x1401dc4c0]
mov eax, dword [0x1401dc4c4]
xor eax, 0x42191aa6
sub ecx, eax
mov r8d, 0xfc834158
xor r8d, 0xf055e8c9
mov eax, ecx
and eax, r8d
shl eax, 1
mov r8d, 0xfdcb9707
xor r8d, 0xf11d3e96
add ecx, r8d
sub ecx, eax
mov r8d, 0x3dc956fe
xor r8d, 0x44ea36c0
mov eax, ecx
xor eax, r8d
xor eax, 0xffffffff
and eax, 0x7923603e
shl eax, 1
sub eax, 0x7923603e
sub ecx, eax
mov eax, ecx
and eax, eax
mov r8d, 0xddc9d9ed
xor r8d, 0x22362612
xor eax, r8d
and eax, 0x7ce938f7
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x7ce938f7
mov r9d, 0xffffffff
xor r9d, 0x7ce938f7
or r8d, r9d
and ecx, r8d
mov r8d, 0x61934fb
xor r8d, 0xf9e6cb04
xor ecx, r8d
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xacbb205f
xor ecx, 0x6f841874
mov rdx, qword [rdx]
mov qword [rbp - 0x60], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
je 0x14009547b
mov rax, qword [rbp - 0x48]
mov cl, byte [rbp - 0x51]
test cl, 1
mov qword [rbp + 0x30], rax
jne 0x1400956a0
jmp 0x14009556b
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x60]
movabs rdx, 0x4000000000000000
and rdx, qword [rcx]
cmp rdx, 0
mov qword [rbp - 0x20], rcx
mov rcx, rax
mov qword [rbp - 0x18], rcx
mov qword [rbp + 0x30], rax
je 0x14009567f
jmp 0x1400956a0
mov rax, qword [rbp + 8]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x140095627
mov rax, qword [rbp - 0x68]
mov rax, qword [rax]
or rax, rax
movabs rcx, 0x7b0ef74a3c1da2dd
movabs rdx, 0x84f108b5c3e25d22
xor rcx, rdx
xor rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
movabs rdx, 0xa2cd2de5f58f7eec
movabs r8, 0x5d32d21a0a708113
xor rdx, r8
xor rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x140095627
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov qword [rbp - 0x70], rcx
xor eax, eax
cmp rcx, 0
mov qword [rbp + 0x30], rax
je 0x1400956a0
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rcx]
mov rax, rdx
add rax, 1
xor rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rdx, r8
add rdx, rax
xor eax, eax
cmp rdx, 0
mov qword [rbp - 0x20], rcx
mov rcx, rax
mov qword [rbp - 0x18], rcx
mov qword [rbp + 0x30], rax
jne 0x1400956a0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x78], rax
sub rsp, 0x20
call fcn.14000de03
mov rax, qword [rbp - 0x78]
add rsp, 0x20
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
lea rsp, [rbp + 0x90]
pop rbp
ret
out dx, al
invalid
hlt
or ebp, edx
xchg r10, rax
jmp 0x140094f74
invalid
and ebx, dword [rdi + rbp*2 - 0x48]
jmp 0x14009547b