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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r15
sub rsp, 0x50
mov ebp, r8d
mov rbx, rcx
test rcx, rcx
jne 0x180018b4d
lea eax, [rdx - 1]
cmp eax, 0xf
ja case.default.0x180018aa1
lea r8, [0x180000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x18e14]
add rcx, r8
jmp rcx
mov rbx, qword [0x18004bbd0]
jmp 0x180018bab
mov rbx, qword [0x18004bc40]
jmp 0x180018bab
mov rbx, qword [0x18004bc30]
jmp 0x180018bab
mov rbx, qword [0x18004bbc8]
jmp 0x180018bab
mov rbx, qword [0x18004bbe8]
jmp 0x180018bab
mov rbx, qword [0x18004bc20]
jmp 0x180018bab
mov rbx, qword [0x18004bbf8]
jmp 0x180018bab
mov rbx, qword [0x18004bc08]
jmp 0x180018bab
mov rbx, qword [0x18004bc28]
jmp 0x180018bab
mov rbx, qword [0x18004bc38]
jmp 0x180018bab
mov rbx, qword [0x18004bbf0]
jmp 0x180018bab
mov rbx, qword [0x18004bbe0]
jmp 0x180018bab
mov rbx, qword [0x18004bc10]
jmp 0x180018bab
mov rbx, qword [0x18004bc00]
jmp 0x180018bab
mov rbx, qword [0x18004bc18]
jmp 0x180018bab
xor ebx, ebx
cmp edx, 1
jne 0x180018bab
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x34], 0x5fb03cfa
mov dword [rsp + 0x38], 0x3f135f4
mov dword [rsp + 0x3c], 0x5dae3dbf
mov dword [rsp + 0x40], 0x31c25991
mov eax, dword [rsp + 0x34]
movzx eax, byte [rsp + 0x30]
test al, al
jne 0x180018ba6
xor ecx, ecx
nop word [rax + rax]
mov eax, dword [rsp + rcx*4 + 0x34]
xor eax, 0x31c25991
mov dword [rsp + rcx*4 + 0x34], eax
inc rcx
cmp rcx, 4
jb 0x180018b90
lea rbx, [rsp + 0x34]
movzx r15d, byte [rbx]
xor edi, edi
mov r8, rbx
test r15b, r15b
je 0x180018be3
movzx eax, r15b
nop dword [rax]
movzx edx, al
lea r8, [r8 + 1]
rol edi, 7
cmp dl, 0x61
lea eax, [rdx + 0x20]
movzx ecx, al
cmovge ecx, edx
movsx eax, cl
xor edi, eax
movzx eax, byte [r8]
test al, al
jne 0x180018bc0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x70], r14
mov rcx, qword [rax + 0x18]
mov rsi, qword [rcx + 0x10]
mov r10, qword [rsi + 0x30]
test r10, r10
je 0x180018cf2
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movsxd rax, dword [r10 + 0x3c]
mov rsi, qword [rsi]
movups xmmword [rsp + 0x20], xmm0
mov ecx, dword [rax + r10 + 0x88]
test ecx, ecx
je 0x180018cbf
mov r8, qword [rsp + 0x28]
lea r14, [r10 + rcx]
mov r9d, dword [r14 + 0x20]
xor ecx, ecx
mov r11d, dword [r14 + 0x18]
add r9, r10
movzx edx, word [r8]
test dx, dx
je 0x180018c70
nop
rol ecx, 7
lea eax, [rdx + 0x20]
cmp dx, 0x61
lea r8, [r8 + 2]
cmovae ax, dx
movzx edx, word [r8]
movzx eax, ax
xor ecx, eax
test dx, dx
jne 0x180018c50
cmp ecx, edi
jne 0x180018cbf
xor r8d, r8d
test r11d, r11d
je 0x180018cbf
nop dword [rax]
mov edx, dword [r9]
lea r9, [r9 + 4]
add rdx, r10
xor eax, eax
movzx ecx, byte [rdx]
test cl, cl
je 0x180018cb3
nop dword [rax]
nop word [rax + rax]
rol eax, 7
lea rdx, [rdx + 1]
movsx ecx, cl
xor eax, ecx
movzx ecx, byte [rdx]
test cl, cl
jne 0x180018ca0
cmp eax, ebp
je 0x180018cce
inc r8d
cmp r8d, r11d
jb 0x180018c80
mov r10, qword [rsi + 0x30]
test r10, r10
jne 0x180018c10
jmp 0x180018cf2
mov edx, dword [r14 + 0x24]
lea eax, [r8 + r8]
mov ecx, dword [r14 + 0x1c]
add rax, r10
add rcx, r10
movzx r8d, word [rdx + rax]
mov eax, dword [rcx + r8*4]
add rax, r10
jne 0x180018dba
xor r8d, r8d
test r15b, r15b
je 0x180018d38
lea edx, [r8 + 1]
xor ecx, ecx
lea r9d, [r8 + 0x2b]
mov r8d, 0xa48d6762
call fcn.180018e60
mov rcx, rbx
call rax
mov r8, rax
test rax, rax
jne 0x180018d38
lea edx, [rax + 1]
xor ecx, ecx
lea r9d, [rax + 2]
mov r8d, 0xc8ac8026
call fcn.180018e60
mov rcx, rbx
call rax
mov r8, rax
test ebp, ebp
jne 0x180018d41
mov rax, r8
jmp 0x180018dba
movsxd rax, dword [r8 + 0x3c]
mov ebx, dword [rax + r8 + 0x88]
mov esi, dword [rax + r8 + 0x8c]
add rbx, r8
mov eax, ebp
shr eax, 0x10
test ax, ax
jne 0x180018d6a
movzx eax, bp
sub eax, dword [rbx + 0x10]
jmp 0x180018dd9
mov r9d, dword [rbx + 0x20]
xor r10d, r10d
mov r11d, dword [rbx + 0x24]
add r9, r8
mov edi, dword [rbx + 0x18]
add r11, r8
test edi, edi
je 0x180018db8
mov edx, dword [r9]
xor ecx, ecx
add rdx, r8
movzx eax, byte [rdx]
test al, al
je 0x180018da8
rol ecx, 7
lea rdx, [rdx + 1]
movsx eax, al
xor ecx, eax
movzx eax, byte [rdx]
test al, al
jne 0x180018d91
cmp ecx, ebp
je 0x180018dd5
add r9, 4
add r11, 2
inc r10d
cmp r10d, edi
jb 0x180018d82
xor eax, eax
mov r14, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop rdi
pop rsi
ret
movzx eax, word [r11]
test eax, eax
js 0x180018db8
mov ecx, dword [rbx + 0x1c]
add rcx, r8
movsxd rdx, eax
mov r9d, dword [rcx + rdx*4]
add r9, r8
cmp r9, rbx
jbe 0x180018e08
mov rdx, r9
sub rdx, rbx
cmp rdx, rsi
jae 0x180018e08
mov rcx, r9
call fcn.1800188f0
mov r9, rax
test r9, r9
je 0x180018db8
mov rax, r9
jmp 0x180018dba