Function at 0x100193d
Capabilities:
Create tcp socket
Create udp socket
Initialize winsock library
Resolve dns
Send icmp echo request

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x920
mov eax, dword [0x10030b8]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 0xc]
push edi
xor edi, edi
push edi
push edi
push 1
push edi
mov dword [ebp - 0x910], esi
mov dword [ebp - 0x91c], edi
mov dword [ebp - 0x914], 0x1e
mov byte [ebp - 0x8f9], 0
mov byte [ebp - 0x905], 0
mov dword [ebp - 0x90c], edi
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
push edi
call dword [sym.imp.KERNEL32.dll_SetThreadUILanguage]
push 0x1003500
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
cmp eax, edi
je 0x10019c1
push eax
push 0x2732
push 1
call fcn.01002979
xor eax, eax
add esp, 0xc
inc eax
jmp 0x1002153
push ebx
mov ebx, 0x80
push ebx
lea eax, [ebp - 0x8f8]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
cmp dword [ebp + 8], 2
lea eax, [ebp - 0x70]
mov dword [ebp - 0x920], ebx
mov byte [ebp - 0x904], 1
mov byte [ebp - 0x903], 0
mov byte [ebp - 0x902], 0
mov byte [ebp - 0x901], 0
mov dword [ebp - 0x900], eax
jge 0x1001a1f
push dword [esi]
push 0x2713
push 1
call fcn.01002979
add esp, 0xc
jmp 0x1001e83
xor edi, edi
inc edi
cmp dword [ebp + 8], edi
jle 0x1001c60
mov eax, dword [esi + edi*4]
mov cl, byte [eax]
cmp cl, 0x2d
je 0x1001a81
cmp cl, 0x2f
je 0x1001a81
movzx ecx, byte [0x1003010]
push ecx
push 0x401
lea ecx, [ebp - 0x474]
push ecx
lea ecx, [ebp - 0x920]
push ecx
lea ecx, [ebp - 0x8f8]
push ecx
push eax
push dword [ebp - 0x90c]
mov byte [ebp - 0x905], 1
call fcn.01001851
test al, al
jne 0x1001c4d
push dword [esi + edi*4]
push 0x2714
jmp 0x1001a10
movsx ecx, byte [eax + 1]
cmp ecx, 0x69
jg 0x1001bf0
je 0x1001bd1
sub ecx, 0x34
je 0x1001bcc
dec ecx
dec ecx
je 0x1001bb0
sub ecx, 9
je 0x1001a09
sub ecx, 0x28
je 0x1001ad2
dec ecx
jne 0x1001cb0
push 0xff
push 1
push edi
push dword [ebp + 8]
lea eax, [ebp - 0x914]
push esi
push eax
jmp 0x1001c13
push eax
push 2
lea eax, [ebp - 0x90c]
push eax
call fcn.010017a1
test al, al
je 0x1001e83
mov al, byte [ebp - 0x901]
mov byte [ebp - 0x8f9], al
movzx eax, al
lea ecx, [eax + 7]
cmp ecx, 0x28
jg 0x1001c80
mov ebx, dword [ebp - 0x900]
lea esi, [eax + ebx]
mov byte [eax + ebx], 0x83
mov byte [esi + 1], 3
mov byte [esi + 2], 4
add byte [ebp - 0x901], 3
jmp 0x1001b79
mov eax, dword [ebp - 0x910]
mov eax, dword [eax + edi*4 + 4]
cmp byte [eax], 0x2d
je 0x1001b83
movzx eax, byte [ebp - 0x901]
add eax, 4
cmp eax, 0x28
jg 0x1001c80
mov eax, dword [ebp - 0x910]
inc edi
mov eax, dword [eax + edi*4]
push eax
mov dword [ebp - 0x918], eax
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x1001c93
movzx ecx, byte [ebp - 0x901]
mov dword [ecx + ebx], eax
add byte [esi + 1], 4
add byte [ebp - 0x901], 4
mov eax, dword [ebp + 8]
add eax, 0xfffffffe
cmp edi, eax
jl 0x1001b22
mov al, byte [esi + 1]
mov cl, al
add cl, byte [ebp - 0x8f9]
add al, 4
mov byte [esi + 1], al
add byte [ebp - 0x901], 4
mov esi, dword [ebp - 0x910]
mov byte [ebp - 0x8f9], cl
mov ebx, 0x80
jmp 0x1001c4d
push eax
push 0x17
lea eax, [ebp - 0x90c]
push eax
call fcn.010017a1
test al, al
je 0x1001e83
jmp 0x1001c4d
push eax
push 2
jmp 0x1001bb3
mov eax, dword [ebp + 8]
dec eax
cmp edi, eax
je 0x1001ca3
inc edi
mov eax, dword [esi + edi*4]
mov dword [ebp - 0x91c], eax
mov byte [0x1003168], 1
jmp 0x1001c4d
sub ecx, 0x6e
je 0x1001c46
dec ecx
dec ecx
je 0x1001c36
dec ecx
je 0x1001c23
sub ecx, 6
jne 0x1001cb0
push 0xffffffffffffffff
push 1
push edi
push dword [ebp + 8]
push esi
push section..data
call fcn.01001344
test al, al
je 0x1001e83
inc edi
jmp 0x1001c4d
push 0xff
push 1
push edi
push dword [ebp + 8]
push esi
push 0x1003008
jmp 0x1001c13
push 0xffffffffffffffff
push 1
push edi
push dword [ebp + 8]
push esi
push 0x1003004
jmp 0x1001c13
mov byte [0x1003010], 0
inc edi
cmp edi, dword [ebp + 8]
jl 0x1001a2b
cmp byte [ebp - 0x905], 0
jne 0x1001cd1
push 0x2739
push 1
call fcn.01002979
push 0x2713
push 1
call fcn.01002979
add esp, 0x10
jmp 0x1001e83
push 0x2737
push 1
call fcn.01002979
pop ecx
pop ecx
jmp 0x1001e83
push dword [ebp - 0x918]
push 0x2736
jmp 0x1001a10
push dword [esi + edi*4]
push 0x2734
jmp 0x1001a10
push eax
push 0x2738
push 1
call fcn.01002979
push 0x2713
push 1
call fcn.01002979
add esp, 0x14
jmp 0x1001e83
cmp byte [ebp - 0x8f9], 0
je 0x1001cf0
movzx eax, byte [ebp - 0x8f9]
mov ecx, dword [ebp - 0x8f4]
mov edx, dword [ebp - 0x900]
mov dword [eax + edx], ecx
movzx eax, word [ebp - 0x8f8]
mov dword [ebp - 0x90c], eax
cmp eax, 2
jne 0x1001d09
call sub.IPHLPAPI.DLL_IcmpCreateFile
jmp 0x1001d0e
call sub.IPHLPAPI.DLL_Icmp6CreateFile
mov dword [0x10030e0], eax
cmp eax, 0xffffffff
jne 0x1001d29
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x2715
jmp 0x1001a10
push 2
xor edi, edi
push edi
push edi
push 0x41
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x920]
lea eax, [ebp - 0x8f8]
push eax
call dword [sym.imp.WS2_32.dll_getnameinfo]
cmp byte [ebp - 0x474], 0
push dword [ebp - 0x914]
lea eax, [ebp - 0x48]
push eax
je 0x1001d73
lea eax, [ebp - 0x474]
push eax
push 0x2716
push 1
call fcn.01002979
add esp, 0x14
jmp 0x1001d82
push 0x2733
push 1
call fcn.01002979
add esp, 0x10
cmp byte [0x1003168], 0
jne 0x1001e0f
movzx eax, word [ebp - 0x8f8]
push 0x11
push 2
push eax
call dword [sym.imp.WS2_32.dll_socket]
push edi
push edi
mov esi, eax
lea eax, [ebp - 0x918]
push eax
push ebx
mov edi, 0x10030e8
push edi
push ebx
lea eax, [ebp - 0x8f8]
push eax
push 0xc8000014
push esi
call dword [sym.imp.WS2_32.dll_WSAIoctl]
mov eax, dword [ebp - 0x918]
push esi
mov dword [0x10030e4], eax
call dword [sym.imp.WS2_32.dll_closesocket]
push 0
push 0x2717
push 1
call fcn.01002979
movzx eax, byte [0x1003010]
add esp, 0xc
push eax
push dword [0x10030e4]
push edi
call fcn.010011d5
push 0x273c
push 1
call fcn.01002979
jmp 0x10020c9
cmp dword [ebp - 0x90c], 2
jne 0x1001e33
push 0x100112c
push 0x100113c
push 0x275c
push 1
call fcn.01002979
add esp, 0x10
jmp 0x1001e78
push edi
push 0x401
lea eax, [ebp - 0x878]
push eax
push 0x10030e4
push 0x10030e8
push dword [ebp - 0x91c]
push dword [ebp - 0x90c]
call fcn.01001851
test al, al
jne 0x10020cb
push dword [ebp - 0x91c]
push 0x271c
push 1
call fcn.01002979
add esp, 0xc
push dword [0x10030e0]
call sub.IPHLPAPI.DLL_IcmpCloseHandle
call dword [sym.imp.WS2_32.dll_WSACleanup]
xor eax, eax
inc eax
jmp 0x1002152
cmp byte [ebp - 0x904], 0
je 0x10020de
push eax
push 0x2717
push 1
call fcn.01002979
add esp, 0xc
and dword [ebp - 0x910], 0
cmp dword [ebp - 0x90c], 2
push dword [section..data]
lea eax, [ebp - 0x904]
push 0x70
jne 0x1001f83
mov esi, 0x100ce20
push esi
push eax
push 0x40
push 0x10034c0
push dword [ebp - 0x8f4]
xor eax, eax
push eax
push eax
push eax
push dword [0x10030e0]
call sub.IPHLPAPI.DLL_IcmpSendEcho2
test eax, eax
jne 0x1001f04
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor esi, esi
jmp 0x1001f0a
mov edi, dword [0x100ce24]
movzx eax, byte [ebp - 0x904]
imul eax, eax, 0x98
push 0x98
add eax, 0x10036a0
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
test edi, edi
je 0x1002161
cmp edi, 0x2b05
je 0x1002036
cmp edi, 0x2b02
jne 0x1001f5b
push 0x273b
push 1
call fcn.01002979
pop ecx
pop ecx
jmp 0x1002021
cmp edi, 0x2af8
jb 0x1002011
test esi, esi
je 0x1002213
movzx eax, byte [0x1003010]
push eax
push dword [esi]
call fcn.010012a7
jmp 0x1002205
push 0x100ce20
push eax
push 0x40
push 0x10034c0
lea eax, [ebp - 0x8f8]
push eax
push 0x10030e8
xor eax, eax
push eax
push eax
push eax
push dword [0x10030e0]
call sub.IPHLPAPI.DLL_Icmp6SendEcho2
test eax, eax
jne 0x1001fbc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor ebx, ebx
jmp 0x1001fc7
mov edi, dword [0x100ce3c]
mov ebx, 0x100ce20
movzx eax, byte [ebp - 0x904]
imul eax, eax, 0x98
push 0x98
add eax, 0x10036a0
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
test edi, edi
je 0x10021a2
cmp edi, 0x2b05
je 0x1002057
cmp edi, 0x2b02
je 0x1001f48
cmp edi, 0x2af8
jae 0x10021f0
push edi
push 0x271a
push 1
call fcn.01002979
add esp, 0xc
inc dword [ebp - 0x910]
cmp dword [ebp - 0x910], 3
jl 0x1001eb5
jmp 0x1002084
movzx eax, byte [ebp - 0x904]
imul eax, eax, 0x98
push 2
pop ecx
mov word [eax + 0x10036a8], cx
mov ecx, dword [esi]
mov dword [eax + 0x10036ac], ecx
jmp 0x1002084
movzx eax, byte [ebp - 0x904]
imul eax, eax, 0x98
push 0x17
pop ecx
mov word [eax + 0x10036a8], cx
mov ecx, dword [ebx + 0x16]
lea esi, [ebx + 6]
lea edi, [eax + 0x10036b0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [eax + 0x10036c0], ecx
cmp dword [ebp - 0x910], 3
je 0x1002244
movzx eax, byte [0x1003010]
push eax
movzx eax, byte [ebp - 0x904]
push dword [0x10030e4]
imul eax, eax, 0x98
add eax, 0x10036a8
push eax
call fcn.010011d5
push 0x273c
push 1
call fcn.01002979
inc byte [ebp - 0x904]
pop ecx
pop ecx
movzx eax, byte [ebp - 0x904]
cmp eax, dword [ebp - 0x914]
jbe 0x1001e91
mov al, byte [ebp - 0x914]
mov byte [ebp - 0x904], al
movzx eax, byte [ebp - 0x904]
imul eax, dword [0x1003008]
imul eax, dword [0x1003004]
xor edx, edx
mov ecx, 0x3e8
div ecx
push eax
push 0x2743
push 1
call fcn.01002979
add esp, 0xc
lea eax, [ebp - 0x904]
push eax
call fcn.0100149d
movzx eax, byte [ebp - 0x904]
push eax
call fcn.01001650
push 0x271b
push 1
call fcn.01002979
pop ecx
pop ecx
push dword [0x10030e0]
call sub.IPHLPAPI.DLL_IcmpCloseHandle
call dword [sym.imp.WS2_32.dll_WSACleanup]
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.010024f7
leave
ret
movzx eax, byte [0x1003010]
push eax
push dword [esi]
call fcn.010012a7
push 0x273c
push 1
call fcn.01002979
movzx eax, byte [ebp - 0x904]
imul eax, eax, 0x98
pop ecx
pop ecx
push 2
pop ecx
mov word [eax + 0x10036a8], cx
mov ecx, dword [esi]
mov dword [eax + 0x10036ac], ecx
jmp 0x10020ea
movzx eax, byte [0x1003010]
push eax
lea esi, [ebx + 6]
push esi
call fcn.010012f2
push 0x273c
push 1
call fcn.01002979
movzx eax, byte [ebp - 0x904]
imul eax, eax, 0x98
pop ecx
pop ecx
push 0x17
pop ecx
mov word [eax + 0x10036a8], cx
mov ecx, dword [ebx + 0x16]
lea edi, [eax + 0x10036b0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [eax + 0x10036c0], ecx
jmp 0x10020ea
test ebx, ebx
je 0x1002213
movzx eax, byte [0x1003010]
push eax
add ebx, 6
push ebx
call fcn.010012f2
push 0x2719
push 1
call fcn.01002979
pop ecx
pop ecx
mov eax, dword [0x1003018]
xor ecx, ecx
jmp 0x100222b
cmp eax, 0x2b2a
je 0x100222f
mov eax, dword [ecx*8 + 0x1003020]
inc ecx
cmp eax, edi
jne 0x100221c
push dword [ecx*8 + 0x100301c]
push 1
call fcn.01002979
pop ecx
pop ecx
jmp 0x10020ea
dec byte [ebp - 0x904]
jmp 0x10020ea