Function at 0x595b40
Capabilities:
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2c6c
call fcn.005e86e0
mov eax, dword [0x6d5db8]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov dword [ebp - 0x2c6c], ecx
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
push 1
push 0x1388
call dword [sym.imp.libonvifclient.dll_Ordinal_5_5]
mov dword [ebp - 0x1dc], 1
cmp dword [ebp + 0x1dc], 3
jne 0x595c77
mov dword [ebp + 0x548], 2
lea eax, [ebp - 8]
push eax
push 0
push 2
push 2
lea ecx, [ebp + 0x14c]
push ecx
lea edx, [ebp + 0x10c]
push edx
mov eax, dword [ebp + 0x1e4]
push eax
lea ecx, [ebp + 0x8c]
push ecx
call dword [sym.imp.libonvifclient.dll_Ordinal_7_4]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 8], 2
jne 0x595c72
push 0x40
push 0
lea edx, [ebp - 0x2c8]
push edx
call fcn.005e5330
add esp, 0xc
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x288], 0
jmp 0x595c0c
mov eax, dword [ebp - 0x288]
add eax, 1
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 8
jge 0x595c35
mov ecx, dword [ebp - 0x288]
movsx edx, byte [ebp + ecx + 0x10c]
add edx, 3
mov eax, dword [ebp - 0x288]
mov byte [ebp + eax - 0x2c8], dl
jmp 0x595bfd
mov ecx, dword [ebp - 0x288]
mov byte [ebp + ecx - 0x2c8], 0
lea edx, [ebp - 8]
push edx
push 0
push 2
push 0
lea eax, [ebp + 0x14c]
push eax
lea ecx, [ebp + 0x10c]
push ecx
mov edx, dword [ebp + 0x1e4]
push edx
lea eax, [ebp + 0x8c]
push eax
call dword [sym.imp.libonvifclient.dll_Ordinal_7_4]
mov dword [ebp - 0xc], eax
jmp 0x595e48
cmp dword [ebp + 0x1dc], 0
jne 0x595cf9
lea ecx, [ebp - 0x458]
push ecx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [ebp - 0x45c], 0
lea edx, [ebp + 0x8c]
push edx
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x45c], eax
cmp dword [ebp - 0x45c], 0
jne 0x595cc9
mov dword [ebp + 0x1d4], 0x64
xor eax, eax
jmp 0x5960a3
mov eax, dword [ebp - 0x45c]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x460]
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea edx, [ebp + 0x8c]
push edx
call fcn.005e5450
add esp, 8
lea eax, [ebp - 8]
push eax
push 0
push 2
push 0
lea ecx, [ebp + 0x14c]
push ecx
lea edx, [ebp + 0x10c]
push edx
mov eax, dword [ebp + 0x1e4]
push eax
lea ecx, [ebp + 0x8c]
push ecx
call dword [sym.imp.libonvifclient.dll_Ordinal_7_4]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jg 0x595d34
mov edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
cmp dword [ebp - 0xc], 0
jg 0x595d9f
cmp dword [ebp + 0x1d8], 1
jne 0x595d9f
cmp dword [ebp - 8], 0xffffd3d9
je 0x595d9f
cmp dword [ebp - 8], 0xffffd3d8
je 0x595d9f
cmp dword [ebp - 8], 0xffffd3dc
je 0x595d9f
cmp dword [ebp - 8], 0xffffd3db
je 0x595d9f
cmp dword [ebp - 8], 0xffffd3da
je 0x595d9f
lea eax, [ebp - 8]
push eax
push 0
push 2
push 0
lea ecx, [ebp + 0x14c]
push ecx
lea edx, [ebp + 0x10c]
push edx
mov eax, dword [ebp + 0x1e4]
push eax
lea ecx, [ebp + 0xcc]
push ecx
call dword [sym.imp.libonvifclient.dll_Ordinal_7_4]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 8], 2
jne 0x595e48
push 0x40
push 0
lea edx, [ebp - 0x4a8]
push edx
call fcn.005e5330
add esp, 0xc
mov dword [ebp - 0x464], 0
mov dword [ebp - 0x464], 0
jmp 0x595de1
mov eax, dword [ebp - 0x464]
add eax, 1
mov dword [ebp - 0x464], eax
cmp dword [ebp - 0x464], 8
jge 0x595e0a
mov ecx, dword [ebp - 0x464]
movsx edx, byte [ebp + ecx + 0x10c]
add edx, 3
mov eax, dword [ebp - 0x464]
mov byte [ebp + eax - 0x4a8], dl
jmp 0x595dd2
mov ecx, dword [ebp - 0x464]
mov byte [ebp + ecx - 0x4a8], 0
lea edx, [ebp - 8]
push edx
push 0
push 2
push 0
lea eax, [ebp + 0x14c]
push eax
lea ecx, [ebp - 0x4a8]
push ecx
movzx edx, word [ebp + 0x1e4]
push edx
lea eax, [ebp + 0x8c]
push eax
call dword [sym.imp.libonvifclient.dll_Ordinal_7_4]
mov dword [ebp - 0xc], eax
push 0x1c8
push 0
lea ecx, [ebp - 0x1d8]
push ecx
call fcn.005e5330
add esp, 0xc
lea edx, [ebp - 0x284]
push edx
push 0x1c8
lea eax, [ebp - 0x1d8]
push eax
push 0xffffffffffffffff
push 0
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.libonvifclient.dll_Ordinal_15_1]
push 0x3f
lea edx, [ebp - 0x1d8]
push edx
mov eax, dword [ebp + 0x5d0]
add eax, 0x2d8
push eax
call fcn.005e5550
add esp, 0xc
mov ecx, dword [ebp + 0x5d0]
mov byte [ecx + 0x317], 0
push 0xa0
push 0
lea edx, [ebp - 0x280]
push edx
call fcn.005e5330
add esp, 0xc
lea eax, [ebp - 0x284]
push eax
push 4
lea ecx, [ebp - 0x280]
push ecx
push 0xffffffffffffffff
push 0
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.libonvifclient.dll_Ordinal_12_3]
mov eax, dword [ebp + 0x5d0]
mov ecx, dword [ebp - 0x264]
mov dword [eax + 0x320], ecx
mov edx, dword [ebp + 0x5d0]
mov eax, dword [ebp - 0x260]
mov dword [edx + 0x324], eax
mov ecx, dword [ebp + 0x5d0]
mov edx, dword [ebp - 0x27c]
mov dword [ecx + 0x31c], edx
cmp dword [ebp - 0xd4], 0
je 0x595f25
cmp dword [ebp - 0xd4], 2
jne 0x595f4c
mov eax, dword [ebp + 0x5d0]
mov dword [eax + 0x33c], 0
mov ecx, dword [ebp + 0x5d0]
mov edx, dword [ebp - 0x1dc]
mov dword [ecx + 0x318], edx
jmp 0x596061
cmp dword [ebp - 0xd4], 3
jne 0x596061
push 4
push 0
lea eax, [ebp - 0x4ac]
push eax
call fcn.005e5330
add esp, 0xc
lea ecx, [ebp - 0x284]
push ecx
push 4
lea edx, [ebp - 0x4ac]
push edx
push 0xffffffffffffffff
push 0x2e
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.libonvifclient.dll_Ordinal_13_2]
push 0xa0
push 0
lea ecx, [ebp - 0x2b38]
push ecx
call fcn.005e5330
add esp, 0xc
lea edx, [ebp - 0x284]
push edx
push 0x2684
lea eax, [ebp - 0x2b38]
push eax
push 0xffffffffffffffff
push 0xb
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.libonvifclient.dll_Ordinal_12_3]
mov edx, dword [ebp - 0x4ac]
imul edx, edx, 0x130
lea esi, [ebp + edx - 0x2a9c]
mov ecx, 0x26
lea edi, [ebp - 0x2bd0]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x2bc4]
add eax, dword [ebp - 0x2bc8]
add eax, dword [ebp - 0x2bcc]
add eax, dword [ebp - 0x2bc0]
add eax, dword [ebp - 0x2bd0]
add eax, dword [ebp - 0x2bbc]
mov ecx, dword [ebp + 0x5d0]
mov dword [ecx + 0x318], eax
mov edx, dword [ebp - 0x4ac]
imul edx, edx, 0x130
lea esi, [ebp + edx - 0x2b34]
mov ecx, 0x26
lea edi, [ebp - 0x2c68]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x2c5c]
add eax, dword [ebp - 0x2c60]
add eax, dword [ebp - 0x2c64]
add eax, dword [ebp - 0x2c58]
add eax, dword [ebp - 0x2c68]
add eax, dword [ebp - 0x2c54]
mov ecx, dword [ebp + 0x5d0]
mov dword [ecx + 0x33c], eax
mov edx, dword [ebp + 0x5d0]
mov eax, dword [edx + 0x318]
mov ecx, dword [ebp + 0x5d0]
add eax, dword [ecx + 0x33c]
mov dword [ebp + 0x1cc], eax
mov edx, dword [ebp + 0x5d0]
mov eax, dword [ebp + 0x1cc]
mov dword [edx + 0x1c4], eax
mov ecx, dword [ebp + 0x5d0]
mov edx, dword [ebp - 8]
mov dword [ecx + 0x1cc], edx
mov eax, dword [ebp - 0xc]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005e5163
mov esp, ebp
pop ebp
ret 0x5cc