Function at 0x140031080
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r14
sub rsp, 0x1c8
mov rax, qword [0x1401d5e90]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
mov rdi, rdx
xor edx, edx
mov rsi, r8
mov rbx, rcx
lea r8d, [rdx + 0x60]
lea rcx, [rsp + 0x28]
mov r14, r9
call fcn.1400dc6e0
mov ecx, 0x1000
mov dword [rsp + 0x20], 0x68
call fcn.1400d68e8
mov ecx, 0x1000
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], 0x800
call fcn.1400d68e8
lea rcx, [0x1401628e0]
mov dword [rsp + 0x70], 0x800
mov qword [rsp + 0x68], rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
je 0x140031326
lea rdx, str.InternetCrackUrlW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140031299
mov ecx, dword [0x1401ddd80]
mov eax, 0x38e38e39
mov r8d, ecx
imul r8d, ecx
imul r8d, ecx
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
add eax, eax
sub r8d, eax
cmp r8d, 7
jne 0x1400311c6
xor esi, esi
lea rdi, [rsp + 0x90]
nop dword [rax + rax]
xor r9d, r9d
nop word [rax + rax]
mov eax, ecx
lea r8d, [rsi + 1]
lea ebx, [r9 + 1]
cdq
idiv r8d
mov eax, ecx
sub eax, esi
mov r8d, edx
imul r8d, eax
mov eax, ecx
lea rcx, [0x140161c84]
cdq
idiv ebx
add r8d, eax
sub r8d, r9d
mov edx, r8d
call fcn.1400d7c60
add rdi, 4
mov r9d, ebx
cmp ebx, 0xe
jge 0x1400311b7
mov ecx, dword [0x1401ddd80]
jmp 0x140031170
inc esi
cmp esi, 5
jge 0x1400311c6
mov ecx, dword [0x1401ddd80]
jmp 0x140031160
mov rcx, qword [rsp + 0x38]
call fcn.1400d834c
mov edx, dword [0x1401ddd80]
mov eax, edx
imul eax, edx
imul eax, edx
and eax, 0x80000007
jge 0x1400311ec
dec eax
or eax, 0xfffffff8
inc eax
cmp eax, 4
jne 0x140031330
xor r8d, r8d
nop dword [rax + rax]
mov ecx, r8d
mov eax, r8d
inc r8d
sar eax, 1
and ecx, 1
dec ecx
not ecx
and ecx, edx
xor ecx, eax
mov eax, ecx
sar ecx, 1
and eax, 1
dec eax
not eax
and eax, edx
xor eax, ecx
mov ecx, eax
sar eax, 1
and ecx, 1
dec ecx
not ecx
and ecx, edx
xor ecx, eax
mov eax, ecx
sar ecx, 1
and eax, 1
dec eax
not eax
and eax, edx
xor eax, ecx
mov ecx, eax
sar eax, 1
and ecx, 1
dec ecx
not ecx
and ecx, edx
xor ecx, eax
mov eax, ecx
sar ecx, 1
and eax, 1
dec eax
not eax
and eax, edx
xor eax, ecx
mov ecx, eax
sar eax, 1
and ecx, 1
dec ecx
not ecx
and ecx, edx
xor ecx, eax
mov eax, ecx
sar ecx, 1
and eax, 1
dec eax
not eax
and eax, edx
xor eax, ecx
add edx, eax
cmp r8d, 0x100
jl 0x140031200
mov dword [0x1401ddd80], edx
jmp 0x140031330
mov rcx, qword [rbx]
lea r9, [rsp + 0x20]
xor r8d, r8d
mov edx, dword [rcx - 0x10]
call rax
test eax, eax
jne 0x140031347
mov r8d, dword [0x1401ddd80]
lea eax, [r8 + 1]
lea ecx, [r8 + 2]
imul ecx, eax
mov eax, 0x38e38e39
imul ecx, r8d
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
add eax, eax
sub ecx, eax
cmp ecx, 2
jne 0x140031326
mov eax, 0x51eb851f
mov rbx, 0xffffffffffffffff
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 4
imul edx, edx, 0x64
sub r8d, edx
add r8d, 0x7b
movsxd rcx, r8d
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1400d68e8
mov rcx, rax
call fcn.1400d834c
mov rcx, qword [rsp + 0x38]
call fcn.1400d834c
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x38], 0
call fcn.1400d834c
xor al, al
jmp 0x1400313bf
mov rdx, qword [rsp + 0x38]
or rbx, 0xffffffffffffffff
test rdx, rdx
jne 0x140031359
xor eax, eax
jmp 0x14003136a
mov rax, rbx
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140031360
mov r8d, eax
mov rcx, rdi
call fcn.140002770
mov rdx, qword [rsp + 0x68]
test rdx, rdx
jne 0x140031383
xor ebx, ebx
jmp 0x14003138d
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x140031383
mov r8d, ebx
mov rcx, rsi
call fcn.140002770
movzx eax, word [rsp + 0x44]
mov rcx, qword [rsp + 0x38]
mov dword [r14], eax
call fcn.1400d834c
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x38], 0
call fcn.1400d834c
mov al, 1
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.1400d72a0
add rsp, 0x1c8
pop r14
pop rdi
pop rsi
pop rbx
ret