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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov ebx, dword [r8]
lea r12, [r8 + 0xc]
mov r14d, dword [r8 + 8]
add rbx, rdx
mov ebp, dword [r8 + 4]
add r14, rdx
mov r13, r9
mov qword [rsp + 0x90], r12
mov rsi, rdx
mov rcx, r9
movzx eax, byte [rbx]
inc rbx
mov qword [r9 + 0x10], 0
cmp qword [r9 + 0x18], 0x10
jb 0x18000a23d
mov rcx, qword [r9]
mov byte [rcx], 0
test al, al
je 0x18000a25a
movzx edx, al
mov rcx, r13
call fcn.1800044b0
movzx eax, byte [rbx]
lea rbx, [rbx + 1]
test al, al
jne 0x18000a244
mov rdi, qword [r13 + 0x28]
lea rbx, [r13 + 0x20]
mov r9, qword [rbx]
mov rcx, rdi
sub rcx, r9
mov qword [rsp + 0x20], rbx
movabs r10, 0x2aaaaaaaaaaaaaab
mov r15, rbp
mov rax, r10
imul rcx
mov r8, rdx
sar r8, 5
mov rax, r8
shr rax, 0x3f
add r8, rax
cmp rbp, r8
jae 0x18000a2d5
lea rsi, [rbp*2]
add rsi, rbp
shl rsi, 6
add rsi, r9
mov rbx, rsi
cmp rsi, rdi
je 0x18000a2c7
mov rcx, rbx
call fcn.18000bfa0
add rbx, 0xc0
cmp rbx, rdi
jne 0x18000a2b3
mov qword [r13 + 0x28], rsi
mov rsi, qword [rsp + 0x88]
jmp 0x18000a316
jbe 0x18000a316
mov rcx, qword [rbx + 0x10]
mov rax, r10
sub rcx, r9
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbp, rdx
mov rdx, rbp
jbe 0x18000a304
mov rcx, rbx
call fcn.18000cba0
jmp 0x18000a316
sub rdx, r8
mov rcx, rdi
mov r8, rbx
call fcn.18000cd80
mov qword [rbx + 8], rax
test ebp, ebp
je 0x18000a486
mov r13, qword [rsp + 0x20]
xor ebp, ebp
mov r12d, ebp
nop dword [rax + rax]
mov edi, dword [r14]
mov rbx, qword [r13]
add rdi, rsi
add rbx, r12
mov rcx, rbx
movzx eax, byte [rdi]
inc rdi
mov qword [rbx + 0x10], rbp
cmp qword [rbx + 0x18], 0x10
jb 0x18000a354
mov rcx, qword [rbx]
mov byte [rcx], bpl
test al, al
je 0x18000a376
nop dword [rax + rax]
movzx edx, al
mov rcx, rbx
call fcn.1800044b0
movzx eax, byte [rdi]
lea rdi, [rdi + 1]
test al, al
jne 0x18000a360
mov eax, dword [r14 + 4]
lea rcx, [rbx + 0x68]
mov dword [rbx + 0x40], eax
mov eax, dword [r14 + 8]
mov dword [rbx + 0x44], eax
mov edi, dword [r14 + 0x10]
add r14, 0x14
cmp rcx, rbx
je 0x18000a3ab
cmp qword [rbx + 0x18], 0x10
mov rdx, rbx
jb 0x18000a3a2
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
call fcn.18000c360
lea rcx, [rbx + 0x98]
cmp rcx, rbx
je 0x18000a3cd
cmp qword [rbx + 0x18], 0x10
mov rdx, rbx
jb 0x18000a3c4
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
call fcn.18000c360
lea r8, [rsi + rdi]
mov qword [rbx + 0x90], rbp
mov rdi, qword [rsp + 0x80]
lea r9, [rbx + 0x48]
mov dword [rbx + 0x88], ebp
mov rdx, rsi
mov dword [rbx + 0x60], ebp
mov ecx, dword [rdi]
call fcn.180009dc0
cmp dword [rdi], 5
mov eax, 0x14
mov ecx, dword [r14]
mov edx, 4
cmovb eax, edx
mov byte [rbx + 0x20], bpl
add r14, rax
test ecx, ecx
je 0x18000a463
mov eax, dword [rbx + 0x44]
lea rdi, [rsi + rcx]
shr eax, 2
mov byte [rbx + 0x20], 1
test eax, eax
je 0x18000a463
mov esi, eax
nop dword [rax]
mov rdx, qword [rbx + 0x30]
cmp rdx, qword [rbx + 0x38]
je 0x18000a445
mov eax, dword [rdi]
mov dword [rdx], eax
add qword [rbx + 0x30], 4
jmp 0x18000a451
mov r8, rdi
lea rcx, [rbx + 0x28]
call fcn.18000d0c0
add rdi, 4
sub rsi, 1
jne 0x18000a430
mov rsi, qword [rsp + 0x88]
add r12, 0xc0
sub r15, 1
jne 0x18000a330
mov r13, qword [rsp + 0x98]
mov r12, qword [rsp + 0x90]
jmp 0x18000a488
xor ebp, ebp
mov eax, dword [r12]
mov dword [r13 + 0x38], eax
lea rax, [r12 + 0xc]
mov dword [r13 + 0x3c], ebp
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret