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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov rax, qword [rcx + 0x10]
xor bpl, bpl
mov byte [rsp + 0xc0], bpl
mov rdi, rdx
mov qword [rsp + 0x68], rax
mov r14, rcx
call fcn.140088a20
mov r8d, dword [r14 + 0x5c]
xor esi, esi
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov edx, 0x2c
mov rcx, rax
lea r10d, [r8 + 1]
mov dword [r14 + 0x5c], r10d
call fcn.14003f920
mov rbx, qword [rdi + 0x20]
mov r12d, esi
movsxd rcx, dword [rdi + 0x14]
mov r13d, esi
mov r15, qword [rsp + 0xe0]
movabs rdi, 0x8000000000000000
imul rcx, rcx, 0x38
mov r15, qword [r15 + 0x40]
add rcx, rbx
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x50], rcx
mov rdx, qword [rax + 0x20]
mov qword [rsp + 0x48], rdx
cmp rbx, rcx
jae 0x14009c8c6
mov r8, qword [rsp + 0xd8]
mov rdx, rax
mov rcx, rbx
call fcn.14009c6b0
test eax, eax
je 0x14009c8a2
movsxd rcx, dword [rbx + 0x10]
cmp ecx, 0x40
jge 0x14009c82e
mov edi, 1
shl rdi, cl
test bpl, bpl
jne 0x14009c863
mov rax, qword [rsp + 0x48]
lea rcx, [rcx + rcx*2]
add rcx, rcx
lea rdx, str.automatic_index_on__s__s_
mov r9, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [r9 + rcx*8]
mov ecx, 0x11c
call fcn.14001f160
mov byte [rsp + 0xc0], 1
test r13, rdi
jne 0x14009c898
mov rcx, qword [r14]
lea ebp, [r12 + 1]
mov r8d, ebp
mov rdx, r15
call fcn.14009fee0
test eax, eax
jne 0x14009cda9
mov rax, qword [r15 + 0x30]
or r13, rdi
movsxd rcx, r12d
mov r12d, ebp
mov dword [rsp + 0x40], ebp
mov qword [rax + rcx*8], rbx
movabs rdi, 0x8000000000000000
movzx ebp, byte [rsp + 0xc0]
add rbx, 0x38
mov rax, qword [rsp + 0xd0]
cmp rbx, qword [rsp + 0x50]
jb 0x14009c802
mov rdx, qword [rsp + 0x48]
not r13
mov word [r15 + 0x2c], r12w
mov word [r15 + 0x18], r12w
or r13, rdi
mov dword [r15 + 0x28], 0x4241
mov ecx, esi
mov r8, qword [rax + 0x60]
movsx edx, word [rdx + 0x42]
and r13, r8
mov qword [rsp + 0x60], r13
cmp edx, 0x3f
jl 0x14009c8fc
mov ebp, 0x3f
jmp 0x14009c902
mov ebp, edx
test edx, edx
jle 0x14009c918
mov eax, ecx
bt r13, rax
jae 0x14009c90d
inc r12d
inc ecx
cmp ecx, ebp
jl 0x14009c902
mov dword [rsp + 0x40], r12d
test r8, r8
jns 0x14009c929
add r12d, 0xffffffc1
add r12d, edx
mov dword [rsp + 0x40], r12d
mov rcx, qword [r14]
lea eax, [r12 + 1]
mov word [rsp + 0xc0], ax
movsx ebx, r12w
inc ebx
movsx rax, r12w
inc rax
mov qword [rsp + 0x58], rax
lea eax, [rbx*4 + 9]
add eax, ebx
and eax, 0xfffffff8
lea eax, [rax + rbx*8]
movsxd rdx, eax
add rdx, 0x68
call fcn.14001cc30
mov rdi, rax
test rax, rax
je 0x14009cda9
mov r9, qword [rsp + 0x48]
lea rcx, [rax + 0x68]
mov qword [rax + 0x40], rcx
lea r10, str.BINARY
mov rax, qword [rsp + 0x58]
mov word [rdi + 0x5e], r12w
lea r8, [rcx + rax*8]
lea ecx, [rbx + 1]
mov qword [rdi + 0x10], r8
mov rbx, qword [rsp + 0xc8]
movsxd rdx, ecx
lea rcx, [r8 + rdx*2]
mov qword [rdi + 8], rcx
lea rcx, [rcx + rax*2]
movzx eax, word [rsp + 0xc0]
mov word [rdi + 0x60], ax
lea rax, str.auto_index
mov qword [rdi + 0x38], rcx
mov qword [r15 + 0x20], rdi
mov r15d, esi
mov qword [rdi], rax
mov qword [rdi + 0x18], r9
mov rbx, qword [rbx + 0x20]
cmp rbx, qword [rsp + 0x50]
jae 0x14009cb5f
mov rcx, qword [rsp + 0xd0]
mov r13, rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0xc0], rsi
nop
mov eax, dword [rcx + 0x48]
cmp dword [rbx + 0xc], eax
jne 0x14009cb41
test byte [rbx + 0x1a], 2
je 0x14009cb41
mov rax, qword [rsp + 0xd8]
test qword [rbx + 0x28], rax
jne 0x14009cb41
movsxd rax, dword [rbx + 0x10]
test eax, eax
js 0x14009cb41
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x20]
add rdx, rdx
mov rcx, qword [rax + 8]
movzx r12d, byte [rcx + rdx*8 + 0x29]
mov rcx, qword [rbx]
call fcn.140054ac0
movsx ecx, al
sub ecx, 0x41
je 0x14009ca78
mov eax, esi
cmp ecx, 1
je 0x14009ca69
cmp r12b, 0x43
setge al
jmp 0x14009ca70
cmp r12b, 0x42
sete al
test eax, eax
je 0x14009cb32
mov edx, dword [rbx + 0x10]
cmp edx, 0x40
jl 0x14009ca8c
movabs rax, 0x8000000000000000
jmp 0x14009ca96
mov ecx, edx
mov eax, 1
shl rax, cl
mov r12d, ebp
test r13, rax
jne 0x14009cb32
mov rcx, qword [rbx]
or r13, rax
mov rax, qword [rdi + 8]
mov r8, qword [rsp + 0xc0]
mov word [r8 + rax], dx
mov rdx, qword [rcx + 0x10]
mov rbp, qword [rcx + 0x18]
test dword [rdx + 4], 0x100
jne 0x14009cae8
test rbp, rbp
je 0x14009cad8
test dword [rbp + 4], 0x100
jne 0x14009cae5
mov rcx, r14
call fcn.140054850
test rax, rax
jne 0x14009caf5
mov rdx, rbp
mov rcx, r14
call fcn.140054850
test rax, rax
je 0x14009cb01
mov rcx, qword [rax]
lea r10, str.BINARY
jmp 0x14009cb0b
lea r10, str.BINARY
mov rcx, r10
mov rdx, qword [rsp + 0x58]
inc r15d
mov rax, qword [rdi + 0x40]
mov ebp, r12d
add qword [rsp + 0xc0], 2
mov qword [rdx + rax], rcx
add rdx, 8
mov qword [rsp + 0x58], rdx
jmp 0x14009cb39
lea r10, str.BINARY
mov rcx, qword [rsp + 0xd0]
add rbx, 0x38
cmp rbx, qword [rsp + 0x50]
jb 0x14009ca00
mov r13, qword [rsp + 0x60]
mov r12d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov ecx, esi
test ebp, ebp
jle 0x14009cb9e
movsxd rax, r15d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r13, rax
jae 0x14009cb98
mov rax, qword [rdi + 8]
inc r15d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [rdi + 0x40]
mov qword [rdx + rax], r10
add rdx, 8
inc ecx
cmp ecx, ebp
jl 0x14009cb74
mov r8, qword [rsp + 0xd0]
cmp qword [r8 + 0x60], rsi
jge 0x14009cbfb
mov r8d, 0x3f
cmp r8w, word [r9 + 0x42]
jge 0x14009cbfb
movsxd rax, r15d
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop dword [rax + rax]
mov rax, qword [rdi + 8]
lea rdx, [rdx + 2]
inc r15d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [rdi + 0x40]
mov qword [rcx + rax - 8], r10
movsx eax, word [r9 + 0x42]
cmp r8d, eax
jl 0x14009cbd0
mov rax, qword [rdi + 8]
lea r9d, [r12 + 1]
mov r13, qword [rsp + 0xe0]
mov ebp, 0xffffffff
movsxd rcx, r15d
mov edx, gethostname
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0x20], esi
mov word [rax + rcx*2], bp
mov rax, qword [rdi + 0x40]
mov qword [rax + rcx*8], r10
mov rcx, r15
mov eax, dword [r14 + 0x50]
mov dword [r13 + 8], eax
inc dword [r14 + 0x50]
mov r8d, dword [r13 + 8]
call fcn.14003f920
mov rbx, qword [r14 + 0x10]
mov rdx, rdi
mov rcx, r14
call fcn.14006beb0
mov r8, rax
mov r9d, 0xfffffffa
mov edx, ebp
mov rcx, rbx
call fcn.14003ff50
mov r8d, dword [r13 + 4]
xor r9d, r9d
mov edx, WSAGetLastError
mov dword [rsp + 0x20], esi
mov rcx, r15
call fcn.14003f920
movzx ecx, byte [r14 + 0x1f]
mov ebp, eax
test cl, cl
jne 0x14009cc95
inc dword [r14 + 0x54]
mov ebx, dword [r14 + 0x54]
jmp 0x14009cca3
dec cl
movzx eax, cl
mov byte [r14 + 0x1f], al
mov ebx, dword [r14 + rax*4 + 0x24]
mov r8d, dword [r13 + 4]
mov r9d, ebx
mov dword [rsp + 0x38], esi
mov rdx, rdi
mov qword [rsp + 0x30], rsi
mov rcx, r14
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
call fcn.14006ee70
mov r8d, dword [r13 + 8]
mov r9d, ebx
mov edx, WSAGetLastError
mov dword [rsp + 0x20], esi
mov rcx, r15
call fcn.14003f920
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x14009ccf5
movsxd rax, dword [r15 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x10
mov r8d, dword [r13 + 4]
lea r9d, [rbp + 1]
mov edx, 9
mov dword [rsp + 0x20], esi
mov rcx, r15
call fcn.14003f920
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x14009cd24
movsxd rax, dword [r15 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 3
mov edx, dword [r15 + 0x3c]
cmp edx, ebp
jbe 0x14009cd3f
mov rax, qword [r15 + 8]
lea rcx, [rbp*2]
add rcx, rbp
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r15 + 0x3c]
mov rax, qword [r15 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
test ebx, ebx
je 0x14009cd84
cmp byte [r14 + 0x1f], 8
jae 0x14009cd84
lea rax, [r14 + 0x88]
nop
cmp dword [rax + 0xc], ebx
je 0x14009cd80
inc esi
add rax, 0x14
cmp esi, 0xa
jl 0x14009cd60
movzx eax, byte [r14 + 0x1f]
mov dword [r14 + rax*4 + 0x24], ebx
inc byte [r14 + 0x1f]
jmp 0x14009cd84
mov byte [rax + 6], 1
mov eax, dword [rsp + 0x44]
mov edx, dword [r15 + 0x3c]
cmp edx, eax
jbe 0x14009cd9c
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r15 + 0x3c]
mov rax, qword [r15 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret