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

Disassembly:
mov rax, rsp
mov word [rax + 0x20], r9w
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
xor r14d, r14d
mov rdi, r8
mov r13, rdx
mov r10, rcx
mov r15d, r14d
mov r11d, r14d
mov qword [rsp + 0x40], r14
cmp word [rsp + 0x100], r14w
je 0x1400aa79e
mov rax, qword [rcx]
mov r8, qword [rax]
test byte [r8 + 0x60], 0x40
jne 0x1400aaf85
movzx edx, word [rdx]
mov word [rsp + 0x4e], dx
cmp edx, 0x3f
ja 0x1400aaf85
mov ecx, edx
mov dword [rsp + 0x50], edx
mov ebp, 1
mov qword [rsp + 0x70], r14
mov edx, ebp
mov qword [rsp + 0x58], r14
shl rdx, cl
movzx eax, r9w
sub rdx, rbp
mov ecx, 0x803
and ax, cx
mov qword [rsp + 0x78], rdx
neg ax
mov r12b, bpl
mov ecx, r14d
mov dword [rsp + 0x34], r12d
sbb r8w, r8w
mov dword [rsp + 0x54], ecx
neg r8w
mov rbx, r14
add r8w, 0x182
mov qword [rsp + 0x80], rbx
mov word [rsp + 0x32], r8w
mov rsi, r14
cmp r11, rdx
jae 0x1400aaf57
movzx eax, word [rsp + 0x100]
cmp ecx, eax
jg 0x1400aaf46
test ecx, ecx
jle 0x1400aa837
or rsi, qword [r15 + 8]
mov qword [rsp + 0x58], rsi
cmp ecx, eax
jge 0x1400aa859
bt r9w, 0xb
mov rax, qword [rdi + 0x18]
mov r15, qword [rax + rbx*8]
mov qword [rsp + 0x88], r15
jb 0x1400aaf0c
jmp 0x1400aa869
mov r15, qword [rsp + 0x108]
mov qword [rsp + 0x88], r15
test dword [r15 + 0x38], 0x400
jne 0x1400aaf2c
movzx eax, r9w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x60], ax
je 0x1400aa88f
mov word [r15 + 0x1e], r14w
movzx eax, byte [r15 + 0x10]
mov ebp, r14d
imul rcx, rax, 0x68
mov rax, qword [r10 + 8]
mov eax, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x50], r14d
jbe 0x1400aaa0c
mov r12d, eax
mov eax, ebp
bt r11, rax
jb 0x1400aa9ef
mov edi, ebp
shl rdi, 5
mov r14d, ebp
mov rcx, qword [rdi + r13 + 8]
call fcn.140068e10
xor edx, edx
mov rbx, rax
test rax, rax
je 0x1400aa9ef
mov al, byte [rax]
add al, 0x59
test al, 0xfd
jne 0x1400aa9ef
cmp dword [rbx + 0x2c], r12d
jne 0x1400aa9ef
movzx eax, r8w
lea rcx, [r10 + 0x70]
movsx r8d, word [rbx + 0x30]
mov r9, rsi
mov qword [rsp + 0x28], rdx
not r9
mov edx, r12d
mov dword [rsp + 0x20], eax
call fcn.1400a63b4
mov rsi, rax
xor eax, eax
test rsi, rsi
je 0x1400aa9d7
lea r9d, [rax + 1]
cmp word [rsi + 0x14], r9w
jne 0x1400aa95a
movzx edx, word [r15 + 0x3c]
mov ecx, eax
test edx, edx
je 0x1400aa956
mov r8, qword [r15 + 0x48]
movsxd rax, ecx
cmp rsi, qword [r8 + rax*8]
je 0x1400aa954
add ecx, r9d
cmp ecx, edx
jl 0x1400aa944
xor eax, eax
cmp ecx, edx
jge 0x1400aa9d7
test byte [rsi + 0x14], 0x82
je 0x1400aa9c7
cmp word [rbx + 0x30], ax
jl 0x1400aa9c7
mov rbx, qword [rsp + 0xe0]
mov rdx, qword [rdi + r13 + 8]
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.140068e40
mov rdi, rax
test rax, rax
jne 0x1400aa98d
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rax, qword [rsi]
test dword [rax + 4], 0x400
je 0x1400aa9a3
mov rdx, qword [rax + 0x18]
mov r8, qword [rax + 0x10]
jmp 0x1400aa9ab
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
mov rcx, rbx
call fcn.1400690c4
test rax, rax
je 0x1400aa9d7
mov rdx, qword [rax]
mov rcx, qword [rdi]
call fcn.14003b650
test eax, eax
jne 0x1400aa9d7
mov r11, qword [rsp + 0x40]
bts r11, r14
mov qword [rsp + 0x40], r11
jmp 0x1400aa9dc
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0xe0]
movzx r8d, word [rsp + 0x32]
mov rsi, qword [rsp + 0x58]
inc ebp
cmp ebp, dword [rsp + 0x50]
jl 0x1400aa8b5
mov r12d, dword [rsp + 0x34]
xor r14d, r14d
movzx r9d, word [rsp + 0xf8]
test dword [r15 + 0x38], 0x1000
jne 0x1400aae0f
test dword [r15 + 0x38], 0x100
je 0x1400aaa3b
mov ebx, dword [rsp + 0x34]
mov ebp, 1
movzx eax, bp
mov word [rsp + 0x4c], r14w
mov r13, r14
jmp 0x1400aaa88
mov r13, qword [r15 + 0x20]
test r13, r13
je 0x1400aaf85
test byte [r13 + 0x64], 4
jne 0x1400aaf85
movzx eax, word [r13 + 0x5e]
mov word [rsp + 0x4c], ax
movzx eax, word [r13 + 0x60]
cmp byte [r13 + 0x62], r14b
je 0x1400aaa7c
test dword [r15 + 0x38], 0x8000
jne 0x1400aaa7c
mov ebp, 1
mov bl, bpl
jmp 0x1400aaa84
mov bl, r14b
mov ebp, 1
mov dword [rsp + 0x34], ebx
movzx eax, ax
mov sil, r14b
mov byte [rsp + 0x39], r14b
mov edi, r14d
mov byte [rsp + 0x38], r14b
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x68], eax
test eax, eax
je 0x1400aae02
movzx r10d, word [r15 + 0x18]
cmp edi, r10d
jge 0x1400aab0e
movzx eax, word [r15 + 0x3e]
cmp edi, eax
jl 0x1400aab0e
mov r8, qword [r15 + 0x48]
movsxd rax, edi
mov rcx, qword [r8 + rax*8]
movzx eax, word [rcx + 0x14]
test word [rsp + 0x32], ax
je 0x1400aaaee
mov ecx, 0x180
test cx, ax
je 0x1400aadd6
mov bl, r14b
mov dword [rsp + 0x34], ebx
jmp 0x1400aadd6
test bpl, al
je 0x1400aab0e
mov r9, qword [rcx]
lea edx, [rdi + 1]
jmp 0x1400aab09
movsxd rax, edx
mov rcx, qword [r8 + rax*8]
cmp qword [rcx], r9
je 0x1400aab46
add edx, ebp
cmp edx, r10d
jl 0x1400aaafb
mov r8b, bpl
test r13, r13
je 0x1400aab4b
mov rax, qword [r13 + 8]
movsxd rcx, edi
movsx r14d, word [rax + rcx*2]
mov rax, qword [r13 + 0x38]
mov r12b, byte [rcx + rax]
mov rax, qword [r13 + 0x18]
and r12b, bpl
movsx ecx, word [rax + 0x34]
mov eax, 0xffffffff
cmp r14d, ecx
cmove r14d, eax
xor r9d, r9d
jmp 0x1400aab55
mov r8b, r14b
jmp 0x1400aab11
or r14d, 0xffffffff
xor r9d, r9d
mov r12b, r9b
test bl, bl
je 0x1400aab8f
test r14d, r14d
js 0x1400aab80
cmp edi, r10d
jl 0x1400aab8f
movsxd rax, r14d
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
jne 0x1400aab8f
mov byte [rsp + 0x34], r9b
jmp 0x1400aab8f
cmp r14d, 0xfffffffe
movzx ebx, bl
cmove ebx, r9d
mov dword [rsp + 0x34], ebx
mov ebp, r9d
test r8b, r8b
je 0x1400aacd4
cmp ebp, dword [rsp + 0x50]
jge 0x1400aacd0
mov eax, ebp
bt r11, rax
jb 0x1400aacc5
mov rbx, qword [rsp + 0xe8]
movsxd rsi, ebp
shl rsi, 5
mov rcx, qword [rsi + rbx + 8]
call fcn.140068e10
mov rdx, rax
test rax, rax
je 0x1400aacc5
mov al, byte [rsp + 0xf8]
and al, 0xc0
neg al
sbb al, al
or r10d, 0xffffffff
and al, r8b
mov byte [rsp + 0x30], al
cmp r14d, r10d
jl 0x1400aac1b
mov al, byte [rdx]
add al, 0x59
test al, 0xfd
jne 0x1400aacc0
mov eax, dword [rsp + 0x64]
cmp dword [rdx + 0x2c], eax
jne 0x1400aacc0
movsx eax, word [rdx + 0x30]
cmp eax, r14d
jne 0x1400aacc0
jmp 0x1400aac69
mov rax, qword [r13 + 0x50]
movsxd rcx, edi
shl rcx, 5
mov r8, qword [rcx + rax + 8]
jmp 0x1400aac3b
test dword [r8 + 4], 0x2000
je 0x1400aac40
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x1400aac2d
test dword [rdx + 4], 0x2000
je 0x1400aac52
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1400aac40
mov r9d, dword [rsp + 0x64]
xor ecx, ecx
call fcn.14006f8c4
xor r9d, r9d
test eax, eax
jne 0x1400aacbb
or r10d, 0xffffffff
cmp r14d, r10d
je 0x1400aad14
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
mov rbx, qword [rax]
mov rdx, qword [rsi + rdx + 8]
mov rcx, rbx
call fcn.140068e40
mov rcx, rax
test rax, rax
jne 0x1400aaca1
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
mov rdx, qword [r13 + 0x40]
mov rcx, qword [rcx]
movsxd rax, edi
mov rdx, qword [rdx + rax*8]
call fcn.14003b650
xor r9d, r9d
test eax, eax
je 0x1400aad08
mov r11, qword [rsp + 0x40]
mov r8b, byte [rsp + 0x30]
inc ebp
test r8b, r8b
jne 0x1400aab9b
mov esi, dword [rsp + 0x48]
movzx r9d, word [rsp + 0xf8]
xor r14d, r14d
test edi, edi
je 0x1400aacf1
movzx eax, word [rsp + 0x4c]
cmp edi, eax
jge 0x1400aade4
mov r11, qword [rsp + 0x40]
mov r12b, r14b
mov dword [rsp + 0x34], r12d
mov ebp, 1
jmp 0x1400aadf3
mov rbx, qword [rsp + 0xe8]
or r10d, 0xffffffff
mov r8d, 1
cmp word [rsp + 0x60], r9w
je 0x1400aad2b
lea eax, [r8 + rdi]
mov word [r15 + 0x1e], ax
movzx r9d, word [rsp + 0xf8]
test r9b, 0x40
jne 0x1400aad8a
movsxd rax, ebp
xor edx, edx
shl rax, 5
mov cl, byte [rax + rbx + 0x18]
and cl, r8b
cmp byte [rsp + 0x39], dl
je 0x1400aad63
xor r12b, byte [rsp + 0x38]
cmp r12b, cl
je 0x1400aad8a
mov esi, dword [rsp + 0x48]
jmp 0x1400aacdd
mov dl, cl
xor dl, r12b
mov byte [rsp + 0x38], dl
je 0x1400aad85
mov rdx, qword [rsp + 0x110]
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x39], r8b
movsxd rax, ebp
shl rax, 5
test byte [rax + rbx + 0x18], 2
je 0x1400aada7
movzx eax, word [r15 + 0x18]
cmp edi, eax
jne 0x1400aad5a
bts dword [r15 + 0x38], 0x13
mov esi, dword [rsp + 0x48]
cmp r14d, r10d
mov r11, qword [rsp + 0x40]
mov ebx, dword [rsp + 0x34]
movsxd rax, ebp
movzx esi, sil
cmove esi, r8d
bts r11, rax
xor r14d, r14d
mov dword [rsp + 0x48], esi
mov qword [rsp + 0x40], r11
lea ebp, [r14 + 1]
add edi, ebp
cmp edi, dword [rsp + 0x68]
jl 0x1400aaaab
jmp 0x1400aadee
mov r11, qword [rsp + 0x40]
mov ebp, 1
mov r12d, dword [rsp + 0x34]
test sil, sil
je 0x1400aae07
mov r12b, bpl
mov dword [rsp + 0x34], r12d
jmp 0x1400aae1d
mov r12d, dword [rsp + 0x34]
mov r13, qword [rsp + 0xe8]
mov ebp, 1
test r12b, r12b
je 0x1400aaee8
mov rdi, qword [rsp + 0x70]
mov ebx, r14d
or rdi, qword [r15 + 8]
mov qword [rsp + 0x70], rdi
cmp dword [rsp + 0x50], r14d
jbe 0x1400aaee0
mov rsi, qword [rsp + 0xe8]
mov rdi, r14
mov r12, qword [rsp + 0xe0]
add rsi, 8
mov r13d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x70]
mov eax, ebx
bt r11, rax
jb 0x1400aaeb9
mov rbp, qword [rsi]
lea rcx, [r12 + 0x258]
mov rdx, rbp
call fcn.1400a5e20
mov r14, rax
test rax, rax
jne 0x1400aae8f
lea r8d, [rax + 1]
mov rdx, rbp
xor ecx, ecx
call fcn.14006b340
test eax, eax
je 0x1400aaeaf
mov r11, qword [rsp + 0x40]
mov rax, r15
not rax
mov ebp, 1
test r14, rax
jne 0x1400aaeb9
bts r11, rdi
mov qword [rsp + 0x40], r11
jmp 0x1400aaeb9
mov r11, qword [rsp + 0x40]
mov ebp, 1
add ebx, ebp
add rdi, rbp
add rsi, 0x20
cmp ebx, r13d
jl 0x1400aae5a
mov r15, qword [rsp + 0x88]
xor r14d, r14d
mov r12d, dword [rsp + 0x34]
movzx r9d, word [rsp + 0xf8]
mov r13, qword [rsp + 0xe8]
mov ecx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x78]
mov r10, qword [rsp + 0xe0]
movzx r8d, word [rsp + 0x32]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0xf0]
add qword [rsp + 0x80], rbp
add ecx, ebp
mov dword [rsp + 0x54], ecx
test r12b, r12b
je 0x1400aaf54
mov rbx, qword [rsp + 0x80]
jmp 0x1400aa811
cmp byte [r15 + 0x20], r14b
je 0x1400aaf46
mov eax, 0x280
and r9w, ax
mov eax, 0x80
cmp r9w, ax
jne 0x1400aaf59
test r12b, r12b
jne 0x1400aaf9f
movzx edx, word [rsp + 0x4e]
dec edx
jmp 0x1400aaf81
cmp r11, rdx
jne 0x1400aaf46
mov al, byte [rsp + 0x4e]
jmp 0x1400aaf87
mov ecx, edx
mov rax, rbp
shl rax, cl
mov rcx, r14
sub rax, rbp
cmp edx, 0x40
cmovl rcx, rax
mov rax, rcx
and rax, r11
cmp rax, rcx
je 0x1400aaf9b
sub edx, ebp
test edx, edx
jg 0x1400aaf5f
xor al, al
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov al, dl
jmp 0x1400aaf87
or eax, 0xffffffff
jmp 0x1400aaf87