Function at 0x14000abe0
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov rsi, rdx
mov rdi, rcx
mov eax, 0x5a4d
cmp word [rdx], ax
jne 0x14000b31a
movsxd r14, dword [rdx + 0x3c]
add r14, rdx
cmp dword [r14], 0x4550
jne 0x14000b31a
mov eax, 0x20b
cmp word [r14 + 0x18], ax
jne 0x14000b31a
mov ebx, dword [r14 + 0x50]
movabs rax, 0x4e60dcdb03f92a29
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x50], rax
movabs rax, 0xc63ecc071fd9442c
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x48], rax
movabs rcx, 0xf0cbdae778b437f
mov qword [rbp + 0x88], rcx
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x20], rax
movabs rdx, 0xc63ecc077cb62840
mov qword [rbp + 0x88], rdx
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x18], rax
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x50], xmm0
movabs rax, 0x3d3fd1cb19f92614
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x80], rax
movabs rax, 0xc63ecc0710da4c6e
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x78], rax
mov qword [rbp + 0x88], rcx
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x10], rax
mov qword [rbp + 0x88], rdx
mov rax, qword [rbp + 0x88]
mov qword [rbp - 8], rax
movdqa xmm0, xmmword [rbp - 0x80]
xorps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x14000ad52
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
test rax, rax
je 0x14000b31a
lea rdx, [rbp - 0x50]
mov rcx, rax
call fcn.140002070
test rax, rax
je 0x14000b31a
mov r9d, 4
mov r8d, 0x3000
mov edx, ebx
xor ecx, ecx
call rax
mov r15, rax
test rax, rax
je 0x14000b31a
movzx ecx, word [r14 + 0x14]
mov r12d, dword [rcx + r14 + 0x24]
sub ebx, r12d
mov eax, ebx
mov qword [rbp + 0x78], rax
mov r8d, ebx
mov rcx, rdi
call fcn.140003490
mov r13, rax
mov rbx, rax
mov qword [rbp + 0x88], rax
test rax, rax
je 0x14000b1db
mov r8d, dword [r14 + 0x54]
mov rdx, rsi
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
movzx ebx, word [r14 + 0x14]
add rbx, 0x24
xor edx, edx
mov edi, edx
cmp dx, word [r14 + 6]
jae 0x14000ae0e
add rbx, r14
nop
test dword [rbx + 0x18], 0x80
ja 0x14000adfd
mov ecx, dword [rbx]
add rcx, r15
mov r8d, dword [rbx + 4]
mov edx, dword [rbx + 8]
add rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
inc edi
add rbx, 0x28
movzx eax, word [r14 + 6]
cmp edi, eax
jl 0x14000ade0
xor edx, edx
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0x80], r12
sub r13, r12
mov rsi, r13
sub rsi, qword [r14 + 0x30]
mov eax, 0x5a4d
cmp word [r15], ax
jne 0x14000af22
movsxd rax, dword [r15 + 0x3c]
cmp dword [rax + r15], 0x4550
jne 0x14000af22
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov r11, rdx
mov qword [rsp + 0x60], rdx
mov ecx, dword [rax + r15 + 0xb0]
test ecx, ecx
jne 0x14000ae77
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
mov qword [rsp + 0x78], rdx
jmp 0x14000af36
lea rbx, [r15 + rcx]
mov edi, dword [rax + r15 + 0xb4]
add rdi, rbx
mov r10, qword [rsp + 0x58]
cmp rbx, rdi
jae 0x14000aefd
mov ecx, dword [rbx + 4]
test ecx, ecx
je 0x14000aefb
mov eax, dword [rbx]
add rax, r15
mov qword [rbp - 0x40], rax
lea rax, [rbx + 8]
mov qword [rbp - 0x38], rax
lea rax, [rcx - 8]
shr rax, 1
mov dword [rbp - 0x30], eax
cmp r10, r11
je 0x14000aed5
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [r10], xmm0
movsd xmm1, qword [rbp - 0x30]
movsd qword [r10 + 0x10], xmm1
add r10, 0x18
mov qword [rsp + 0x58], r10
jmp 0x14000aef0
lea r8, [rbp - 0x40]
mov rdx, r10
lea rcx, [rsp + 0x50]
call fcn.14000ca00
mov r11, qword [rsp + 0x60]
mov r10, qword [rsp + 0x58]
mov eax, dword [rbx + 4]
add rbx, rax
cmp rbx, rdi
jb 0x14000ae90
xor edx, edx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rdx
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x78], r11
jmp 0x14000af45
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
mov r11, rdx
mov qword [rsp + 0x78], rdx
xorps xmm0, xmm0
psrldq xmm0, 8
movq rbx, xmm1
movq r10, xmm0
cmp rbx, r10
je 0x14000afa4
lea r8, [rbx + 0x10]
mov edi, 0xfff
xor r12d, r12d
mov edx, r12d
cmp dword [r8], edx
jbe 0x14000af90
nop
mov ecx, edx
mov rax, qword [r8 - 8]
movzx r9d, word [rax + rcx*2]
movzx eax, r9w
shr ax, 0xc
and r9w, di
cmp ax, 0xa
jne 0x14000af89
movzx ecx, r9w
mov rax, qword [r8 - 0x10]
add qword [rax + rcx], rsi
inc edx
cmp edx, dword [r8]
jb 0x14000af60
add r8, 0x18
lea rax, [r8 - 0x10]
cmp rax, r10
jne 0x14000af56
mov r12, qword [rbp + 0x80]
test rbx, rbx
je 0x14000b011
sub r11, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul r11
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rbx
cmp rdx, 0x1000
jb 0x14000aff7
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000aff7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.14009d4d4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
xor esi, esi
mov qword [rsp + 0x78], rsi
jmp 0x14000b013
xor esi, esi
mov rdx, r15
lea rcx, [rbp + 8]
call fcn.14000c170
mov rdx, rax
mov rdi, qword [rbp + 0x70]
mov rcx, rdi
call fcn.14000b330
test al, al
je 0x14000b1d4
lea r8, [r12 + r15]
mov r9, qword [rbp + 0x78]
mov rbx, qword [rbp + 0xb0]
mov rdx, rbx
mov rcx, rdi
call fcn.140003250
test al, al
je 0x14000b1db
mov r8d, dword [r14 + 0x28]
add r8, r13
mov dword [rbp + 0x90], esi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea rdx, [rbp + 0x90]
mov rcx, rdi
call fcn.14000b620
test al, al
je 0x14000b1db
mov rcx, qword [rbp + 0xb8]
test rcx, rcx
je 0x14000b098
mov eax, dword [rbp + 0x90]
mov dword [rcx], eax
movabs rax, 0x4960dcdb03f92a29
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x40], rax
movabs rax, 0xc63ecc077cd34d32
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x48], rax
movabs rcx, 0xf0cbdae778b437f
mov qword [rbp + 0x88], rcx
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x70], rax
movabs rdx, 0xc63ecc077cb62840
mov qword [rbp + 0x88], rdx
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x68], rax
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x40], xmm0
movabs rax, 0x3d3fd1cb19f92614
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x30], rax
movabs rax, 0xc63ecc0710da4c6e
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x38], rax
mov qword [rbp + 0x88], rcx
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x60], rax
mov qword [rbp + 0x88], rdx
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x58], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x14000b1ad
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
test rax, rax
je 0x14000b1cc
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.140002070
test rax, rax
je 0x14000b1cc
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call rax
mov rax, rbx
jmp 0x14000b31c
mov rbx, qword [rbp + 0x88]
movabs rax, 0x4960dcdb03f92a29
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x40], rax
movabs rax, 0xc63ecc077cd34d32
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x48], rax
movabs rcx, 0xf0cbdae778b437f
mov qword [rbp + 0x88], rcx
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x60], rax
movabs rdx, 0xc63ecc077cb62840
mov qword [rbp + 0x88], rdx
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x58], rax
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rsp + 0x40], xmm0
movabs rax, 0x3d3fd1cb19f92614
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x30], rax
movabs rax, 0xc63ecc0710da4c6e
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x38], rax
mov qword [rbp + 0x88], rcx
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x70], rax
mov qword [rbp + 0x88], rdx
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x68], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x14000b2f0
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
test rax, rax
je 0x14000b30f
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.140002070
test rax, rax
je 0x14000b30f
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call rax
mov rdx, rbx
mov rcx, rdi
call fcn.1400036a0
xor eax, eax
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret