Function at 0x445160
Capabilities:
Acquire debug privileges
Link many functions at runtime

Disassembly:
push ecx
mov eax, ecx
mov ecx, dword [0x51d43c]
push ebx
xor ebx, ebx
cmp ecx, ebx
mov dword [esp + 4], eax
jne 0x445603
mov al, byte [0x51d638]
push esi
xor esi, esi
test al, 4
jne 0x44519a
or al, 8
push 2
push str.SeDebugPrivilege
mov byte [0x51d638], al
call fcn.004226a0
add esp, 8
cmp dword [0x51d438], ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
jne 0x4451d2
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x4451cc
push str.WSAStartup
push esi
call ebp
mov dword [0x51d438], eax
jmp 0x4451d2
mov dword [0x51d438], ebx
cmp dword [0x51d440], ebx
jne 0x445200
cmp esi, ebx
jne 0x4451eb
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x4451fa
push str.shutdown
push esi
call ebp
mov dword [0x51d440], eax
jmp 0x445200
mov dword [0x51d440], ebx
cmp dword [0x51d444], ebx
jne 0x44522e
cmp esi, ebx
jne 0x445219
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x445228
push str.closesocket
push esi
call ebp
mov dword [0x51d444], eax
jmp 0x44522e
mov dword [0x51d444], ebx
cmp dword [0x51d448], ebx
jne 0x44525c
cmp esi, ebx
jne 0x445247
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x445256
push str.connect
push esi
call ebp
mov dword [0x51d448], eax
jmp 0x44525c
mov dword [0x51d448], ebx
cmp dword [0x51d44c], ebx
jne 0x44528a
cmp esi, ebx
jne 0x445275
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x445284
push str.send
push esi
call ebp
mov dword [0x51d44c], eax
jmp 0x44528a
mov dword [0x51d44c], ebx
cmp dword [0x51d450], ebx
jne 0x4452b8
cmp esi, ebx
jne 0x4452a3
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x4452b2
push str.select
push esi
call ebp
mov dword [0x51d450], eax
jmp 0x4452b8
mov dword [0x51d450], ebx
cmp dword [0x51d454], ebx
jne 0x4452e6
cmp esi, ebx
jne 0x4452d1
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x4452e0
push str.recvfrom
push esi
call ebp
mov dword [0x51d454], eax
jmp 0x4452e6
mov dword [0x51d454], ebx
cmp dword [0x51d458], ebx
jne 0x445314
cmp esi, ebx
jne 0x4452ff
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x44530e
push str.sendto
push esi
call ebp
mov dword [0x51d458], eax
jmp 0x445314
mov dword [0x51d458], ebx
cmp dword [0x51d45c], ebx
jne 0x445342
cmp esi, ebx
jne 0x44532d
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x44533c
push str.bind
push esi
call ebp
mov dword [0x51d45c], eax
jmp 0x445342
mov dword [0x51d45c], ebx
cmp dword [0x51d460], ebx
jne 0x445370
cmp esi, ebx
jne 0x44535b
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x44536a
push str.listen
push esi
call ebp
mov dword [0x51d460], eax
jmp 0x445370
mov dword [0x51d460], ebx
cmp dword [0x51d464], ebx
jne 0x44539e
cmp esi, ebx
jne 0x445389
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x445398
push str.accept
push esi
call ebp
mov dword [0x51d464], eax
jmp 0x44539e
mov dword [0x51d464], ebx
cmp dword [0x51d46c], ebx
jne 0x4453cc
cmp esi, ebx
jne 0x4453b7
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x4453c6
push str.getsockname
push esi
call ebp
mov dword [0x51d46c], eax
jmp 0x4453cc
mov dword [0x51d46c], ebx
cmp dword [0x51d468], ebx
jne 0x4453fa
cmp esi, ebx
jne 0x4453e5
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x4453f4
push str.getpeername
push esi
call ebp
mov dword [0x51d468], eax
jmp 0x4453fa
mov dword [0x51d468], ebx
cmp dword [0x51d470], ebx
jne 0x445428
cmp esi, ebx
jne 0x445413
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x445422
push str.ioctlsocket
push esi
call ebp
mov dword [0x51d470], eax
jmp 0x445428
mov dword [0x51d470], ebx
cmp dword [0x51d474], ebx
jne 0x445456
cmp esi, ebx
jne 0x445441
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x445450
push str.setsockopt
push esi
call ebp
mov dword [0x51d474], eax
jmp 0x445456
mov dword [0x51d474], ebx
cmp dword [0x51d478], ebx
jne 0x445484
cmp esi, ebx
jne 0x44546f
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x44547e
push str.ntohl
push esi
call ebp
mov dword [0x51d478], eax
jmp 0x445484
mov dword [0x51d478], ebx
cmp dword [0x51d47c], ebx
jne 0x4454b2
cmp esi, ebx
jne 0x44549d
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x4454ac
push str.htonl
push esi
call ebp
mov dword [0x51d47c], eax
jmp 0x4454b2
mov dword [0x51d47c], ebx
cmp dword [0x51d480], ebx
jne 0x4454e0
cmp esi, ebx
jne 0x4454cb
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x4454da
push str.htons
push esi
call ebp
mov dword [0x51d480], eax
jmp 0x4454e0
mov dword [0x51d480], ebx
cmp dword [0x51d484], ebx
jne 0x44550e
cmp esi, ebx
jne 0x4454f9
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x445508
push str.inet_addr
push esi
call ebp
mov dword [0x51d484], eax
jmp 0x44550e
mov dword [0x51d484], ebx
cmp dword [0x51d488], ebx
jne 0x44553c
cmp esi, ebx
jne 0x445527
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x445536
push str.gethostbyname
push esi
call ebp
mov dword [0x51d488], eax
jmp 0x44553c
mov dword [0x51d488], ebx
cmp dword [0x51d48c], ebx
jne 0x44556a
cmp esi, ebx
jne 0x445555
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x445564
push str.inet_ntoa
push esi
call ebp
mov dword [0x51d48c], eax
jmp 0x44556a
mov dword [0x51d48c], ebx
cmp dword [0x51d490], ebx
jne 0x445598
cmp esi, ebx
jne 0x445583
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x445592
push str.WSAGetLastError
push esi
call ebp
mov dword [0x51d490], eax
jmp 0x445598
mov dword [0x51d490], ebx
cmp dword [0x51d494], ebx
jne 0x4455c6
cmp esi, ebx
jne 0x4455b1
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x4455c0
push str.__WSAFDIsSet
push esi
call ebp
mov dword [0x51d494], eax
jmp 0x4455c6
mov dword [0x51d494], ebx
cmp dword [0x51d43c], ebx
jne 0x4455fc
cmp esi, ebx
jne 0x4455df
push str.WS2_32.DLL
call edi
mov esi, eax
cmp esi, ebx
je 0x4455f6
push str.socket
push esi
call ebp
pop edi
pop ebp
pop esi
mov dword [0x51d43c], eax
mov eax, dword [esp + 4]
pop ebx
pop ecx
ret
mov dword [0x51d43c], ebx
mov eax, dword [esp + 0x10]
pop edi
pop ebp
pop esi
pop ebx
pop ecx
ret