Function at 0x1400013e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
lea rax, [rcx + 1]
cmp rax, 1
ja 0x14000141d
lea rsi, [0x1400e2e88]
lea rdx, [0x140098a03]
mov rcx, rsi
call fcn.140032f70
mov rcx, rsi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_puts
jmp 0x140001519
mov rsi, rcx
lea rdi, [0x1400e2928]
lea rdx, [0x14009801c]
mov rcx, rdi
call fcn.140002160
mov rcx, rdi
mov rdx, rsi
call fcn.140001210
movsxd rax, dword [rsi + 0x3c]
mov edi, dword [rax + rsi]
call fcn.14003dd60
cdqe
lea rcx, [0x140098c84]
cmp edi, dword [rcx + rax*4]
jne 0x1400014d3
lea rdi, [0x1400e2bc4]
lea rdx, [0x140098522]
mov rcx, rdi
call fcn.14001c440
mov rcx, rdi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_puts
movsxd rax, dword [rsi + 0x3c]
movzx edi, word [rax + rsi + 0x16]
call fcn.14003ddd0
cdqe
lea rcx, [0x140098c90]
and di, word [rcx + rax*2]
call fcn.14003de50
movzx eax, word [0x1400a7050]
movzx ecx, word [str.TdGaO]
shrd cx, ax, 0xd
mov eax, ecx
xor eax, 0x3f93
cmp di, ax
jne 0x14000152c
lea rsi, [0x1400e2be4]
lea rdx, [0x14009856a]
mov rcx, rsi
call fcn.14001e160
jmp 0x140001410
lea rdi, [0x1400e2b98]
lea rdx, [0x1400984d5]
mov rcx, rdi
call fcn.14001a940
mov rcx, rdi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_puts
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ecx, dword [0x1400a7048]
mov edx, dword [0x1400a704c]
shrd edx, ecx, 0x17
xor edx, 0x9a4564ca
mov rcx, rax
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdi, [0x1400e2c08]
lea rdx, [0x1400985b1]
mov rcx, rdi
call fcn.14001fc30
mov rcx, rdi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_puts
movsxd rax, dword [rsi + 0x3c]
movzx edi, word [rax + rsi + 0x18]
call fcn.14003dec0
cdqe
lea rcx, [0x140098c96]
cmp di, word [rcx + rax*2]
jne 0x1400017b6
lea rdi, [0x1400e2c64]
lea rdx, [0x140098671]
mov rcx, rdi
call fcn.140023450
mov rcx, rdi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_puts
movsxd rax, dword [rsi + 0x3c]
mov edi, dword [rax + rsi + 0x50]
mov ebx, edi
lea r14, [0x1400e2944]
lea rdx, [0x140098067]
mov rcx, r14
call fcn.140003ee0
mov rcx, r14
mov edx, edi
call fcn.140001210
imul eax, dword [0x1400a7054], 0xf5415824
imul ecx, dword [0x1400a7058], 0xe5093b6c
lea r8d, [rax + rcx]
add r8d, 0x8e9b2968
mov eax, dword [0x1400a705c]
mov ecx, dword [0x1400a7060]
shrd ecx, eax, 0x1b
mov r9d, ecx
xor r9d, 0x69f3d89a
xor ecx, ecx
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x1400017d1
mov qword [rsp + 0x28], rax
mov rbx, rax
lea rdi, [0x1400e2964]
lea rdx, [0x1400980bc]
mov rcx, rdi
call fcn.1400059d0
mov rcx, rdi
mov rdx, rbx
call fcn.140001210
movsxd r15, dword [rsi + 0x3c]
lea r14, [r15 + rsi]
call fcn.14003df30
cdqe
lea rcx, [0x140098ca0]
mov rdi, qword [rcx + rax*8]
mov qword [rsp + 0x38], r14
add rdi, r14
movzx ebp, word [r15 + rsi + 0x14]
mov rax, rbx
sub rax, qword [r15 + rsi + 0x30]
mov qword [rsp + 0x40], rax
mov qword [r15 + rsi + 0x30], rbx
mov eax, dword [r15 + rsi + 0x54]
mov r8d, eax
mov qword [rsp + 0x48], rbx
mov rcx, rbx
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov r12d, dword [r15 + rsi + 0xb0]
mov r14d, dword [r15 + rsi + 0xb4]
mov ebx, dword [r15 + rsi + 0x90]
movzx r15d, word [r15 + rsi + 6]
call fcn.14003dfc0
movzx eax, word [0x1400a7064]
movzx ecx, word [0x1400a7066]
imul eax, eax, 0xffffb503
imul ecx, ecx, 0xffff8e14
add eax, ecx
add eax, 0xffff9e9e
cmp r15w, ax
je 0x1400018cd
mov eax, ebp
add rdi, rax
mov eax, r14d
mov qword [rsp + 0x50], rax
xor r15d, r15d
xor eax, eax
xor ecx, ecx
mov dword [rsp + 0x30], r12d
jmp 0x14000175f
add rcx, qword [rsp + 0x28]
mov eax, dword [rbp + 0x10]
mov edx, dword [rbp + 0x14]
add rdx, rsi
mov r8d, eax
call sub.VCRUNTIME140.dll_memcpy
lea r12, [0x1400e298c]
mov rcx, r12
lea rdx, [0x140098107]
call fcn.1400074b0
mov rcx, r12
mov rdx, rbp
call fcn.140001210
call fcn.14003e0d0
cdqe
mov rdx, r15
lea rcx, [0x140098ce0]
add rdx, qword [rcx + rax*8]
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 6]
mov r8d, eax
mov r15, rdx
mov rax, r14
mov rcx, r13
cmp rdx, r8
mov r12d, dword [rsp + 0x30]
jae 0x1400017ec
mov r13, rcx
mov r14, rax
call fcn.14003e040
cdqe
lea rcx, [0x140098cc0]
mov rax, qword [rcx + rax*8]
imul rax, r15
lea rbp, [rdi + rax]
mov eax, dword [rdi + rax + 0xc]
mov ecx, eax
mov eax, ecx
cmp r12d, ecx
jb 0x14000179a
mov eax, ecx
mov edx, dword [rbp + 8]
add edx, ecx
cmp r12d, edx
cmovb r14, rbp
mov eax, ecx
cmp ebx, ecx
jb 0x1400016f0
mov eax, ecx
mov edx, dword [rbp + 8]
add edx, ecx
cmp ebx, edx
cmovb r13, rbp
jmp 0x1400016f0
lea rsi, [0x1400e2c34]
lea rdx, [0x14009860c]
mov rcx, rsi
call fcn.140021760
jmp 0x140001410
lea rsi, [0x1400e2e40]
lea rdx, [0x14009899f]
mov rcx, rsi
call fcn.140031150
jmp 0x140001410
test r14, r14
je 0x1400018cd
test r13, r13
je 0x1400018e8
mov rax, qword [rsp + 0x50]
mov edi, eax
lea r15, [0x1400e29b8]
lea rdx, [0x14009815a]
mov rcx, r15
call fcn.140009180
mov rcx, r15
mov rdx, r14
call fcn.140001210
lea r15, [0x1400e29dc]
lea rdx, [0x1400981a7]
mov rcx, r15
call fcn.14000af30
mov rcx, r15
mov rdx, r13
call fcn.140001210
call fcn.14003e140
mov eax, dword [0x1400a7068]
mov ecx, dword [0x1400a706c]
shrd ecx, eax, 0x1b
xor ecx, 0x5c41dc64
cmp edi, ecx
mov qword [rsp + 0x30], rsi
jne 0x140001903
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x90]
mov ebx, eax
mov r14, qword [rsp + 0x28]
add rbx, r14
call fcn.14003e5f0
mov rax, qword [0x1400a7070]
mov rcx, qword [0x1400a7078]
shrd rcx, rax, 0x2d
movabs rax, 0x7a1daa507e3d87f3
xor rax, rcx
cmp rbx, rax
jne 0x140001a21
lea rsi, [0x1400e2d6c]
lea rdx, [0x140098858]
mov rcx, rsi
call fcn.14002bac0
jmp 0x140001410
lea rsi, [0x1400e2df8]
lea rdx, [0x140098930]
mov rcx, rsi
call fcn.14002f650
jmp 0x140001410
lea rsi, [0x1400e2db4]
lea rdx, [0x1400988cd]
mov rcx, rsi
call fcn.14002d880
jmp 0x140001410
xor r13d, r13d
jmp 0x14000191c
mov rax, r13
mov rcx, rax
mov r13, rax
cmp rax, qword [rsp + 0x50]
jae 0x14000186f
mov eax, dword [r14 + 0x14]
mov edi, eax
lea r12, [rsi + r13]
call fcn.14003e1d0
cdqe
lea rcx, [0x140098d00]
add r13, qword [rcx + rax*8]
mov eax, dword [rdi + r12 + 4]
mov ebx, eax
call fcn.14003e250
cdqe
lea rcx, [0x140098d20]
add rbx, qword [rcx + rax*8]
call fcn.14003e2d0
cdqe
lea rcx, [0x140098d40]
cmp rbx, qword [rcx + rax*8]
jb 0x140001908
call fcn.14003e360
cdqe
lea rcx, [0x140098d60]
movzx ecx, byte [rcx + rax*8]
mov r15, rbx
shr r15, cl
cmp r15, 1
adc r15, 0
xor ebp, ebp
jmp 0x1400019b9
call fcn.14003e570
cdqe
mov rcx, rbp
lea rdx, [0x140098db0]
add rcx, qword [rdx + rax*8]
mov rax, r13
mov rbp, rcx
cmp rcx, r15
mov rsi, qword [rsp + 0x30]
je 0x14000190b
mov eax, dword [r14 + 0x14]
mov ebx, eax
add rsi, r13
call fcn.14003e3e0
cdqe
lea rcx, [0x140098d80]
add r13, qword [rcx + rax*8]
movzx eax, word [rbx + rsi]
mov ebx, eax
mov esi, ebx
call fcn.14003e460
cdqe
lea rcx, [0x140098d98]
cmp bx, word [rcx + rax*2]
jb 0x140001990
mov eax, dword [rdi + r12]
mov esi, eax
call fcn.14003e4f0
cdqe
lea rcx, [0x140098d9e]
movzx eax, word [rcx + rax*2]
mov ecx, ebx
and ecx, eax
mov eax, ecx
add rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
add qword [rsi + rax], rcx
jmp 0x140001990
mov edi, dword [rbx + 0xc]
call fcn.14003e680
mov eax, dword [0x1400a7080]
mov ecx, dword [0x1400a7084]
shrd ecx, eax, 4
xor ecx, 0x83a017dc
cmp edi, ecx
jne 0x140001b51
movsxd rax, dword [rsi + 0x3c]
mov esi, dword [rax + rsi + 0xd0]
call fcn.14003ea20
mov eax, dword [0x1400a70b0]
mov ecx, dword [0x1400a70b4]
shrd ecx, eax, 0xd
xor ecx, 0x36925132
cmp esi, ecx
mov rbx, qword [rsp + 0x48]
je 0x140001ae8
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xd0]
mov rcx, qword [rax + rbx + 0x18]
mov rax, qword [rcx]
test rax, rax
mov rdi, qword [rsp + 0x30]
je 0x140001aca
add rcx, 8
mov rsi, rcx
mov ecx, dword [0x1400a70b8]
mov edx, dword [0x1400a70bc]
shrd edx, ecx, 0xa
xor edx, 0xe3bdc47a
mov rcx, rdi
xor r8d, r8d
call rax
mov rdx, qword [rsi]
add rsi, 8
mov rcx, rsi
mov rax, rdx
test rdx, rdx
jne 0x140001a97
lea rdi, [0x1400e2c90]
lea rdx, [0x1400986cb]
mov rcx, rdi
call fcn.140024f40
mov rcx, rdi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_puts
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x28]
add rax, r14
mov ecx, dword [0x1400a70c0]
mov edx, dword [0x1400a70c4]
shrd edx, ecx, 0x11
xor edx, 0xdc25ad6d
mov rcx, rbx
xor r8d, r8d
call rax
mov edi, eax
call fcn.14003eab0
mov eax, dword [0x1400a70c8]
mov ecx, dword [0x1400a70cc]
shrd ecx, eax, 7
xor ecx, 0xa8fcaa5b
cmp edi, ecx
jne 0x140001d4a
lea rsi, [0x1400e2cc8]
lea rdx, [0x140098723]
mov rcx, rsi
call fcn.140026a20
jmp 0x140001410
movabs r15, 0x305762d34cd93d9d
movabs r12, 0xd8cdd4b2c8134d3d
mov rax, rbx
lea rbp, [0x1400e2a4c]
jmp 0x140001baf
mov rbx, qword [rsp + 0x40]
mov esi, dword [rbx + 0x20]
add rbx, 0x14
call fcn.14003e9a0
mov eax, dword [0x1400a70a8]
mov ecx, dword [0x1400a70ac]
shrd ecx, eax, 0x19
xor ecx, 0x48a61f4b
mov edi, esi
mov rax, rbx
cmp esi, ecx
mov rsi, qword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
je 0x140001a47
mov rbx, rax
mov edi, edi
add rdi, r14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x140001db8
mov r14, rax
lea rsi, [0x1400e2a38]
mov rcx, rsi
lea rdx, [0x14009824c]
call fcn.14000e6a0
mov rcx, rsi
mov rdx, rdi
call fcn.140001210
mov qword [rsp + 0x40], rbx
mov eax, dword [rbx + 0x10]
mov ebx, eax
mov rax, qword [rsp + 0x48]
mov r13, qword [rbx + rax]
call fcn.14003e6f0
mov rax, qword [0x1400a7088]
movabs rcx, 0xe9b345aac68c716e
imul rax, rcx
mov rcx, qword [0x1400a7090]
movabs rdx, 0x6cddb6f6eb4a86ad
imul rcx, rdx
add rcx, rax
movabs rax, 0xcfa1e51d5a07daa5
add rcx, rax
cmp r13, rcx
je 0x140001b71
add rbx, qword [rsp + 0x28]
jmp 0x140001cdc
mov rax, qword [rsp + 0x28]
lea rdi, [rax + r13]
add rdi, 2
mov rcx, r14
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx], rax
lea rsi, [0x1400e2a6c]
mov rcx, rsi
lea rdx, [0x1400982d6]
call fcn.140011f80
mov rcx, rsi
mov rdx, rdi
call fcn.140001210
mov rsi, qword [rbx + 8]
add rbx, 8
call fcn.14003e920
mov rax, qword [0x1400a7098]
movabs rcx, 0xd0977955dbfba340
imul rax, rcx
mov rcx, qword [0x1400a70a0]
imul rcx, r15
add rcx, rax
add rcx, r12
mov r13, rsi
cmp rsi, rcx
je 0x140001b71
call fcn.14003e780
cdqe
lea rcx, [0x140098dd0]
cmp r13, qword [rcx + rax*8]
jg 0x140001c60
mov esi, r13d
call fcn.14003e800
cdqe
lea rcx, [0x140098de8]
mov edi, dword [rcx + rax*4]
and edi, r13d
call fcn.14003e890
cdqe
lea rcx, [0x140098e00]
and r13, qword [rcx + rax*8]
mov rcx, r14
mov rdx, r13
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx], rax
mov rcx, rbp
lea rdx, [0x140098291]
call fcn.140010430
mov rcx, rbp
mov edx, edi
call fcn.140001210
jmp 0x140001c9d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ecx, dword [0x1400a70d0]
mov edx, dword [0x1400a70d4]
shrd edx, ecx, 0x16
xor edx, 0xcb877daf
mov rcx, rax
mov r8, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rsi, [0x1400e2d10]
lea rdx, [0x14009879c]
mov rcx, rsi
call fcn.140028600
mov rcx, rsi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_puts
lea rsi, [0x1400e2d48]
lea rdx, [0x140098807]
mov rcx, rsi
call fcn.140029f10
mov rcx, rsi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_puts
mov rax, rbx
jmp 0x14000151b
lea rsi, [0x1400e29fc]
lea rdx, str.:l
mov rcx, rsi
call fcn.14000cb50
mov rcx, rsi
mov rdx, rdi
call fcn.140001210
jmp 0x140001519