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

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor eax, eax
mov r15d, ecx
mov rbp, r9
lea ecx, [rax + 0x40]
mov r14, r8
mov r12, rdx
mov rsi, rax
mov rdi, rax
xor bl, bl
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x30], eax
call fcn.14004c8b0
test rax, rax
mov r13, rax
je 0x14003adb6
lea rax, [rsp + 0x38]
lea r9, [rsp + 0x30]
lea r8d, [rdi + 0x40]
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.14003a790
test al, al
je 0x14003ad94
cmp word [r13], 0x5a4d
jne 0x14003ad94
cmp dword [r13 + 0x3c], 0x40
jb 0x14003ad94
lea r9d, [rdi + 0x40]
mov r8, r13
mov rdx, r14
mov ecx, r15d
call fcn.14003a550
add dword [rbp], 0x40
add qword [rsp + 0x30], 0x40
mov ebx, dword [r13 + 0x3c]
sub ebx, 0x40
je 0x14003aab9
cmp ebx, 0x10000
ja 0x14003ad92
mov ecx, ebx
mov r12d, ebx
call fcn.14004c8b0
test rax, rax
mov rdi, rax
je 0x14003ad92
mov r8, r12
mov r12, qword [rsp + 0x88]
lea rax, [rsp + 0x38]
lea r9, [rsp + 0x30]
mov rdx, rdi
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.14003a790
test al, al
je 0x14003ad92
mov r9d, ebx
mov r8, rdi
mov rdx, r14
mov ecx, r15d
call fcn.14003a550
add dword [rbp], ebx
mov rcx, rdi
call fcn.14004ca6c
xor edi, edi
mov dword [rsp + 0x34], esi
mov eax, dword [r13 + 0x3c]
mov ecx, 0x108
mov dword [rsp + 0x30], eax
call fcn.14004c8b0
test rax, rax
mov rsi, rax
je 0x14003ad92
lea rax, [rsp + 0x38]
lea r9, [rsp + 0x30]
mov r8d, 0x18
mov rdx, rsi
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.14003a790
test al, al
je 0x14003ad92
cmp dword [rsi], 0x4550
jne 0x14003ad92
movzx eax, word [rsi + 4]
cmp ax, 0x8664
je 0x14003ab23
cmp ax, 0x14c
jne 0x14003ad92
test byte [rsi + 0x16], 2
je 0x14003ad92
movzx eax, word [rsi + 0x14]
cmp ax, 0xf0
jae 0x14003ab41
cmp ax, 0xe0
jb 0x14003ad92
mov r9d, 0x18
mov r8, rsi
mov rdx, r14
mov ecx, r15d
call fcn.14003a550
add dword [rbp], 0x18
movzx eax, word [rsi + 0x14]
cmp eax, 0x100f0
ja 0x14003ad92
mov rcx, rax
mov rbx, rax
call fcn.14004c8b0
test rax, rax
mov rdi, rax
je 0x14003ad92
add dword [rsp + 0x30], 0x18
lea rax, [rsp + 0x38]
lea r9, [rsp + 0x30]
mov r8, rbx
mov rdx, rdi
mov rcx, r12
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x34], 0
call fcn.14003a790
test al, al
je 0x14003ad92
mov rax, qword [rsp + 0x38]
add qword [rsp + 0x30], rax
movzx eax, word [rdi]
cmp ax, 0x10b
jne 0x14003ac40
cmp word [rsi + 0x14], 8
jb 0x14003ad92
mov r9d, 0x40
mov r8, rdi
mov rdx, r14
mov ecx, r15d
call fcn.14003a550
add dword [rbp], 0x40
lea r8, [rdi + 0x44]
mov rbx, rdi
mov rdx, r14
mov ecx, r15d
sub rbx, r8
sub rbx, 0xffffffffffffff80
mov r9d, ebx
call fcn.14003a550
add dword [rbp], ebx
mov ecx, dword [rdi + 0x80]
test ecx, ecx
je 0x14003ac2a
mov rax, qword [rsp + 0xa0]
mov dword [rax], ecx
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rdi + 0x84]
mov dword [rax], ecx
lea r8, [rdi + 0x88]
mov rbx, rdi
sub rbx, r8
add rbx, 0xe0
jmp 0x14003acbc
cmp ax, 0x20b
jne 0x14003ad92
mov r9d, 0x40
mov r8, rdi
mov rdx, r14
mov ecx, r15d
call fcn.14003a550
add dword [rbp], 0x40
lea r8, [rdi + 0x44]
mov rbx, rdi
mov rdx, r14
mov ecx, r15d
sub rbx, r8
add rbx, 0x90
mov r9d, ebx
call fcn.14003a550
add dword [rbp], ebx
mov ecx, dword [rdi + 0x90]
test ecx, ecx
je 0x14003aca8
mov rax, qword [rsp + 0xa0]
mov dword [rax], ecx
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rdi + 0x94]
mov dword [rax], ecx
lea r8, [rdi + 0x98]
mov rbx, rdi
sub rbx, r8
add rbx, 0xf0
mov r9d, ebx
mov rdx, r14
mov ecx, r15d
call fcn.14003a550
add dword [rbp], ebx
mov ebx, dword [rdi + 0x3c]
add dword [rbp], 0xc
mov rcx, rdi
call fcn.14004ca6c
xor edi, edi
lea ecx, [rdi + 0x30]
call fcn.14004c8b0
test rax, rax
mov r12, rax
je 0x14003ad92
mov rcx, qword [rsp + 0x88]
mov rdx, rax
call fcn.140045080
mov r14d, dword [r12 + 0x14]
cmp ebx, r14d
ja 0x14003ad86
mov ebx, r14d
sub ebx, dword [rbp]
cmp ebx, 0x10000
ja 0x14003ad86
mov ecx, ebx
mov r15d, ebx
call fcn.14004c8b0
test rax, rax
mov rdi, rax
je 0x14003ad86
mov rcx, qword [rsp + 0x88]
lea rax, [rsp + 0x38]
lea r9, [rsp + 0x30]
mov r8, r15
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.14003a790
test al, al
je 0x14003ad86
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x80]
add qword [rsp + 0x30], rax
mov r9d, ebx
mov r8, rdi
call fcn.14003a550
mov rcx, r12
mov dword [rbp], r14d
mov bl, 1
call fcn.14004ca6c
jmp 0x14003ad94
mov rcx, r12
xor bl, bl
call fcn.14004ca6c
jmp 0x14003ad94
xor bl, bl
mov rcx, r13
call fcn.14004ca6c
test rsi, rsi
je 0x14003ada9
mov rcx, rsi
call fcn.14004ca6c
test rdi, rdi
je 0x14003adb6
mov rcx, rdi
call fcn.14004ca6c
mov al, bl
mov rbx, qword [rsp + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret