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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov edi, dword [0x18008d335]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
lea rsi, [rax + 0x10]
mov rbx, qword [rax + 0x10]
cmp rsi, rbx
je 0x180008c68
mov rcx, qword [rbx + 0x60]
call fcn.180008b49
cmp edi, eax
je 0x180008bfa
mov rbx, qword [rbx]
cmp rsi, rbx
jne 0x180008bde
mov ebx, 0
jmp 0x180008bfe
mov rbx, qword [rbx + 0x30]
mov esi, dword [0x18008d345]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov edx, 0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov esi, dword [0x18008d321]
mov r14d, dword [0x18008d339]
mov eax, dword [0x18008d2f9]
movsxd rdx, dword [rbx + 0x3c]
mov eax, eax
lea rax, [rbx + rax*8 + 0x80]
mov eax, dword [rdx + rax + 8]
add rax, rbx
mov qword [rsp + 0x48], rax
mov r13d, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x180008d12
lea r15d, [rax - 1]
mov ebp, 0
add r13, rbx
jmp 0x180008c89
mov ebx, 0
jmp 0x180008bfe
mov eax, 0
cmp r14d, eax
je 0x180008cc0
lea rax, [rbp + 1]
cmp rbp, r15
je 0x180008d0b
mov rbp, rax
mov edi, dword [r13 + rbp*4]
add rdi, rbx
mov rcx, rdi
call fcn.180008b8a
test eax, eax
je 0x180008c6f
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 rdx, r8
jne 0x180008cad
jmp 0x180008c74
mov rdi, qword [rsp + 0x48]
mov eax, dword [rdi + 0x24]
lea rdx, [rbx + rbp*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 r8d, 0x104
mov rdx, r12
mov ecx, 0
call rax
mov r9, qword [0x18008d305]
lea edx, [rax - 1]
mov ecx, dword [0x18008d325]
mov r8d, edx
cmp word [r12 + r8*2], cx
jne 0x180008d1b
mov edx, eax
jmp 0x180008d38
mov eax, 0
jmp 0x180008cdd
mov eax, 0
jmp 0x180008cdd
mov edx, eax
lea eax, [rdx + 1]
mov word [r12 + rax*2], 0
lea eax, [rdx - 1]
mov r8d, eax
mov ecx, dword [0x18008d325]
cmp word [r12 + r8*2], cx
jne 0x180008d19
movzx eax, byte [r9]
test al, al
je 0x180008d5e
mov ecx, 0
lea r8d, [rdx + rcx]
cbw
mov word [r12 + r8*2], ax
add ecx, 1
mov eax, ecx
movzx eax, byte [r9 + rax]
test al, al
jne 0x180008d45
mov esi, dword [0x18008d321]
mov r14d, dword [0x18008d2f5]
mov eax, dword [0x18008d2f9]
movsxd rdx, dword [rbx + 0x3c]
mov eax, eax
lea rax, [rbx + rax*8 + 0x80]
mov eax, dword [rdx + rax + 8]
add rax, rbx
mov qword [rsp + 0x48], rax
mov r13d, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x180008ea5
lea r15d, [rax - 1]
mov ebp, 0
add r13, rbx
jmp 0x180008dc2
mov eax, 0
cmp r14d, eax
je 0x180008df9
lea rax, [rbp + 1]
cmp rbp, r15
je 0x180008e9b
mov rbp, rax
mov edi, dword [r13 + rbp*4]
add rdi, rbx
mov rcx, rdi
call fcn.180008b8a
test eax, eax
je 0x180008da8
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 rdx, r8
jne 0x180008de6
jmp 0x180008dad
mov rdi, qword [rsp + 0x48]
mov eax, dword [rdi + 0x24]
lea rdx, [rbx + rbp*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 r8d, dword [0x18008d33d]
mov ecx, dword [0x18008d301]
mov edx, dword [0x18008d2e9]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], ecx
mov r9d, 0
add byte [rcx - 0x48], al
add dword [rax], eax
add byte [rax], al
mov eax, 0
jmp 0x180008e16
mov eax, 0
jmp 0x180008e16