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

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x78], rbx
mov r12, r8
mov r15, rdx
mov rbx, rcx
mov rbp, qword [rsp + 0x98]
mov qword [rcx + 0x1f8], rbp
call fcn.14000f13c
xor r13d, r13d
test eax, eax
jne 0x1400107dc
mov esi, r13d
lea r14d, [r13 + 1]
cmp dword [rbx + 0x1d8], r13d
jbe 0x140010483
mov eax, esi
imul rdi, rax, 0x8e28
add rdi, qword [rbx + 0x1a0]
cmp byte [rbx + 0x1dc], r13b
je 0x1400103f4
mov rcx, qword [rdi + 0x8d08]
call qword [sym.imp.KERNEL32.DLL_ResetEvent]
test eax, eax
jne 0x1400103aa
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov ecx, r14d
test eax, eax
cmovne ecx, eax
test ecx, ecx
jne 0x140010472
mov rcx, qword [rdi + 0x8d10]
call qword [sym.imp.KERNEL32.DLL_ResetEvent]
test eax, eax
jne 0x1400103d1
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov ecx, r14d
test eax, eax
cmovne ecx, eax
test ecx, ecx
jne 0x140010472
mov rcx, qword [rdi + 0x8d18]
call qword [sym.imp.KERNEL32.DLL_ResetEvent]
test eax, eax
jne 0x1400103f4
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov ecx, r14d
test eax, eax
cmovne ecx, eax
test ecx, ecx
jne 0x140010472
cmp dword [rbx + 0x194], r14d
seta al
mov byte [rdi + 0x8cf0], al
cmp qword [rdi + 0x18], r13
jne 0x14001042a
mov edx, 0x71dd00
xor ecx, ecx
lea r9d, [rcx + 4]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.DLL_VirtualAlloc]
mov qword [rdi + 0x18], rax
test rax, rax
je 0x140010479
cmp qword [rdi], r13
jne 0x140010462
mov edx, 0x4659b0
xor ecx, ecx
lea r9d, [rcx + 4]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.DLL_VirtualAlloc]
mov qword [rdi], rax
test rax, rax
je 0x140010479
add rax, 0xdbba0
mov qword [rdi + 8], rax
add rax, 0x1b7742
mov qword [rdi + 0x10], rax
add esi, r14d
cmp esi, dword [rbx + 0x1d8]
jae 0x140010483
jmp 0x14001036a
mov eax, ecx
jmp 0x1400107dc
mov eax, 0x8007000e
jmp 0x1400107dc
lea r14, [rbx + 0x20]
mov rcx, r14
call fcn.140009638
test al, al
je 0x140010479
lea rdi, [rbx + 0x150]
mov edx, 0x20000
mov rcx, rdi
call fcn.14000b484
test al, al
je 0x140010479
test r15, r15
je 0x1400104b9
mov rax, qword [r15]
mov rcx, r15
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400104c8
mov rax, qword [rcx]
call qword [rax + reloc.SHELL32.dll_ILFindLastID]
mov qword [rbx + 0x38], r15
mov qword [r14 + 0x20], r13
mov rax, qword [r14 + 0x10]
mov qword [r14], rax
mov qword [r14 + 8], rax
mov byte [r14 + 0x2c], r13b
mov rdx, r12
mov rcx, rdi
call fcn.14000b4fc
mov dword [rdi + 0x10], r13d
mov eax, dword [rdi + 0x14]
mov dword [rdi + 0xc], eax
mov dword [rdi + 8], r13d
mov qword [rdi + 0x20], r13
mov byte [rdi + 0x30], r13b
mov r12d, 8
mov dword [rdi + 0x38], r12d
mov byte [rdi + 0x3c], r13b
mov qword [rsp + 0x70], rbx
mov dword [rbx + 0x198], r13d
mov dword [rbx + 0x1e0], r13d
mov word [rbx + 0x1e4], r13w
lea r15, [rbx + 0x1e8]
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.DLL_ResetEvent]
test eax, eax
jne 0x140010543
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov r8d, r12d
mov edx, 0x42
mov rcx, rdi
call fcn.140010928
mov r8d, r12d
mov edx, 0x5a
mov rcx, rdi
call fcn.140010928
mov r8d, r12d
mov edx, 0x68
mov rcx, rdi
call fcn.140010928
mov al, byte [rbx + 0x190]
add al, 0x30
movzx edx, al
mov r8d, r12d
mov rcx, rdi
call fcn.140010928
cmp byte [rbx + 0x1dc], r13b
je 0x1400106f0
mov rcx, qword [rbx + 0x1a0]
add rcx, 0x8d18
call fcn.14001fd78
mov dword [rbx + 0x1f0], r13d
lea r14, [rbx + 0x1a8]
mov rcx, r14
call fcn.14001fd78
mov esi, r13d
or ebp, 0xffffffff
cmp dword [rbx + 0x1d8], r13d
jbe 0x1400105f8
mov eax, esi
imul rcx, rax, 0x8e28
mov rax, qword [rbx + 0x1a0]
mov edx, ebp
mov rcx, qword [rcx + rax + 0x8d08]
call qword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
inc esi
cmp esi, dword [rbx + 0x1d8]
jb 0x1400105ce
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.DLL_ResetEvent]
test eax, eax
jne 0x14001060b
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov rcx, r15
call fcn.14001fd78
mov esi, r13d
cmp dword [rbx + 0x1d8], r13d
jbe 0x140010649
mov eax, esi
imul rcx, rax, 0x8e28
mov rax, qword [rbx + 0x1a0]
mov edx, ebp
mov rcx, qword [rcx + rax + 0x8d10]
call qword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
inc esi
cmp esi, dword [rbx + 0x1d8]
jb 0x14001061f
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.DLL_ResetEvent]
test eax, eax
jne 0x14001065c
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov esi, dword [rbx + 0x1f0]
test esi, esi
je 0x14001070a
jmp 0x1400107ae
mov edx, eax
mov rcx, rsi
call fcn.140010114
mov esi, eax
test eax, eax
jne 0x1400107ae
test rbp, rbp
je 0x1400106f0
mov rax, qword [r14 + 0x20]
sub rax, qword [r14 + 0x10]
add rax, qword [r14]
mov qword [rsp + 0x98], rax
mov ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 8]
mov rdx, qword [rdi + 0x20]
sub rdx, rcx
add rdx, rax
cmp ecx, eax
jbe 0x1400106b5
mov eax, dword [rdi + 0x14]
add rdx, rax
mov ecx, reloc.WS2_32.dll_ntohs
sub ecx, dword [rdi + 0x38]
shr rcx, 3
add rcx, rdx
mov qword [rsp + 0x88], rcx
mov rax, qword [rbp]
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x98]
mov rcx, rbp
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov esi, eax
test eax, eax
jne 0x1400107ae
mov rsi, qword [rbx + 0x1a0]
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.14000f418
test eax, eax
jne 0x14001066f
mov r8d, r12d
mov edx, reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov rcx, rdi
call fcn.140010928
mov r8d, r12d
mov edx, WSACleanup
mov rcx, rdi
call fcn.140010928
mov r8d, r12d
mov edx, 0x45
mov rcx, rdi
call fcn.140010928
mov r8d, r12d
mov edx, 0x38
mov rcx, rdi
call fcn.140010928
mov r8d, r12d
mov edx, 0x50
mov rcx, rdi
call fcn.140010928
mov r8d, r12d
mov edx, 0x90
mov rcx, rdi
call fcn.140010928
mov ebp, dword [rbx + 0x198]
mov esi, reloc.OLEAUT32.dll_SafeArrayGetElement
mov eax, ebp
mov ecx, esi
shr eax, cl
movzx edx, al
mov r8d, r12d
mov rcx, rdi
call fcn.140010928
sub esi, r12d
cmp esi, 0xfffffff8
jg 0x140010775
mov r8d, dword [rdi + 0x38]
cmp r8d, r12d
jae 0x1400107a4
xor edx, edx
mov rcx, rdi
call fcn.140010928
mov rcx, rdi
call fcn.14000b538
mov esi, eax
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400107c1
mov rdx, qword [rcx]
call qword [rdx + reloc.SHELL32.dll_ILFindLastID]
mov qword [rbx + 0x38], r13
mov rcx, qword [rbx + 0x168]
test rcx, rcx
je 0x1400107da
mov rax, qword [rcx]
call qword [rax + reloc.SHELL32.dll_ILFindLastID]
mov qword [rbx + 0x168], r13
mov eax, esi
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret