Function at 0x10017ab
Capabilities:
Initialize winsock library
Resolve dns
Send icmp echo request

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x90c
and byte [ebp + 0x6f], 0
and byte [ebp + 0x5f], 0
and dword [ebp + 0x58], 0
push 0x1004320
push 0x101
mov dword [ebp + 0x54], 0x1e
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x10017fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x2732
push 1
call fcn.0100308e
xor eax, eax
add esp, 0xc
inc eax
jmp 0x1001fdd
and byte [ebp + 0x65], 0
and byte [ebp + 0x66], 0
and byte [ebp + 0x67], 0
push ebx
push esi
xor esi, esi
inc esi
cmp dword [ebp + 0x78], 2
lea eax, [ebp - 0x94]
push edi
mov byte [ebp + 0x64], 1
mov dword [ebp + 0x68], eax
jge 0x1001830
mov eax, dword [ebp + 0x7c]
push dword [eax]
push 0x2713
push esi
jmp 0x1001b7c
cmp dword [ebp + 0x78], esi
mov dword [ebp + 0x60], esi
jle 0x1001ad6
mov edi, dword [ebp + 0x7c]
mov ebx, 0x1004228
lea eax, [edi + esi*4]
mov dword [ebp + 0x50], eax
mov eax, dword [eax]
mov cl, byte [eax]
cmp cl, 0x2d
je 0x1001897
cmp cl, 0x2f
je 0x1001897
xor ecx, ecx
mov cl, byte [0x1004010]
mov byte [ebp + 0x5f], 1
push ecx
push 0x401
lea ecx, [ebp - 0x498]
push ecx
lea ecx, [ebp + 0x4c]
push ecx
lea ecx, [ebp - 0x3c]
push ecx
push eax
push dword [ebp + 0x58]
call fcn.01001315
test al, al
jne 0x1001ac3
push dword [edi + esi*4]
push 0x2714
jmp 0x1001b7a
movsx ecx, byte [eax + 1]
cmp ecx, 0x67
jg 0x1001a1a
je 0x100194f
sub ecx, 0x34
je 0x1001936
dec ecx
dec ecx
je 0x1001931
sub ecx, 9
je 0x1001af6
sub ecx, 0x11
je 0x1001911
dec ecx
dec ecx
je 0x10018f1
dec ecx
dec ecx
jne 0x1001b19
push eax
push 2
lea eax, [ebp + 0x58]
push eax
call fcn.0100176b
test al, al
je 0x1001b84
mov byte [0x1004224], 1
jmp 0x1001ac3
push eax
push 2
lea eax, [ebp + 0x58]
push eax
call fcn.0100176b
test al, al
je 0x1001b84
mov byte [0x1004225], 1
jmp 0x1001ac3
push eax
push 2
lea eax, [ebp + 0x58]
push eax
call fcn.0100176b
test al, al
je 0x1001b84
mov byte [0x1004226], 1
jmp 0x1001ac3
push eax
push 0x17
jmp 0x1001939
push eax
push 2
lea eax, [ebp + 0x58]
push eax
call fcn.0100176b
test al, al
je 0x1001b84
jmp 0x1001ac3
push eax
push 2
lea eax, [ebp + 0x58]
push eax
call fcn.0100176b
test al, al
je 0x1001b84
mov al, byte [ebp + 0x67]
movzx edi, al
mov byte [ebp + 0x6f], al
lea eax, [edi + 7]
cmp eax, 0x28
jg 0x1001aff
mov ebx, dword [ebp + 0x68]
mov eax, dword [ebp + 0x78]
lea esi, [edi + ebx]
mov byte [edi + ebx], 0x83
mov byte [esi + 1], 3
mov byte [esi + 2], 4
add byte [ebp + 0x67], 3
add eax, 0xfffffffe
cmp dword [ebp + 0x60], eax
jge 0x10019f6
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x48], eax
mov eax, dword [ebp + 0x50]
mov eax, dword [eax + 4]
cmp byte [eax], 0x2d
je 0x10019f6
lea eax, [edi + 7]
cmp eax, 0x28
jg 0x1001aff
mov eax, dword [ebp + 0x48]
inc dword [ebp + 0x60]
add eax, 4
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x50], eax
mov eax, dword [eax]
push eax
mov dword [ebp + 0x44], eax
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x1001b0f
movzx ecx, byte [esi + 1]
add ecx, edi
mov dword [ecx + ebx], eax
mov eax, dword [ebp + 0x78]
add byte [esi + 1], 4
add byte [ebp + 0x67], 4
add eax, 0xfffffffe
cmp dword [ebp + 0x60], eax
jl 0x100199f
mov al, byte [esi + 1]
mov edi, dword [ebp + 0x7c]
mov cl, al
add cl, byte [ebp + 0x6f]
add al, 4
mov byte [esi + 1], al
add byte [ebp + 0x67], 4
mov esi, dword [ebp + 0x60]
mov byte [ebp + 0x6f], cl
mov ebx, 0x1004228
jmp 0x1001ac3
sub ecx, 0x68
je 0x1001aa5
dec ecx
je 0x1001a77
sub ecx, 5
je 0x1001a6e
dec ecx
dec ecx
je 0x1001a5e
dec ecx
je 0x1001a4b
sub ecx, 6
jne 0x1001b19
push 0xffffffffffffffff
push 1
push esi
push dword [ebp + 0x78]
push edi
push section..data
jmp 0x1001ab5
push 0xff
push 1
push esi
push dword [ebp + 0x78]
push edi
push 0x1004008
jmp 0x1001ab5
push 0xffffffffffffffff
push 1
push esi
push dword [ebp + 0x78]
push edi
push 0x1004004
jmp 0x1001ab5
and byte [0x1004010], 0
jmp 0x1001ac3
push 0
push 0x401
lea ecx, [ebp - 0x89c]
push ecx
push 0x10042a8
inc esi
mov eax, dword [edi + esi*4]
push ebx
push eax
push dword [ebp + 0x58]
call fcn.01001315
test al, al
je 0x1001ac3
mov byte [0x10042ac], 1
jmp 0x1001ac3
push 0xff
push 1
push esi
push dword [ebp + 0x78]
lea eax, [ebp + 0x54]
push edi
push eax
call fcn.010012ab
test al, al
je 0x1001b84
inc esi
inc esi
cmp esi, dword [ebp + 0x78]
mov dword [ebp + 0x60], esi
jl 0x1001844
cmp byte [ebp + 0x5f], 0
jne 0x1001b39
push 0x2739
push 1
call fcn.0100308e
push 0x2713
push 1
call fcn.0100308e
add esp, 0x10
jmp 0x1001b84
push dword [edi]
push 0x2713
jmp 0x1001b7a
push 0x2737
push 1
call fcn.0100308e
pop ecx
pop ecx
jmp 0x1001b84
push dword [ebp + 0x44]
push 0x2736
jmp 0x1001b7a
push dword [edi + esi*4]
push 0x2738
push 1
call fcn.0100308e
push 0x2713
push 1
call fcn.0100308e
add esp, 0x14
jmp 0x1001b84
cmp byte [ebp + 0x6f], 0
je 0x1001b4c
movzx eax, byte [ebp + 0x6f]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 0x68]
mov dword [eax + edx], ecx
movsx eax, word [ebp - 0x3c]
cmp eax, 2
mov dword [ebp + 0x58], eax
jne 0x1001b5f
call sub.iphlpapi.dll_IcmpCreateFile
jmp 0x1001b64
call sub.iphlpapi.dll_Icmp6CreateFile
cmp eax, 0xffffffff
mov dword [0x1004220], eax
jne 0x1001b8c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x2715
push 1
call fcn.0100308e
add esp, 0xc
xor esi, esi
inc esi
jmp 0x1001fd2
push 2
xor edi, edi
push edi
push edi
push 0x2e
lea eax, [ebp - 0x6c]
push eax
push dword [ebp + 0x4c]
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.WS2_32.dll_getnameinfo]
cmp byte [ebp - 0x498], 0
push dword [ebp + 0x54]
lea eax, [ebp - 0x6c]
push eax
je 0x1001bcd
lea eax, [ebp - 0x498]
push eax
push 0x2716
push 1
call fcn.0100308e
add esp, 0x14
jmp 0x1001bdc
push 0x2733
push 1
call fcn.0100308e
add esp, 0x10
cmp byte [0x10042ac], 0
jne 0x1001e38
movsx eax, word [ebp - 0x3c]
push edi
push 3
push eax
call dword [sym.imp.WS2_32.dll_socket]
push edi
push edi
mov esi, eax
lea eax, [ebp + 0x4c]
push eax
mov eax, 0x80
push eax
push ebx
push eax
lea eax, [ebp - 0x3c]
push eax
push 0xc8000014
push esi
call dword [sym.imp.WS2_32.dll_WSAIoctl]
mov eax, dword [ebp + 0x4c]
push esi
mov dword [0x10042a8], eax
call dword [sym.imp.WS2_32.dll_closesocket]
push edi
push 0x2717
push 1
call fcn.0100308e
xor eax, eax
mov al, byte [0x1004010]
add esp, 0xc
push eax
push dword [0x10042a8]
push ebx
call fcn.0100119c
push 0x273c
push 1
call fcn.0100308e
jmp 0x1001e36
cmp byte [ebp + 0x64], 0
je 0x1001f37
push eax
push 0x2717
push 1
call fcn.0100308e
add esp, 0xc
xor ebx, ebx
mov dword [ebp + 0x60], ebx
jmp 0x1001c7e
xor ebx, ebx
cmp dword [ebp + 0x58], 2
push dword [section..data]
lea eax, [ebp + 0x64]
push 0x70
jne 0x1001d08
mov esi, 0x100dc40
push esi
push eax
push 0x40
push 0x10042e0
push dword [ebp - 0x38]
push ebx
push ebx
push ebx
push dword [0x1004220]
call sub.iphlpapi.dll_IcmpSendEcho2
test eax, eax
jne 0x1001cbe
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor esi, esi
jmp 0x1001cc4
mov edi, dword [0x100dc44]
cmp edi, ebx
je 0x1001e4a
cmp edi, 0x2b05
je 0x1001d9a
cmp edi, 0x2b02
je 0x1001d5f
cmp edi, 0x2af8
jb 0x1001d7b
cmp esi, ebx
je 0x1001f0b
xor eax, eax
mov al, byte [0x1004010]
push eax
push dword [esi]
call fcn.01001246
jmp 0x1001efd
push 0x100dc40
push eax
push 0x40
push 0x10042e0
lea eax, [ebp - 0x3c]
push eax
push 0x1004228
push ebx
push ebx
push ebx
push dword [0x1004220]
call sub.iphlpapi.dll_Icmp6SendEcho2
test eax, eax
jne 0x1001d3c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor ebx, ebx
jmp 0x1001d47
mov edi, dword [0x100dc5c]
mov ebx, 0x100dc40
test edi, edi
je 0x1001e94
cmp edi, 0x2b05
je 0x1001dc4
cmp edi, 0x2b02
jne 0x1001d6f
push 0x273b
push 1
call fcn.0100308e
pop ecx
pop ecx
jmp 0x1001d8b
cmp edi, 0x2af8
jae 0x1001ee8
push edi
push 0x271a
push 1
call fcn.0100308e
add esp, 0xc
inc dword [ebp + 0x60]
cmp dword [ebp + 0x60], 3
jl 0x1001c7c
jmp 0x1001dfa
movzx edx, byte [ebp + 0x64]
imul edx, edx, 0x98
push 0x26
xor eax, eax
pop ecx
lea edi, [edx + 0x10044c0]
rep stosd dword es:[edi], eax
mov eax, dword [esi]
mov word [edx + 0x10044c8], 2
mov dword [edx + 0x10044cc], eax
jmp 0x1001dfa
movzx edx, byte [ebp + 0x64]
imul edx, edx, 0x98
push 0x26
xor eax, eax
pop ecx
lea edi, [edx + 0x10044c0]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x16]
mov word [edx + 0x10044c8], 0x17
lea esi, [ebx + 6]
lea edi, [edx + 0x10044d0]
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 [edx + 0x10044e0], eax
cmp dword [ebp + 0x60], 3
je 0x1001f37
xor eax, eax
mov al, byte [0x1004010]
push eax
movzx eax, byte [ebp + 0x64]
push dword [0x10042a8]
imul eax, eax, 0x98
add eax, 0x10044c8
push eax
call fcn.0100119c
push 0x273c
push 1
call fcn.0100308e
inc byte [ebp + 0x64]
pop ecx
pop ecx
movzx eax, byte [ebp + 0x64]
cmp eax, dword [ebp + 0x54]
jbe 0x1001c5b
jmp 0x1001f37
xor eax, eax
mov al, byte [0x1004010]
push eax
push dword [esi]
call fcn.01001246
push 0x273c
push 1
call fcn.0100308e
movzx edx, byte [ebp + 0x64]
imul edx, edx, 0x98
pop ecx
pop ecx
push 0x26
xor eax, eax
pop ecx
lea edi, [edx + 0x10044c0]
rep stosd dword es:[edi], eax
mov eax, dword [esi]
mov word [edx + 0x10044c8], 2
mov dword [edx + 0x10044cc], eax
jmp 0x1001f37
xor eax, eax
mov al, byte [0x1004010]
lea esi, [ebx + 6]
push eax
push esi
call fcn.01001275
push 0x273c
push 1
call fcn.0100308e
movzx edx, byte [ebp + 0x64]
imul edx, edx, 0x98
pop ecx
pop ecx
push 0x26
xor eax, eax
pop ecx
lea edi, [edx + 0x10044c0]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x16]
mov word [edx + 0x10044c8], 0x17
lea edi, [edx + 0x10044d0]
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 [edx + 0x10044e0], eax
jmp 0x1001f37
test ebx, ebx
je 0x1001f0b
xor eax, eax
mov al, byte [0x1004010]
add ebx, 6
push eax
push ebx
call fcn.01001275
push 0x2719
push 1
call fcn.0100308e
pop ecx
pop ecx
mov eax, dword [0x1004018]
xor ecx, ecx
jmp 0x1001f23
cmp eax, 0x2b2a
je 0x1001f27
mov eax, dword [ecx*8 + 0x1004020]
inc ecx
cmp eax, edi
jne 0x1001f14
push dword [ecx*8 + 0x100401c]
push 1
call fcn.0100308e
pop ecx
pop ecx
cmp byte [0x1004224], 0
je 0x1001f4d
movzx eax, byte [ebp + 0x64]
push eax
push dword [ebp - 0x38]
call fcn.01002239
cmp byte [0x1004225], 0
je 0x1001f62
movzx eax, byte [ebp + 0x64]
push eax
push 1
call fcn.0100261f
cmp byte [0x1004226], 0
je 0x1001f79
movzx eax, byte [ebp + 0x64]
push 1
push eax
push 1
call fcn.010029a4
movzx eax, byte [ebp + 0x64]
imul eax, dword [0x1004008]
imul eax, dword [0x1004004]
xor edx, edx
mov ecx, 0x3e8
div ecx
push eax
push 0x2743
push 1
call fcn.0100308e
add esp, 0xc
lea eax, [ebp + 0x64]
push eax
call fcn.010014df
movzx eax, byte [ebp + 0x64]
push eax
call fcn.0100161d
push 0x271b
push 1
call fcn.0100308e
pop ecx
pop ecx
push dword [0x1004220]
call sub.iphlpapi.dll_IcmpCloseHandle
xor esi, esi
call dword [sym.imp.WS2_32.dll_WSACleanup]
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret