Function at 0x14008d640
Capabilities:
Load ntoskrnl
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x1405d4300]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rax, qword gs:[0x58]
mov r15, rcx
mov r8d, dword [0x1405d5b6c]
mov r14, rdx
mov ecx, 4
mov edi, 1
mov rbx, qword [rax + r8*8]
add rbx, rcx
mov eax, dword [rbx]
cmp dword [0x1405d5248], eax
jg 0x14008d9b7
mov eax, dword [rbx]
cmp dword [0x1405d5258], eax
jg 0x14008d9fa
mov rax, qword [0x1405d5250]
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14008d914
mov eax, dword [rbx]
cmp dword [0x1405d5268], eax
jg 0x14008da32
mov rax, qword [0x1405d5260]
cmp dword [rax], 0x4550
jne 0x14008d914
mov eax, dword [rbx]
cmp dword [0x1405d5278], eax
mov qword [rsp + 0x70], rsi
jg 0x14008da75
mov eax, dword [rbx]
cmp dword [0x1405d5288], eax
jg 0x14008dab3
mov eax, dword [rbx]
cmp dword [0x1405d5290], eax
jg 0x14008d939
mov ecx, 5
call fcn.14009cbe0
xchg byte [0x1405d5294], dil
mov rdx, qword [0x1405d5270]
xor esi, esi
test dil, dil
jne 0x14008d786
movzx eax, word [0x1405d528c]
lea rcx, [rax + rax*4]
mov rax, qword [0x1405d5280]
lea r8, [rax + rcx*8]
cmp rdx, r8
jae 0x14008d786
lea r9, str.PAGE
nop dword [rax]
mov rax, rsi
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
inc rax
cmp cl, byte [r9 + rax - 1]
jne 0x14008d776
cmp rax, 5
jne 0x14008d760
jmp 0x14008d786
add rdx, 0x28
mov qword [0x1405d5270], rdx
cmp rdx, r8
jb 0x14008d750
mov eax, dword [rbx]
cmp dword [0x1405d52a0], eax
jg 0x14008d975
jmp 0x14008d79d
mov rdx, qword [0x1405d5270]
mov edx, dword [rdx + 0x10]
movzx eax, byte [r15]
movzx ecx, byte [r14]
mov r10, qword [0x1405d5298]
mov byte [rbp - 0x30], al
movzx eax, byte [r15 + 1]
mov byte [rbp - 0x2f], cl
movzx ecx, byte [r14 + 1]
lea rbx, [rdx + r10]
mov byte [rbp - 0x2e], al
movzx eax, byte [r15 + 2]
mov byte [rbp - 0x2d], cl
movzx ecx, byte [r14 + 2]
mov byte [rbp - 0x2c], al
movzx eax, byte [r15 + 3]
mov byte [rbp - 0x2b], cl
movzx ecx, byte [r14 + 3]
mov byte [rbp - 0x2a], al
movzx eax, byte [r15 + 4]
mov byte [rbp - 0x29], cl
movzx ecx, byte [r14 + 4]
mov byte [rbp - 0x28], al
movzx eax, byte [r15 + 5]
mov byte [rbp - 0x27], cl
movzx ecx, byte [r14 + 5]
mov byte [rbp - 0x26], al
movzx eax, byte [r15 + 6]
mov byte [rbp - 0x25], cl
movzx ecx, byte [r14 + 6]
mov byte [rbp - 0x24], al
movzx eax, byte [r15 + 7]
mov byte [rbp - 0x23], cl
movzx ecx, byte [r14 + 7]
mov byte [rbp - 0x22], al
movzx eax, byte [r15 + 8]
mov byte [rbp - 0x21], cl
movzx ecx, byte [r14 + 8]
mov byte [rbp - 0x20], al
movzx eax, byte [r15 + 9]
mov byte [rbp - 0x1f], cl
movzx ecx, byte [r14 + 9]
mov byte [rbp - 0x1e], al
movzx eax, byte [r15 + 0xa]
mov byte [rbp - 0x1d], cl
movzx ecx, byte [r14 + 0xa]
mov byte [rbp - 0x1c], al
movzx eax, byte [r15 + 0xb]
mov byte [rbp - 0x1b], cl
movzx ecx, byte [r14 + 0xb]
mov byte [rbp - 0x1a], al
movzx eax, byte [r15 + 0xc]
mov byte [rbp - 0x19], cl
movzx ecx, byte [r14 + 0xc]
mov byte [rbp - 0x18], al
movzx eax, byte [r15 + 0xd]
mov byte [rbp - 0x17], cl
movzx ecx, byte [r14 + 0xd]
mov byte [rbp - 0x16], al
movzx eax, byte [r15 + 0xe]
mov byte [rbp - 0x15], cl
movzx ecx, byte [r14 + 0xe]
mov byte [rbp - 0x14], al
movzx eax, byte [r15 + 0xf]
mov byte [rbp - 0x13], cl
movzx ecx, byte [r14 + 0xf]
mov byte [rbp - 0x12], al
mov rax, rbx
mov byte [rbp - 0x11], cl
cmp rdx, 0x10
jb 0x14008d8f9
lea r11, [rbx - 0x10]
nop word [rax + rax]
mov r8, r10
lea rdx, [rbp - 0x30]
nop word [rax + rax]
movzx r9d, word [rdx]
movzx ecx, r9w
shr cx, 8
cmp cl, 0x3f
je 0x14008d8e6
cmp byte [r8], r9b
jne 0x14008d90a
inc r8
lea rcx, [rbp - 0x10]
add rdx, 2
cmp rdx, rcx
jne 0x14008d8d0
mov rax, r10
cmp rax, rbx
cmovne rsi, rax
mov rax, rsi
mov rsi, qword [rsp + 0x70]
jmp 0x14008d916
cmp r10, r11
je 0x14008d8f9
inc r10
jmp 0x14008d8c0
xor eax, eax
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401dd5d0
mov rbx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop r14
pop rbp
ret
lea rcx, [0x1405d5290]
call fcn.1401dd358
cmp dword [0x1405d5290], 0xffffffff
jne 0x14008d70c
mov rax, qword [0x1405d5260]
lea rcx, [0x1405d5290]
movzx edx, word [rax + 6]
mov word [0x1405d528c], dx
call fcn.1401dd2ec
jmp 0x14008d70c
lea rcx, [0x1405d52a0]
call fcn.1401dd358
cmp dword [0x1405d52a0], 0xffffffff
jne 0x14008d796
mov rax, qword [0x1405d5270]
lea rcx, [0x1405d52a0]
mov edx, dword [rax + 0xc]
add rdx, qword [0x1405d5240]
mov qword [0x1405d5298], rdx
call fcn.1401dd2ec
jmp 0x14008d796
lea rcx, [0x1405d5248]
call fcn.1401dd358
cmp dword [0x1405d5248], 0xffffffff
jne 0x14008d699
mov r8d, edi
lea rcx, [0x1401e0de0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
lea rcx, [0x1405d5248]
mov qword [0x1405d5240], rax
call fcn.1401dd2ec
jmp 0x14008d699
lea rcx, [0x1405d5258]
call fcn.1401dd358
cmp dword [0x1405d5258], 0xffffffff
jne 0x14008d6a7
mov rax, qword [0x1405d5240]
lea rcx, [0x1405d5258]
mov qword [0x1405d5250], rax
call fcn.1401dd2ec
jmp 0x14008d6a7
lea rcx, [0x1405d5268]
call fcn.1401dd358
cmp dword [0x1405d5268], 0xffffffff
jne 0x14008d6ca
mov rax, qword [0x1405d5250]
lea rcx, [0x1405d5268]
movsxd rdx, dword [rax + 0x3c]
add rdx, qword [0x1405d5240]
mov qword [0x1405d5260], rdx
call fcn.1401dd2ec
jmp 0x14008d6ca
lea rcx, [0x1405d5278]
call fcn.1401dd358
cmp dword [0x1405d5278], 0xffffffff
jne 0x14008d6f0
mov rax, qword [0x1405d5260]
lea rcx, [0x1405d5278]
add rax, 0x108
mov qword [0x1405d5270], rax
call fcn.1401dd2ec
jmp 0x14008d6f0
lea rcx, [0x1405d5288]
call fcn.1401dd358
cmp dword [0x1405d5288], 0xffffffff
jne 0x14008d6fe
mov rax, qword [0x1405d5270]
lea rcx, [0x1405d5288]
mov qword [0x1405d5280], rax
call fcn.1401dd2ec
jmp 0x14008d6fe