Function at 0x1400713e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov edx, 0xd4bc7787
mov r8d, 0xba8f6f41
mov r9d, 0x2b625d05
call fcn.1400aaf70
mov ebx, eax
test al, al
je 0x140071d67
mov eax, dword [rsi + 0x87c]
mov ecx, dword [0x1405758c4]
mov edx, ecx
xor edx, eax
and ecx, eax
lea eax, [rdx + rcx*2]
mov ecx, eax
xor ecx, 0xfffffffb
mov edx, dword [0x1405015c0]
lea r8d, [rdx + 0x7380dca1]
xor eax, 4
xor ecx, r8d
not r8d
and r8d, eax
or r8d, ecx
not r8d
add edx, 0x7380dc9d
cmp r8d, edx
je 0x140071471
mov rcx, rsi
mov edx, 0x9920ea3e
call fcn.1400a8830
mov eax, dword [0x1405750d3]
mov ecx, eax
xor ecx, 0xfeffffff
test ecx, eax
je 0x14007148a
mov byte [rsi + 0x884], 1
mov rcx, rsi
call fcn.1400710d0
lea rcx, [rsi + 0x230]
mov eax, dword [0x140568fbf]
mov edx, eax
not edx
and edx, 0xfffff7ff
and eax, 0x800
or eax, edx
not eax
mov r8d, eax
and r8d, 0x800
or r8d, edx
and eax, 0xfffff7ff
or eax, r8d
cmp eax, 0xffffffff
setne dl
mov dword [rsp + 0x20], 0xfe970822
mov r8d, 0xb214b571
mov r9d, 0x3cfac964
call fcn.1400ac200
cmp qword [0x140578588], 0
jne 0x14007151c
mov ecx, 0x900
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 0x10], rax
mov rcx, rax
call fcn.140086110
mov rax, qword [rbp - 0x10]
mov qword [0x140578588], rax
mov r14, qword [0x140578588]
mov rax, qword [r14 + 0x2e0]
mov qword [rbp - 8], rax
lea rdi, [rsi + 0x10]
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi + 0x18]
je 0x140071545
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071552
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov byte [rbp - 0x10], bl
lea r15, [rsi + 0x18]
mov rax, qword [r14 + 0x2c0]
mov qword [rbp - 8], rax
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
je 0x140071585
mov edx, dword [0x140438508]
mov edx, dword [0x140575634]
cmp edx, 0x62
jge 0x140071570
lea rcx, [0x140438508]
movsxd r12, dword [0x140438508]
xor r12, rcx
mov r13, r12
not r13
and r13, rcx
movabs rcx, 0xe3d4431675487fb
add rcx, qword [0x1405015b8]
cmp rsi, rcx
jne 0x1400715b7
jmp 0x1400715f0
mov ebx, dword [0x14043850c]
mov ecx, dword [0x140575630]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x1405015c0]
mov r8d, ecx
xor r8d, 0xa2382fe4
and ecx, 0x22382fe4
lea ecx, [r8 + rcx*2]
add ecx, 0xd148acb9
cmp edx, ecx
je 0x14007161d
mov ecx, 0x7380dd00
nop word cs:[rax + rax]
mov edx, dword [0x14043850c]
mov edx, dword [0x140575634]
mov r8d, dword [0x1405015c0]
add r8d, ecx
cmp edx, r8d
jge 0x140071600
jmp 0x1400715b7
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x14007162e
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x14007163b
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x2d0]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071657
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071664
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x2d8]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
mov rcx, qword [r15]
mov r9d, dword [0x140500008]
lea r8d, [r9 + 1]
mov dword [0x140500008], r8d
and r9d, r8d
mov qword [rbp - 0x18], r9
je 0x140071698
xor r13d, r13d
jmp 0x140071e3c
lea r8, [r12 + r13*2]
mov r9d, dword [0x140575630]
mov r10d, r9d
not r10d
add r10d, 2
imul r10d, r9d
test r10b, 1
jne 0x140071d9c
jmp 0x140071d7a
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x510]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x1400716e9
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x1400716f6
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x518]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071712
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x14007171f
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x338]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x14007173b
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071748
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x5b0]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071764
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071771
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x5b8]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x14007178d
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x14007179a
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x348]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x1400717b6
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x1400717c3
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x668]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x1400717df
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x1400717ec
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x670]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071808
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071815
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x678]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071831
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x14007183e
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x680]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x14007185a
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071867
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x688]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071883
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071890
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x588]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x1400718ac
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x1400718b9
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x6f0]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x1400718d5
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x1400718e2
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x6f8]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x1400718fe
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x14007190b
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x4d0]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071927
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071934
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x2a0]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071950
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x14007195d
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x2a8]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071979
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071986
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x2c8]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x1400719a2
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x1400719af
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x2b0]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x1400719cb
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x1400719d8
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x2b8]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x1400719f4
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071a01
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x330]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071a1d
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071a2a
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x5c0]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071a46
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071a53
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x5c8]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071a6f
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071a7c
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x5d0]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071a98
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071aa5
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x5d8]
mov qword [rbp - 8], rax
movzx edx, word [0x1404384fc]
xor ecx, ecx
cmp dword [rbp - 0x18], 1
sbb ecx, ecx
mov r8d, edx
xor r8d, 0xffff8546
and edx, 0x546
lea edx, [r8 + rdx*2]
sub edx, r13d
mov r8d, 0x7380dc9e
lea r9, [fcn.1400713e0]
add r9d, r9d
add r9d, 0x2ee0
nop dword [rax]
mov r10d, dword [0x140575630]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
jne 0x140071b26
mov r10w, 0x518f
sub r10w, word [0x1405015b0]
mov r11d, dword [0x140575630]
lea ebx, [r11 - 1]
imul ebx, r11d
test bl, 1
je 0x140071b37
mov r10d, dword [0x1405015c0]
add r10d, r8d
test r9d, r10d
jne 0x140071af0
jmp 0x140071b05
mov r8d, edx
xor r8d, r10d
and edx, r10d
lea edx, [r8 + rdx*2]
mov r8d, edx
not r8d
movsx ecx, cx
mov r9d, r8d
and r9d, ecx
not ecx
and edx, ecx
or edx, r9d
and ecx, r8d
or ecx, edx
mov edx, dword [0x1405015b0]
mov r8d, edx
xor r8d, 0x292a
not edx
and edx, 0x56d5
or edx, r8d
not edx
lea edx, [r8 + rdx*2]
xor edx, ecx
movzx ecx, dx
mov edx, 0xa5df16cf
add edx, dword [0x1405758c4]
mov r8d, edx
xor r8d, ecx
and edx, ecx
lea ecx, [r8 + rdx*2]
add ecx, 0x5a20e931
mov dword [0x1405758c4], ecx
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071bb9
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071bc6
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
movzx ebx, byte [rbp - 0x10]
mov rax, qword [r14 + 0x5e0]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071be6
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071bf3
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x690]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071c0f
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071c1c
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x590]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071c38
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071c45
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x300]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071c61
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071c6e
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071c8a
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071c97
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071cb3
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071cc0
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071cdc
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071ce9
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071d05
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071d12
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [sym.imp.KERNEL32.dll_GetStartupInfoW]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071d2e
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071d3b
lea rcx, [rsi + 8]
lea r8, [rbp - 8]
call fcn.140087100
mov rax, qword [r14 + 0x420]
mov qword [rbp - 8], rax
mov rdx, qword [rdi]
cmp rdx, qword [r15]
je 0x140071d57
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x140071d67
add rsi, 8
lea r8, [rbp - 8]
mov rcx, rsi
call fcn.140087100
mov eax, ebx
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r9d, dword [0x140575630]
mov r10d, dword [0x1405015c0]
add r10d, r9d
add r10d, 0x7380dc9e
imul r10d, r9d
test r10b, 1
je 0x140071dc7
lea r9, [fcn.1400713e0]
add r9d, r9d
add r9d, 0x4100
mov r10d, r9d
not r10d
nop word cs:[rax + rax]
test r10d, r9d
jne 0x140071dc0
jmp 0x140071d7a
xor r9d, r9d
mov r13d, 0
test ebx, ebx
jle 0x140071e3c
xor r10d, r10d
nop word [rax + rax]
movsxd r9, r9d
mov r11, qword [0x1405756b0]
mov r12, r11
xor r12, r9
and r11, r9
lea r11, [r12 + r11*2]
movzx r11d, word [r8 + r11]
mov r13d, r11d
xor r13d, r11d
not r13d
and r13d, r10d
xor r13d, r11d
mov r10d, dword [0x1405015c0]
mov r11d, r10d
xor r11d, 0x42728de1
and r10d, 0x42728de1
lea r10d, [r11 + r10*2]
neg r10d
add r9d, r10d
add r9d, 0xcef1b146
mov r10d, r13d
cmp r9d, ebx
jl 0x140071de0
cmp rdx, rcx
je 0x1400716c0
mov qword [rdx], rax
add qword [rdi], 8
jmp 0x1400716cd