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

Disassembly:
mov r11, rsp
mov dword [r11 + 0x18], r8d
push rbp
push rsi
sub rsp, 0x68
mov r10d, r8d
mov rsi, rdx
mov rbp, rcx
test rdx, rdx
je 0x1400aefea
cmp r8d, 0x400
jb 0x1400aefea
cmp dword [rdx], 0x46464952
jne 0x1400aefea
mov ecx, dword [rdx + 4]
lea eax, [rcx + 8]
cmp eax, r8d
ja 0x1400aefea
cmp ecx, 0x400
jb 0x1400aefea
cmp dword [rdx + 8], 0x464d5344
jne 0x1400aefea
cmp dword [rdx + 0xc], 0x474e4f53
jne 0x1400aefea
mov eax, dword [rdx + 0x10]
cmp eax, r8d
ja 0x1400aefea
mov dword [rbp + 0x104a0], 0x2000
mov qword [r11 + 8], rbx
mov ecx, 4
mov qword [r11 - 0x20], r12
mov qword [r11 - 0x28], r13
lea r13d, [rax + 0x14]
movzx eax, word [rdx + 0x3e]
mov r8d, SafeArrayGetLBound
mov r11d, 0x100
cmp eax, ecx
cmovb eax, ecx
mov ecx, 0xef
cmp eax, r8d
cmova eax, r8d
mov dword [rbp + 0x10490], eax
movzx eax, word [rdx + 0x3a]
cmp eax, 0xf0
cmovae eax, ecx
mov dword [rbp + 0x104a4], eax
movzx eax, byte [rdx + 0x42]
mov dword [rbp + 0x10480], eax
movzx eax, byte [rdx + 0x43]
mov dword [rbp + 0x10484], eax
movzx eax, byte [rdx + 0x40]
lea ecx, [rax*4]
lea eax, [rcx - 1]
cmp eax, 0xff
cmova ecx, r11d
mov dword [rbp + 0x10488], ecx
movzx eax, byte [rdx + 0x41]
xor ecx, ecx
and eax, 0x7f
xor edx, edx
mov dword [rbp + 0x104e4], eax
movzx eax, word [rsi + 0x38]
cmp ecx, eax
jae 0x1400aec12
movzx eax, byte [rdx + rsi + 0x54]
jmp 0x1400aec17
mov eax, 0xff
inc ecx
mov byte [rdx + rbp + 0xeb60], al
inc rdx
cmp ecx, r11d
jb 0x1400aec03
lea rdx, [rsi + 0x44]
lea rcx, [rbp + 0xd900]
mov dword [rcx], pe_nt_image_headers64
movzx eax, byte [rdx]
cmp al, 0x80
ja 0x1400aec47
movzx eax, al
add eax, eax
mov dword [rcx], eax
inc rdx
add rcx, 0x24
dec r8
jne 0x1400aec33
movups xmm0, xmmword [rsi + 0x14]
lea edx, [r10 - 8]
xor r12d, r12d
mov ebx, 1
mov dword [rsp + 0x88], r12d
mov dword [rsp + 0x30], edx
movups xmmword [rbp + 0x10528], xmm0
movsd xmm1, qword [rsi + 0x24]
mov dword [rsp + 0x98], ebx
movsd qword [rbp + 0x10538], xmm1
mov eax, dword [rsi + 0x2c]
mov dword [rbp + 0x10540], eax
cmp r13d, edx
jae 0x1400aefcc
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r15
lea edi, [rbx + 0x3f]
nop
mov r8d, r13d
add r8, rsi
cmp dword [r8], 0x54544150
jne 0x1400aeea4
mov ecx, dword [r8 + 4]
add r13d, 8
add ecx, r13d
cmp ecx, r10d
jae 0x1400aefbd
mov edx, dword [rbp + 0x10490]
mov ebx, r13d
mov r13d, ecx
mov ecx, edi
call fcn.140097740
mov r14, rax
test rax, rax
je 0x1400aefbd
mov word [rbp + r12*2 + 0xe980], di
xor r15d, r15d
mov qword [rbp + r12*8 + 0xe200], rax
lea r12d, [r15 + 9]
lea edi, [rbx + 2]
cmp edi, r13d
ja 0x1400aee80
mov eax, ebx
inc edi
inc ebx
movzx r8d, byte [rax + rsi]
test r8d, r8d
je 0x1400aee65
xor edx, edx
mov eax, r8d
and eax, 0xf
div dword [rbp + 0x10490]
mov r10d, edx
test r8b, r8b
jns 0x1400aed64
movzx r9d, byte [rbx + rsi]
inc edi
inc ebx
test r9d, r9d
je 0x1400aed64
cmp r9d, 0x6c
ja 0x1400aed5c
add r9d, 0xc
lea rcx, [rdx + rdx*2]
mov byte [r14 + rcx*2], r9b
test r8b, 0x40
je 0x1400aed7b
movzx eax, byte [rbx + rsi]
lea rcx, [rdx + rdx*2]
inc ebx
mov byte [r14 + rcx*2 + 1], al
inc edi
test r8b, 0x20
je 0x1400aed98
lea rcx, [rdx + rdx*2]
lea rdx, [r14 + rcx*2]
mov byte [rdx + 2], 1
movzx ecx, byte [rbx + rsi]
inc ebx
mov byte [rdx + 4], cl
inc edi
test r8b, 0x10
je 0x1400aee76
movzx r8d, byte [rbx + rsi]
inc ebx
add edi, 2
movzx eax, byte [rbx + rsi]
inc ebx
cmp r8d, 8
je 0x1400aedec
cmp r8d, 0x10
jbe 0x1400aedda
cmp r8d, 0x12
jbe 0x1400aedd4
cmp r8d, 0x13
jne 0x1400aedda
lea eax, [r8 + 0x7e]
lea r8d, [rax - 0x70]
jmp 0x1400aee47
and r8d, 0xf
jmp 0x1400aee47
mov ecx, r8d
xor r8d, r8d
and cl, 0xf0
cmp cl, 0x20
cmove r8d, r12d
jmp 0x1400aee47
mov ecx, eax
and ecx, 0xf0
je 0x1400aee44
cmp ecx, 0x10
je 0x1400aee3b
cmp ecx, 0x20
je 0x1400aee2b
cmp ecx, 0x30
je 0x1400aee1d
cmp ecx, 0x40
je 0x1400aee0f
xor r8d, r8d
jmp 0x1400aee47
and eax, 0xf
mov r8d, SafeArrayGetLBound
or eax, 0x20
jmp 0x1400aee47
and eax, 0xf
mov r8d, SafeArrayGetLBound
or eax, 0x10
jmp 0x1400aee47
and eax, 0xf
mov r8d, SafeArrayGetLBound
or eax, 0xa0
jmp 0x1400aee47
mov r8d, 0xa
and eax, 0xf
shl eax, 4
lea rdx, [r10 + r10*2]
lea rdx, [r14 + rdx*2]
mov byte [rdx + 3], r8b
mov byte [rdx + 5], al
test r8d, r8d
je 0x1400aee76
mov rcx, rbp
call fcn.1400b1450
jmp 0x1400aee76
mov eax, dword [rbp + 0x10490]
inc r15d
lea rcx, [rax + rax*2]
lea r14, [r14 + rcx*2]
cmp r15d, 0x40
jb 0x1400aed11
mov r12d, dword [rsp + 0x88]
mov ebx, dword [rsp + 0x98]
mov edi, 0x40
inc r12d
mov dword [rsp + 0x88], r12d
jmp 0x1400aefa2
cmp ebx, dword [rbp + 0x104a4]
ja 0x1400aefbd
cmp dword [r8], 0x54534e49
jne 0x1400aefbd
mov ecx, dword [r8 + 4]
add ecx, r13d
cmp ecx, edx
jae 0x1400aefbd
movups xmm0, xmmword [r8 + 0x2c]
mov edx, ebx
lea r9d, [r13 + 0x48]
lea r13d, [rcx + 8]
mov ecx, ebx
shl rcx, 5
movups xmmword [rcx + rbp + 0x10528], xmm0
movsd xmm1, qword [r8 + 0x3c]
movsd qword [rcx + rbp + 0x10538], xmm1
mov eax, dword [r8 + 0x44]
mov dword [rcx + rbp + 0x10540], eax
lea rax, [rdx + rdx*8]
lea rdx, [rbp + 0x8e00]
movsd xmm0, qword [r8 + 8]
lea rdx, [rdx + rax*8]
movsd qword [rdx + 0x32], xmm0
mov eax, dword [r8 + 0x10]
mov dword [rdx + 0x3a], eax
movzx eax, byte [r8 + 0x14]
mov word [rdx + 0x28], di
mov byte [rdx + 0x3e], al
movzx eax, word [r8 + 0x28]
mov dword [rdx + 0x20], eax
movzx eax, byte [r8 + 0x15]
and al, 1
movzx ecx, al
add cx, cx
mov word [rdx + 0x2a], cx
mov eax, dword [r8 + 0x18]
mov dword [rdx], eax
mov eax, dword [r8 + 0x1c]
mov dword [rdx + 4], eax
mov eax, dword [r8 + 0x20]
mov dword [rdx + 8], eax
movzx eax, byte [r8 + 0x17]
shl ax, 2
mov word [rdx + 0x26], ax
cmp ax, r11w
jbe 0x1400aef75
mov word [rdx + 0x26], r11w
movzx r8d, byte [r8 + 0x15]
mov eax, r10d
mov rcx, rbp
shr r8d, 1
sub eax, r9d
add r9, rsi
not r8d
mov dword [rsp + 0x20], eax
and r8d, 1
call fcn.140098ae0
inc ebx
mov dword [rsp + 0x98], ebx
mov edx, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x90]
mov r11d, 0x100
cmp r13d, edx
jb 0x1400aecb0
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x80]
mov eax, 1
add rsp, 0x68
pop rsi
pop rbp
ret
xor eax, eax
add rsp, 0x68
pop rsi
pop rbp
ret