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

Disassembly:
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r14
sub rsp, 0x90
mov r12d, edx
lea rdx, [rsp + 0x3c]
xor r14d, r14d
xor esi, esi
mov qword [rsp + 0x60], 0
or ebp, 0xffffffff
mov dword [rsp + 0x3c], r14d
mov dword [rsp + 0x38], esi
call fcn.14002e6a0
mov rdi, rax
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x14000c0dc
call fcn.1400de36c
lea rdx, str.removeProvider:_Unable_to_enumerate_catalog__n
lea rcx, [rax + 0x60]
call fcn.1400df124
mov eax, ebp
add rsp, 0x90
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [0x1401e3ce8]
mov qword [rsp + 0xc8], rbx
mov ebx, dword [rsp + 0x3c]
movsxd r8, ebx
mov edx, 8
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x78], r8
shl r8, 2
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x14000c144
mov ebx, 0x2747
mov dword [rsp + 0xd0], ebx
call fcn.1400de36c
lea rdx, str.removeProvider:_LSPAlloc_failed:__d_n
lea rcx, [rax + 0x60]
mov r8d, ebx
call fcn.1400df124
jmp 0x14000cf72
test ebx, ebx
jle 0x14000c168
mov rcx, rax
lea rdx, [rdi + 0x24]
mov r8, rbx
mov eax, dword [rdx]
add rcx, 4
add rdx, 0x274
sub r8, 1
mov dword [rcx - 4], eax
jne 0x14000c152
lea r8, [rsp + 0x38]
mov edx, ebx
mov rcx, rdi
call fcn.14000d810
mov r14, rax
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x14000c1a2
call fcn.1400de36c
lea rdx, str.removeProvider:_Unable_to_build_LSP_map__n
lea rcx, [rax + 0x60]
call fcn.1400df124
mov esi, dword [rsp + 0x38]
jmp 0x14000cf72
mov esi, dword [rsp + 0x38]
mov qword [rsp + 0x80], r15
xor r15d, r15d
xor ebp, ebp
mov qword [rsp + 0x30], r15
test esi, esi
jle 0x14000cf48
lea rdi, [rax + 0x22c]
test r15, r15
jne 0x14000c2f7
mov r10d, dword [rdi]
cmp r12d, r10d
jne 0x14000c1ef
movsxd r15, ebp
imul r15, r15, 0x4b8
add r15, r14
mov qword [rsp + 0x30], r15
jmp 0x14000c2dd
mov r8d, dword [rdi + 0x25c]
xor ecx, ecx
xor edx, edx
test r8d, r8d
jle 0x14000c2dd
mov r9, qword [rdi + 0x254]
lea rax, [r9 + 0x24]
nop
cmp r12d, dword [rax]
je 0x14000c22a
inc ecx
inc rdx
add rax, 0x274
cmp ecx, r8d
jl 0x14000c210
jmp 0x14000c2dd
cmp dword [rdi + 0x250], 1
je 0x14000c263
movsxd r15, ebp
lea rcx, str.catalog_ID__d_is_a_layered_protocol_entry_and_not_the_hidden_nprovider_representing_the_entire_LSP._The_LSP_which_owns_this_nprovider_is_ID__d___ws_._This_entire_LSP_will_be_removed__n
mov r8d, r10d
mov edx, r12d
imul r15, r15, 0x4b8
add r15, r14
mov qword [rsp + 0x30], r15
lea r9, [r15 + 0x27c]
call fcn.1400deedc
mov r12d, dword [rdi]
jmp 0x14000c2dd
imul rdx, rdx, 0x274
lea rcx, str.catalog_ID__d_is_one_of__d_orphaned_protocol_entries._nThese_entries_could_be_causing_serious_problems_and_nwill_be_removed._The_following_providers_are_to_be_ndeleted:_n
mov edx, dword [rdx + r9 + 0x24]
call fcn.1400deedc
xor ebx, ebx
cmp dword [rdi + 0x25c], ebx
jle 0x14000c2cb
xor esi, esi
nop word [rax + rax]
mov rcx, qword [rdi + 0x254]
movsxd rax, ebx
mov edx, dword [rcx + rsi + 0x24]
imul rax, rax, 0x274
lea r8, [rax + rcx + 0x74]
lea rcx, str.____d:__ws_n
call fcn.1400deedc
inc ebx
add rsi, 0x274
cmp ebx, dword [rdi + 0x25c]
jl 0x14000c290
mov esi, dword [rsp + 0x38]
movsxd r15, ebp
imul r15, r15, 0x4b8
add r15, r14
mov qword [rsp + 0x30], r15
inc ebp
add rdi, 0x4b8
cmp ebp, esi
jl 0x14000c1c7
test r15, r15
je 0x14000cf48
lea rcx, str._nThe_following_LSP_entries_will_be_removed:_n
call fcn.1400deedc
cmp dword [r15 + 0x47c], 1
je 0x14000c329
mov edx, dword [r15 + 0x22c]
lea r8, [r15 + 0x27c]
lea rcx, str.LSP_Hidden_ID:__6d_Name__ws_n
call fcn.1400deedc
jmp 0x14000c335
lea rcx, str.Orphaned_LSP_protocol_chain_entries:_n
call fcn.1400deedc
xor ebx, ebx
cmp dword [r15 + 0x488], ebx
jle 0x14000c37a
xor edi, edi
mov rcx, qword [r15 + 0x480]
movsxd rax, ebx
mov edx, dword [rcx + rdi + 0x24]
imul rax, rax, 0x274
lea r8, [rax + rcx + 0x74]
lea rcx, str.LSP_Layer__ID:__6d_Name__ws_n
call fcn.1400deedc
inc ebx
add rdi, 0x274
cmp ebx, dword [r15 + 0x488]
jl 0x14000c342
mov dword [rsp + 0xd0], 0
cmp dword [r15 + 0x4ac], 0
je 0x14000cd29
lea rcx, str._n_nOther_LSPs_are_dependent_on_this_one__Additional_cleanup_is_required.._n_n
call fcn.1400deedc
xor r14d, r14d
cmp dword [r15 + 0x4ac], r14d
mov dword [rsp + 0xd8], r14d
jle 0x14000c6ab
mov rax, qword [rsp + 0x30]
xor r15d, r15d
mov qword [rsp + 0x58], r15
mov rax, qword [rax + 0x4b0]
mov r13, qword [rsp + 0x40]
lea rcx, str.Fixing_LSP_index__d:__ws_n
movsxd r12, dword [r15 + rax]
mov rbx, r12
imul rbx, rbx, 0x4b8
mov edx, dword [rbx + r13 + 0x22c]
lea r8, [rbx + r13 + 0x27c]
call fcn.1400deedc
xor esi, esi
cmp dword [rbx + r13 + 0x488], esi
jle 0x14000c4f2
mov r14, qword [rsp + 0x30]
mov rdi, r12
xor ebp, ebp
imul rdi, rdi, 0x4b8
xor ebx, ebx
nop dword [rax]
mov rax, qword [rdi + r13 + 0x480]
xor ecx, ecx
mov edx, dword [rbx + rax + 0x28]
test edx, edx
jle 0x14000c4cf
mov r10d, dword [r14 + 0x22c]
lea rax, [rbx + rax + 0x2c]
cmp dword [rax], r10d
je 0x14000c453
inc ecx
add rax, 4
cmp ecx, edx
jl 0x14000c442
jmp 0x14000c4cf
mov rcx, qword [rdi + r13 + 0x480]
movsxd rax, esi
mov edx, r10d
mov r8d, dword [rcx + rbx + 0x24]
imul rax, rax, 0x274
lea r9, [rax + rcx + 0x74]
lea rcx, str.Removing_ID__d_from_layered_chain__d:__ws_n
call fcn.1400deedc
mov rax, qword [rdi + r13 + 0x480]
mov r11d, dword [r14 + 0x22c]
mov r8d, dword [rbx + rax + 0x28]
lea r9, [rbx + rax]
xor edx, edx
xor ecx, ecx
test r8d, r8d
jle 0x14000c4ba
lea rax, [r9 + 0x2c]
cmp dword [rax], r11d
je 0x14000c57c
inc edx
inc rcx
add rax, 4
cmp edx, r8d
jl 0x14000c4a3
call fcn.1400de36c
lea rdx, str.removeProvider:_ID_not_found_in_chain__n
lea rcx, [rax + 0x60]
call fcn.1400df124
inc esi
add rbx, 0x274
add rbp, 4
cmp esi, dword [rdi + r13 + 0x488]
jl 0x14000c420
mov r14d, dword [rsp + 0xd8]
mov rax, qword [rsp + 0x30]
xor r13d, r13d
cmp dword [rax + 0x488], r13d
jle 0x14000c681
mov r14, qword [rsp + 0x40]
imul r12, r12, 0x4b8
mov r15, rax
xor ebp, ebp
nop dword [rax + rax]
xor edi, edi
cmp dword [r12 + r14 + 0x488], edi
jle 0x14000c658
xor esi, esi
xor ebx, ebx
nop word [rax + rax]
mov r8, qword [r12 + r14 + 0x480]
xor ecx, ecx
mov edx, dword [rbx + r8 + 0x28]
test edx, edx
jle 0x14000c63d
mov rax, qword [r15 + 0x480]
mov r9d, dword [rax + rbp + 0x24]
lea rax, [rbx + r8 + 0x2c]
cmp dword [rax], r9d
je 0x14000c5c0
inc ecx
add rax, 4
cmp ecx, edx
jl 0x14000c568
jmp 0x14000c63d
lea eax, [r8 - 1]
cmp edx, eax
jge 0x14000c5a8
lea r8, [r9 + rcx*4 + 0x2c]
nop dword [rax]
mov eax, dword [r8 + 4]
inc edx
add r8, 4
mov dword [r8 - 4], eax
mov eax, dword [r9 + 0x28]
dec eax
cmp edx, eax
jl 0x14000c590
dec dword [r9 + 0x28]
mov rax, qword [rdi + r13 + 0x490]
mov dword [rax + rbp], 1
jmp 0x14000c4cf
mov edx, dword [r15 + 0x22c]
movsxd rax, edi
lea rcx, str.Removing_ID__d_from_layered_chain__d:__ws_n
imul rax, rax, 0x274
lea r9, [rax + r8 + 0x74]
mov r8d, dword [rbx + r8 + 0x24]
call fcn.1400deedc
mov rax, qword [r12 + r14 + 0x480]
mov r11, qword [r15 + 0x480]
mov r10d, dword [rbx + rax + 0x28]
mov r8d, dword [r11 + rbp + 0x24]
lea r9, [rbx + rax]
xor edx, edx
xor ecx, ecx
test r10d, r10d
jle 0x14000c628
lea rax, [r9 + 0x2c]
cmp dword [rax], r8d
je 0x14000c741
inc edx
inc rcx
add rax, 4
cmp edx, r10d
jl 0x14000c611
call fcn.1400de36c
lea rdx, str.removeProvider:_ID_not_found_in_chain__n
lea rcx, [rax + 0x60]
call fcn.1400df124
inc edi
add rbx, 0x274
add rsi, 4
cmp edi, dword [r12 + r14 + 0x488]
jl 0x14000c540
inc r13d
add rbp, 0x274
cmp r13d, dword [r15 + 0x488]
jl 0x14000c520
mov r14d, dword [rsp + 0xd8]
mov r15, qword [rsp + 0x58]
mov rax, qword [rsp + 0x30]
inc r14d
add r15, 4
cmp r14d, dword [rax + 0x4ac]
mov dword [rsp + 0xd8], r14d
mov qword [rsp + 0x58], r15
jl 0x14000c3c4
mov r15, qword [rsp + 0x30]
mov esi, dword [rsp + 0x38]
cmp byte [0x1401e3cc8], 0
je 0x14000c81c
xor r12d, r12d
cmp dword [r15 + 0x4ac], r12d
jle 0x14000cd1b
mov r14, qword [rsp + 0x40]
xor r13d, r13d
mov rax, qword [r15 + 0x4b0]
xor ebx, ebx
movsxd rdi, dword [r13 + rax]
imul rdi, rdi, 0x4b8
lea rbp, [rdi + r14]
cmp dword [rbp + 0x488], ebx
jle 0x14000c7fc
mov r15d, dword [rsp + 0xc0]
xor esi, esi
nop
mov rax, qword [rdi + r14 + 0x490]
cmp dword [rsi + rax], 1
jne 0x14000c7e3
movsxd r8, ebx
imul r8, r8, 0x274
add r8, qword [rdi + r14 + 0x480]
cmp byte [0x1401e3cc8], 0
lea rcx, [r8 + 0x14]
jne 0x14000c780
mov rdx, r8
mov rcx, rbp
call fcn.14000bda0
jmp 0x14000c7e3
lea eax, [r10 - 1]
cmp edx, eax
jge 0x14000c768
lea r8, [r9 + rcx*4 + 0x2c]
nop
mov eax, dword [r8 + 4]
inc edx
add r8, 4
mov dword [r8 - 4], eax
mov eax, dword [r9 + 0x28]
dec eax
cmp edx, eax
jl 0x14000c750
dec dword [r9 + 0x28]
mov rax, qword [r12 + r14 + 0x490]
mov dword [rsi + rax], 1
jmp 0x14000c63d
cmp r15d, 2
jne 0x14000c7a2
lea rax, [rsp + 0xd0]
lea r9d, [r15 - 1]
mov rdx, rbp
mov qword [rsp + 0x20], rax
call qword [0x1401e3cd0]
jmp 0x14000c7c1
cmp r15d, 1
jne 0x14000c7c6
lea rax, [rsp + 0xd0]
mov r9d, r15d
mov rdx, rbp
mov qword [rsp + 0x20], rax
call qword [0x1401e3cd8]
cmp eax, 0xffffffff
jne 0x14000c7e3
call fcn.1400de36c
mov r8d, dword [rsp + 0xd0]
lea rdx, str.updateProvider:_WSCUpdateProvider_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
inc ebx
add rsi, 4
cmp ebx, dword [rdi + r14 + 0x488]
jl 0x14000c700
mov r15, qword [rsp + 0x30]
inc r12d
add r13, 4
cmp r12d, dword [r15 + 0x4ac]
jl 0x14000c6d0
mov esi, dword [rsp + 0xc0]
jmp 0x14000cd30
mov r14, qword [rsp + 0x40]
xor r13d, r13d
mov r8d, esi
lea rcx, [r14 + 0x488]
nop
mov eax, dword [rcx]
cmp r13d, eax
cmovle r13d, eax
add rcx, 0x4b8
sub r8, 1
jne 0x14000c830
mov rcx, qword [0x1401e3ce8]
movsxd r8, r13d
mov edx, 8
mov dword [rsp + 0x50], r13d
imul r8, r8, 0x274
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, 0x2747
mov rdi, rax
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xd0]
test rdi, rdi
cmove eax, ebx
mov dword [rsp + 0xd0], eax
test rdi, rdi
jne 0x14000c8b2
call fcn.1400de36c
mov r8d, dword [rsp + 0xd0]
lea rdx, str.removeProvider:_LSPAlloc_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
or ebp, 0xffffffff
jmp 0x14000cf2a
xor ebp, ebp
cmp dword [r15 + 0x4ac], ebp
jle 0x14000ca12
mov r13d, dword [rsp + 0xc0]
xor r12d, r12d
nop dword [rax]
mov rax, qword [r15 + 0x4b0]
xor edi, edi
movsxd rsi, dword [r12 + rax]
imul rsi, rsi, 0x4b8
cmp dword [rsi + r14 + 0x4a0], edi
jle 0x14000c9fa
nop word [rax + rax]
movsxd rbx, edi
shl rbx, 4
add rbx, qword [rsi + r14 + 0x498]
test r13d, r13d
jne 0x14000c97e
lea rdx, [rsp + 0xd8]
mov rcx, rbx
call sub.WS2_32.dll_WSCDeinstallProvider
cmp eax, 0xffffffff
jne 0x14000c946
call fcn.1400de36c
mov r8d, dword [rsp + 0xd8]
lea rdx, str.uninstallProvider:_WSCDeinstallProvider_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
lea rdx, [rsp + 0xd8]
mov rcx, rbx
call sub.WS2_32.dll_WSCDeinstallProvider32
cmp eax, 0xffffffff
jne 0x14000c9ea
call fcn.1400de36c
mov r8d, dword [rsp + 0xd8]
lea rdx, str.uninstallProvider:_WSCDeinstallProvider32_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
jmp 0x14000c9ea
cmp r13d, 2
jne 0x14000c9b8
lea rdx, [rsp + 0xd8]
mov rcx, rbx
call sub.WS2_32.dll_WSCDeinstallProvider
cmp eax, 0xffffffff
jne 0x14000c9ea
call fcn.1400de36c
mov r8d, dword [rsp + 0xd8]
lea rdx, str.uninstallProvider:_WSCDeinstallProvider_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
jmp 0x14000c9ea
lea rdx, [rsp + 0xd8]
mov rcx, rbx
call sub.WS2_32.dll_WSCDeinstallProvider32
cmp eax, 0xffffffff
jne 0x14000c9ea
call fcn.1400de36c
mov r8d, dword [rsp + 0xd8]
lea rdx, str.uninstallProvider:_WSCDeinstallProvider32_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
inc edi
cmp edi, dword [rsi + r14 + 0x4a0]
jl 0x14000c900
inc ebp
add r12, 4
cmp ebp, dword [r15 + 0x4ac]
jl 0x14000c8d0
mov r13d, dword [rsp + 0x50]
mov eax, dword [r15 + 0x4ac]
sub eax, 1
movsxd rbp, eax
mov qword [rsp + 0x70], rbp
js 0x14000cca6
mov r15d, dword [rsp + 0x3c]
imul r15d, r15d, 0x274
mov dword [rsp + 0x54], r15d
nop dword [rax + rax]
mov rax, qword [rsp + 0x30]
xor esi, esi
mov rax, qword [rax + 0x4b0]
movsxd r12, dword [rax + rbp*4]
imul r12, r12, 0x4b8
lea rdi, [r12 + r14]
cmp dword [rdi + 0x4a0], esi
jle 0x14000cafa
mov r15d, dword [rsp + 0xc0]
mov rbp, qword [rsp + 0x60]
nop word [rax + rax]
mov rax, qword [r12 + r14 + 0x498]
mov r9d, dword [r12 + r14 + 0x488]
mov r8, qword [r12 + r14 + 0x480]
movsxd rbx, esi
lea rdx, [rsp + 0xd8]
mov dword [rsp + 0xd8], r13d
add rbx, rbx
lea rcx, [rax + rbx*8]
mov qword [rsp + 0x20], rcx
mov rcx, rbp
call fcn.14000eb20
mov r11, qword [r12 + r14 + 0x498]
mov eax, dword [rsp + 0xd8]
lea rdx, [r11 + rbx*8]
mov r9, rbp
mov r8, rdi
mov ecx, r15d
mov dword [rsp + 0x20], eax
call fcn.140007280
inc esi
cmp esi, dword [r12 + r14 + 0x4a0]
jl 0x14000ca80
mov rbp, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x54]
mov r13, qword [rsp + 0x68]
mov ecx, dword [rsp + 0xc0]
lea r8, [rsp + 0x58]
mov rdx, r13
mov dword [rsp + 0x58], r15d
call fcn.14002e900
mov esi, eax
cmp eax, 0xffffffff
jne 0x14000cb3f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.1400de36c
lea rdx, str.removeProvider:_enumerateProvidersExisting_failed:__d_n
lea rcx, [rax + 0x60]
mov r8d, ebx
call fcn.1400df124
mov r8d, esi
mov rdx, r13
mov rcx, rdi
call fcn.14000e810
xor r9d, r9d
cmp dword [rdi + 0x488], r9d
jle 0x14000cba6
mov r11, qword [rsp + 0x78]
xor r8d, r8d
xor ecx, ecx
test r11, r11
jle 0x14000cb93
mov r10, qword [rsp + 0x48]
nop dword [rax]
mov rdx, qword [rdi + 0x480]
mov eax, dword [r8 + rdx + 0x24]
cmp dword [r10 + rcx*4], eax
jne 0x14000cb8b
mov eax, dword [r8 + rdx + 0x70]
mov dword [r10 + rcx*4], eax
inc rcx
cmp rcx, r11
jl 0x14000cb70
inc r9d
add r8, 0x274
cmp r9d, dword [rdi + 0x488]
jl 0x14000cb61
cmp rbp, 1
lea r14, [rbp - 1]
mov r13, r14
jl 0x14000cc86
mov rbp, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
mov rax, qword [r15 + 0x4b0]
lea rcx, str.Updating_IDs_for_index__d_n
movsxd rbx, dword [rax + r13*4]
mov edx, ebx
call fcn.1400deedc
xor esi, esi
mov r9, rbx
cmp dword [r12 + rbp + 0x488], esi
jle 0x14000cc77
imul r9, r9, 0x4b8
add r9, rbp
xor edi, edi
nop dword [rax]
mov rax, qword [r12 + rbp + 0x480]
xor ebx, ebx
cmp dword [r9 + 0x488], ebx
mov r10d, dword [rdi + rax + 0x70]
mov r11d, dword [rdi + rax + 0x24]
jle 0x14000cc64
xor r8d, r8d
mov rax, qword [r9 + 0x480]
xor edx, edx
cmp dword [r8 + rax + 0x28], edx
jle 0x14000cc52
lea rcx, [r8 + 0x2c]
cmp dword [rcx + rax], r11d
jne 0x14000cc3e
mov dword [rcx + rax], r10d
mov rax, qword [r9 + 0x480]
inc edx
add rcx, 4
cmp edx, dword [r8 + rax + 0x28]
jl 0x14000cc34
inc ebx
add r8, 0x274
cmp ebx, dword [r9 + 0x488]
jl 0x14000cc20
inc esi
add rdi, 0x274
cmp esi, dword [r12 + rbp + 0x488]
jl 0x14000cc00
sub r13, 1
jns 0x14000cbc1
mov r15d, dword [rsp + 0x54]
mov r13d, dword [rsp + 0x50]
mov rbp, r14
mov qword [rsp + 0x70], r14
test r14, r14
mov r14, qword [rsp + 0x40]
jns 0x14000ca40
mov r15, qword [rsp + 0x30]
mov esi, dword [rsp + 0xc0]
cmp esi, 1
jne 0x14000ccc4
mov edx, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x48]
call sub.WS2_32.dll_WSCWriteProviderOrder32
mov ebx, eax
jmp 0x14000ccd9
cmp esi, 2
jne 0x14000cd30
mov edx, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x48]
call sub.WS2_32.dll_WSCWriteProviderOrder
mov ebx, eax
test ebx, ebx
je 0x14000cd30
mov dword [rsp + 0xd0], ebx
call fcn.1400de36c
lea rdx, str.writeProviderOrder:_WSCWriteProviderOrder_failed:__d_n
lea rcx, [rax + 0x60]
mov r8d, ebx
call fcn.1400df124
call fcn.1400de36c
mov r8d, dword [rsp + 0xd0]
lea rcx, [rax + 0x60]
lea rdx, str.removeProvider:_writeProviderOrder_failed:__d_n
call fcn.1400df124
jmp 0x14000cd30
mov r14, qword [rsp + 0x40]
mov esi, dword [rsp + 0xc0]
jmp 0x14000cd30
mov esi, dword [rsp + 0xc0]
xor edi, edi
cmp dword [r15 + 0x4a0], edi
jle 0x14000ce36
nop
movsxd rbx, edi
shl rbx, 4
add rbx, qword [r15 + 0x498]
test esi, esi
jne 0x14000cdbc
lea rdx, [rsp + 0xd8]
mov rcx, rbx
call sub.WS2_32.dll_WSCDeinstallProvider
cmp eax, 0xffffffff
jne 0x14000cd84
call fcn.1400de36c
mov r8d, dword [rsp + 0xd8]
lea rdx, str.uninstallProvider:_WSCDeinstallProvider_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
lea rdx, [rsp + 0xd8]
mov rcx, rbx
call sub.WS2_32.dll_WSCDeinstallProvider32
cmp eax, 0xffffffff
jne 0x14000ce27
call fcn.1400de36c
mov r8d, dword [rsp + 0xd8]
lea rdx, str.uninstallProvider:_WSCDeinstallProvider32_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
jmp 0x14000ce27
cmp esi, 2
jne 0x14000cdf5
lea rdx, [rsp + 0xd8]
mov rcx, rbx
call sub.WS2_32.dll_WSCDeinstallProvider
cmp eax, 0xffffffff
jne 0x14000ce27
call fcn.1400de36c
mov r8d, dword [rsp + 0xd8]
lea rdx, str.uninstallProvider:_WSCDeinstallProvider_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
jmp 0x14000ce27
lea rdx, [rsp + 0xd8]
mov rcx, rbx
call sub.WS2_32.dll_WSCDeinstallProvider32
cmp eax, 0xffffffff
jne 0x14000ce27
call fcn.1400de36c
mov r8d, dword [rsp + 0xd8]
lea rdx, str.uninstallProvider:_WSCDeinstallProvider32_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
inc edi
cmp edi, dword [r15 + 0x4a0]
jl 0x14000cd40
test esi, esi
jne 0x14000ceac
lea rdx, [rsp + 0xd8]
lea rcx, [r15 + 0x21c]
call sub.WS2_32.dll_WSCDeinstallProvider
cmp eax, 0xffffffff
jne 0x14000ce70
call fcn.1400de36c
mov r8d, dword [rsp + 0xd8]
lea rdx, str.uninstallProvider:_WSCDeinstallProvider_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
lea rdx, [rsp + 0xd8]
lea rcx, [r15 + 0x21c]
call sub.WS2_32.dll_WSCDeinstallProvider32
cmp eax, 0xffffffff
jne 0x14000cf1f
call fcn.1400de36c
mov r8d, dword [rsp + 0xd8]
lea rdx, str.uninstallProvider:_WSCDeinstallProvider32_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
jmp 0x14000cf1f
cmp esi, 2
jne 0x14000cee9
lea rdx, [rsp + 0xd8]
lea rcx, [r15 + 0x21c]
call sub.WS2_32.dll_WSCDeinstallProvider
cmp eax, 0xffffffff
jne 0x14000cf1f
call fcn.1400de36c
mov r8d, dword [rsp + 0xd8]
lea rdx, str.uninstallProvider:_WSCDeinstallProvider_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
jmp 0x14000cf1f
lea rdx, [rsp + 0xd8]
lea rcx, [r15 + 0x21c]
call sub.WS2_32.dll_WSCDeinstallProvider32
cmp eax, 0xffffffff
jne 0x14000cf1f
call fcn.1400de36c
mov r8d, dword [rsp + 0xd8]
lea rdx, str.uninstallProvider:_WSCDeinstallProvider32_failed:__d_n
lea rcx, [rax + 0x60]
call fcn.1400df124
mov rdi, qword [rsp + 0x60]
mov esi, dword [rsp + 0x38]
xor ebp, ebp
test rdi, rdi
je 0x14000cf65
mov rcx, qword [0x1401e3ce8]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13, qword [rsp + 0x48]
jmp 0x14000cf6a
call fcn.1400de36c
lea rdx, str._n_nError__Invalid_Winsock_catalog_ID_supplied:__d_n
mov r8d, r12d
lea rcx, [rax + 0x60]
call fcn.1400df124
or ebp, 0xffffffff
jmp 0x14000cf6a
mov r13, qword [rsp + 0x48]
mov r15, qword [rsp + 0x80]
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x1401e3ce8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0xc8]
test r14, r14
je 0x14000cf9d
mov edx, esi
mov rcx, r14
call fcn.14000e4f0
test r13, r13
je 0x14000cfb4
mov rcx, qword [0x1401e3ce8]
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13, qword [rsp + 0x88]
mov eax, ebp
add rsp, 0x90
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret