Function at 0x1400ac820
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 0x1400ac87a
mov rax, qword [rcx]
mov r8, qword [rax]
test byte [r8 + 0x60], 0x40
jne 0x1400ad061
movzx edx, word [rdx]
mov word [rsp + 0x4e], dx
cmp edx, 0x3f
ja 0x1400ad061
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 0x1400ad033
movzx eax, word [rsp + 0x100]
cmp ecx, eax
jg 0x1400ad022
test ecx, ecx
jle 0x1400ac913
or rsi, qword [r15 + 8]
mov qword [rsp + 0x58], rsi
cmp ecx, eax
jge 0x1400ac935
bt r9w, 0xb
mov rax, qword [rdi + 0x18]
mov r15, qword [rax + rbx*8]
mov qword [rsp + 0x88], r15
jb 0x1400acfe8
jmp 0x1400ac945
mov r15, qword [rsp + 0x108]
mov qword [rsp + 0x88], r15
test dword [r15 + 0x38], 0x400
jne 0x1400ad008
movzx eax, r9w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x60], ax
je 0x1400ac96b
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 0x1400acae8
mov r12d, eax
mov eax, ebp
bt r11, rax
jb 0x1400acacb
mov edi, ebp
shl rdi, 5
mov r14d, ebp
mov rcx, qword [rdi + r13 + 8]
call fcn.14006aeec
xor edx, edx
mov rbx, rax
test rax, rax
je 0x1400acacb
mov al, byte [rax]
add al, 0x59
test al, 0xfd
jne 0x1400acacb
cmp dword [rbx + 0x2c], r12d
jne 0x1400acacb
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.1400a8490
mov rsi, rax
xor eax, eax
test rsi, rsi
je 0x1400acab3
lea r9d, [rax + 1]
cmp word [rsi + 0x14], r9w
jne 0x1400aca36
movzx edx, word [r15 + 0x3c]
mov ecx, eax
test edx, edx
je 0x1400aca32
mov r8, qword [r15 + 0x48]
movsxd rax, ecx
cmp rsi, qword [r8 + rax*8]
je 0x1400aca30
add ecx, r9d
cmp ecx, edx
jl 0x1400aca20
xor eax, eax
cmp ecx, edx
jge 0x1400acab3
test byte [rsi + 0x14], 0x82
je 0x1400acaa3
cmp word [rbx + 0x30], ax
jl 0x1400acaa3
mov rbx, qword [rsp + 0xe0]
mov rdx, qword [rdi + r13 + 8]
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.14006af1c
mov rdi, rax
test rax, rax
jne 0x1400aca69
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rax, qword [rsi]
test dword [rax + 4], 0x400
je 0x1400aca7f
mov rdx, qword [rax + 0x18]
mov r8, qword [rax + 0x10]
jmp 0x1400aca87
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
mov rcx, rbx
call fcn.14006b1a0
test rax, rax
je 0x1400acab3
mov rdx, qword [rax]
mov rcx, qword [rdi]
call fcn.14003d72c
test eax, eax
jne 0x1400acab3
mov r11, qword [rsp + 0x40]
bts r11, r14
mov qword [rsp + 0x40], r11
jmp 0x1400acab8
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 0x1400ac991
mov r12d, dword [rsp + 0x34]
xor r14d, r14d
movzx r9d, word [rsp + 0xf8]
test dword [r15 + 0x38], 0x1000
jne 0x1400aceeb
test dword [r15 + 0x38], 0x100
je 0x1400acb17
mov ebx, dword [rsp + 0x34]
mov ebp, 1
movzx eax, bp
mov word [rsp + 0x4c], r14w
mov r13, r14
jmp 0x1400acb64
mov r13, qword [r15 + 0x20]
test r13, r13
je 0x1400ad061
test byte [r13 + 0x64], 4
jne 0x1400ad061
movzx eax, word [r13 + 0x5e]
mov word [rsp + 0x4c], ax
movzx eax, word [r13 + 0x60]
cmp byte [r13 + 0x62], r14b
je 0x1400acb58
test dword [r15 + 0x38], 0x8000
jne 0x1400acb58
mov ebp, 1
mov bl, bpl
jmp 0x1400acb60
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 0x1400acede
movzx r10d, word [r15 + 0x18]
cmp edi, r10d
jge 0x1400acbea
movzx eax, word [r15 + 0x3e]
cmp edi, eax
jl 0x1400acbea
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 0x1400acbca
mov ecx, 0x180
test cx, ax
je 0x1400aceb2
mov bl, r14b
mov dword [rsp + 0x34], ebx
jmp 0x1400aceb2
test bpl, al
je 0x1400acbea
mov r9, qword [rcx]
lea edx, [rdi + 1]
jmp 0x1400acbe5
movsxd rax, edx
mov rcx, qword [r8 + rax*8]
cmp qword [rcx], r9
je 0x1400acc22
add edx, ebp
cmp edx, r10d
jl 0x1400acbd7
mov r8b, bpl
test r13, r13
je 0x1400acc27
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 0x1400acc31
mov r8b, r14b
jmp 0x1400acbed
or r14d, 0xffffffff
xor r9d, r9d
mov r12b, r9b
test bl, bl
je 0x1400acc6b
test r14d, r14d
js 0x1400acc5c
cmp edi, r10d
jl 0x1400acc6b
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 0x1400acc6b
mov byte [rsp + 0x34], r9b
jmp 0x1400acc6b
cmp r14d, 0xfffffffe
movzx ebx, bl
cmove ebx, r9d
mov dword [rsp + 0x34], ebx
mov ebp, r9d
test r8b, r8b
je 0x1400acdb0
cmp ebp, dword [rsp + 0x50]
jge 0x1400acdac
mov eax, ebp
bt r11, rax
jb 0x1400acda1
mov rbx, qword [rsp + 0xe8]
movsxd rsi, ebp
shl rsi, 5
mov rcx, qword [rsi + rbx + 8]
call fcn.14006aeec
mov rdx, rax
test rax, rax
je 0x1400acda1
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 0x1400accf7
mov al, byte [rdx]
add al, 0x59
test al, 0xfd
jne 0x1400acd9c
mov eax, dword [rsp + 0x64]
cmp dword [rdx + 0x2c], eax
jne 0x1400acd9c
movsx eax, word [rdx + 0x30]
cmp eax, r14d
jne 0x1400acd9c
jmp 0x1400acd45
mov rax, qword [r13 + 0x50]
movsxd rcx, edi
shl rcx, 5
mov r8, qword [rcx + rax + 8]
jmp 0x1400acd17
test dword [r8 + 4], 0x2000
je 0x1400acd1c
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x1400acd09
test dword [rdx + 4], 0x2000
je 0x1400acd2e
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1400acd1c
mov r9d, dword [rsp + 0x64]
xor ecx, ecx
call fcn.1400719a0
xor r9d, r9d
test eax, eax
jne 0x1400acd97
or r10d, 0xffffffff
cmp r14d, r10d
je 0x1400acdf0
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.14006af1c
mov rcx, rax
test rax, rax
jne 0x1400acd7d
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.14003d72c
xor r9d, r9d
test eax, eax
je 0x1400acde4
mov r11, qword [rsp + 0x40]
mov r8b, byte [rsp + 0x30]
inc ebp
test r8b, r8b
jne 0x1400acc77
mov esi, dword [rsp + 0x48]
movzx r9d, word [rsp + 0xf8]
xor r14d, r14d
test edi, edi
je 0x1400acdcd
movzx eax, word [rsp + 0x4c]
cmp edi, eax
jge 0x1400acec0
mov r11, qword [rsp + 0x40]
mov r12b, r14b
mov dword [rsp + 0x34], r12d
mov ebp, 1
jmp 0x1400acecf
mov rbx, qword [rsp + 0xe8]
or r10d, 0xffffffff
mov r8d, 1
cmp word [rsp + 0x60], r9w
je 0x1400ace07
lea eax, [r8 + rdi]
mov word [r15 + 0x1e], ax
movzx r9d, word [rsp + 0xf8]
test r9b, 0x40
jne 0x1400ace66
movsxd rax, ebp
xor edx, edx
shl rax, 5
mov cl, byte [rax + rbx + 0x18]
and cl, r8b
cmp byte [rsp + 0x39], dl
je 0x1400ace3f
xor r12b, byte [rsp + 0x38]
cmp r12b, cl
je 0x1400ace66
mov esi, dword [rsp + 0x48]
jmp 0x1400acdb9
mov dl, cl
xor dl, r12b
mov byte [rsp + 0x38], dl
je 0x1400ace61
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 0x1400ace83
movzx eax, word [r15 + 0x18]
cmp edi, eax
jne 0x1400ace36
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 0x1400acb87
jmp 0x1400aceca
mov r11, qword [rsp + 0x40]
mov ebp, 1
mov r12d, dword [rsp + 0x34]
test sil, sil
je 0x1400acee3
mov r12b, bpl
mov dword [rsp + 0x34], r12d
jmp 0x1400acef9
mov r12d, dword [rsp + 0x34]
mov r13, qword [rsp + 0xe8]
mov ebp, 1
test r12b, r12b
je 0x1400acfc4
mov rdi, qword [rsp + 0x70]
mov ebx, r14d
or rdi, qword [r15 + 8]
mov qword [rsp + 0x70], rdi
cmp dword [rsp + 0x50], r14d
jbe 0x1400acfbc
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 0x1400acf95
mov rbp, qword [rsi]
lea rcx, [r12 + 0x258]
mov rdx, rbp
call fcn.1400a7efc
mov r14, rax
test rax, rax
jne 0x1400acf6b
lea r8d, [rax + 1]
mov rdx, rbp
xor ecx, ecx
call fcn.14006d41c
test eax, eax
je 0x1400acf8b
mov r11, qword [rsp + 0x40]
mov rax, r15
not rax
mov ebp, 1
test r14, rax
jne 0x1400acf95
bts r11, rdi
mov qword [rsp + 0x40], r11
jmp 0x1400acf95
mov r11, qword [rsp + 0x40]
mov ebp, 1
add ebx, ebp
add rdi, rbp
add rsi, 0x20
cmp ebx, r13d
jl 0x1400acf36
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 0x1400ad030
mov rbx, qword [rsp + 0x80]
jmp 0x1400ac8ed
cmp byte [r15 + 0x20], r14b
je 0x1400ad022
mov eax, 0x280
and r9w, ax
mov eax, 0x80
cmp r9w, ax
jne 0x1400ad035
test r12b, r12b
jne 0x1400ad07b
movzx edx, word [rsp + 0x4e]
dec edx
jmp 0x1400ad05d
cmp r11, rdx
jne 0x1400ad022
mov al, byte [rsp + 0x4e]
jmp 0x1400ad063
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 0x1400ad077
sub edx, ebp
test edx, edx
jg 0x1400ad03b
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 0x1400ad063
or eax, 0xffffffff
jmp 0x1400ad063