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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
push r13
push r14
sub rsp, 0x90
cmp dword [rsp + 0xe0], 1
mov r13, rcx
mov rax, qword [r9 + 0x10]
mov r11, r9
mov r10, r8
mov qword [rsp + 0x60], rax
mov rbx, rdx
mov rsi, qword [rax + 0x20]
mov rcx, qword [rax + 0x28]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x58], rcx
jne 0x18000a628
mov byte [rsp + 0xe0], 0
jmp 0x18000a634
movzx eax, byte [r9 + 0x20]
mov byte [rsp + 0xe0], al
mov r8d, dword [r11 + 0x2c]
xor r14d, r14d
mov edx, 0xffffffff
mov qword [rsp + 0x88], rbp
mov r9d, r14d
mov qword [rsp + 0x80], r12
mov edi, r14d
mov qword [rsp + 0x78], r15
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0xc0], edx
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], r14d
mov dword [rsp + 0x40], r8d
cmp r8d, dword [r13 + 0x1c]
jae 0x18000aa1b
lea r15, [rcx + r8*4]
mov eax, r8d
mov ecx, dword [rsp + 0xe8]
mov qword [rsp + 0x50], r15
mov r15d, dword [r15]
shl r15, 6
cmp dword [r15 + rsi + 0x24], r14d
jne 0x18000a7df
mov r12d, dword [r11 + 4]
cmp r12d, dword [r15 + rsi + 8]
mov edx, dword [rbx]
cmovae r12d, dword [r15 + rsi + 8]
mov esi, r14d
mov dword [rsp + 0x34], r14d
test edx, edx
je 0x18000a6e6
mov rax, qword [r13 + 0x60]
mov ecx, dword [r15 + rax + 0xc]
test ecx, ecx
je 0x18000a6df
cmp edx, ecx
mov eax, edx
mov esi, 1
cmovae eax, ecx
mov dword [rsp + 0x34], eax
mov ecx, dword [rsp + 0xe8]
mov ebp, dword [r10]
mov ebx, r14d
test ebp, ebp
je 0x18000a7aa
mov r10d, r14d
test ecx, ecx
je 0x18000a7a2
nop
cmp ebx, ebp
jae 0x18000a78c
mov rax, qword [r13 + 0x80]
mov ecx, r10d
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x10]
mov eax, dword [rcx + 0xd0]
cmp eax, dword [rdi + 0x24]
jbe 0x18000a779
mov rax, qword [rcx + 0x20]
mov r11d, dword [r15 + rax + 0x24]
sub r11d, dword [r15 + rax + 0x2c]
je 0x18000a779
mov r8d, dword [r15 + rax + 0x34]
mov eax, dword [r15 + rax + 0x28]
sub r11d, eax
mov r9d, eax
sub r9d, r8d
cmp r9d, dword [rdi + 0x2c]
cmovae r9d, dword [rdi + 0x2c]
cmp r8d, dword [rdi + 0x28]
cmovae r8d, dword [rdi + 0x28]
cmp r11d, dword [rdi + 0x30]
cmovae r11d, dword [rdi + 0x30]
lea ecx, [r8 + r9]
add ecx, r11d
je 0x18000a779
mov eax, ebp
sub eax, ebx
cmp eax, ecx
cmovae eax, ecx
add ebx, eax
inc esi
mov ecx, dword [rsp + 0xe8]
inc r10d
cmp r10d, ecx
jb 0x18000a700
mov r8d, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x38]
mov r11, qword [rsp + 0xd8]
mov edi, dword [rsp + 0x3c]
mov r10, qword [rsp + 0xd0]
mov eax, dword [rsp + 0x34]
add eax, ebx
cmp byte [rsp + 0xe0], r14b
je 0x18000a86d
cmp eax, r12d
jne 0x18000a7cb
cmp esi, edi
ja 0x18000a888
mov edx, dword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
inc r8d
add r15, 4
mov dword [rsp + 0x40], r8d
mov qword [rsp + 0x50], r15
cmp r8d, dword [r13 + 0x1c]
jb 0x18000a693
cmp edx, 0xffffffff
je 0x18000aa1b
mov rcx, qword [rsp + 0x58]
mov eax, edx
mov r15d, dword [rcx + rax*4]
lea rsi, [rcx + rax*4]
mov eax, dword [r11 + 4]
mov edx, eax
cmp eax, r9d
mov qword [rsp + 0xc0], rsi
cmovae edx, r9d
sub eax, edx
mov dword [rsp + 0x30], edx
mov dword [r11 + 4], eax
mov edi, edx
mov ebp, dword [rbx]
test ebp, ebp
je 0x18000a90c
mov rsi, qword [r13 + 0x60]
mov r12d, r15d
shl r12, 6
add rsi, r12
mov ecx, dword [rsi + 0xc]
test ecx, ecx
je 0x18000a904
cmp ebp, ecx
mov eax, ebp
cmovae eax, ecx
cmp eax, edx
jae 0x18000a8a4
cmp ebp, ecx
cmovae ebp, ecx
jmp 0x18000a8a6
cmp r9d, r12d
jae 0x18000a877
cmp eax, r9d
ja 0x18000a888
cmp eax, r9d
jne 0x18000a7cb
cmp esi, edi
jbe 0x18000a7cb
mov edx, r8d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0xc0], edx
mov r9d, eax
mov edi, esi
mov dword [rsp + 0x3c], esi
jmp 0x18000a7d2
mov ebp, edx
mov edi, ebp
mov ebx, r14d
nop dword [rax + rax]
mov eax, ebx
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, qword [rsi + 0x30]
cmp dword [rcx], 2
jne 0x18000a8e8
inc dword [rcx + 0x18]
xor r9d, r9d
mov dword [rcx], r14d
mov r8d, ebx
mov rcx, qword [rsp + 0x60]
dec dword [rsi + 0xc]
mov rdx, qword [rcx + 0x20]
add rdx, r12
call fcn.18001abc0
add edi, 0xffffffff
je 0x18000a8ec
inc ebx
jmp 0x18000a8b0
mov rax, qword [rsp + 0xc8]
mov edi, dword [rsp + 0x30]
mov r11, qword [rsp + 0xd8]
sub dword [rax], ebp
sub edi, ebp
mov rsi, qword [rsp + 0xc0]
test edi, edi
je 0x18000a9fd
mov r12, qword [rsp + 0xd0]
cmp dword [r12], r14d
jbe 0x18000a9fd
mov ebp, dword [rsp + 0xe8]
mov rsi, qword [rsp + 0xd8]
cmp r14d, ebp
jae 0x18000a9ed
mov ebx, dword [r12]
test ebx, ebx
je 0x18000a9ed
mov rax, qword [r13 + 0x80]
mov r11, qword [rax + r14*8]
mov rcx, qword [r11 + 0x10]
mov eax, dword [rcx + 0xd0]
cmp eax, dword [r11 + 0x24]
jbe 0x18000a9e2
mov rax, r15
shl rax, 6
add rax, qword [rcx + 0x20]
mov r10d, dword [rax + 0x24]
sub r10d, dword [rax + 0x2c]
je 0x18000a9e2
mov r9d, dword [rax + 0x34]
mov eax, dword [rax + 0x28]
sub r10d, eax
mov r8d, eax
sub r8d, r9d
cmp r9d, dword [r11 + 0x28]
cmovae r9d, dword [r11 + 0x28]
cmp r10d, dword [r11 + 0x30]
cmovae r10d, dword [r11 + 0x30]
cmp r8d, dword [r11 + 0x2c]
cmovae r8d, dword [r11 + 0x2c]
lea ecx, [r10 + r9]
add ecx, r8d
je 0x18000a9e2
cmp ebx, ecx
mov eax, ebx
cmovae eax, ecx
cmp eax, edi
jae 0x18000a9c4
cmp ebx, ecx
cmovae ebx, ecx
jmp 0x18000a9c6
mov ebx, edi
mov r8, qword [rsi + 0x10]
mov r9d, r15d
mov rdx, r11
mov dword [rsp + 0x20], ebx
mov rcx, r13
call fcn.18000a260
sub dword [r12], ebx
sub edi, ebx
inc r14d
test edi, edi
jne 0x18000a935
mov rsi, qword [rsp + 0xc0]
mov r11, qword [rsp + 0xd8]
mov eax, dword [r11 + 0x2c]
mov rcx, qword [rsp + 0x58]
mov edx, dword [rcx + rax*4]
lea rcx, [rcx + rax*4]
mov eax, dword [rsi]
mov dword [rcx], eax
mov al, 1
mov dword [rsi], edx
inc dword [r11 + 0x2c]
jmp 0x18000aa1d
xor al, al
mov byte [r11 + 0x20], al
mov eax, dword [rsp + 0x30]
mov r15, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
pop r14
pop r13
pop rdi
pop rsi
pop rbx
ret