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

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov r13, rcx
xor eax, eax
mov dword [rsp + 0x3c], eax
mov byte [rsp + 0x40], al
xor r15d, r15d
mov dword [r11 - 0x34], r15d
mov dword [rsp + 0x38], 1
mov byte [rsp + 0x3c], al
mov dword [r11 - 0x58], r15d
xor r9d, r9d
lea r8, [r11 - 0x40]
xor edx, edx
call fcn.140008f10
mov rbx, rax
test rax, rax
jne 0x1400095e7
or eax, 0xffffffff
jmp 0x140009a07
movsxd rsi, dword [r13 + 0x40]
mov rbp, qword [r13 + 0x38]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x1400095fd
call fcn.140009b18
mov rcx, rsi
call fcn.140009b10
mov qword [rbx + 0x28], rax
mov r8, rsi
mov rdx, rbp
mov rcx, rax
call fcn.140034910
mov dword [rbx + 0x30], esi
mov rcx, rbx
call fcn.140009180
cmp eax, 0xffffffff
jne 0x14000963f
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
mov rsi, rbx
cmp byte [rbx], 0x30
je 0x14000965f
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
mov r12, qword [rbx + 0x38]
mov ebp, r15d
test r12, r12
je 0x1400097ae
cmp dword [rbx + 0x48], r15d
je 0x1400097ab
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x1400097ae
test ebp, ebp
jne 0x1400096ab
cmp byte [rsi], 2
jne 0x140009749
cmp dword [rsi + 0x20], 1
jne 0x140009731
mov rax, qword [rsi + 0x18]
movzx ecx, byte [rax]
mov byte [r13], cl
jmp 0x140009717
cmp ebp, 1
jne 0x140009712
cmp byte [rsi], 4
jne 0x140009769
mov eax, dword [rsi + 0x20]
inc eax
movsxd rcx, eax
call fcn.140009b10
mov r14, rax
test rax, rax
je 0x140009761
movsxd r8, dword [rsi + 0x20]
mov rdx, qword [rsi + 0x18]
mov rcx, rax
call fcn.140034910
movsxd rcx, dword [rsi + 0x20]
mov byte [rcx + r14], r15b
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r14
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [r13 + 1]
mov rdx, r14
call fcn.140034910
mov rcx, r14
call fcn.140009b18
jmp 0x140009717
cmp ebp, 2
je 0x140009781
cmp dword [rbx + 0x48], r15d
je 0x140009721
mov r12, qword [r12]
inc ebp
cmp ebp, 3
jge 0x1400097ae
jmp 0x140009666
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
or eax, 0xffffffff
jmp 0x140009a07
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
movzx ecx, byte [rsi]
movzx eax, cl
and al, 0xa0
cmp al, 0xa0
jne 0x140009793
mov byte [r13 + 0x22], cl
jmp 0x1400097b7
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
mov rsi, r15
cmp ebp, 2
jne 0x140009a04
test rsi, rsi
je 0x140009a04
mov rdi, qword [rsi + 0x38]
mov edx, r15d
test rdi, rdi
je 0x140009924
cmp dword [rsi + 0x48], r15d
je 0x140009924
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140009924
test edx, edx
jne 0x140009807
cmp byte [rax], 2
jne 0x140009889
cmp dword [rax + 0x20], 1
jne 0x140009871
mov rax, qword [rax + 0x18]
movzx ecx, byte [rax]
mov byte [r13 + 0x23], cl
jmp 0x140009858
cmp edx, 1
jne 0x14000982b
cmp byte [rax], 2
jne 0x1400098b9
cmp dword [rax + 0x20], edx
jne 0x1400098a1
mov rax, qword [rax + 0x18]
movzx ecx, byte [rax]
mov byte [r13 + 0x24], cl
jmp 0x140009858
cmp edx, 2
jne 0x14000984f
cmp byte [rax], dl
jne 0x1400098e9
cmp dword [rax + 0x20], 1
jne 0x1400098d1
mov rax, qword [rax + 0x18]
movzx ecx, byte [rax]
mov byte [r13 + 0x25], cl
jmp 0x140009858
cmp edx, 3
je 0x140009901
cmp dword [rsi + 0x48], r15d
je 0x140009861
mov rdi, qword [rdi]
inc edx
cmp edx, 4
jge 0x140009924
jmp 0x1400097c7
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
cmp byte [rax], 0x30
jne 0x14000990c
mov qword [r13 + 0x30], rax
jmp 0x140009929
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
cmp edx, 3
jne 0x14000998b
cmp dword [rsi + 0x48], r15d
je 0x140009977
mov rcx, qword [rsi + 0x40]
mov rax, qword [rcx + 8]
mov qword [rsi + 0x40], rax
test rax, rax
je 0x140009945
mov qword [rax], r15
jmp 0x140009949
mov qword [rsi + 0x38], r15
mov rax, qword [rsi + 0x50]
mov qword [rcx], rax
mov qword [rsi + 0x50], rcx
add dword [rsi + 0x48], 0xffffffff
jne 0x140009977
mov dword [rsi + 0x48], r15d
mov qword [rsi + 0x50], r15
mov qword [rsi + 0x40], r15
mov qword [rsi + 0x38], r15
mov rcx, qword [rsi + 0x58]
call fcn.1400104b0
mov qword [rsi + 0x58], r15
mov rcx, rbx
call fcn.140008e80
mov rcx, rbx
call fcn.140009b18
xor eax, eax
jmp 0x140009a07
mov qword [rsp + 0x88], rbx
mov byte [rbx], 0
mov dword [rbx + 0x10], r15d
mov dword [rbx + 4], 1
mov byte [rbx + 8], r15b
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400099b3
call fcn.140009b18
mov qword [rbx + 0x18], r15
mov dword [rbx + 0x20], r15d
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1400099c9
call fcn.140009b18
mov qword [rbx + 0x28], r15
mov dword [rbx + 0x30], r15d
mov rcx, rbx
call fcn.140009470
nop
mov dword [rbx + 0x48], r15d
mov qword [rbx + 0x50], r15
mov qword [rbx + 0x40], r15
mov qword [rbx + 0x38], r15
mov rcx, qword [rbx + 0x58]
call fcn.1400104b0
mov qword [rbx + 0x58], r15
mov rcx, rbx
call fcn.140009b18
or eax, 0xffffffff
jmp 0x140009a07
or eax, 0xffffffff
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret