Function at 0x40f967
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov qword [rsp + 0x100], rcx
lea rcx, [0x0042aaa0]
mov qword [rsp + 0x108], rdx
mov edx, 0x4b76f709
mov dword [rsp + 0x64], 0
call fcn.0040f000
mov rcx, rax
call fcn.00407990
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
mov rcx, rax
mov rax, qword [0x0042b060]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
call qword [rax]
xor edx, edx
mov rcx, rax
mov r12, rax
mov rax, qword [0x0042b070]
call qword [rax]
mov esi, eax
mov rax, qword [0x0042b0b0]
call qword [rax]
xor edx, edx
movsxd r8, esi
mov rcx, rax
mov rax, qword [0x0042b0a0]
call qword [rax]
mov r8d, esi
mov rcx, r12
lea r9, [rsp + 0x64]
mov qword [rsp + 0x20], 0
mov rbx, rax
mov rdx, rax
mov rax, qword [0x0042b080]
call qword [rax]
movsxd rdx, dword [rbx + 0x3c]
lea r8, [rsp + 0x68]
mov rcx, rbx
call fcn.0040f0b0
test al, al
je 0x40fa48
call fcn.00403dc8
mov rsi, qword [rsp + 0x68]
lea r8, [rsp + 0x70]
mov eax, dword [rsi + 0x88]
lea r12, [rsi + 0x18]
movzx edx, word [rsi + 0x14]
mov rcx, r12
mov dword [rsp + 0x48], eax
call fcn.0040f0b0
test al, al
je 0x40fa75
call fcn.00403dc8
mov rax, qword [rsp + 0x70]
xor ebp, ebp
lea r14, [rsp + 0xa0]
lea r15, [rsp + 0xa8]
lea r13, [0x0042aa70]
mov qword [rsp + 0x40], rax
mov rdi, rax
cmp word [rsi + 6], bp
ja 0x40fac5
movsxd rdx, dword [rsp + 0x48]
lea r8, [rsp + 0x78]
mov rcx, rbx
call fcn.0040f0b0
test al, al
je 0x40fb4d
call fcn.00403dc8
jmp 0x40fb4d
movzx edx, word [rsi + 0x14]
mov r8, r14
mov rcx, r12
call fcn.0040f0b0
test al, al
je 0x40fadd
call fcn.00403dc8
imul edx, ebp, 0x28
mov rcx, qword [rsp + 0xa0]
mov r8, r15
movzx edx, dx
call fcn.0040f0b0
test al, al
je 0x40fafc
call fcn.00403dc8
mov r8, qword [rsp + 0xa8]
mov edx, 8
mov rcx, r8
mov qword [rsp + 0x58], r8
call fcn.0040f834
mov edx, 0x5546e32b
mov rcx, r13
mov qword [rsp + 0x50], rax
call fcn.0040f000
mov r9, qword [rsp + 0x50]
mov rdx, rax
mov rcx, r9
call fcn.00407781
mov r8, qword [rsp + 0x58]
test al, al
cmove r8, rdi
inc ebp
mov rdi, r8
jmp 0x40fa9b
mov rcx, qword [rsp + 0x78]
mov rdx, rdi
call fcn.0040f8c0
lea r8, [rsp + 0x80]
mov rcx, rbx
movsxd rdx, dword [rax + 0x20]
mov rbp, rax
call fcn.0040f0b0
test al, al
je 0x40fb7a
call fcn.00403dc8
mov rcx, qword [rsp + 0x80]
mov rdx, rdi
call fcn.0040f8c0
movsxd rdx, dword [rbp + 0x1c]
lea r8, [rsp + 0x88]
mov rcx, rbx
mov qword [rsp + 0x48], rax
call fcn.0040f0b0
test al, al
je 0x40fbac
call fcn.00403dc8
mov rcx, qword [rsp + 0x88]
mov rdx, rdi
xor r12d, r12d
mov r14d, 0x80000000
mov r15d, 0xffffffff
call fcn.0040f8c0
mov qword [rsp + 0x50], rax
cmp dword [rbp + 0x18], r12d
jg 0x40fbdd
xor eax, eax
jmp 0x40fd1e
mov rcx, qword [rsp + 0x48]
mov rdx, r12
call fcn.0040f906
lea r8, [rsp + 0x90]
mov rcx, rbx
movsxd rdx, dword [rax]
call fcn.0040f0b0
test al, al
je 0x40fc06
call fcn.00403dc8
mov rcx, qword [rsp + 0x90]
mov rdx, rdi
call fcn.0040f8c0
lea r8, [rsp + 0x98]
mov edx, 1
mov rcx, r12
mov r13, rax
call fcn.0040f0b0
test al, al
je 0x40fc37
call fcn.00403dc8
mov rax, qword [rsp + 0x98]
add rax, r14
cmp rax, r15
jbe 0x40fc4c
call fcn.00403dc8
movsxd rdx, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x50]
call fcn.0040f906
lea r8, [rsp + 0xa0]
mov rcx, rbx
movsxd rdx, dword [rax]
call fcn.0040f0b0
test al, al
je 0x40fc7a
call fcn.00403dc8
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xa0]
call fcn.0040f8c0
mov rdx, qword [rsp + 0x100]
mov rcx, r13
mov rsi, rax
mov rax, qword [0x0042b180]
call qword [rax]
test eax, eax
je 0x40fcc7
lea r8, [rsp + 0xa8]
mov edx, 1
mov rcx, r12
call fcn.0040f0b0
test al, al
je 0x40fcfc
call fcn.00403dc8
jmp 0x40fcfc
mov rcx, qword [0x00417090]
test rcx, rcx
jns 0x40fce4
movabs r8, 0x7fffffffffffffff
xor edx, edx
call fcn.00404fba
mov rcx, qword [0x00417090]
mov rdi, qword [rsp + 0x108]
mov eax, 1
rep movsb byte [rdi], byte [rsi]
jmp 0x40fd1e
mov rax, qword [rsp + 0xa8]
add rax, r14
cmp rax, r15
jbe 0x40fd11
call fcn.00403dc8
movsxd r12, dword [rsp + 0xa8]
jmp 0x40fbd0
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret