Function at 0x14001cd40
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov eax, 0x5a4d
xorps xmm0, xmm0
mov r14, rdx
mov r13, rcx
movups xmmword [rsp + 0x30], xmm0
cmp word [rdx], ax
jne 0x14001d304
movsxd rsi, dword [rdx + 0x3c]
add rsi, rdx
je 0x14001d304
cmp dword [rsi], 0x4550
jne 0x14001d304
mov eax, 0x8664
cmp word [rsi + 4], ax
jne 0x14001d304
mov r9d, dword [rsi + 0x38]
test r9b, 1
jne 0x14001d304
movzx eax, word [rsi + 0x14]
xor edx, edx
movzx ecx, word [rsi + 6]
add rax, 0x24
movzx r12d, word [rsi + 0x16]
mov ebx, edx
cmp dx, cx
jae 0x14001cdf5
add rax, rsi
mov r8d, ecx
mov ecx, dword [rax + 4]
mov edx, dword [rax]
test ecx, ecx
jne 0x14001cde4
lea ecx, [rdx + r9]
jmp 0x14001cde6
add ecx, edx
cmp ecx, ebx
cmova ebx, ecx
add rax, 0x28
sub r8, 1
jne 0x14001cdd5
lea rcx, [rsp + 0x40]
call qword [r13 + 0x30]
mov edx, dword [rsp + 0x44]
mov eax, edx
neg eax
lea ebp, [rdx - 1]
add ebp, dword [rsi + 0x50]
lea rcx, [rdx - 1]
and rbp, rax
mov eax, ebx
add rcx, rax
lea rax, [rdx - 1]
not rax
and rcx, rax
cmp rbp, rcx
jne 0x14001d304
mov rax, qword [r13 + 0x20]
mov r9d, 4
mov rcx, qword [rsi + 0x30]
mov r8d, 0x3000
mov rdx, rbp
call rax
mov rdi, rax
test rax, rax
jne 0x14001ce64
mov rax, qword [r13 + 0x20]
lea r9d, [rdi + 4]
mov r8d, 0x3000
mov rdx, rbp
xor ecx, ecx
call rax
mov rdi, rax
movsxd rcx, dword [r14 + 0x3c]
mov dword [rdi + 0x3c], ecx
mov edx, dword [rsi + 0x54]
lea r8, [rcx + r14]
lea rcx, [rcx + rdi]
sub edx, dword [r14 + 0x3c]
je 0x14001ce91
sub r8, rcx
nop
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14001ce80
movsxd r15, dword [rdi + 0x3c]
xor eax, eax
add r15, rdi
mov r10d, eax
movzx r9d, word [r15 + 0x14]
add r9, 0x2c
cmp ax, word [r15 + 6]
jae 0x14001cef2
add r9, r15
mov r8d, dword [r9]
mov ecx, dword [r9 - 8]
add r8, r14
mov edx, dword [r9 - 4]
add rcx, rdi
test rdx, rdx
je 0x14001cee1
sub r8, rcx
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14001ced0
movzx eax, word [r15 + 6]
inc r10d
add r9, 0x28
cmp r10d, eax
jb 0x14001ceb0
mov r10, rdi
sub r10, qword [r15 + 0x30]
je 0x14001cfdc
cmp dword [r15 + 0xb4], 0
je 0x14001cfdc
mov r8d, dword [r15 + 0xb0]
add r8, rdi
cmp dword [r8], 0
je 0x14001cfdc
mov eax, dword [r8 + 4]
lea r9, [r8 + 8]
add rax, r8
cmp r9, rax
je 0x14001cfcf
nop word [rax + rax]
movzx edx, word [r9]
movzx ecx, dx
movzx eax, dx
shr cx, 0xc
cmp cx, 0xa
jne 0x14001cf67
mov ecx, dword [r8]
and edx, 0xfff
lea rax, [rdi + rdx]
add qword [rcx + rax], r10
jmp 0x14001cfbb
cmp cx, 3
jne 0x14001cf80
mov edx, dword [r8]
and eax, 0xfff
add rax, rdi
add rdx, rax
mov eax, r10d
jmp 0x14001cfb8
cmp cx, 1
jne 0x14001cfa0
mov edx, dword [r8]
and eax, 0xfff
add rax, rdi
add rdx, rax
mov rax, r10
shr rax, 0x10
movzx eax, ax
jmp 0x14001cfb8
cmp cx, 2
jne 0x14001cfbb
mov edx, dword [r8]
and eax, 0xfff
add rax, rdi
add rdx, rax
movzx eax, r10w
add qword [rdx], rax
mov eax, dword [r8 + 4]
add r9, 2
add rax, r8
cmp r9, rax
jne 0x14001cf40
cmp dword [r9], 0
mov r8, r9
jne 0x14001cf21
cmp dword [r15 + 0x94], 0
je 0x14001d08d
mov r14d, dword [r15 + 0x90]
add r14, rdi
cmp dword [r14 + 0xc], 0
je 0x14001d08d
nop
mov ecx, dword [r14 + 0xc]
mov rax, qword [r13 + 0x18]
add rcx, rdi
call rax
mov esi, dword [r14]
mov rbp, rax
mov ebx, dword [r14 + 0x10]
add rsi, rdi
add rbx, rdi
mov rdx, qword [rsi]
test rdx, rdx
je 0x14001d07e
jns 0x14001d02f
movzx r8d, dx
xor edx, edx
jmp 0x14001d063
lea r8, [rdi + 2]
xor ecx, ecx
add r8, rdx
cmp byte [r8], cl
je 0x14001d04c
mov rax, r8
inc rcx
lea rax, [rax + 1]
cmp byte [rax], 0
jne 0x14001d040
mov qword [rsp + 0x38], r8
lea rdx, [rsp + 0x30]
xor r8d, r8d
mov word [rsp + 0x30], cx
mov word [rsp + 0x32], cx
mov r9, rbx
mov rcx, rbp
call qword [r13 + 0x10]
mov rdx, qword [rsi + 8]
add rsi, 8
add rbx, 8
test rdx, rdx
jne 0x14001d025
add r14, 0x14
cmp dword [r14 + 0xc], 0
jne 0x14001d000
movzx ebx, word [r15 + 0x14]
xor r14d, r14d
add rbx, 0x28
mov esi, r14d
lea ebp, [r14 + 1]
cmp r14w, word [r15 + 6]
jae 0x14001d168
add rbx, r15
lea edx, [rbp + 0xf]
lea r14d, [rbp + 1]
lea r9d, [rbp + 0x1f]
nop dword [rax]
cmp dword [rbx], 0
je 0x14001d152
mov ecx, dword [rbx + 0x14]
mov eax, ecx
and eax, 0x40000000
bt ecx, 0x1d
jb 0x14001d0f9
test eax, eax
jne 0x14001d0eb
test ecx, ecx
mov r8d, 8
cmovns r8d, ebp
jmp 0x14001d117
test ecx, ecx
mov r8d, 4
cmovns r8d, r14d
jmp 0x14001d117
test eax, eax
jne 0x14001d10b
test ecx, ecx
mov r8d, pe_nt_image_headers64
cmovns r8d, edx
jmp 0x14001d117
test ecx, ecx
mov r8d, 0x40
cmovns r8d, r9d
mov dword [rsp + 0xc8], r8d
test dword [rbx + 0x14], 0x4000000
je 0x14001d135
bts r8d, 9
mov dword [rsp + 0xc8], r8d
mov ecx, dword [rbx - 4]
lea r9, [rsp + 0xc8]
mov edx, dword [rbx]
add rcx, rdi
call qword [r13 + 0x38]
mov edx, 0x10
lea r9d, [rdx + 0x10]
movzx eax, word [r15 + 6]
inc esi
add rbx, 0x28
cmp esi, eax
jb 0x14001d0c0
xor r14d, r14d
xor edx, edx
xor r8d, r8d
lea rcx, [rdx - 1]
call qword [r13 + 0x28]
mov r10d, dword [r15 + 0x28]
add r10, rdi
bt r12d, 0xd
jb 0x14001d195
mov qword [rsp + 0x28], r14
mov r8, r10
mov dword [rsp + 0x20], r14d
jmp 0x14001d2a4
xor r8d, r8d
mov edx, ebp
mov rcx, rdi
call r10
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x14001d2cf
cmp dword [r15 + 0x8c], 0
je 0x14001d2cf
mov r14d, dword [r15 + 0x88]
add r14, rdi
mov r15d, dword [r14 + 0x18]
test r15d, r15d
je 0x14001d2cf
cmp dword [r14 + 0x14], 0
je 0x14001d2cf
mov esi, dword [r14 + 0x20]
xor r12d, r12d
mov ebx, dword [r14 + 0x24]
add rsi, rdi
add rbx, rdi
mov ebp, r12d
test r15d, r15d
je 0x14001d2cf
nop
mov r10d, dword [rsi]
add r10, rdi
je 0x14001d2cf
movzx r8d, byte [rax]
mov r9, rax
test r8b, r8b
je 0x14001d263
nop dword [rax + rax]
movzx edx, byte [r10]
movzx r8d, byte [r9]
test dl, dl
je 0x14001d25e
mov ecx, r8d
sub r8b, 0x41
cmp r8b, 0x19
lea eax, [rcx + 0x20]
movzx r11d, al
lea eax, [rdx - 0x41]
cmova r11d, ecx
cmp al, 0x19
ja 0x14001d24c
add dl, 0x20
cmp r11b, dl
jne 0x14001d26d
inc r9
inc r10
cmp byte [r9], r12b
jne 0x14001d220
jmp 0x14001d263
test r8b, r8b
jne 0x14001d26d
cmp byte [r10], r12b
jne 0x14001d26d
test rbx, rbx
jne 0x14001d289
inc ebp
add rsi, 4
add rbx, 2
cmp ebp, r15d
jae 0x14001d2cf
mov rax, qword [rsp + 0xc0]
jmp 0x14001d200
mov ecx, dword [r14 + 0x1c]
movzx edx, word [rbx]
add rcx, rdi
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
mov r8d, dword [rcx + rdx*4]
add r8, rdi
mov rax, qword [r13 + 0x60]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
mov rbx, rax
test rax, rax
je 0x14001d304
mov edx, 0xffffffff
mov rcx, rax
call qword [r13 + 0x68]
mov rcx, rbx
call qword [r13 + 0x88]
mov rax, qword [r13 + 0x48]
test rax, rax
je 0x14001d2ff
cmp qword [r13 + 0x50], 0
je 0x14001d2ff
mov rbx, qword [rsp + 0xb8]
xor edx, edx
mov rcx, rbx
mov r8d, 0x8000
call rax
test eax, eax
jne 0x14001d2ff
mov rcx, rbx
call qword [r13 + 0x50]
mov rax, rdi
jmp 0x14001d306
xor eax, eax
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret