Function at 0x1003c9a
Capabilities:
Connect socket
Get common file path
Get local ipv4 addresses
Get socket information
Initialize winsock library
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x7e8
mov eax, dword [0x1008390]
push ebx
push esi
push edi
push dword [ebp + 0xc]
mov dword [ebp - 4], eax
push dword [ebp + 8]
call fcn.010065b6
push 2
xor edi, edi
push edi
push 0x10014cc
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
push 0x100cb00
push 0x101
mov dword [0x1009eec], eax
call dword [sym.imp.WS2_32.dll_WSAStartup]
cmp eax, edi
je 0x1003cf5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x2772
call fcn.01006573
push 4
push edi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, edi
mov dword [0x10094fc], eax
jne 0x1003d1c
push 0x2710
push 2
call fcn.010064fd
pop ecx
pop ecx
push 1
jmp 0x10040c7
push 0x10014c8
push 0x10012b4
call dword [sym.imp.WS2_32.dll_getservbyname]
cmp eax, edi
jne 0x1003d3a
push 0x15
call dword [sym.imp.WS2_32.dll_htons]
jmp 0x1003d3e
mov ax, word [eax + 8]
xor ebx, ebx
inc ebx
mov word [0x1009f08], ax
mov dword [0x1009f88], ebx
mov dword [0x100a3ac], ebx
mov dword [0x1009f84], ebx
mov dword [0x1009ef8], edi
mov dword [0x1009ea0], edi
mov dword [0x1009ee8], 0xffff
mov dword [0x1009ef4], edi
mov dword [0x1008bb4], edi
jmp 0x1003ef3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
cmp byte [eax], 0x2d
jne 0x1003f03
lea esi, [eax + 1]
jmp 0x1003ee9
movsx eax, al
cmp eax, 0x69
jg 0x1003df5
je 0x1003dea
cmp eax, 0x41
je 0x1003ddf
cmp eax, 0x61
je 0x1003dd4
cmp eax, 0x64
je 0x1003dc3
cmp eax, 0x67
jne 0x1003f8f
mov dword [0x1009f88], edi
jmp 0x1003ee8
or dword [0x1009efc], ebx
inc dword [0x1009e94]
jmp 0x1003ee8
mov dword [0x1009ef4], ebx
jmp 0x1003ee8
mov dword [0x1008bb4], ebx
jmp 0x1003ee8
mov dword [0x100a3ac], edi
jmp 0x1003ee8
sub eax, 0x6e
je 0x1003ee2
sub eax, 5
je 0x1003e89
sub eax, 3
je 0x1003e80
dec eax
jne 0x1003f8f
xor eax, eax
inc esi
mov dword [0x1009ee8], eax
cmp byte [esi], 0x3a
jne 0x1003f8f
inc esi
mov cl, byte [esi]
test cl, cl
je 0x1003f8f
jmp 0x1003e52
cmp cl, 0x39
jg 0x1003e57
movsx ecx, cl
lea edx, [eax + eax*4]
lea ecx, [ecx + edx*2 - 0x30]
cmp ecx, eax
jl 0x1003f8f
mov eax, ecx
inc esi
mov dword [0x1009ee8], eax
mov cl, byte [esi]
cmp cl, 0x30
jge 0x1003e31
mov cl, byte [esi]
cmp cl, 0x20
je 0x1003e75
cmp cl, 9
je 0x1003e75
test cl, cl
je 0x1003e75
cmp cl, 0xa
je 0x1003e75
cmp cl, 0xd
jne 0x1003f8f
dec esi
cmp eax, edi
jle 0x1003f8f
jmp 0x1003ee8
or dword [0x100a3b0], 0xffffffff
jmp 0x1003ee8
inc esi
mov dword [0x1009ef8], ebx
cmp byte [esi], 0x3a
jne 0x1003f8f
inc esi
mov eax, esi
mov dword [0x1009ea0], eax
cmp byte [esi], 0
je 0x1003f8f
inc esi
cmp byte [esi], 0
jne 0x1003eaa
push 0x10014c4
push eax
dec esi
call dword [sym.imp.msvcrt.dll_fopen]
cmp eax, edi
pop ecx
pop ecx
mov dword [0x1009ee0], eax
jne 0x1003ee8
push dword [0x1009ea0]
push 0x2713
push 2
call fcn.010064fd
add esp, 0xc
jmp 0x1003f8f
mov dword [0x1009f84], edi
inc esi
mov al, byte [esi]
test al, al
jne 0x1003d96
dec dword [ebp + 8]
add dword [ebp + 0xc], 4
cmp dword [ebp + 8], edi
jg 0x1003d80
mov eax, dword [sym.imp.msvcrt.dll__iob]
push dword [eax + 0x10]
call dword [sym.imp.msvcrt.dll__isatty]
mov esi, dword [sym.imp.msvcrt.dll__mbscpy]
mov dword [esp], 0x1001250
push 0x1009f60
mov dword [0x100a3a8], eax
call esi
push 0x10014c0
push 0x1009ec0
mov dword [0x1009ee4], ebx
call esi
add esp, 0x10
cmp dword [0x100a3a8], edi
mov dword [0x1009f00], 8
je 0x1003f57
inc dword [0x100a3b0]
dec dword [0x100cae0]
lea eax, [ebp - 0x7d4]
push eax
push 0x7d0
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
cmp eax, edi
je 0x1003f80
lea eax, [ebp - 0x7d4]
mov dword [0x10096a4], eax
jmp 0x1003f8a
mov dword [0x10096a4], 0x10012b8
cmp dword [ebp + 8], ebx
jle 0x1003fa4
push 0x2712
push 2
call fcn.010064fd
pop ecx
pop ecx
push 2
jmp 0x10040c7
cmp dword [ebp + 8], edi
mov ebx, 0x1009f20
jle 0x1003fd2
push edi
push ebx
call sub.msvcrt.dll__setjmp3
test eax, eax
pop ecx
pop ecx
je 0x1003fc1
push edi
jmp 0x10040c7
mov eax, dword [ebp + 0xc]
add eax, 0xfffffffc
push eax
mov eax, dword [ebp + 8]
inc eax
push eax
call fcn.010017f6
push edi
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
mov dword [0x1008388], eax
jne 0x1003ff8
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x2758
jmp 0x10040bb
xor eax, eax
lea edi, [ebp - 0x7e4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x10
stosd dword es:[edi], eax
pop esi
stosd dword es:[edi], eax
push 0
mov dword [ebp - 0x7e8], esi
mov word [ebp - 0x7e4], 2
call dword [sym.imp.WS2_32.dll_htons]
push 0x7f000001
mov word [ebp - 0x7e2], ax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x7e0], eax
push esi
lea eax, [ebp - 0x7e4]
push eax
push dword [0x1008388]
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x100405d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x275a
jmp 0x10040bb
xor eax, eax
lea edi, [ebp - 0x7e4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x7e8]
push eax
lea eax, [ebp - 0x7e4]
push eax
push dword [0x1008388]
call dword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
jne 0x1004096
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x275d
jmp 0x10040bb
push esi
lea eax, [ebp - 0x7e4]
push eax
push dword [0x1008388]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x10040cd
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x275c
push 2
call fcn.010064fd
add esp, 0xc
push 3
call dword [sym.imp.msvcrt.dll_exit]
push 1
push 0x1003b28
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
push 0
push ebx
call sub.msvcrt.dll__setjmp3
mov esi, eax
neg esi
pop ecx
sbb esi, esi
pop ecx
inc esi
call fcn.01003a82
push esi
call fcn.01003b46
int3