Function at 0x6dc08d80
Capabilities:
Initialize winsock library

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x6dc391d4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x10]
push edi
xor edi, edi
mov dword [ebp - 0x19c], edi
mov eax, dword [0x6dc3a848]
cmp eax, 0x6dc3a848
je 0x6dc08dbf
test dword [eax + 0x1c], 0x4000
jne 0x6dc1bc93
lea eax, [ebp - 0x194]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
xor ecx, ecx
mov dword [ebp - 0x198], eax
cmp eax, ecx
jne 0x6dc08f5b
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x19c], 1
test eax, 0x2000
je 0x6dc08e3f
test eax, 0x400
jne 0x6dc08e3f
cmp dword [0x6dc39408], ecx
je 0x6dc08e3f
movzx eax, word [esi + 0xc]
push eax
push dword [esi + 0x80]
call sym.DNSAPI.dll_NetInfo_IsAddrConfig
test eax, eax
je 0x6dc1825e
test byte [0x6dc39408], 0x10
jne 0x6dc08e3d
movzx eax, word [esi + 0xc]
push eax
push dword [esi + 0x80]
call fcn.6dc0a11d
test eax, eax
je 0x6dc1825e
xor ecx, ecx
push ecx
mov eax, ebx
or eax, 0x10000000
push eax
movzx eax, word [esi + 0xc]
push ecx
push eax
push dword [esi + 8]
push ecx
push ecx
call sym.DNSAPI.dll_Dns_BuildPacket
mov edi, eax
test edi, edi
je 0x6dc1bcc2
mov eax, ebx
shr eax, 0xa
and al, 1
mov byte [edi + 0xc9], al
mov eax, ebx
shr eax, 0x18
and al, 1
mov byte [edi + 0xca], al
movzx eax, word [esi + 0xc]
push eax
push edi
call fcn.6dc09ce9
push 0x70
lea eax, [ebp - 0x20c]
push 0
push eax
call sub.msvcrt.dll_memset
mov eax, dword [esi + 0x80]
mov dword [ebp - 0x20c], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x208], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0xb4], eax
mov eax, dword [esi + 0x44]
mov dword [edi + 0x94], eax
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x1fc], ebx
and ebx, 0x200
cmp dword [esi + 0x48], eax
mov dword [ebp - 0x204], edi
setne al
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x1f4], 1
mov dword [edi + 0x9c], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0x90], eax
lea eax, [ebp - 0x20c]
push eax
call fcn.6dc08fa5
mov dword [ebp - 0x198], eax
mov eax, dword [edi + 0xb0]
mov dword [esi + 0x64], eax
mov eax, dword [ebp - 0x1a4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp - 0x1a8]
mov dword [esi + 0x78], eax
test eax, eax
je 0x6dc156be
movzx eax, word [eax + 8]
push dword [ebp - 0x198]
push eax
push edi
call fcn.6dc0920b
mov ebx, dword [esi + 0x78]
test ebx, ebx
je 0x6dc08f5b
push ebx
call fcn.6dc0a3fa
test eax, eax
jne 0x6dc0b32e
push edi
call fcn.6dc030da
cmp dword [ebp - 0x19c], 0
pop edi
pop esi
pop ebx
je 0x6dc08f73
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, dword [0x6dc3a848]
cmp eax, 0x6dc3a848
je 0x6dc08f8c
test dword [eax + 0x1c], 0x4000
jne 0x6dc1bd04
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x198]
xor ecx, ebp
call fcn.6dc02eaf
leave
ret 4
test dword [esi + 0x10], 0x10000
jne 0x6dc11903
push ebx
call fcn.6dc031d0
and dword [esi + 0x78], 0
cmp dword [ebp - 0x198], 0
jne 0x6dc08f5b
jmp 0x6dc1bcf5
mov ecx, dword [esi + 0x28]
mov eax, 0x100
test cl, 1
je 0x6dc1bcd1
or dword [esi + 0x60], eax
mov eax, dword [0x6dc3a848]
cmp eax, 0x6dc3a848
je 0x6dc08f5b
test dword [eax + 0x1c], 0x4000
je 0x6dc08f5b
jmp 0x6dc1bcde
xor eax, eax
jmp 0x6dc08f39
mov eax, dword [0x6dc3a848]
cmp eax, 0x6dc3a848
je 0x6dc18277
test dword [eax + 0x1c], 0x4000
jne 0x6dc1bcab
mov eax, 0x25e5
mov dword [ebp - 0x198], eax
mov dword [esi + 0x4c], eax
jmp 0x6dc08f5b
cmp dword [0x6dc393d4], 0
je 0x6dc11914
jmp 0x6dc0b33b
push esi
push 0x6dc04010
push 0x21
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.6dc242f2
jmp 0x6dc08dbf
push 0x6dc04010
push 0x22
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.6dc23ea9
jmp 0x6dc18277
mov dword [ebp - 0x198], 0x7b
jmp 0x6dc08f5b
test eax, ecx
jne 0x6dc1828a
jmp 0x6dc0b33b
push 0x6dc04010
push 0x23
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.6dc23ea9
jmp 0x6dc08f5b
mov dword [ebp - 0x198], 0x251d
jmp 0x6dc08f5b
mov ecx, dword [ebp - 0x198]
push ecx
call fcn.6dc3436e
push eax
mov eax, dword [0x6dc3a848]
push 0x6dc04010
push 0x24
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.6dc283de
jmp 0x6dc08f8c