Function at 0x140093740
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x130
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xe8], rdx
mov dword [rsp + 0xf4], ecx
call fcn.14008f78b
mov qword [rsp + 0xf8], rax
mov ecx, 0xdb
call fcn.140062510
mov rcx, rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x100], rcx
mov dl, byte [rax]
mov r8b, 0x40
xor r8b, 0x40
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
jne 0x140093f21
mov eax, dword [str.__ae]
mov edx, dword [0x1401cc4ec]
mov r8d, eax
xor r8d, edx
mov ecx, 0x5d887f52
xor ecx, 0xa27780ad
xor r8d, ecx
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
sub eax, 0xacd6e9ff
sub eax, 0x2d08777f
add eax, 0xacd6e9ff
imul eax, eax, 0x1a305c73
mov ecx, 0x98eaf0b5
xor ecx, 0x4d0b1a5f
and eax, ecx
cmp eax, 0x2c35a081
jae 0x140094033
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x100]
mov eax, dword [0x1401cc4f0]
xor eax, 0x1a9296b4
xor eax, dword [0x1401cc4f4]
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xa778f750
and ecx, 0xa778f750
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xdc81e95
xor ecx, 0x4c8705e4
add eax, ecx
add eax, 0x5ad30da7
mov ecx, 0x540aff4b
xor ecx, 0x5ba358d9
cmp qword [rdx], r8
sete dl
mov byte [rsp + 0xdf], dl
cmp eax, ecx
je 0x140093809
mov al, byte [rsp + 0xdf]
test al, 1
jne 0x1400938d7
jmp 0x140093888
mov ecx, 0x84d
call fcn.140062510
mov rdx, qword [rsp + 0xf8]
mov qword [rsp + 0xd0], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
jne 0x140093f21
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd0]
cmp qword [rax], rcx
jne 0x14009395f
mov ecx, 0x40
mov edx, 8
call fcn.14001217d
mov rcx, rax
mov rax, qword [0x1401dd770]
mov qword [rcx], rax
lea rax, [0x1401dba30]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401dba50]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401dba58]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401dba30]
lea r8, [0x1401dba60]
lea r9, [0x1401dba3f]
mov qword [rsp + 0x20], 0xffffffffac484c14
call fcn.1400120ce
mov rax, qword [rsp + 0xf8]
mov cl, byte [rax]
xor eax, eax
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
jmp 0x140093f21
mov rax, qword [0x1401dba68]
mov qword [rsp + 0x118], rax
mov rax, qword [0x1401dba70]
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0x118]
call fcn.140030db0
mov rdx, qword [rsp + 0xf8]
mov qword [rsp + 0xc8], rax
mov cl, 1
cmp byte [rdx], 0
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
jne 0x140093f21
mov ecx, 0x43a
call fcn.140062510
mov rdx, qword [rsp + 0xf8]
mov rcx, rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc0], rcx
mov cl, 1
cmp byte [rdx], 0
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
jne 0x140093f21
mov rax, qword [rsp + 0xe8]
mov rax, qword [rax + 8]
mov qword [rsp + 0xb0], rax
mov ecx, 0x916
call fcn.140062d70
mov rdx, qword [rsp + 0xf8]
mov ecx, eax
mov rax, qword [rsp + 0xc8]
mov dword [rsp + 0xbc], ecx
mov cl, 1
cmp byte [rdx], 0
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
jne 0x140093f21
mov rcx, qword [rsp + 0xc8]
mov r9d, dword [rsp + 0xbc]
mov edx, dword [rsp + 0xf4]
mov rax, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xc0]
mov r11, qword [rsp + 0xb0]
add r11, 8
add r11, r8
mov rax, qword [rax]
mov r10d, eax
mov rax, qword [0x1401ddad0]
mov r8, qword [rax + 8]
mov rsi, r8
add rsi, 8
xor eax, eax
cmp r8, 0
cmove rsi, rax
mov r8d, 0x7a5f968c
xor r8d, 0x7a5f968c
mov bl, 1
xor bl, 1
xor eax, eax
and bl, 1
mov rax, rsp
mov byte [rax + 0x48], bl
mov qword [rax + 0x38], rsi
mov qword [rax + 0x30], r11
mov dword [rax + 0x20], r10d
mov qword [rax + 0x28], 0
call fcn.140091e30
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0xc8]
mov cl, 1
cmp byte [rdx], 0
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
jne 0x140093f21
mov cx, 0x7d33
xor cx, 0x753e
call fcn.140062510
mov rcx, qword [rsp + 0xf8]
mov rdx, rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xa8], rdx
mov dl, byte [rcx]
mov r8b, 0x2c
xor r8b, 0x2c
mov cl, 1
cmp dl, r8b
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
jne 0x140093f21
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x98], rax
mov ecx, 0x37a
call fcn.140062d70
mov rdx, qword [rsp + 0xf8]
mov ecx, eax
mov rax, qword [rsp + 0xc8]
mov dword [rsp + 0xa4], ecx
mov cl, 1
cmp byte [rdx], 0
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
jne 0x140093f21
mov eax, dword [0x1401cc4f8]
xor edx, edx
div dword [0x1401cc4fc]
mov ecx, eax
add ecx, 1
mov edx, 0x70972ea0
xor edx, 0x8f68d15f
xor eax, edx
or eax, 0x39af512d
add eax, ecx
xor eax, 0x66d1a15d
mov ecx, 0xd3f49d8a
xor ecx, 0xca12d67a
xor eax, ecx
cmp eax, 0x324a3b7e
jbe 0x14009403c
mov r9d, dword [rsp + 0xa4]
mov rcx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xa8]
mov r10, qword [rsp + 0x98]
mov eax, dword [0x1401cc500]
mov r11d, dword [0x1401cc504]
mov edx, eax
and edx, r11d
shl edx, 1
add eax, r11d
sub eax, edx
mov edx, 0x1b5132f3
xor edx, 0x8fd254b3
sub eax, edx
mov r11d, 0x921233
xor r11d, 0x21884dc5
xor edx, edx
div r11d
mov edx, dword [rsp + 0xf4]
mov r11d, eax
mov rax, qword [rsp + 0xe0]
imul r11d, r11d, 0x1ff14d1
mov dword [rsp + 0x90], r11d
add r10, 8
add r10, r8
mov rax, qword [rax]
mov r11d, eax
mov rax, qword [0x1401ddad0]
mov rsi, qword [rax + 8]
mov rax, rsi
add rax, 8
xor r8d, r8d
cmp rsi, 0
cmove rax, r8
xor r8d, r8d
xor esi, esi
mov dword [rsp + 0x20], r11d
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x48], 0
call fcn.140091e30
mov rcx, qword [rsp + 0xf8]
mov eax, dword [rsp + 0x90]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x97], cl
cmp eax, 0x95ba544a
jae 0x140093bdd
mov rax, qword [rsp + 0xc8]
mov dl, byte [rsp + 0x97]
mov cl, 1
test dl, 1
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
jne 0x140093d00
jmp 0x140093f21
mov rcx, qword [rsp + 0xc8]
mov rax, qword [0x1401ddad0]
mov r8, qword [rax + 8]
mov rax, r8
add rax, 8
xor edx, edx
cmp r8, 0
cmove rax, rdx
mov r9d, 0xffffffff
xor edx, edx
xor edx, edx
mov edx, r9d
mov r8d, r9d
mov dword [rsp + 0x20], 0xffffffff
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x48], 0
call fcn.140091e30
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0xc8]
mov cl, 1
cmp byte [rdx], 0
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
jne 0x140093f21
movabs rax, 0x939dabad2dd57124
mov qword [rsp + 0x128], rax
mov cx, 0x8b38
xor cx, 0x80aa
call fcn.140062510
mov rcx, rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x80], rcx
mov cl, byte [rax]
mov dl, 0xae
xor dl, 0xae
mov al, 1
cmp cl, dl
mov byte [rsp + 0x8f], al
jne 0x140093e68
mov edx, dword [rsp + 0xf4]
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x80]
mov r10, qword [rax + 0x60]
add r10, 8
add r10, rcx
mov rcx, qword [0x1401ecfb0]
mov rax, qword [rax + 0x58]
mov esi, eax
mov rax, qword [0x1401ddad0]
mov r9, qword [rax + 8]
mov rax, r9
add rax, 8
xor r8d, r8d
cmp r9, 0
cmove rax, r8
mov r8d, 0x98
mov r9d, 8
lea r11, [rsp + 0x128]
xor edi, edi
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x48], 0
call fcn.140091e30
mov rax, qword [rsp + 0xf8]
mov al, byte [rax]
mov byte [rsp + 0x8f], al
mov rax, qword [rsp + 0xf8]
mov edx, dword [rsp + 0xf4]
mov cl, byte [rsp + 0x8f]
mov byte [rsp + 0x77], cl
mov byte [rax], 0
mov rcx, qword [0x1401ecfb8]
call fcn.14005ac57
mov rdx, qword [rsp + 0xf8]
mov rcx, rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x78], rcx
mov cl, 1
cmp byte [rdx], 0
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
jne 0x140093f21
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov dl, 0xc8
xor dl, 0xc9
mov byte [rax], dl
call fcn.140031860
mov rcx, qword [rsp + 0xf8]
mov al, byte [rsp + 0x77]
mov dl, 1
mov byte [rsp + 0x75], dl
cmp byte [rcx], 0
mov byte [rsp + 0x76], al
je 0x140093f06
mov al, byte [rsp + 0x75]
mov byte [rsp + 0x76], al
mov rax, qword [rsp + 0xc8]
mov cl, byte [rsp + 0x76]
mov byte [rsp + 0x10f], cl
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xf8]
mov dl, byte [rsp + 0x10f]
mov r8, qword [rsp + 0x110]
mov qword [rsp + 0x58], r8
mov byte [rsp + 0x67], dl
mov byte [rcx], 0
mov rax, qword [rax + 8]
mov qword [rsp + 0x68], rax
cmp rax, 0
je 0x140093f85
mov rcx, qword [rsp + 0x68]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140093f85
mov rcx, qword [rsp + 0x68]
call fcn.14000e572
mov rax, qword [rsp + 0xe8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x140093fff
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
movabs rdx, 0xc82f7bc770cc9708
movabs r8, 0x882f7bc770cc9708
xor rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x140093fff
mov rcx, qword [rsp + 0x50]
call fcn.14000e572
mov rcx, qword [rsp + 0x58]
call fcn.14002f81c
mov rax, qword [rsp + 0xf8]
cmp byte [rax], 0
jne 0x140094028
mov rax, qword [rsp + 0xf8]
mov cl, byte [rsp + 0x67]
mov byte [rax], cl
add rsp, 0x130
pop rbx
pop rdi
pop rsi
ret
pop rbx
invalid
mov edx, 0xe9763181
cwde
sti
invalid