Function at 0x140028320
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, 0x98
movsxd rbp, dword [rdx + 4]
mov r10, qword [rdx + 8]
mov rbx, rcx
mov rcx, qword [rcx + 0x58]
movsxd rax, r8d
mov qword [rsp + 0xe8], rdx
mov rdi, rax
shl rax, 4
mov dword [rsp + 0x6c], 0
mov esi, r9d
add rax, qword [rcx]
mov qword [rsp + 0x40], rcx
mov eax, dword [rax]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x108]
add eax, dword [rbx + 0x90]
cmp eax, ebp
jge 0x140028767
mov rax, qword [rsp + 0xe8]
mov r8d, dword [rbx + 0x60]
mov r12d, dword [rax]
mov rax, qword [rbx + 0x70]
mov qword [rbx + 0x70], r10
mov qword [rsp + 0x50], rax
mov eax, dword [rbx + 0x20]
mov dword [rsp + 0x5c], eax
test r12d, r12d
je 0x140028640
mov dword [rbx + 0x20], r12d
lea edx, [r12 - 1]
mov rcx, rbx
call fcn.140023ba0
mov ebp, eax
cmp r12d, esi
je 0x140028650
movsxd rsi, r12d
mov r14, qword [r10 + rsi*8]
test r14, r14
je 0x1400283e1
test byte [r14 + 0x50], 0x40
jne 0x1400286b0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
cmp r12d, dword [rsp + 0x108]
jge 0x1400285d4
lea rax, [rsi*8 + 8]
mov dword [rsp + 0x3c], 0
lea ebp, [r12 + 1]
mov r15, r14
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x6c]
lea rdi, [rsp + 0x70]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x3c]
lea r12d, [rbp - 1]
cmp dword [rbx + 0x90], eax
jl 0x1400285d4
mov rax, qword [rbx + 0x70]
mov rsi, qword [rsp + 0x30]
mov dword [rsp + 0x74], 0
mov rdx, qword [rax + rsi]
test rdx, rdx
je 0x140028630
add rdx, 8
mov rcx, rdi
call fcn.140024f20
mov dword [rsp + 0x6c], eax
test eax, eax
jne 0x1400284ef
test r15, r15
je 0x140028520
mov ecx, dword [r15 + 0x1c]
mov rsi, qword [rbx + 0x58]
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
test ecx, ecx
jle 0x140028518
xor r14d, r14d
jmp 0x1400284b2
add r14, 1
cmp dword [r15 + 0x1c], r14d
jle 0x140028518
mov rax, qword [r15 + 0x20]
mov r8d, r12d
mov rcx, rbx
movsxd r13, dword [rax + r14*4]
mov rdx, r13
shl rdx, 4
add rdx, qword [rsi]
call fcn.140023c10
test eax, eax
je 0x1400284a8
mov rax, qword [rsi + 0x18]
mov rcx, rdi
mov edx, dword [rax + r13*4]
call fcn.140026e30
test eax, eax
jns 0x1400284a8
mov dword [rsp + 0x6c], 0xc
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_free
mov eax, dword [rsp + 0x6c]
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x6c], 0
mov edx, dword [rsp + 0x74]
mov esi, ebp
test edx, edx
je 0x140028576
mov r9d, dword [rsp + 0x110]
mov r8d, dword [rsp + 0x58]
mov rdx, rdi
mov rcx, qword [rsp + 0x40]
call fcn.1400272c0
mov dword [rsp + 0x6c], eax
test eax, eax
jne 0x1400284ef
mov eax, dword [rsp + 0x110]
mov r8d, ebp
mov rdx, rdi
mov rcx, rbx
mov r9d, dword [rsp + 0x58]
mov dword [rsp + 0x20], eax
call fcn.140027660
mov dword [rsp + 0x6c], eax
test eax, eax
jne 0x1400284ef
mov r8d, dword [rbx + 0x60]
mov edx, r12d
mov rcx, rbx
call fcn.140023ba0
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov r8, rdi
mov r9d, eax
call fcn.140026530
mov r15, rax
test rax, rax
je 0x140028740
mov rax, qword [rbx + 0x70]
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x3c], 0
mov qword [rax + rcx], r15
add qword [rsp + 0x30], 8
add ebp, 1
cmp esi, dword [rsp + 0x108]
jl 0x14002842d
mov r12d, esi
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_free
movsxd rdx, dword [rsp + 0x108]
mov rax, qword [rbx + 0x70]
mov rax, qword [rax + rdx*8]
test rax, rax
je 0x1400287de
mov rdi, qword [rsp + 0xe8]
mov edx, dword [rsp + 0x100]
lea rcx, [rax + 8]
mov dword [rdi], r12d
mov rdi, qword [rsp + 0x50]
mov qword [rbx + 0x70], rdi
mov edi, dword [rsp + 0x5c]
mov dword [rbx + 0x20], edi
call fcn.1400237b0
test eax, eax
sete al
movzx eax, al
jmp 0x1400284fd
test r15, r15
jne 0x14002847c
mov esi, ebp
jmp 0x140028576
mov dword [rbx + 0x20], esi
lea edx, [rsi - 1]
mov rcx, rbx
call fcn.140023ba0
mov ebp, eax
movabs rax, 0x100000001
mov ecx, 4
mov qword [rsp + 0x70], rax
call sub.msvcrt.dll_malloc
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400287d4
mov r8d, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
mov dword [rax], edi
mov r12d, esi
mov r9d, dword [rsp + 0x110]
lea rdi, [rsp + 0x70]
mov dword [rsp + 0x6c], 0
mov rdx, rdi
call fcn.1400272c0
mov dword [rsp + 0x6c], eax
test eax, eax
je 0x1400286d8
jmp 0x1400284ef
lea rdi, [rsp + 0x70]
lea rdx, [r14 + 8]
mov rcx, rdi
call fcn.1400257c0
mov dword [rsp + 0x6c], eax
test eax, eax
jne 0x1400284fd
test byte [r14 + 0x50], 0x40
je 0x1400283f3
mov r9d, dword [rsp + 0x74]
test r9d, r9d
je 0x14002870c
mov eax, dword [rsp + 0x110]
mov r8d, r12d
mov rdx, rdi
mov rcx, rbx
mov r9d, dword [rsp + 0x58]
mov dword [rsp + 0x20], eax
call fcn.140027660
mov dword [rsp + 0x6c], eax
test eax, eax
jne 0x1400284ef
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x6c]
mov r9d, ebp
mov r8, rdi
call fcn.140026530
mov r14, rax
test rax, rax
je 0x1400287c1
mov rax, qword [rbx + 0x70]
movsxd rsi, r12d
mov qword [rax + rsi*8], r14
jmp 0x1400283f3
mov eax, dword [rsp + 0x6c]
test eax, eax
jne 0x1400284ef
mov rax, qword [rbx + 0x70]
mov rcx, qword [rsp + 0x30]
add dword [rsp + 0x3c], 1
mov qword [rax + rcx], 0
jmp 0x1400285bb
lea eax, [rax + rbp + 1]
mov rcx, r10
mov dword [rdx + 4], eax
cdqe
lea rdx, [rax*8]
call sub.msvcrt.dll_realloc
test rax, rax
je 0x140028803
mov rcx, qword [rsp + 0xe8]
xor edx, edx
mov qword [rcx + 8], rax
mov ecx, dword [rcx + 4]
mov r8d, ecx
mov dword [rsp + 0x30], ecx
lea rcx, [rax + rbp*8]
sub r8d, ebp
movsxd r8, r8d
shl r8, 3
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0xe8]
mov r10, qword [rax + 8]
jmp 0x140028382
mov r8d, dword [rsp + 0x6c]
test r8d, r8d
je 0x14002872d
jmp 0x1400284ef
mov eax, 0xc
jmp 0x1400284fd
mov rax, qword [rsp + 0xe8]
mov dword [rax], r12d
mov rax, qword [rsp + 0x50]
mov qword [rbx + 0x70], rax
mov eax, dword [rsp + 0x5c]
mov dword [rbx + 0x20], eax
mov eax, 1
jmp 0x1400284fd
mov rax, qword [rsp + 0xe8]
mov dword [rax + 4], ebp
mov eax, 0xc
jmp 0x1400284fd