Function at 0x410580
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac8
mov eax, dword [0x417084]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x458], 0
mov byte [ebp - 0xa8], 0
push 0x7f
push 0
lea eax, [ebp - 0xa7]
push eax
call fcn.004049e0
add esp, 0xc
mov byte [ebp - 0x568], 0
push 0x7f
push 0
lea ecx, [ebp - 0x567]
push ecx
call fcn.004049e0
add esp, 0xc
mov byte [ebp - 0x450], 0
push 0x7f
push 0
lea edx, [ebp - 0x44f]
push edx
call fcn.004049e0
add esp, 0xc
mov byte [ebp - 0x4d8], 0
push 0x7f
push 0
lea eax, [ebp - 0x4d7]
push eax
call fcn.004049e0
add esp, 0xc
mov byte [ebp - 0x230], 0
push 0x3f
push 0
lea ecx, [ebp - 0x22f]
push ecx
call fcn.004049e0
add esp, 0xc
mov byte [ebp - 0xf0], 0
push 0x3f
push 0
lea edx, [ebp - 0xef]
push edx
call fcn.004049e0
add esp, 0xc
mov byte [ebp - 0x1f0], 0
push 0xff
push 0
lea eax, [ebp - 0x1ef]
push eax
call fcn.004049e0
add esp, 0xc
mov dword [ebp - 0x454], 0
xor ecx, ecx
mov word [ebp - 0x984], cx
xor edx, edx
mov dword [ebp - 0x982], edx
mov dword [ebp - 0x97e], edx
mov dword [ebp - 0x97a], edx
mov word [ebp - 0x976], dx
mov dword [ebp - 0x970], 0
xor eax, eax
mov dword [ebp - 0x96c], eax
mov byte [ebp - 0x968], 0
push 0x3ff
push 0
lea ecx, [ebp - 0x967]
push ecx
call fcn.004049e0
add esp, 0xc
mov dword [ebp - 0x3cc], 0
mov byte [ebp - 0x24], 0
xor edx, edx
mov dword [ebp - 0x23], edx
mov byte [ebp - 0x1f], dl
mov dword [ebp - 0x4e4], 0
mov dword [ebp - 0x974], 0xffffffff
mov eax, dword [ebp + 0x10]
push eax
call fcn.00404950
add esp, 4
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 9
jle 0x41077d
push 9
push str._printer
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00405662
add esp, 0xc
test eax, eax
jne 0x41077d
mov edx, dword [ebp + 0x10]
add edx, 9
mov dword [ebp - 0x988], edx
mov eax, dword [ebp - 0x988]
push eax
call fcn.0040d0e0
add esp, 4
mov dword [ebp - 0x458], eax
mov ecx, dword [ebp - 0x458]
push ecx
mov edx, dword [ebp - 0x988]
push edx
push str.RdvTaskClient_____SetDefaultPrinter__s__result:__d_n
lea eax, [ebp - 0x968]
push eax
call fcn.00404c98
add esp, 0x10
lea ecx, [ebp - 0x968]
push ecx
call fcn.0040e430
add esp, 4
lea edx, [ebp - 0x968]
push edx
call fcn.0040e490
xor eax, eax
jmp 0x410e2c
cmp dword [ebp - 0xac], 0xc
jne 0x41083c
push str._enumprinter
mov eax, dword [ebp + 0x10]
push eax
call fcn.004057ae
add esp, 8
test eax, eax
jne 0x41083c
lea ecx, [ebp - 0x998]
call fcn.00401370
lea ecx, [ebp - 0x998]
push ecx
call fcn.00410060
add esp, 4
lea ecx, [ebp - 0x998]
call fcn.004013c0
test eax, eax
jbe 0x41081c
push 0x7c
lea edx, [ebp - 0x998]
push edx
lea eax, [ebp - 0x9b4]
push eax
call fcn.0040ff50
add esp, 0xc
lea ecx, [ebp - 0x9b4]
call fcn.00401330
push eax
call fcn.0040dd30
add esp, 4
lea ecx, [ebp - 0x9b4]
call fcn.00401330
push eax
push str.PrinterList_:__s_n
call fcn.0040e430
add esp, 8
lea ecx, [ebp - 0x9b4]
call fcn.004012f0
mov dword [ebp - 0xac8], 0
lea ecx, [ebp - 0x998]
call fcn.004013a0
mov eax, dword [ebp - 0xac8]
jmp 0x410e2c
lea ecx, [ebp - 0x3c8]
push ecx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 0
call fcn.0040e5e0
add esp, 4
push eax
call fcn.004057f5
add esp, 4
push 0x40100
call fcn.0040548d
add esp, 4
mov dword [0x418b70], eax
push 0x40000
call fcn.0040548d
add esp, 4
mov dword [0x418b74], eax
cmp dword [0x418b70], 0
je 0x410897
cmp dword [0x418b74], 0
jne 0x4108a6
mov dword [ebp - 0x458], 0x7a
jmp 0x410db3
lea edx, [ebp - 0x230]
push edx
call fcn.0040d670
add esp, 4
mov dword [ebp - 0x9b8], 0
jmp 0x4108d0
mov eax, dword [ebp - 0x9b8]
add eax, 1
mov dword [ebp - 0x9b8], eax
cmp dword [ebp - 0x9b8], 0x14
jge 0x41093b
lea ecx, [ebp - 0x3cc]
push ecx
lea edx, [ebp - 0x1f0]
push edx
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x450]
push ecx
lea edx, [ebp - 0xa8]
push edx
lea eax, [ebp - 0x230]
push eax
call fcn.0040f320
add esp, 0x18
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0
jne 0x41091c
jmp 0x41093b
call fcn.00405807
imul eax, eax, 0x25
cdq
mov ecx, 0x7d0
idiv ecx
add edx, 0x3e8
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4108c1
cmp dword [ebp - 0x458], 0
je 0x41097f
mov edx, dword [ebp - 0x458]
push edx
push str.RCM_GetClientVhdName_failed:__d_n
lea eax, [ebp - 0x968]
push eax
call fcn.00404c98
add esp, 0xc
lea ecx, [ebp - 0x968]
push ecx
call fcn.0040e430
add esp, 4
lea edx, [ebp - 0x968]
push edx
call fcn.0040e490
jmp 0x410db3
cmp dword [ebp - 0x3cc], 0
je 0x4109bc
push str.Enable_Client_Fast_Shutdown_
lea eax, [ebp - 0x968]
push eax
call fcn.00404ba0
add esp, 8
lea ecx, [ebp - 0x968]
push ecx
call fcn.0040e430
add esp, 4
lea edx, [ebp - 0x968]
push edx
call fcn.0040e490
call fcn.0040f720
call fcn.0040df80
test eax, eax
je 0x4109d7
push str.Current_client_is_a_super_client__n
call fcn.0040e430
add esp, 4
jmp 0x410db3
cmp dword [ebp - 0x454], 0
jne 0x4109f3
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x454], eax
movsx ecx, byte [ebp - 0x1f0]
test ecx, ecx
je 0x410ae8
mov byte [ebp - 0xac0], 0
push 0xff
push 0
lea edx, [ebp - 0xabf]
push edx
call fcn.004049e0
add esp, 0xc
lea eax, [ebp - 0xac0]
push eax
lea ecx, [ebp - 0x1f0]
push ecx
call fcn.0040d5a0
add esp, 8
lea edx, [ebp - 0xac0]
push edx
call fcn.00404950
add esp, 4
mov dword [ebp - 0x9bc], eax
mov dword [ebp - 0xac4], 0
jmp 0x410a65
mov eax, dword [ebp - 0xac4]
add eax, 1
mov dword [ebp - 0xac4], eax
mov ecx, dword [ebp - 0xac4]
cmp ecx, dword [ebp - 0x9bc]
jge 0x410a96
mov edx, dword [ebp - 0xac4]
movsx eax, byte [ebp + edx - 0xac0]
cmp eax, 0x2f
jne 0x410a94
mov ecx, dword [ebp - 0xac4]
mov byte [ebp + ecx - 0xac0], 0x5c
jmp 0x410a56
lea edx, [ebp - 0xac0]
push edx
call fcn.0040d0e0
add esp, 4
mov dword [ebp - 0x458], eax
mov eax, dword [ebp - 0x458]
push eax
lea ecx, [ebp - 0xac0]
push ecx
push str.INTER_SetDefaultPrinter__s__result:__d_n
lea edx, [ebp - 0x968]
push edx
call fcn.00404c98
add esp, 0x10
lea eax, [ebp - 0x968]
push eax
call fcn.0040e430
add esp, 4
lea ecx, [ebp - 0x968]
push ecx
call fcn.0040e490
lea edx, [ebp - 0x974]
push edx
push 0x1e2a
mov eax, dword [ebp - 0x454]
push eax
call fcn.0040e120
add esp, 0xc
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0
je 0x410b54
mov ecx, dword [ebp - 0x458]
push ecx
mov edx, dword [ebp - 0x454]
push edx
push str.connect_server_0x_x__failed:__d_n
lea eax, [ebp - 0x968]
push eax
call fcn.00404c98
add esp, 0x10
lea ecx, [ebp - 0x968]
push ecx
call fcn.0040e430
add esp, 4
lea edx, [ebp - 0x968]
push edx
call fcn.0040e490
jmp 0x410db3
lea eax, [ebp - 0x4e4]
push eax
lea ecx, [ebp - 0x24]
push ecx
call fcn.0040e880
add esp, 8
lea edx, [ebp - 0x24]
push edx
call fcn.0040d1f0
add esp, 4
mov dword [ebp - 0x234], eax
lea eax, [ebp - 0x970]
push eax
mov ecx, dword [ebp - 0x234]
push ecx
mov edx, dword [ebp - 0x974]
push edx
call fcn.0040e6e0
add esp, 0xc
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0
je 0x410be7
mov eax, dword [ebp - 0x458]
push eax
mov ecx, dword [ebp - 0x454]
push ecx
push str.GetServerTime_0x_x__failed:__d_n
lea edx, [ebp - 0x968]
push edx
call fcn.00404c98
add esp, 0x10
lea eax, [ebp - 0x968]
push eax
call fcn.0040e430
add esp, 4
lea ecx, [ebp - 0x968]
push ecx
call fcn.0040e490
jmp 0x410db3
mov dword [ebp - 0x4e0], 0
xor edx, edx
mov dword [ebp - 0x4dc], edx
cmp dword [ebp - 0x970], 0
jne 0x410c24
cmp dword [ebp - 0x96c], 0
jne 0x410c24
mov eax, dword [ebp - 0x454]
push eax
push str.Server_0x_x__not_set_TimeSync__n
call fcn.0040e430
add esp, 8
jmp 0x410cc0
mov ecx, dword [ebp - 0x96c]
mov dword [ebp - 0x4dc], ecx
mov edx, dword [ebp - 0x970]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4dc]
push eax
mov ecx, dword [ebp - 0x4e0]
push ecx
call fcn.0040d170
add esp, 8
call fcn.0040dee0
test eax, eax
je 0x410cc0
lea edx, [ebp - 0x984]
push edx
lea eax, [ebp - 0x970]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
push str.SeSystemtimePrivilege
call fcn.0040d4c0
lea ecx, [ebp - 0x984]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLocalTime]
test eax, eax
jne 0x410cc0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetLocalTime_failed:__d_n
lea edx, [ebp - 0x968]
push edx
call fcn.00404c98
add esp, 0xc
lea eax, [ebp - 0x968]
push eax
call fcn.0040e430
add esp, 4
lea ecx, [ebp - 0x968]
push ecx
call fcn.0040e490
lea edx, [ebp - 0x4d8]
push edx
lea eax, [ebp - 0x450]
push eax
call fcn.0040d5a0
add esp, 8
movsx ecx, byte [ebp - 0xa8]
test ecx, ecx
je 0x410d56
lea edx, [ebp - 0x568]
push edx
lea eax, [ebp - 0xa8]
push eax
call fcn.0040d5a0
add esp, 8
push 1
lea ecx, [ebp - 0x568]
push ecx
mov edx, dword [ebp - 0x974]
push edx
call fcn.004101b0
add esp, 0xc
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0
je 0x410d56
mov eax, dword [ebp - 0x458]
push eax
push str.INTER_ProcessSoftCustom1_failed:__d_n
lea ecx, [ebp - 0x968]
push ecx
call fcn.00404c98
add esp, 0xc
lea edx, [ebp - 0x968]
push edx
call fcn.0040e430
add esp, 4
lea eax, [ebp - 0x968]
push eax
call fcn.0040e490
jmp 0x410db3
push 0
lea ecx, [ebp - 0x4d8]
push ecx
mov edx, dword [ebp - 0x974]
push edx
call fcn.004101b0
add esp, 0xc
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0
je 0x410db3
mov eax, dword [ebp - 0x458]
push eax
push str.INTER_ProcessSoftCustom2_failed:__d_n
lea ecx, [ebp - 0x968]
push ecx
call fcn.00404c98
add esp, 0xc
lea edx, [ebp - 0x968]
push edx
call fcn.0040e430
add esp, 4
lea eax, [ebp - 0x968]
push eax
call fcn.0040e490
cmp dword [ebp - 0x974], 0xffffffff
je 0x410dd8
mov ecx, dword [ebp - 0x974]
push ecx
call fcn.0040ef90
add esp, 4
mov edx, dword [ebp - 0x974]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [0x418b74], 0
je 0x410def
mov eax, dword [0x418b74]
push eax
call fcn.00404a5a
add esp, 4
cmp dword [0x418b70], 0
je 0x410e07
mov ecx, dword [0x418b70]
push ecx
call fcn.00404a5a
add esp, 4
cmp dword [0x418b78], 0
jne 0x410e19
cmp dword [ebp - 0x3cc], 0
je 0x410e24
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.WS2_32.dll_WSACleanup]
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402b6d
mov esp, ebp
pop ebp
ret 0x10