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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [rcx + 0x70]
mov r10, rcx
mov r14, qword [rcx + 8]
mov rsi, rdx
mov r15, qword [rcx + 0x80]
mov rbx, r9
mov r13d, dword [rcx + 0x104]
mov edx, 1
mov qword [rsp + 0x80], rax
mov rbp, r9
mov eax, dword [rcx + 0x108]
mov ecx, dword [rcx + 0x100]
mov r9, qword [rsp + 0x100]
shl edx, cl
mov r8d, r9d
mov ecx, dword [r10 + 0x1c]
sub r8d, r14d
add r8d, ebx
mov dword [rsp + 0x40], eax
lea r12, [rbx + r9]
mov qword [rsp + 0x48], r15
lea rax, [r12 - 8]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x98], rax
mov eax, r8d
sub eax, ecx
mov qword [rsp + 0x70], r14
sub r8d, edx
cmp eax, edx
cmovbe r8d, ecx
cmp dword [r10 + 0x28], 0
cmovne r8d, ecx
cmp dword [r10 + 0x18], r8d
mov r11d, r8d
mov edx, r8d
cmova r11d, dword [r10 + 0x18]
mov eax, r11d
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x3c], r11d
lea rcx, [r11 + r14]
mov qword [rsp + 0x50], rcx
mov rcx, qword [r10 + 0x10]
add rdx, rcx
mov qword [rsp + 0x78], rcx
add rax, rcx
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 0x68], rax
mov eax, dword [rdx]
mov edi, dword [rdx + 4]
mov dword [rsp + 0x100], eax
mov dword [rsp + 0xe0], edi
cmp r11d, r8d
jne 0x1400ac7b5
mov qword [rsp + 0x20], r9
mov r8, rdx
mov r9, rbx
mov rdx, rsi
mov rcx, r10
call fcn.1400a8e90
jmp 0x1400ad2a4
lea rcx, [r12 - 8]
cmp rbx, rcx
jae 0x1400ad299
mov eax, dword [rsp + 0x108]
sub eax, 4
je 0x1400ac817
sub eax, 1
je 0x1400ac80a
sub eax, 1
je 0x1400ac7fd
sub eax, 1
je 0x1400ac7f0
cmp eax, 1
jne 0x1400ac817
mov edx, r13d
mov rcx, rbx
call fcn.1400b0410
jmp 0x1400ac822
mov edx, r13d
mov rcx, rbx
call fcn.1400b03e0
jmp 0x1400ac822
mov edx, r13d
mov rcx, rbx
call fcn.1400b03b0
jmp 0x1400ac822
mov edx, r13d
mov rcx, rbx
call fcn.1400b0380
jmp 0x1400ac822
mov edx, r13d
mov rcx, rbx
call fcn.1400b0340
mov r10d, dword [r15 + rax*4]
mov rcx, rbx
mov edx, dword [rsp + 0x40]
cmp r10d, r11d
mov r15, r14
mov dword [rsp + 0x60], r10d
cmovb r15, qword [rsp + 0x78]
mov r9, rax
add r15, r10
call fcn.1400b0410
mov rcx, qword [rsp + 0x80]
mov edx, ebx
mov r8d, dword [rcx + rax*4]
cmp r8d, r11d
mov dword [rsp + 0x88], r8d
lea rcx, [rcx + rax*4]
mov rax, qword [rsp + 0x70]
cmovb r14, qword [rsp + 0x78]
mov r11, rax
sub edx, eax
add r14, r8
mov dword [rcx], edx
mov edi, edx
sub edi, dword [rsp + 0x100]
inc edi
mov dword [rsp + 0xf8], edx
cmp edi, dword [rsp + 0x3c]
mov eax, edi
cmovb r11, qword [rsp + 0x78]
add r11, rax
mov dword [rsp + 0x38], edi
mov rax, qword [rsp + 0x48]
mov dword [rax + r9*4], edx
mov eax, edx
sub eax, dword [rsp + 0x58]
xor edx, edx
mov r9d, dword [rsp + 0x3c]
inc eax
cmp dword [rsp + 0x100], eax
mov ecx, r9d
setbe dl
sub ecx, edi
xor eax, eax
dec ecx
cmp ecx, 3
setae al
test eax, edx
je 0x1400aca34
mov eax, dword [rbx + 1]
lea r12, [rbx + 1]
cmp dword [r11], eax
jne 0x1400aca2f
mov rdx, qword [rsp + 0x30]
lea r14, [rbx + 5]
cmp dword [rsp + 0x38], r9d
mov rdi, rdx
mov r8, rdx
mov rcx, r14
cmovb rdi, qword [rsp + 0x68]
add r11, 4
sub rcx, r11
add rcx, rdi
cmp rcx, rdx
mov rdx, r11
cmovb r8, rcx
mov rcx, r14
call fcn.1400aff90
mov rbx, rax
lea rcx, [rax + r11]
cmp rcx, rdi
je 0x1400ac935
mov r14, qword [rsp + 0x30]
jmp 0x1400ac94e
mov rdx, qword [rsp + 0x50]
lea rcx, [rax + r14]
mov r14, qword [rsp + 0x30]
mov r8, r14
call fcn.1400aff90
add rbx, rax
mov rcx, qword [rsi + 0x18]
lea r15, [r14 - 0x20]
lea rdi, [rbx + 4]
mov qword [rsp + 0x60], r15
mov rbx, r12
mov rdx, rbp
sub r12, rbp
lea r8, [r12 + rbp]
cmp r8, r15
ja 0x1400ac9c5
call fcn.1400aff80
cmp r12, 0x10
jbe 0x1400ac9cd
mov rcx, qword [rsi + 0x18]
lea rax, [r12 - 0x10]
add rcx, 0x10
lea rdx, [rbp + 0x10]
lea r8, [rcx + rax]
call fcn.1400aff80
cmp rax, 0x10
jle 0x1400ac9cd
add rcx, 0x10
add rdx, 0x10
call fcn.1400aff80
add rcx, 0x10
add rdx, 0x10
call fcn.1400aff80
add rcx, 0x10
add rdx, 0x10
cmp rcx, r8
jb 0x1400ac9a4
jmp 0x1400ac9cd
mov r9, r15
call fcn.1400b0420
add qword [rsi + 0x18], r12
mov rcx, qword [rsi + 8]
cmp r12, 0xffff
jbe 0x1400ac9f2
mov rax, rcx
mov dword [rsi + 0x48], 1
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rcx + 4], r12w
lea rdx, [rdi - 3]
mov rax, qword [rsi + 8]
mov dword [rax], 1
mov rcx, qword [rsi + 8]
cmp rdx, 0xffff
jbe 0x1400acf02
mov rax, rcx
mov dword [rsi + 0x48], 2
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
jmp 0x1400acf02
mov r12, qword [rsp + 0x30]
mov r11d, dword [rsp + 0x58]
cmp r8d, r11d
jbe 0x1400acbe0
mov rax, qword [rbx]
cmp qword [r14], rax
jne 0x1400acbe0
mov r15, qword [rsp + 0x50]
lea r11, [r14 + 8]
cmp r8d, r9d
lea rcx, [rbx + 8]
mov rdi, r12
mov r8, r12
cmovb rdi, qword [rsp + 0x68]
mov rdx, r11
cmovb r15, qword [rsp + 0x90]
sub rcx, r11
add rcx, rdi
cmp rcx, r12
cmovb r8, rcx
lea rcx, [rbx + 8]
call fcn.1400aff90
mov r12, rax
lea rcx, [rax + r11]
mov r11, qword [rsp + 0x30]
cmp rcx, rdi
jne 0x1400acab4
mov rdx, qword [rsp + 0x50]
lea rcx, [rbx + 8]
add rcx, rax
mov r8, r11
call fcn.1400aff90
add r12, rax
xor r8d, r8d
lea rdi, [r12 + 8]
mov r12d, dword [rsp + 0xf8]
mov ecx, r8d
sub r12d, dword [rsp + 0x88]
mov eax, r8d
cmp r14, r15
seta cl
cmp rbx, rbp
seta al
test eax, ecx
je 0x1400acb1c
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r14 - 1]
lea rdx, [rbx - 1]
dec r14
cmp byte [rdx], al
jne 0x1400acb1c
inc rdi
mov ecx, r8d
cmp rdx, rbp
mov eax, r8d
mov rbx, rdx
seta cl
cmp r14, r15
seta al
test eax, ecx
jne 0x1400acaf0
mov eax, dword [rsp + 0x100]
lea r15, [r11 - 0x20]
mov rcx, qword [rsi + 0x18]
mov r14, rbx
sub r14, rbp
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0x100], r12d
mov rdx, rbp
mov qword [rsp + 0x60], r15
lea r8, [r14 + rbp]
cmp r8, r15
ja 0x1400acba4
call fcn.1400aff80
cmp r14, 0x10
jbe 0x1400acbac
mov rcx, qword [rsi + 0x18]
lea rax, [r14 - 0x10]
add rcx, 0x10
lea rdx, [rbp + 0x10]
lea r8, [rcx + rax]
call fcn.1400aff80
cmp rax, 0x10
jle 0x1400acbac
add rcx, 0x10
add rdx, 0x10
call fcn.1400aff80
add rcx, 0x10
add rdx, 0x10
call fcn.1400aff80
add rcx, 0x10
add rdx, 0x10
cmp rcx, r8
jb 0x1400acb83
jmp 0x1400acbac
mov r9, r15
call fcn.1400b0420
add qword [rsi + 0x18], r14
mov rcx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x1400acbd1
mov rax, rcx
mov dword [rsi + 0x48], 1
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rcx + 4], r14w
lea ecx, [r12 + 3]
jmp 0x1400aced2
cmp r10d, r11d
jbe 0x1400ad251
mov eax, dword [rbx]
cmp dword [r15], eax
jne 0x1400ad251
mov edx, dword [rsp + 0x40]
lea r9, [rbx + 1]
mov rcx, r9
mov qword [rsp + 0x88], r9
call fcn.1400b0410
mov rcx, qword [rsp + 0x80]
mov r12d, dword [rcx + rax*4]
lea rcx, [rcx + rax*4]
mov r8d, dword [rsp + 0x3c]
cmp r12d, r8d
mov r14, qword [rsp + 0x70]
cmovb r14, qword [rsp + 0x78]
mov eax, dword [rsp + 0xf8]
add r14, r12
inc eax
mov dword [rcx], eax
cmp r12d, r11d
jbe 0x1400acd45
mov rax, qword [r9]
cmp qword [r14], rax
jne 0x1400acd45
mov rdx, qword [rsp + 0x30]
lea r9, [rbx + 9]
mov r15, qword [rsp + 0x50]
lea r11, [r14 + 8]
cmp r12d, r8d
mov qword [rsp + 0xe0], r9
mov rdi, rdx
mov r8, rdx
cmovb rdi, qword [rsp + 0x68]
mov rcx, r9
cmovb r15, qword [rsp + 0x90]
sub rcx, r11
add rcx, rdi
cmp rcx, rdx
mov rdx, r11
cmovb r8, rcx
mov rcx, r9
call fcn.1400aff90
mov rbx, rax
lea rcx, [rax + r11]
mov r11, qword [rsp + 0x30]
cmp rcx, rdi
jne 0x1400acccb
mov rcx, qword [rsp + 0xe0]
mov r8, r11
mov rdx, qword [rsp + 0x50]
add rcx, rax
call fcn.1400aff90
add rbx, rax
mov r8d, dword [rsp + 0xf8]
lea rdi, [rbx + 8]
mov rbx, qword [rsp + 0x88]
xor r9d, r9d
sub r8d, r12d
mov ecx, r9d
inc r8d
mov eax, r9d
cmp rbx, rbp
mov dword [rsp + 0x38], r8d
seta cl
cmp r14, r15
seta al
test eax, ecx
je 0x1400ace0c
nop word [rax + rax]
movzx eax, byte [r14 - 1]
lea rdx, [rbx - 1]
dec r14
cmp byte [rdx], al
jne 0x1400ace0c
inc rdi
mov ecx, r9d
cmp rdx, rbp
mov eax, r9d
mov rbx, rdx
seta cl
cmp r14, r15
seta al
test eax, ecx
jne 0x1400acd10
jmp 0x1400ace0c
mov rdx, qword [rsp + 0x30]
lea r11, [r15 + 4]
mov r14, qword [rsp + 0x50]
lea rcx, [rbx + 4]
cmp r10d, r8d
mov rdi, rdx
mov r8, rdx
cmovb rdi, qword [rsp + 0x68]
cmovb r14, qword [rsp + 0x90]
sub rcx, r11
add rcx, rdi
cmp rcx, rdx
mov rdx, r11
cmovb r8, rcx
lea rcx, [rbx + 4]
call fcn.1400aff90
mov r12, rax
lea rcx, [rax + r11]
mov r11, qword [rsp + 0x30]
cmp rcx, rdi
jne 0x1400acdb0
mov rdx, qword [rsp + 0x50]
lea rcx, [rbx + 4]
add rcx, rax
mov r8, r11
call fcn.1400aff90
add r12, rax
mov r8d, dword [rsp + 0xf8]
lea rdi, [r12 + 4]
sub r8d, dword [rsp + 0x60]
xor r9d, r9d
cmp r15, r14
mov dword [rsp + 0x38], r8d
mov ecx, r9d
mov eax, r9d
seta cl
cmp rbx, rbp
seta al
test eax, ecx
je 0x1400ace0c
movzx eax, byte [r15 - 1]
lea rdx, [rbx - 1]
dec r15
cmp byte [rdx], al
jne 0x1400ace0c
inc rdi
mov ecx, r9d
cmp rdx, rbp
mov eax, r9d
mov rbx, rdx
seta cl
cmp r15, r14
seta al
test eax, ecx
jne 0x1400acde0
mov eax, dword [rsp + 0x100]
lea r15, [r11 - 0x20]
mov rcx, qword [rsi + 0x18]
mov r14, rbx
sub r14, rbp
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0x100], r8d
mov rdx, rbp
mov qword [rsp + 0x60], r15
lea rax, [r14 + rbp]
cmp rax, r15
ja 0x1400ace94
call fcn.1400aff80
cmp r14, 0x10
jbe 0x1400acea4
mov rcx, qword [rsi + 0x18]
lea rax, [r14 - 0x10]
add rcx, 0x10
lea rdx, [rbp + 0x10]
lea r8, [rcx + rax]
call fcn.1400aff80
cmp rax, 0x10
jle 0x1400ace9f
add rcx, 0x10
add rdx, 0x10
call fcn.1400aff80
add rcx, 0x10
add rdx, 0x10
call fcn.1400aff80
add rcx, 0x10
add rdx, 0x10
cmp rcx, r8
jb 0x1400ace73
jmp 0x1400ace9f
mov r9, r15
mov r8, rax
call fcn.1400b0420
mov r8d, dword [rsp + 0x38]
add qword [rsi + 0x18], r14
mov rcx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x1400acec9
mov rax, rcx
mov dword [rsi + 0x48], 1
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rcx + 4], r14w
lea ecx, [r8 + 3]
mov rax, qword [rsi + 8]
lea rdx, [rdi - 3]
mov dword [rax], ecx
mov rcx, qword [rsi + 8]
cmp rdx, 0xffff
jbe 0x1400acefd
mov rax, rcx
mov dword [rsi + 0x48], 2
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov r14, qword [rsp + 0x30]
add rbx, rdi
mov word [rcx + 6], dx
add qword [rsi + 8], 8
lea rdi, [r14 - 8]
mov rbp, rbx
cmp rbx, rdi
ja 0x1400ad261
mov r10d, dword [rsp + 0xf8]
mov r15, qword [rsp + 0x70]
add r10d, 2
mov edx, dword [rsp + 0x40]
mov r11d, r10d
add r11, r15
mov rcx, r11
call fcn.1400b0410
mov r12, qword [rsp + 0x80]
lea rcx, [rbx - 2]
mov r9d, ebx
mov edi, ebx
sub r9d, r15d
sub edi, r15d
sub r9d, 2
mov dword [r12 + rax*4], r10d
call fcn.1400b0410
mov dword [r12 + rax*4], r9d
mov r9d, dword [rsp + 0x108]
mov eax, r9d
sub eax, 4
je 0x1400ad020
sub eax, 1
je 0x1400acffe
sub eax, 1
je 0x1400acfdc
sub eax, 1
je 0x1400acfb7
cmp eax, 1
jne 0x1400ad020
mov edx, r13d
mov rcx, r11
call fcn.1400b0410
mov r15, qword [rsp + 0x48]
lea rcx, [rbx - 1]
mov dword [r15 + rax*4], r10d
call fcn.1400b0410
jmp 0x1400ad060
mov edx, r13d
mov rcx, r11
call fcn.1400b03e0
mov r15, qword [rsp + 0x48]
lea rcx, [rbx - 1]
mov dword [r15 + rax*4], r10d
mov edx, r13d
call fcn.1400b03e0
jmp 0x1400ad060
mov edx, r13d
mov rcx, r11
call fcn.1400b03b0
mov r15, qword [rsp + 0x48]
lea rcx, [rbx - 1]
mov dword [r15 + rax*4], r10d
mov edx, r13d
call fcn.1400b03b0
jmp 0x1400ad060
mov edx, r13d
mov rcx, r11
call fcn.1400b0380
mov r15, qword [rsp + 0x48]
lea rcx, [rbx - 1]
mov dword [r15 + rax*4], r10d
mov edx, r13d
call fcn.1400b0380
jmp 0x1400ad060
mov edx, r13d
mov rcx, r11
call fcn.1400b0340
mov r15, qword [rsp + 0x48]
lea rcx, [rbx - 1]
mov dword [r15 + rax*4], r10d
mov eax, r9d
sub eax, 4
je 0x1400ad05b
sub eax, 1
je 0x1400ad016
sub eax, 1
je 0x1400acff4
sub eax, 1
je 0x1400acfcf
cmp eax, 1
jne 0x1400ad05b
call fcn.1400b0410
jmp 0x1400ad060
call fcn.1400b0340
mov rdx, rax
xor r10d, r10d
lea eax, [rdi - 1]
mov edi, dword [rsp + 0xe0]
mov dword [r15 + rdx*4], eax
jmp 0x1400ad085
mov r14, qword [rsp + 0x30]
mov rax, qword [rsp + 0x70]
mov edx, r10d
mov r9d, dword [rsp + 0x3c]
mov r12d, ebx
mov r11, qword [rsp + 0x78]
sub r12d, eax
mov r8d, r12d
mov ecx, r9d
sub r8d, edi
cmp r8d, r9d
cmovae r11, rax
mov eax, r8d
add r11, rax
mov eax, r12d
sub eax, dword [rsp + 0x58]
cmp edi, eax
mov eax, r10d
setbe dl
sub ecx, r8d
dec ecx
cmp ecx, 3
setae al
test eax, edx
je 0x1400ad26d
mov eax, dword [rbx]
cmp dword [r11], eax
jne 0x1400ad26d
cmp r8d, r9d
lea r15, [rbx + 4]
mov rdi, r14
mov rcx, r15
cmovb rdi, qword [rsp + 0x68]
mov r8, r14
add r11, 4
sub rcx, r11
mov rdx, r11
add rcx, rdi
cmp rcx, r14
cmovb r8, rcx
mov rcx, r15
call fcn.1400aff90
mov r14, rax
lea rcx, [rax + r11]
cmp rcx, rdi
jne 0x1400ad134
mov r8, qword [rsp + 0x30]
lea rcx, [rax + r15]
mov rdx, qword [rsp + 0x50]
call fcn.1400aff90
add r14, rax
mov eax, dword [rsp + 0xe0]
add r14, 4
mov edi, dword [rsp + 0x100]
mov rdx, rbp
mov r15, qword [rsp + 0x60]
mov rcx, qword [rsi + 0x18]
mov dword [rsp + 0xe0], edi
mov dword [rsp + 0x100], eax
cmp rbp, r15
ja 0x1400ad16c
call fcn.1400aff80
jmp 0x1400ad177
mov r9, r15
mov r8, rbp
call fcn.1400b0420
mov rax, qword [rsi + 8]
lea rdx, [r14 - 3]
xor r10d, r10d
mov word [rax + 4], r10w
mov rax, qword [rsi + 8]
mov dword [rax], 1
mov rcx, qword [rsi + 8]
cmp rdx, 0xffff
jbe 0x1400ad1b2
mov rax, rcx
mov dword [rsi + 0x48], 2
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov eax, dword [rsp + 0x108]
mov word [rcx + 6], dx
add qword [rsi + 8], 8
sub eax, 4
je 0x1400ad20f
sub eax, 1
je 0x1400ad202
sub eax, 1
je 0x1400ad1f5
sub eax, 1
je 0x1400ad1e8
cmp eax, 1
jne 0x1400ad20f
mov edx, r13d
mov rcx, rbx
call fcn.1400b0410
jmp 0x1400ad21a
mov edx, r13d
mov rcx, rbx
call fcn.1400b03e0
jmp 0x1400ad21a
mov edx, r13d
mov rcx, rbx
call fcn.1400b03b0
jmp 0x1400ad21a
mov edx, r13d
mov rcx, rbx
call fcn.1400b0380
jmp 0x1400ad21a
mov edx, r13d
mov rcx, rbx
call fcn.1400b0340
mov r15, qword [rsp + 0x48]
mov rcx, rbx
mov edx, dword [rsp + 0x40]
mov dword [r15 + rax*4], r12d
call fcn.1400b0410
mov rcx, qword [rsp + 0x80]
add rbx, r14
mov rbp, rbx
mov dword [rcx + rax*4], r12d
cmp rbx, qword [rsp + 0x98]
jbe 0x1400ad080
jmp 0x1400ad26d
mov rcx, rbx
inc rbx
sub rcx, rbp
sar rcx, 8
add rbx, rcx
mov r15, qword [rsp + 0x48]
mov edi, dword [rsp + 0xe0]
mov r12, qword [rsp + 0x30]
mov r11d, dword [rsp + 0x3c]
mov r14, qword [rsp + 0x70]
cmp rbx, qword [rsp + 0x98]
jb 0x1400ac7c3
mov eax, dword [rsp + 0x100]
mov rdx, qword [rsp + 0xf0]
sub r12, rbp
mov dword [rdx], eax
mov rax, r12
mov dword [rdx + 4], edi
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret