Function at 0x14005808a
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, 0x38
mov eax, 0x7f2bb712
mov dword [rsp + 0x88], edx
mov rsi, rcx
mov r12, r8
test rcx, rcx
je 0x140058527
cmp dword [rcx], 0x7f2bb712
jne 0x140058527
cmp qword [rcx + 0xb0], 0
jne 0x1400580d5
mov eax, 0x7f2bb780
jmp 0x140058527
mov eax, dword [rsp + 0x88]
xor r15d, r15d
and eax, 0xf
mov dword [rsp + 0x24], eax
mov ebp, eax
sub eax, 7
mov dword [rsp + 0x28], eax
and eax, 0xfffffffd
mov dword [rsp + 0x2c], eax
movsxd rbx, dword [rsi + 0xa4]
mov r8, qword [rsi + 0xb0]
mov rax, rbx
imul rbx, rbx, 0x30
add rbx, r8
cmp dword [rsp + 0x2c], 0
jne 0x14005814f
cmp eax, dword [rsi + 0xa8]
jge 0x140058131
cmp dword [rbx + 0x14], 0
jne 0x140058131
mov dword [rbx + 0x14], 1
mov ebp, 0xc
jmp 0x14005814f
cmp dword [rbx + 0x10], 0
mov ebp, 5
jg 0x14005814f
test eax, eax
jg 0x14005814a
mov eax, 0x7f2bb77c
jmp 0x140058527
mov ebp, 0xb
mov ecx, dword [rsp + 0x88]
and ecx, 0xd
cmp ecx, 8
jne 0x140058191
cmp eax, dword [rsi + 0xa8]
jge 0x140058175
cmp dword [rbx + 0x14], 0
mov ebp, 0xd
jg case.0x1400581cc.12
mov edi, dword [rbx + 8]
lea edx, [rdi - 1]
cmp dword [rbx + 0x10], edx
jl case.0x1400581cc.6
test eax, eax
jg 0x14005829c
jmp 0x140058514
cmp dword [rsp + 0x24], 2
jne 0x1400581b3
cmp eax, dword [rsi + 0xa8]
jge case.0x1400581cc.4
cmp dword [rbx + 0x10], 0
je 0x1400582bd
jmp case.0x1400581cc.4
cmp ebp, 0xd
ja case.0x1400581cc.2
lea r9, [0x1400aa9a0]
mov edx, ebp
movsxd rdx, dword [r9 + rdx*4]
add rdx, r9
jmp rdx
mov r8, qword [rbx + 0x28]
mov r13, rbx
jmp 0x14005842d
xor eax, eax
mov rbx, r8
mov dword [rsi + 0xa4], eax
mov eax, dword [rbx + 8]
xor r14d, r14d
mov qword [rbx + 0x28], r14
mov dword [rbx + 0x10], eax
mov eax, dword [rbx + 0x10]
test eax, eax
jle 0x140058140
mov r8, qword [rbx + 0x28]
test r8, r8
je 0x14005820c
add r8, 0xc
jmp 0x140058213
mov rdi, qword [rbx]
lea r8, [rdi + 0xc]
xor r13d, r13d
dec eax
mov qword [rbx + 0x28], r8
mov dword [rbx + 0x14], r13d
mov r13, rbx
mov dword [rbx + 0x10], eax
jmp 0x140058436
mov r8, qword [rbx + 0x28]
test r8, r8
je 0x140058514
mov edi, dword [rbx + 0x10]
lea edx, [rdi + 1]
cmp edx, dword [rbx + 8]
jge 0x140058514
sub r8, 0xc
mov dword [rbx + 0x10], edx
mov qword [rbx + 0x28], r8
cmp eax, dword [rsi + 0xa8]
jge 0x140058261
mov dword [rbx + 0x14], 1
mov r13, rbx
mov ebp, 6
jmp 0x140058436
mov r8, qword [rbx]
xor edi, edi
mov r13, rbx
mov ebp, 4
movzx eax, word [r8 + 2]
mov qword [rbx + 0x10], rdi
imul rax, rax, 0xc
add r8, rax
mov qword [rbx + 0x28], r8
jmp 0x140058436
test eax, eax
jle 0x14005851b
dec eax
mov r8, qword [rbx - 8]
mov dword [rsi + 0xa4], eax
cmp ecx, 8
jne 0x14005841d
xor r11d, r11d
mov dword [rbx - 0x1c], r11d
jmp 0x14005841d
mov ebp, 0xc
mov r14, qword [rbx + 0x28]
test r14, r14
je 0x140058522
cmp eax, dword [rsi + 0xa8]
jge 0x140058522
cmp qword [rbx + 0x30], 0
lea r13, [rbx + 0x30]
je 0x1400582fa
mov rax, qword [rsi + 8]
mov r9, qword [rbx + 0x30]
mov rcx, qword [rax + 8]
test byte [rax + 0x11], 0x20
jne 0x140058317
jmp 0x14005832c
mov rax, qword [rsi + 8]
mov rdx, r13
mov ecx, dword [rax + 0x28]
call fcn.14005d473
test eax, eax
je 0x1400582e6
mov eax, 0x7f2bb746
jmp 0x140058527
cmp qword [rax + 0xe8], rcx
je 0x14005832c
mov ecx, dword [rax + 0x28]
mov rdi, r9
xor eax, eax
rep stosb byte [rdi], al
jmp 0x14005834f
movzx edx, word [r14 + 8]
mov eax, dword [r14 + 4]
mov r8d, 1
shl rdx, 0x20
add rdx, rax
call fcn.14005f5f4
test eax, eax
jne 0x140058527
mov r11d, dword [rsi + 0xa4]
mov r10, qword [rsi + 8]
mov rdi, qword [rbx + 0x30]
lea eax, [r11 + 1]
mov edx, dword [r10 + 0x28]
mov dword [rsi + 0xa4], eax
mov rcx, rdi
call fcn.140057e16
test eax, eax
je 0x140058389
mov dword [rsi + 0xa4], r11d
mov eax, 0x7f2bb777
jmp 0x140058527
test byte [r10 + 0x12], 0x20
jne 0x1400583a9
mov edx, dword [rsi + 0x10]
mov r8, rdi
mov rcx, r10
call fcn.1400572f1
test eax, eax
sete al
movzx eax, al
or r15d, eax
movzx edx, word [rdi + 2]
movzx ecx, word [rdi + 4]
cmp dword [rbx + 0x10], 0
mov dword [rbx + 0x38], edx
mov rax, rdx
mov dword [rbx + 0x40], edx
mov dword [rbx + 0x3c], ecx
jle 0x1400583c9
mov ecx, dword [r14 + 0xc]
jmp 0x1400583cd
mov rcx, qword [rbx + 0x20]
mov qword [rbx + 0x50], rcx
cmp ebp, 0xc
jne 0x1400583ec
lea r8, [rdi + 0xc]
dec edx
xor r10d, r10d
mov qword [rbx + 0x58], r8
mov dword [rbx + 0x40], edx
mov dword [rbx + 0x44], r10d
jmp 0x140058436
imul rax, rax, 0xc
mov ecx, dword [rsi + 0xa4]
mov edx, dword [rsi + 0xa8]
xor r9d, r9d
mov dword [rbx + 0x40], r9d
lea r8, [rdi + rax]
mov qword [rbx + 0x58], r8
cmp ecx, edx
jge 0x140058428
mov dword [rbx + 0x44], 1
mov ebp, 0xd
jmp 0x140058436
lea r13, [rbx - 0x30]
mov ebp, 0xb
jmp 0x14005842d
mov ebp, 0xd
test r8, r8
je 0x1400580cb
xor eax, eax
mov ecx, dword [rsi + 0xa4]
mov edx, dword [rsi + 0xa8]
mov dword [r12 + 0x14], eax
mov ebx, dword [r8]
mov r9, rbx
cmp ecx, edx
jne 0x14005849b
movzx eax, word [r8 + 6]
mov r9d, dword [r8 + 8]
mov qword [r12 + 8], rbx
shl rax, 0x20
add rax, r9
mov qword [r12], rax
movzx eax, word [r8 + 4]
mov dword [r12 + 0x14], 1
mov dword [r12 + 0x10], eax
cmp eax, 0x8000
jbe 0x1400584cd
mov dword [r12 + 0x14], 3
sub eax, 0x8000
mov dword [r12 + 0x10], eax
jmp 0x1400584cd
movzx eax, word [r8 + 8]
mov r14d, dword [r8 + 4]
mov qword [r12 + 8], rbx
shl rax, 0x20
add rax, r14
cmp dword [r13 + 0x10], 0
mov qword [r12], rax
jle 0x1400584c1
mov eax, dword [r8 + 0xc]
jmp 0x1400584c5
mov rax, qword [r13 + 0x20]
sub eax, r9d
mov dword [r12 + 0x10], eax
cmp dword [r13 + 0x14], 0
je 0x1400584da
or dword [r12 + 0x14], 4
cmp dword [rsp + 0x28], 1
ja 0x1400584e5
cmp ecx, edx
jmp 0x1400584f9
cmp dword [rsp + 0x24], 2
jne 0x1400584ff
cmp ecx, edx
jne 0x1400580f6
cmp dword [r13 + 0x10], 0
jne 0x1400580f6
mov eax, 0x7f2bb794
test r15d, r15d
jne 0x140058527
xor eax, eax
jmp 0x140058527
mov eax, 0x7f2bb781
jmp 0x140058527
mov eax, 0x7f2bb77d
jmp 0x140058527
mov eax, 0x7f2bb77e
jmp 0x140058527
mov eax, 0x7f2bb77f
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret