Function at 0x401490
Capabilities:
Get networking parameters
Initialize winsock library
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x19c]
push ebx
sub esp, 0x3f8
mov ebx, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], 0x202
call dword [sym.imp.ws2_32.dll_WSAStartup]
mov dword [ebp - 0x3d8], eax
sub esp, 8
test eax, eax
jne 0x401810
cmp dword [ebp + 8], 1
jle 0x401540
mov eax, dword [ebx + 4]
mov dword [esp], 0x402066
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
test eax, eax
je 0x401515
mov eax, dword [ebx + 4]
mov dword [esp], 0x40206c
mov dword [esp + 4], eax
call dword [sym.imp.ucrtbase.dll__wcsicmp]
test eax, eax
jne 0x40150b
mov edx, dword [ebx + 8]
test edx, edx
je 0x401841
mov eax, 0x66
call fcn.004012a0
mov eax, 0x65
call fcn.004012a0
call dword [sym.imp.ws2_32.dll_WSACleanup]
mov dword [ebp - 0x3d8], 1
mov eax, dword [ebp - 0x3d8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
call section..text
mov dword [ebp - 0x3e4], eax
test eax, eax
je 0x401dfe
mov edi, eax
mov eax, dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov dword [ebp - 0x3d4], eax
mov eax, dword [sym.imp.user32.dll_LoadStringW]
mov dword [ebp - 0x3d0], eax
lea esi, [esi]
nop
mov eax, dword [edi + 0x40]
mov esi, dword [edi + 0x28]
mov ebx, 0x68
cmp eax, 6
je 0x40158b
xor ebx, ebx
cmp eax, 0x18
setne bl
add ebx, 0x68
mov dword [esp], 0
mov eax, dword [ebp - 0x3d4]
call eax
sub esp, 4
mov dword [esp + 4], ebx
lea ebx, [ebp - 0x2a4]
mov dword [esp], eax
mov eax, dword [ebp - 0x3d0]
mov dword [esp + 0xc], 0x32
mov dword [esp + 8], 0x404020
call eax
sub esp, 0x10
mov dword [esp + 8], esi
mov dword [esp + 4], 0x404020
mov dword [esp], 0x67
call fcn.00401430
mov dword [esp], 0x402076
call fcn.00401290
mov edx, dword [edi + 0x20]
mov eax, 0x6a
call fcn.00401350
mov esi, dword [edi + 0x10]
test esi, esi
jne 0x401619
jmp 0x4016c8
cmp ax, 0x17
je 0x401670
mov esi, dword [esi + 8]
test esi, esi
je 0x4016c8
mov edx, dword [esi + 0xc]
movzx eax, word [edx]
cmp ax, 2
jne 0x401608
mov eax, dword [esi + 0x10]
lea ecx, [ebp - 0x3b8]
mov dword [esp], edx
mov dword [ebp - 0x3b8], 0x36
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call dword [sym.imp.ws2_32.dll_WSAAddressToStringW]
sub esp, 0x14
test eax, eax
je 0x401720
mov edx, dword [esi + 0xc]
movzx eax, word [edx]
cmp ax, 0x17
jne 0x40160e
lea esi, [esi]
mov eax, dword [esi + 0x10]
lea ecx, [ebp - 0x3b4]
mov dword [esp], edx
mov dword [ebp - 0x3b4], 0x36
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call dword [sym.imp.ws2_32.dll_WSAAddressToStringW]
sub esp, 0x14
test eax, eax
jne 0x40160e
mov edx, ebx
mov eax, 0x79
call fcn.00401350
mov esi, dword [esi + 8]
test esi, esi
jne 0x401619
lea esi, [esi]
mov eax, dword [edi + 0xa4]
test eax, eax
jne 0x401738
mov edx, 0x4020e8
mov eax, 0x78
call fcn.00401350
mov dword [esp], 0x402076
call fcn.00401290
mov edi, dword [edi + 8]
test edi, edi
jne 0x401570
mov eax, dword [ebp - 0x3e4]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
call dword [sym.imp.ws2_32.dll_WSACleanup]
mov eax, dword [ebp - 0x3d8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, ebx
mov eax, 0x6b
call fcn.00401350
jmp 0x40160e
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
lea ecx, [ebp - 0x3b0]
lea ebx, [ebp - 0x2a4]
mov dword [ebp - 0x3b0], 0x36
mov dword [esp + 4], eax
mov eax, dword [sym.imp.ws2_32.dll_WSAAddressToStringW]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp], edx
mov dword [ebp - 0x3dc], eax
call eax
sub esp, 0x14
test eax, eax
je 0x401830
mov eax, dword [edi + 0xa4]
mov esi, dword [eax + 8]
lea eax, [ebp - 0x3ac]
mov dword [ebp - 0x3cc], eax
test esi, esi
je 0x4016e1
mov dword [ebp - 0x3e0], edi
mov edi, dword [ebp - 0x3dc]
jmp 0x4017b7
mov esi, dword [esi + 8]
test esi, esi
je 0x401804
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [esp + 0xc], ebx
mov edx, dword [ebp - 0x3cc]
mov dword [esp + 8], 0
mov dword [ebp - 0x3ac], 0x36
mov dword [esp + 0x10], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call edi
sub esp, 0x14
test eax, eax
jne 0x4017b0
mov dword [esp + 4], ebx
mov dword [esp], str._________________________________________1_n
call fcn.00401290
mov esi, dword [esi + 8]
test esi, esi
jne 0x4017b7
mov edi, dword [ebp - 0x3e0]
jmp 0x4016e1
mov dword [ebp - 0x3d8], 1
mov eax, dword [ebp - 0x3d8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, ebx
mov eax, 0x78
call fcn.00401350
jmp 0x401783
lea edi, [ebp - 0x3b0]
mov dword [esp], 0
mov esi, dword [sym.imp.iphlpapi.dll_GetNetworkParams]
mov dword [esp + 4], edi
call esi
sub esp, 8
cmp eax, 0x6f
je 0x401c80
call section..text
mov dword [ebp - 0x3ec], eax
test eax, eax
je 0x401dfe
mov edi, eax
lea eax, [ebp - 0x3ac]
mov dword [ebp - 0x3cc], eax
mov eax, dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov dword [ebp - 0x3d4], eax
mov eax, dword [sym.imp.user32.dll_LoadStringW]
mov dword [ebp - 0x3d0], eax
lea esi, [esi]
mov eax, dword [edi + 0x40]
mov esi, dword [edi + 0x28]
mov ebx, 0x68
cmp eax, 6
je 0x4018bb
xor ebx, ebx
cmp eax, 0x18
setne bl
add ebx, 0x68
mov dword [esp], 0
mov eax, dword [ebp - 0x3d4]
call eax
sub esp, 4
mov dword [esp], eax
mov eax, dword [ebp - 0x3d0]
mov dword [esp + 0xc], 0x32
mov dword [esp + 8], 0x404020
mov dword [esp + 4], ebx
call eax
sub esp, 0x10
mov dword [esp + 8], esi
mov dword [esp + 4], 0x404020
mov dword [esp], 0x67
call fcn.00401430
mov dword [esp], 0x402076
call fcn.00401290
mov edx, dword [edi + 0x20]
mov eax, 0x6a
call fcn.00401350
mov edx, dword [edi + 0x24]
mov eax, 0x73
call fcn.00401350
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x3dc], eax
test eax, eax
je 0x401b88
sub eax, 1
lea ecx, [edi + 0x2c]
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x3e0], ecx
je 0x4019ce
mov eax, dword [ebp - 0x3dc]
mov esi, dword [ebp - 0x3cc]
mov dword [ebp - 0x3e8], edi
mov ebx, dword [ebp - 0x3e0]
lea eax, [edi + eax + 0x2b]
mov edi, esi
mov esi, eax
lea esi, [esi]
nop
movzx eax, byte [ebx]
mov dword [esp], edi
add ebx, 1
add edi, 6
mov dword [esp + 8], str._02X_
mov dword [esp + 0xc], eax
mov dword [esp + 4], 4
call fcn.00401300
cmp ebx, esi
jne 0x401980
mov eax, dword [ebp - 0x3dc]
mov ebx, dword [ebp - 0x3e4]
add dword [ebp - 0x3e0], ebx
mov ecx, dword [ebp - 0x3cc]
lea eax, [eax + eax*2]
mov edi, dword [ebp - 0x3e8]
lea eax, [ecx + eax*2 - 6]
mov ecx, dword [ebp - 0x3e0]
movzx edx, byte [ecx]
mov dword [esp + 8], str._02X
mov dword [esp + 4], 3
mov dword [esp + 0xc], edx
mov dword [esp], eax
call fcn.00401300
mov edx, dword [ebp - 0x3cc]
mov eax, 0x74
xor ebx, ebx
call fcn.00401350
test byte [edi + 0x38], 4
mov eax, dword [ebp - 0x3d4]
mov dword [esp], 0
sete bl
call eax
add ebx, 0x76
sub esp, 4
mov dword [esp + 4], ebx
lea ebx, [ebp - 0x2a4]
mov dword [esp], eax
mov eax, dword [ebp - 0x3d0]
mov dword [esp + 0xc], 0xf
mov dword [esp + 8], 0x404000
call eax
mov edx, section..bss
mov eax, 0x75
sub esp, 0x10
call fcn.00401350
mov esi, dword [edi + 0x10]
test esi, esi
jne 0x401a79
jmp 0x401b28
cmp ax, 0x17
je 0x401ad0
mov esi, dword [esi + 8]
test esi, esi
je 0x401b28
mov edx, dword [esi + 0xc]
movzx eax, word [edx]
cmp ax, 2
jne 0x401a68
mov eax, dword [esi + 0x10]
lea ecx, [ebp - 0x3c8]
mov dword [esp], edx
mov dword [ebp - 0x3c8], 0x36
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call dword [sym.imp.ws2_32.dll_WSAAddressToStringW]
sub esp, 0x14
test eax, eax
je 0x401b70
mov edx, dword [esi + 0xc]
movzx eax, word [edx]
cmp ax, 0x17
jne 0x401a6e
lea esi, [esi]
mov eax, dword [esi + 0x10]
lea ecx, [ebp - 0x3c4]
mov dword [esp], edx
mov dword [ebp - 0x3c4], 0x36
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call dword [sym.imp.ws2_32.dll_WSAAddressToStringW]
sub esp, 0x14
test eax, eax
jne 0x401a6e
mov edx, ebx
mov eax, 0x79
call fcn.00401350
mov esi, dword [esi + 8]
test esi, esi
jne 0x401a79
lea esi, [esi]
mov eax, dword [edi + 0xa4]
test eax, eax
jne 0x401ba0
mov edx, 0x4020e8
mov eax, 0x78
call fcn.00401350
mov dword [esp], 0x402076
call fcn.00401290
mov edi, dword [edi + 8]
test edi, edi
jne 0x4018a0
mov eax, dword [ebp - 0x3ec]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x401707
mov edx, ebx
mov eax, 0x6b
call fcn.00401350
jmp 0x401a6e
xor eax, eax
mov word [ebp - 0x3ac], ax
jmp 0x4019f3
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
lea ecx, [ebp - 0x3c0]
lea ebx, [ebp - 0x2a4]
mov dword [ebp - 0x3c0], 0x36
mov dword [esp + 4], eax
mov eax, dword [sym.imp.ws2_32.dll_WSAAddressToStringW]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp], edx
mov dword [ebp - 0x3dc], eax
call eax
sub esp, 0x14
test eax, eax
je 0x401c6f
mov eax, dword [edi + 0xa4]
mov esi, dword [eax + 8]
test esi, esi
je 0x401b41
mov dword [ebp - 0x3e0], edi
mov edi, esi
mov esi, dword [ebp - 0x3dc]
jmp 0x401c17
mov edi, dword [edi + 8]
test edi, edi
je 0x401c64
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
lea edx, [ebp - 0x3bc]
mov dword [ebp - 0x3bc], 0x36
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
mov dword [esp], eax
call esi
sub esp, 0x14
test eax, eax
jne 0x401c10
mov dword [esp + 4], ebx
mov dword [esp], str._________________________________________1_n
call fcn.00401290
mov edi, dword [edi + 8]
test edi, edi
jne 0x401c17
mov edi, dword [ebp - 0x3e0]
jmp 0x401b41
mov edx, ebx
mov eax, 0x78
call fcn.00401350
jmp 0x401beb
mov eax, dword [ebp - 0x3b0]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov ebx, eax
test eax, eax
je 0x401dfe
mov dword [esp + 4], edi
mov dword [esp], eax
call esi
sub esp, 8
test eax, eax
je 0x401cb7
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x401866
lea edi, [ebp - 0x3ac]
mov esi, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov dword [esp + 8], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], 0x84
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0
call esi
mov edx, edi
mov eax, 0x6c
lea edi, [ebp - 0x2a4]
sub esp, 0x18
call fcn.00401350
lea eax, [ebx + 0x84]
mov dword [esp + 0x14], 0x84
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call esi
mov eax, 0x7a
mov edx, edi
mov esi, 0x69
sub esp, 0x18
call fcn.00401350
mov eax, dword [ebx + 0x134]
sub eax, 1
cmp eax, 7
ja 0x401d59
mov esi, dword [eax*4 + str.noipiiiq]
mov edi, dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov dword [esp], 0
call edi
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_LoadStringW]
mov dword [esp + 4], esi
mov esi, 0x76
mov dword [ebp - 0x3d0], eax
mov dword [esp + 0xc], 0x32
mov dword [esp + 8], 0x4040a0
call eax
mov edx, 0x4040a0
mov eax, 0x6d
sub esp, 0x10
call fcn.00401350
cmp dword [ebx + 0x23c], 1
mov dword [esp], 0
adc esi, 0
call edi
sub esp, 4
mov dword [esp + 4], esi
mov dword [esp], eax
mov eax, dword [ebp - 0x3d0]
mov dword [esp + 0xc], 0xf
mov dword [esp + 8], 0x404000
call eax
mov edx, section..bss
mov eax, 0x72
sub esp, 0x10
call fcn.00401350
mov dword [esp], 0x402076
call fcn.00401290
jmp 0x401ca9
mov dword [esp], 1
call dword [sym.imp.ucrtbase.dll_exit]
nop
nop
nop
nop
nop