Function at 0x1400355f0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov rdx, qword [rcx]
mov rax, rdx
add rax, 0xffffffffffffffff
mov qword [rsp + 0x60], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, cl
xor al, 0xff
mov r8b, dl
xor r8b, 0xff
or al, r8b
xor cl, 0xff
xor dl, 0xff
or cl, dl
xor edx, edx
xor dl, 1
xor al, dl
xor edx, edx
xor dl, 1
xor cl, dl
or al, cl
test al, 1
jne 0x1400356d4
mov eax, dword [0x140273a28]
xor edx, edx
div dword [0x140273a2c]
mov ecx, 0xfbae42cd
xor edx, edx
div ecx
mov ecx, 0x34576159
xor edx, edx
div ecx
mov ecx, 0x4a0b9284
xor edx, edx
div ecx
cmp eax, 0x3ae13e77
ja 0x140035991
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x140273a30]
mov r8d, dword [0x140273a34]
xor edx, edx
sub edx, r8d
add eax, edx
mov r8d, 0x6aaa1ff4
xor edx, edx
div r8d
and eax, 0x40f25982
xor eax, 0x244d10c7
add rcx, 8
mov qword [rsp + 0x48], rcx
cmp eax, 0x1a8915c7
je 0x140035683
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
jmp 0x1400356de
call fcn.14000f24b
jmp 0x14003598c
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
cmp rax, rcx
jl 0x14003597f
mov eax, dword [0x140273a38]
mov r8d, dword [0x140273a3c]
mov ecx, eax
xor ecx, 0xffffffff
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
and eax, 0x55a16a8b
mov ecx, 0xffffffff
xor ecx, 0xa337386f
add eax, ecx
add eax, 1
mov ecx, 0xad3ea14
xor edx, edx
div ecx
cmp eax, 0xc3f45718
ja 0x14003599a
mov ecx, dword [0x140273a40]
sub ecx, dword [0x140273a44]
mov edx, 0xffffffff
xor edx, 0x5abbdc28
mov eax, ecx
xor eax, edx
and eax, ecx
and eax, 0x634c2493
mov ecx, 0x4bbdcf4a
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x38]
mov ecx, 0xf1fd3159
xor ecx, 0x5ad6edde
cmp rdx, 0
setl dl
mov byte [rsp + 0x37], dl
cmp eax, ecx
ja 0x140035752
mov al, byte [rsp + 0x37]
test al, 1
jne 0x1400357c4
jmp 0x1400357b1
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
cmp rax, qword [rcx]
jl 0x1400357d1
mov rcx, rdx
call fcn.1400292ad
jmp 0x14003598c
mov eax, dword [0x140273a48]
mov edx, dword [0x140273a4c]
mov ecx, 0x79aff838
xor ecx, 0x58a94aa2
xor edx, ecx
mov ecx, eax
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0xb06ae657
xor ecx, 0xb06ae657
or eax, ecx
and eax, 0xba945763
xor ecx, ecx
sub ecx, 0x8d0545da
add eax, ecx
cmp eax, 0x86fdfe0
jb 0x1400359a3
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8d, dword [0x140273a50]
and r8d, dword [0x140273a54]
mov r9d, r8d
xor r9d, 0xffffffff
and r9d, 0x25d7a7b8
mov r10d, 0xffffffff
xor r10d, 0x25d7a7b8
mov edx, r8d
and edx, r10d
imul edx, r9d
mov r10d, 0x50bfe6fa
xor r10d, 0x75684142
mov r9d, r8d
and r9d, r10d
mov r10d, 0xc4ba112f
xor r10d, 0xe16db697
or r8d, r10d
imul r8d, r9d
add r8d, edx
mov edx, 0x4d174e6d
xor edx, 0xd4ad1a1d
xor r8d, edx
mov edx, r8d
or edx, edx
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x49e5d42f
mov r10d, 0xeb48241e
xor r10d, 0xa2adf031
mov r11d, 0xcba72042
xor r11d, 0x3458dfbd
xor r10d, r11d
and r9d, r10d
or edx, r9d
mov r9d, 0x459f2ddc
xor r9d, 0xba60d223
xor edx, r9d
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x49e5d42f
and r8d, r9d
or edx, r8d
xor edx, 0xffffffff
mov dword [rsp + 0x24], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
call fcn.14003559e
mov rcx, qword [rsp + 0x38]
mov eax, dword [rsp + 0x24]
mov rdx, rcx
add rdx, 0xffffffffffffffff
mov qword [rsp + 0x28], rdx
mov r8, rdx
and r8, rcx
shl r8, 1
add rdx, rcx
sub rdx, r8
cmp rdx, 0
setl dl
cmp rcx, 0
setne cl
and cl, dl
mov byte [rsp + 0x36], cl
cmp eax, 0x2ad49c8d
je 0x1400359a3
mov rax, qword [rsp + 0x28]
mov cl, byte [rsp + 0x36]
test cl, 1
mov qword [rsp + 0x40], rax
jne 0x140035975
jmp 0x1400356de
call fcn.14000f24b
jmp 0x14003598c
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
add rsp, 0x68
ret
jl 0x14003594e
invalid
lodsb al, byte [rsi]
pop rbx
invalid
jp 0x140035a1a
invalid
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x140035a59
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x140035b43
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
movabs rax, 0xc16bff037b268d71
movabs rcx, 0x20bd1a7ede33af8f
xor rax, rcx
mov rcx, r8
add rcx, rax
sub rcx, rdx
movabs rax, 0xe1d6e57da51522fe
sub rcx, rax
mov qword [rsp + 0x40], rcx
mov rax, rcx
xor rax, r8
movabs r8, 0xcd84a99b17e963db
movabs r9, 0xcd84a99b17e963db
xor r8, r9
cmp rax, r8
setl al
xor rcx, rdx
movabs rdx, 0x9bc72430bbbc3a8b
movabs r8, 0x6438dbcf4443c574
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x140035b39
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
movabs r9, 0x7b646d445009559c
movabs rax, 0x7b646d4450095594
xor r9, rax
movabs rax, 0xaab444e433dd3407
movabs r10, 0xaab444e433dd340f
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.1400265f0
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x140035b43
call fcn.14000f24b
jmp 0x140035cf1
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x140035cf1
mov eax, dword [0x140273a58]
xor eax, dword [0x140273a5c]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x8a41fd4b
mov edx, 0x9870645
xor edx, 0x83c6fb0e
mov r8d, 0xe4b33a98
xor r8d, 0x1b4cc567
xor edx, r8d
and eax, edx
sub eax, ecx
or eax, 0x96e3641a
mov ecx, 0xf76b5b54
xor edx, edx
div ecx
cmp eax, 0xbc5450f0
jae 0x140035dec
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x140273a60]
mov r8d, dword [0x140273a64]
mov edx, r8d
and edx, eax
mov r9d, 0x37dc7c39
xor r9d, 0xc82383c6
xor edx, r9d
add eax, r8d
add eax, 1
add eax, edx
mov r8d, 0x989e1327
xor edx, edx
div r8d
mov r8d, eax
mov rax, qword [rsp + 0x30]
mov edx, 0x1a789ca5
xor edx, 0x3ee2030f
or r8d, edx
mov edx, r8d
xor edx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and edx, r9d
mov r9d, 0x4d58c6fe
or r9d, 0x4d58c6fe
xor r9d, 0xffffffff
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x4d58c6fe
mov r9d, 0x88d2ce6b
xor r9d, 0x772d3194
xor r8d, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
mov dword [rsp + 0x28], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1401244d4
mov rcx, qword [rsp + 0x68]
mov eax, dword [rsp + 0x28]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x642a326a
je 0x140035dec
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140035ca3
jmp 0x140035cf1
mov rdx, qword [rsp + 0x30]
movabs rax, 0x2819938016dc4c80
movabs rcx, 0x2819938016dc4c81
xor rax, rcx
mov rcx, rdx
and rcx, rax
shl rcx, 1
mov rax, rdx
xor rax, 1
add rax, rcx
xor rdx, 0xffffffffffffffff
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x140035b5a
call fcn.14000f24b
mov eax, dword [0x140273a68]
imul eax, dword [0x140273a6c]
mov ecx, eax
and ecx, ecx
xor ecx, 0xffffffff
mov edx, 0x335a5704
xor edx, 0xcca5a8fb
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x9258b6e9
or ecx, edx
mov edx, 0x9258b6e9
and edx, 0x9258b6e9
mov r8d, 0xc8219ac1
xor r8d, 0x37de653e
xor edx, r8d
and eax, edx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov edx, 0x90bbb6d2
xor edx, 0x6f44492d
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xeca0e3c2
or eax, edx
mov edx, 0xeca0e3c2
and edx, 0xeca0e3c2
xor edx, 0xffffffff
and ecx, edx
mov edx, 0x69550017
xor edx, 0x96aaffe8
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x3957d6ca
xor edx, edx
div ecx
cmp eax, 0x7aaeb3d6
jae 0x140035df5
mov eax, dword [0x140273a70]
mov ecx, dword [0x140273a74]
mov edx, 0x264730ac
xor edx, 0x927a92f4
xor ecx, edx
or eax, ecx
or eax, 0x577a3dde
and eax, 0x30c7596
mov ecx, 0xffffffff
xor ecx, 0x237baccb
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0xab487697
je 0x140035da3
add rsp, 0x78
ret
ror byte [rdx + 0x29], cl
movabs al, byte [0xa4d14bfffffdcce9]
movabs dword [0x489066ffffffa5e9], eax
sub rsp, 0xc8
shl qword [r11 + r12*4 - 0x5a17], 1
jmp qword [rsi - 0x70]
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rcx
xor eax, eax
test r8, r8
mov ecx, eax
cmovg rcx, r8
mov qword [rsp + 0xb8], rcx
mov rax, qword [rdx]
mov rdx, rax
add rdx, 0xffffffffffffffff
cmp rax, r9
cmovg rdx, r9
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0xc0], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
movabs rdx, 0x4cae19782f116eeb
movabs r8, 0xb351e687d0ee9114
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x140035e8a
jmp 0x140035e94
call fcn.14000f24b
jmp 0x1400363c7
mov rdx, qword [rsp + 0xc0]
movabs rcx, 0xb4b492adc88d97ad
movabs rax, 0xb4b492adc88d97ac
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rsp + 0x98], rax
mov rcx, rdx
xor rcx, 0xffffffffffffffff
and rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140035fa9
mov eax, dword [0x140273a78]
mov ecx, dword [0x140273a7c]
mov edx, 0x85b858d9
xor edx, 0x22969b45
xor ecx, edx
and eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x664153c
xor edx, 0xd40f1da2
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xd26b089e
and eax, edx
sub eax, ecx
mov ecx, 0x1214da2d
xor ecx, 0x65efa7d4
xor edx, edx
div ecx
mov ecx, 0xea086fe3
xor edx, edx
div ecx
mov ecx, 0xc4bd3a75
xor ecx, 0xa0dc8a9f
cmp eax, ecx
jae 0x1400363d7
mov ecx, dword [0x140273a80]
xor ecx, 0xfc4993ad
add ecx, dword [0x140273a84]
mov eax, ecx
and eax, 0x5990d9c7
xor ecx, 0x5990d9c7
or eax, ecx
and eax, 0xce9bf284
sub eax, 0x1d5bec43
sub eax, 0xce2c3d03
add eax, 0x1d5bec43
mov dword [rsp + 0x94], eax
call fcn.14000f24b
mov eax, dword [rsp + 0x94]
cmp eax, 0x7a62bd2b
jbe 0x140035f51
jmp 0x1400363c7
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x98]
xor edx, edx
test rax, rax
cmovg rdx, rax
mov qword [rsp + 0x88], rdx
call fcn.140034600
mov rax, qword [rsp + 0xc0]
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x1400363c7
mov eax, dword [0x140273a88]
mov ecx, 0xe98836fc
xor ecx, 0xac4aed2e
xor eax, ecx
mov ecx, dword [0x140273a8c]
xor ecx, 0x6dd92f4a
imul eax, ecx
or eax, 0xbf53fe91
add eax, 0x1a755291
add eax, 0x75f0353
sub eax, 0x1a755291
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe1d015e6
mov r8d, 0xffffffff
xor r8d, 0xe1d015e6
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe1d015e6
mov r8d, 0xbb8636d4
xor r8d, 0x5a562332
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xad7f074
jbe 0x1400363e0
mov rcx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xa0]
mov r9d, dword [0x140273a90]
and r9d, dword [0x140273a94]
mov eax, 0x17511156
xor eax, 0x294053af
and r9d, eax
mov r10d, 0xec56121a
xor r10d, 0x13a9ede5
mov eax, r9d
xor eax, r10d
mov r10d, r9d
xor r10d, 0xffffffff
and eax, r10d
mov r10d, 0x3c075bb5
or r10d, 0x3c075bb5
mov r11d, 0xaa61056b
xor r11d, 0x559efa94
xor r10d, r11d
xor eax, 0xffffffff
xor r10d, 0xffffffff
and eax, r10d
or r9d, 0x3c075bb5
mov r10d, 0xe8baeee0
xor r10d, 0x1745111f
xor r9d, r10d
mov r10d, 0x9a0d13fa
xor r10d, 0x65f2ec05
xor eax, r10d
xor r9d, 0xffffffff
and eax, r9d
mov r9d, 0x74f3ec0d
xor r9d, 0x2a3c9a2f
add eax, r9d
add eax, 0x66945d11
sub eax, 0x5ecf7622
mov r9, rcx
add r9, 8
mov qword [rsp + 0x68], r9
add rdx, 8
mov qword [rsp + 0x70], rdx
mov rdx, r8
sub rdx, 2
mov edx, 1
cmovae rdx, r8
mov qword [rsp + 0x78], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x80], rcx
cmp eax, 0xeb823e06
jae 0x140036068
mov rcx, qword [rsp + 0x80]
xor eax, eax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
jmp 0x140036180
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
cmp rax, rcx
jl 0x140036260
mov ecx, dword [0x140273a98]
mov r8d, dword [0x140273a9c]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, r8d
xor eax, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
add eax, 0x9a9c9e5e
sub eax, 0xccb01b08
mov ecx, 0x4aae7b02
xor ecx, 0x89b2365a
sub eax, ecx
cmp eax, 0x5730a5b6
jbe 0x1400363e9
mov eax, dword [str.3p]
mov r8d, dword [0x140273aa4]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
xor eax, 0x9ae1c831
sub eax, 0xa49e7676
add eax, 0xc6e8293a
add eax, 0xc03d3d1
sub eax, 0xc6e8293a
mov dword [rsp + 0x44], eax
mov rcx, rdx
call fcn.1400292ad
mov eax, dword [rsp + 0x44]
cmp eax, 0x8e028f94
jbe 0x1400363e9
jmp 0x1400363c7
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp rcx, 0
mov qword [rsp + 0x38], rax
je 0x140036320
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x5506db01d90dcb72
xor r8, r9
or rcx, rdx
movabs rdx, 0x36c6f2e0550d7920
movabs r9, 0x63c029e18c00b252
xor rdx, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0xfb7dfa41c99408c8
movabs r8, 0xfb7dfa41c99408c8
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x38], rax
je 0x140036320
mov rcx, qword [rsp + 0xa8]
call fcn.14002bae0
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
mov qword [rsp + 0x20], r8
add rax, rdx
mov qword [rsp + 0x28], rax
cmp rax, qword [rcx]
jl 0x14003635d
mov rcx, rdx
call fcn.1400292ad
jmp 0x1400363c7
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x68]
mov r10, qword [rsp + 0x28]
mov r9, qword [rsp + 0x70]
mov r9, qword [r9]
mov r9b, byte [r9 + r10 + 8]
mov r8, qword [r8]
mov byte [r8 + rax + 8], r9b
mov r8, rax
and r8, 1
movabs r9, 0x67bdc3a8c330fd9
movabs r10, 0x67bdc3a8c330fdb
xor r9, r10
imul r8, r9
xor rax, 1
add rax, r8
cmp rax, rdx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
jne 0x140036180
mov rax, qword [rsp + 0xb0]
add rsp, 0xc8
ret
lodsb al, byte [rsi]
int1
adc edx, dword [rcx]
jmp 0x140035f51
invalid
xor dword [rbx + 0xd], 0x50
jmp 0x1400361f6