Function at 0x140035f80
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov qword [rsp + 0x98], r8
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], rcx
cmp r9, 0
cmove r9, rdx
mov rax, r9
sub rax, rdx
cmovl rdx, r9
mov qword [rsp + 0xb0], rdx
cmp rdx, 1
jle 0x140036144
mov rax, qword [rsp + 0xa0]
cmp rax, 1
jge 0x140036003
mov rax, qword [rsp + 0xa0]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
xor eax, eax
mov ecx, eax
call fcn.14001284c
xor eax, eax
mov qword [rsp + 0x90], rax
jmp 0x14003667c
mov rax, qword [rsp + 0xa8]
cmp byte [rax], 0x30
jne 0x140036172
mov eax, dword [0x14024c840]
xor eax, 0x74090593
xor edx, edx
div dword [0x14024c844]
add eax, 0x11a189d1
mov edx, 0x21fed363
xor edx, 0x1f4a5c70
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0x3eb48f13
and eax, ecx
add eax, 0xd235c3f6
cmp eax, 0x377da6c7
jbe 0x14003668c
mov rcx, qword [rsp + 0xa0]
mov eax, dword [0x14024c848]
or eax, dword [0x14024c84c]
mov r8d, 0x307822e5
xor r8d, 0x7f352bec
mov edx, 0x443d50bb
xor edx, 0xbbc2af44
xor r8d, edx
mov edx, eax
xor edx, r8d
and edx, eax
and edx, 0x987f8eb9
mov r8d, 0xffffffff
xor r8d, 0x1d4663b1
mov eax, edx
xor eax, r8d
and eax, edx
cmp rcx, 1
seta cl
mov byte [rsp + 0x8f], cl
cmp eax, 0xe1e304ab
ja 0x140036055
mov al, byte [rsp + 0x8f]
test al, 1
jne 0x14003611b
jmp 0x1400360d2
mov rdx, qword [rsp + 0xa0]
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
movabs rcx, 0x7e6850f467f0733f
movabs r8, 0x8197af0b980f8cc0
xor rcx, r8
xor rdx, rcx
add rdx, rax
mov ecx, 1
call fcn.14001284c
xor eax, eax
mov qword [rsp + 0x90], rax
jmp 0x14003667c
mov rax, qword [rsp + 0xa8]
mov cl, byte [rax + 1]
mov eax, 2
or cl, 0x20
sub cl, 0x78
mov qword [rsp + 0x80], rax
je 0x140036269
jmp 0x140036172
mov rcx, qword [rsp + 0xb0]
xor eax, eax
cmp rcx, 1
mov qword [rsp + 0x80], rax
jne 0x140036269
mov rax, qword [rsp + 0xa0]
cmp rax, 0
jle 0x140036225
mov eax, dword [0x14024c850]
xor edx, edx
div dword [0x14024c854]
mov ecx, 0xb3e4856b
xor edx, edx
div ecx
add eax, 0x6eff846b
sub eax, 0x8ab6035b
cmp eax, 0xd837514f
jbe 0x140036695
mov rcx, qword [rsp + 0xa8]
mov eax, dword [0x14024c858]
mov r8d, dword [0x14024c85c]
mov edx, 0x82041dcd
xor edx, 0x1017957c
xor r8d, edx
xor edx, edx
div r8d
mov edx, 0x5267adc7
xor edx, 0x5678e4dc
sub eax, edx
xor eax, 0x712ecf86
mov edx, 0xb3a140ed
xor edx, 0x6042d157
add eax, edx
mov edx, 0x39992e0d
xor edx, 0x707df1ea
add eax, edx
sub eax, 0xd3e391ba
cmp byte [rcx], 0x23
sete cl
and cl, 1
movzx ecx, cl
mov qword [rsp + 0x78], rcx
cmp eax, 0xa695c4d
je 0x140036695
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x80], rax
jmp 0x140036269
mov rax, qword [rsp + 0xa0]
movabs rcx, 0x6a1c7db1ecdae263
movabs rdx, 0x95e3824e13251d9c
xor rcx, rdx
mov rdx, rax
and rdx, rcx
or rax, 0xffffffffffffffff
add rdx, rax
xor eax, eax
mov ecx, eax
call fcn.14001284c
xor eax, eax
mov qword [rsp + 0x90], rax
jmp 0x14003667c
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x80]
mov rdx, rcx
sub rdx, rax
cmovg rax, rcx
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x68], rcx
mov cl, al
mov byte [rsp + 0x76], cl
mov byte [rsp + 0x77], al
mov rax, qword [rsp + 0x68]
mov cl, byte [rsp + 0x76]
mov dl, byte [rsp + 0x77]
mov byte [rsp + 0x56], dl
mov byte [rsp + 0x57], cl
mov qword [rsp + 0x58], rax
mov eax, dword [0x14024c860]
mov ecx, dword [0x14024c864]
xor ecx, 0x920b68fb
sub eax, 0xc52498bd
add eax, ecx
mov ecx, 0x8462c
xor ecx, 0xc52cde91
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x85f15732
xor edx, 0x7de7d584
and edx, ecx
mov r8d, 0xaf1ebaf6
xor r8d, 0x57083840
mov ecx, 0x14dbf3f5
xor ecx, 0xeb240c0a
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf81682b6
or eax, 0xf81682b6
imul eax, edx
add eax, ecx
xor eax, 0xf7dcc89a
mov ecx, 0x58eeb6a4
xor ecx, 0x1234c54e
imul eax, ecx
cmp eax, 0x87790a17
jae 0x14003669e
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xb0]
mov eax, dword [0x14024c868]
mov r8d, dword [0x14024c86c]
sub eax, 0x8f9f697f
add eax, r8d
add eax, 0x8f9f697f
add eax, 0x2c4823a3
sub eax, 0x669244ce
sub eax, 0x2c4823a3
and eax, 0xaa2d6843
mov r10d, 0xffffffff
xor r10d, 0x540c456f
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x540c456f
or eax, 0x540c456f
imul eax, r9d
add eax, r8d
cmp rcx, rdx
setl cl
mov byte [rsp + 0x55], cl
cmp eax, 0xb789059d
je 0x14003669e
mov rax, qword [rsp + 0x60]
mov cl, byte [rsp + 0x55]
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x1400363e1
jmp case.0x14003643d.10
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xa8]
mov cl, byte [rcx + rax]
mov byte [rsp + 0x3f], cl
add cl, 0xd0
movzx edx, cl
mov qword [rsp + 0x40], rdx
sub cl, 0x36
mov qword [rsp + 0x48], rax
ja case.0x14003643d.10
mov rcx, qword [rsp + 0x58]
mov dl, byte [rsp + 0x56]
mov r8b, byte [rsp + 0x57]
mov rax, qword [rsp + 0x40]
lea r9, [0x1400366b0]
movsxd rax, dword [r9 + rax*4]
add rax, r9
mov byte [rsp + 0x3d], r8b
mov byte [rsp + 0x3e], dl
mov qword [rsp + 0x48], rcx
jmp rax
mov al, byte [rsp + 0x57]
mov dl, byte [rsp + 0x3f]
mov cl, 0x97
xor cl, 0x47
add dl, cl
mov cl, 0x55
xor cl, 0x51
shl al, cl
mov r8b, 0xad
xor r8b, 0x52
mov cl, al
xor cl, r8b
xor al, 0xff
or cl, al
mov al, dl
xor al, 0xff
mov r8b, 0xfc
xor r8b, 3
xor dl, r8b
or al, dl
and cl, al
xor cl, 0xff
mov al, 1
mov byte [rsp + 0x3d], cl
mov byte [rsp + 0x3e], al
jmp case.0x14003643d.47
mov cl, byte [rsp + 0x57]
mov al, byte [rsp + 0x3f]
add al, 0xa9
shl cl, 4
or cl, al
mov al, 1
mov byte [rsp + 0x3d], cl
mov byte [rsp + 0x3e], al
jmp case.0x14003643d.47
mov cl, byte [rsp + 0x57]
mov al, byte [rsp + 0x3f]
add al, 0xc9
shl cl, 4
or cl, al
mov al, 1
mov byte [rsp + 0x3d], cl
mov byte [rsp + 0x3e], al
mov r8, qword [rsp + 0x58]
mov cl, byte [rsp + 0x3d]
mov al, byte [rsp + 0x3e]
mov rdx, r8
and rdx, 1
movabs r9, 0x5e738bc1bc095e5a
movabs r10, 0x5e738bc1bc095e5b
xor r9, r10
or r8, r9
add rdx, r8
mov qword [rsp + 0x68], rdx
mov byte [rsp + 0x76], cl
mov byte [rsp + 0x77], al
jmp 0x140036299
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
mov eax, dword [0x14024c870]
and eax, dword [0x14024c874]
mov ecx, 0x6c8cf48f
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0x8fed8d78
mov edx, 0xa3684c96
xor edx, 0x5c97b369
xor eax, edx
or ecx, 0x8fed8d78
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x7a6d2ecf
xor r8d, 0x8592d130
mov edx, ecx
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3384a4d9
or eax, edx
mov edx, 0xcc558f30
xor edx, 0xffd12be9
mov r8d, 0xdcca911e
xor r8d, 0x23356ee1
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x3384a4d9
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x6963e765
xor ecx, 0x969c189a
xor eax, ecx
mov ecx, 0x9daee912
xor ecx, 0xc79328c4
cmp eax, ecx
je 0x1400366a7
mov eax, dword [0x14024c878]
xor eax, 0x69c0e347
imul eax, dword [0x14024c87c]
mov ecx, 0x407c4a4e
xor ecx, 0x3450caf7
xor edx, edx
div ecx
mov dl, byte [rsp + 0x56]
xor eax, 0x84c77071
mov r8d, 0xdcbd0616
xor r8d, 0x6fc63158
mov ecx, eax
and ecx, r8d
shl ecx, 1
mov r8d, 0xf30a658b
xor r8d, 0x407152c5
add eax, r8d
sub eax, ecx
mov r8b, 0x8b
xor r8b, 0x8a
mov cl, dl
and cl, r8b
xor cl, 0xff
xor dl, 0xff
mov r8b, 0xff
xor r8b, 1
or dl, r8b
xor cl, 0xff
xor dl, 0xff
or cl, dl
cmp cl, 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x156aa6b5
jb 0x1400365bb
mov cl, byte [rsp + 0x2f]
xor eax, eax
test cl, 1
mov qword [rsp + 0x90], rax
jne 0x14003667c
jmp 0x140036661
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x98]
mov dl, byte [rsp + 0x57]
mov byte [rcx], dl
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
add rsp, 0xb8
ret
ret 0x8d5e
invalid
mov dword [rdi], esp
int1
jmp 0x14003633e
and ebp, dword [0x14beca037]
invalid