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

Disassembly:
test eax, eax
je 0x180009104
mov rcx, rdi
lea eax, [rax - 1]
lea rdx, [r15 + rax + 2]
mov ebp, 0
imul ebp, r12d
movzx eax, byte [rcx]
add ebp, eax
add rcx, 1
cmp rcx, rdx
jne 0x18000909c
mov eax, dword [0x18008d2f9]
movsxd rdx, dword [rbx + 0x3c]
lea rdi, [rbx + rdx]
mov qword [rsp + 0x58], rdi
mov eax, eax
mov eax, dword [rdi + rax*8 + 0x88]
add rax, rbx
mov qword [rsp + 0x50], rax
mov r14d, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x180009212
lea r15d, [rax - 1]
mov r12d, 0
add r14, rbx
jmp 0x180009125
mov ebp, 0
jmp 0x1800090ae
mov eax, 0
cmp eax, ebp
je 0x18000915b
lea rax, [r12 + 1]
cmp r15, r12
je 0x180009208
mov r12, rax
mov edi, dword [r14 + r12*4]
add rdi, rbx
mov rcx, rdi
call fcn.180008b8a
test eax, eax
je 0x18000910b
mov rdx, rdi
lea eax, [rax - 1]
lea r8, [rdi + rax + 1]
mov eax, 0
imul eax, esi
movzx ecx, byte [rdx]
add eax, ecx
add rdx, 1
cmp r8, rdx
jne 0x180009148
jmp 0x180009110
mov rdi, qword [rsp + 0x50]
mov eax, dword [rdi + 0x24]
lea rdx, [rbx + r12*2]
movzx edx, word [rdx + rax]
mov eax, dword [rdi + 0x1c]
lea rdx, [rbx + rdx*4]
mov eax, dword [rdx + rax]
add rax, rbx
mov qword [rsp + 0x50], rax
mov rdi, qword [rsp + 0x48]
movsx rax, byte [rdi]
add rax, rdi
mov r15, rax
mov qword [rsp + 0x48], rax
mov esi, dword [0x18008d321]
lea rbp, [rax + 1]
mov edi, dword [0x18008d321]
mov rcx, rbp
call fcn.180008b8a
test eax, eax
je 0x18000921c
mov rcx, rbp
lea eax, [rax - 1]
lea rdx, [r15 + rax + 2]
mov ebp, 0
imul ebp, edi
movzx eax, byte [rcx]
add ebp, eax
add rcx, 1
cmp rdx, rcx
jne 0x1800091bd
mov eax, dword [0x18008d2f9]
mov eax, eax
mov rdi, qword [rsp + 0x58]
mov eax, dword [rdi + rax*8 + 0x88]
add rax, rbx
mov qword [rsp + 0x58], rax
and al, 0x58
mov r14d, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x18000938b
lea r15d, [rax - 1]
mov r12d, 0
add r14, rbx
jmp 0x18000923d
mov eax, 0
jmp 0x180009178
mov eax, 0
jmp 0x180009178
mov ebp, 0
jmp 0x1800091ce
mov eax, 0
cmp eax, ebp
je 0x180009273
lea rax, [r12 + 1]
cmp r12, r15
je 0x180009381
mov r12, rax
mov edi, dword [r14 + r12*4]
add rdi, rbx
mov rcx, rdi
call fcn.180008b8a
test eax, eax
je 0x180009223
mov rdx, rdi
lea eax, [rax - 1]
lea r8, [rdi + rax + 1]
mov eax, 0
imul eax, esi
movzx ecx, byte [rdx]
add eax, ecx
add rdx, 1
cmp r8, rdx
jne 0x180009260
jmp 0x180009228
mov rdi, qword [rsp + 0x58]
mov eax, dword [rdi + 0x24]
lea rdx, [rbx + r12*2]
movzx edx, word [rdx + rax]
mov eax, dword [rdi + 0x1c]
lea rdx, [rbx + rdx*4]
mov edi, dword [rdx + rax]
add rdi, rbx
mov rax, qword [rsp + 0x48]
movsx rsi, byte [rax]
add rsi, rax
lea rcx, [rsi + 1]
mov rax, qword [rsp + 0x50]
call rax
movsx rdx, byte [rsi]
add rdx, rsi
mov esi, dword [0x18008d331]
mov esi, esi
add rsi, rdx
mov ebx, dword [rdx + 4]
mov dword [rsp + 0x48], ebx
mov r14d, dword [rdx + 8]
mov ebp, r14d
lea r15, [rsi + rbp]
movsxd rdx, dword [rax + 0x3c]
mov ebx, dword [rax + rdx + 0x2c]
add rbx, rax
mov dword [rsp + 0x78], 0
mov r8d, dword [0x18008d2fd]
lea r12, [rsp + 0x78]
mov r9, r12
mov rdx, rbp
mov rcx, rbx
call rdi
mov r8d, r14d
mov rdx, rsi
mov rcx, rbx
call fcn.180008b0e
mov r9, r12
mov r8d, dword [rsp + 0x78]
mov rdx, rbp
mov rcx, rbx
call rdi
mov eax, dword [rsp + 0x48]
add rbx, rax
mov rax, qword [0x18008d319]
cmp byte [rax], 0
je 0x180009395
mov eax, 0
mov rdx, qword [0x18008d319]
movsx dx, byte [rdx + rax]
mov word [r13 + rax*2], dx
mov rdx, qword [0x18008d319]
add rax, 1
cmp byte [rdx + rax], 0
jne 0x18000932b
mov word [r13 + rax*2], 0
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x60], r15
mov byte [rsp + 0x70], 1
lea rcx, [rsp + 0x60]
call rbx
nop
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edi, 0
jmp 0x180009290
mov edi, 0
jmp 0x180009290
mov eax, 0
jmp 0x18000934e