Function at 0x405e10
Capabilities:
Check os version
Send icmp echo request

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xe8
call dword [sym.imp.kernel32.dll_GetVersion]
mov ecx, dword [0x42b150]
test ecx, ecx
jne 0x405e34
cmp al, 5
jbe 0x406180
mov dword [ebp - 0xc8], 0x40cfd0
lea ebx, [ebp - 0xac]
xor edx, edx
xor eax, eax
mov dword [ebx + eax], edx
add eax, 4
cmp eax, 0x20
jb 0x405e48
mov eax, dword [sym.imp.ws2_32.dll_htonl]
mov dword [esp], 0x7f000001
mov esi, dword fs:[0x18]
mov dword [ebp - 0xb8], eax
call eax
lea ecx, [ebp - 0x8c]
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0x3c
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], 0xffffffff
call sub.iphlpapi.dll_IcmpSendEcho
mov esi, dword [esi + 0x34]
sub esp, 0x20
mov edi, eax
mov eax, 0x3d2
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x3d3
call fcn.00401820
mov eax, 1
cmp esi, 0x57
je 0x405f08
mov edx, dword [0x42b150]
test edx, edx
sete dl
xor eax, eax
cmp esi, 6
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_87__got__ld_n
mov esi, dword fs:[0x18]
call fcn.00402000
mov dword [esp], 0x7f000001
mov eax, dword [ebp - 0xb8]
call eax
lea ecx, [ebp - 0x8c]
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x3c
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
call sub.iphlpapi.dll_IcmpSendEcho2
mov esi, dword [esi + 0x34]
sub esp, 0x2c
mov edi, eax
mov eax, 0x3db
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho2_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x3dc
call fcn.00401820
mov eax, 1
cmp esi, 0x57
je 0x405fe3
mov eax, dword [0x42b150]
test eax, eax
sete dl
xor eax, eax
cmp esi, 6
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_87__got__ld_n
mov esi, dword fs:[0x18]
call fcn.00402000
call sub.iphlpapi.dll_IcmpCreateFile
mov edi, eax
mov dword [ebp - 0xb0], eax
mov eax, 0x3e1
call fcn.00401820
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.IcmpCreateFile_failed_unexpectedly_with_error__ld_n
mov dword [esp + 8], eax
xor eax, eax
cmp edi, 0xffffffff
setne al
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x8c]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], edi
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0x3c
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sub.iphlpapi.dll_IcmpSendEcho
mov esi, dword [esi + 0x34]
sub esp, 0x20
mov edi, eax
mov eax, 0x3e7
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x3e8
call fcn.00401820
mov eax, 1
cmp esi, 0x4be
je 0x4060d0
mov eax, dword [0x42b150]
test eax, eax
sete dl
xor eax, eax
cmp esi, 0x2b0a
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_1214__got__ld_n
mov edi, dword fs:[0x18]
call fcn.00402000
mov dword [esp], 0x7f000001
mov eax, dword [ebp - 0xb8]
call eax
lea ecx, [ebp - 0x8c]
mov dword [edi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [ebp - 0xb4], eax
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0x3c
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho
mov edi, dword [edi + 0x34]
sub esp, 0x20
mov esi, eax
test eax, eax
jne 0x406190
cmp edi, 5
jne 0x406190
mov eax, 0x3f8
call fcn.00401820
mov dword [esp], str.ICMP_is_not_available._n
call fcn.00401b20
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0xc8], 0x402020
jmp 0x405e3e
mov eax, 0x3fb
call fcn.00401820
mov dword [esp + 8], edi
mov dword [esp], esi
mov dword [esp + 4], str.IcmpSendEcho_failed_unexpectedly_with_error__ld_n
mov esi, dword fs:[0x18]
call fcn.00402000
lea eax, [ebp - 0x8c]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0x3c
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xb0]
mov dword [esp], ecx
call sub.iphlpapi.dll_IcmpSendEcho
mov edx, dword [esi + 0x34]
sub esp, 0x20
mov edi, eax
mov eax, 0x400
mov dword [ebp - 0xbc], edx
call fcn.00401820
mov edx, dword [ebp - 0xbc]
mov dword [esp], edi
mov dword [esp + 4], str.IcmpSendEcho_failed_unexpectedly_with_error__ld_n
mov dword [esp + 8], edx
call fcn.00402000
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0x3c
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xb0]
mov dword [esp], ecx
call sub.iphlpapi.dll_IcmpSendEcho
mov edx, dword [esi + 0x34]
sub esp, 0x20
mov edi, eax
mov eax, 0x405
mov dword [ebp - 0xbc], edx
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho_succeeded_unexpectedly_n
sete al
lea edi, [ebp - 0x8c]
mov dword [esp], eax
call fcn.00402000
mov eax, 0x406
call fcn.00401820
mov edx, dword [ebp - 0xbc]
xor eax, eax
mov dword [esp + 4], str.expected_87__got__ld_n
cmp edx, 0x57
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00402000
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xb0]
mov dword [esp], ecx
call sub.iphlpapi.dll_IcmpSendEcho
mov esi, dword [esi + 0x34]
sub esp, 0x20
mov edi, eax
mov eax, 0x40b
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x40c
call fcn.00401820
mov eax, 1
cmp esi, 0x57
je 0x40637c
mov eax, dword [0x42b150]
test eax, eax
sete dl
xor eax, eax
cmp esi, 0x7a
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_87__got__ld_n
mov esi, dword fs:[0x18]
call fcn.00402000
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho
mov esi, dword [esi + 0x34]
sub esp, 0x20
mov edi, eax
mov eax, 0x413
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x414
call fcn.00401820
mov eax, 1
cmp esi, 0x57
je 0x406433
mov eax, dword [0x42b150]
test eax, eax
sete dl
xor eax, eax
cmp esi, 0x7a
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_87__got__ld_n
mov esi, dword fs:[0x18]
call fcn.00402000
lea eax, [ebp - 0x8c]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0x3b
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho
mov esi, dword [esi + 0x34]
sub esp, 0x20
mov edi, eax
mov eax, 0x41c
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x41d
call fcn.00401820
mov eax, 1
cmp esi, 0x2b2a
je 0x4064f2
mov eax, dword [0x42b150]
test eax, eax
sete dl
xor eax, eax
cmp esi, 0x2af9
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_11050__got__ld_n
mov esi, dword fs:[0x18]
call fcn.00402000
lea eax, [ebp - 0x8c]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0x1c
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xb0]
mov dword [esp], ecx
call sub.iphlpapi.dll_IcmpSendEcho
mov edx, dword [esi + 0x34]
sub esp, 0x20
mov edi, eax
mov eax, 0x425
mov dword [ebp - 0xbc], edx
call fcn.00401820
mov edx, dword [ebp - 0xbc]
mov dword [esp], edi
lea edi, [ebp - 0x8c]
mov dword [esp + 4], str.IcmpSendEcho_failed_unexpectedly_with_error__ld_n
mov dword [esp + 8], edx
call fcn.00402000
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0x24
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 8
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xb0]
mov dword [esp], ecx
call sub.iphlpapi.dll_IcmpSendEcho
mov edx, dword [esi + 0x34]
sub esp, 0x20
mov edi, eax
mov eax, 0x42b
mov dword [ebp - 0xbc], edx
call fcn.00401820
mov edx, dword [ebp - 0xbc]
mov dword [esp], edi
lea edi, [ebp - 0x8c]
mov dword [esp + 4], str.IcmpSendEcho_failed_unexpectedly_with_error__ld_n
mov dword [esp + 8], edx
call fcn.00402000
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0x24
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 9
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xb0]
mov dword [esp], ecx
call sub.iphlpapi.dll_IcmpSendEcho
mov esi, dword [esi + 0x34]
sub esp, 0x20
mov edi, eax
mov eax, 0x431
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x432
call fcn.00401820
mov eax, 1
cmp esi, 0x2b2a
je 0x4066b0
mov edi, dword [0x42b150]
test edi, edi
sete dl
xor eax, eax
cmp esi, 0x2af9
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_11050__got__ld_n
mov esi, dword fs:[0x18]
call fcn.00402000
lea eax, [ebp - 0x8c]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0x23
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 8
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho
mov esi, dword [esi + 0x34]
sub esp, 0x20
mov edi, eax
mov eax, 0x439
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x43a
call fcn.00401820
mov eax, 1
cmp esi, 0x2b2a
je 0x406770
mov ecx, dword [0x42b150]
test ecx, ecx
sete dl
xor eax, eax
cmp esi, 0x2af9
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_11050__got__ld_n
mov esi, dword fs:[0x18]
call fcn.00402000
lea eax, [ebp - 0x8c]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x3c
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho
sub esp, 0x20
test eax, eax
je 0x408192
lea eax, [ebp - 0x8c]
mov esi, dword fs:[0x18]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0x3c
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho
sub esp, 0x20
test eax, eax
je 0x408164
mov edi, dword fs:[0x18]
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp], 0x7f000001
mov eax, dword [ebp - 0xb8]
call eax
sub esp, 4
mov esi, eax
lea eax, [ebp - 0x8c]
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x18], 0x3c
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho
mov edi, dword [edi + 0x34]
sub esp, 0x20
test eax, eax
je 0x4081c0
cmp dword [0x412068], 1
jle 0x4069bd
mov eax, 0x456
call fcn.00401820
mov eax, esi
call fcn.00401340
mov dword [esp], str.send_addr__:__s_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x457
call fcn.00401820
mov eax, dword [ebp - 0x8c]
call fcn.00401340
mov dword [esp], str.reply_addr_:__s_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x458
call fcn.00401820
mov dword [esp + 4], 0x3c
mov dword [esp], str.reply_size_:__lu_n
call fcn.00401b30
mov eax, 0x459
call fcn.00401820
mov eax, dword [ebp - 0x84]
mov dword [esp], str.roundtrip__:__lu_ms_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x45a
call fcn.00401820
mov eax, dword [ebp - 0x88]
mov dword [esp], str.status_____:__lu_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x45b
call fcn.00401820
movzx eax, word [ebp - 0x80]
mov dword [esp], str.recv_size__:__u_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x45c
call fcn.00401820
movzx eax, byte [ebp - 0x78]
mov dword [esp], str.ttl________:__u_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x45d
call fcn.00401820
movzx eax, byte [ebp - 0x76]
mov dword [esp], str.flags______:_0x_x_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0xdeadbeef
mov dword [esp], 0x7f000001
mov eax, dword [ebp - 0xb8]
call eax
xor edx, edx
sub esp, 4
nop
mov byte [ebx + edx], dl
add edx, 1
cmp edx, 0x20
jne 0x4069e0
lea ecx, [ebp - 0x8c]
mov dword [esp + 0x1c], 0x3e8
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0x3c
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho
sub esp, 0x20
mov esi, eax
mov eax, dword fs:[0x18]
mov edi, dword [eax + 0x34]
mov eax, 0x467
call fcn.00401820
mov dword [esp], esi
mov dword [esp + 4], str.IcmpSendEcho_failed_unexpectedly_n
call fcn.00402000
mov eax, 0x468
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 0xc], edi
sete al
mov dword [esp + 8], 0
mov dword [esp], eax
mov dword [esp + 4], str.Expect_last_error:0x_08x__got:0x_08lx_n
call fcn.00402000
mov eax, 0x469
call fcn.00401820
mov eax, dword [ebp - 0x8c]
call fcn.00401340
mov edi, eax
mov eax, 0x7f000001
call fcn.00401340
mov esi, eax
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
mov eax, dword [sym.imp.ws2_32.dll_ntohl]
mov dword [ebp - 0xc4], eax
call eax
sub esp, 4
cmp eax, 0x7f000001
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Address_mismatch__expect:_s__got:__s_n
call fcn.00402000
mov eax, 0x46b
call fcn.00401820
mov eax, dword [ebp - 0x88]
mov dword [esp + 8], 0
mov dword [esp + 4], str.Expect_status:0x_08x__got:0x_08lx_n
test eax, eax
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x46c
call fcn.00401820
movzx edx, word [ebp - 0x80]
mov dword [esp + 4], str.Got_size:_d_n
cmp dx, 0x20
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x46d
call fcn.00401820
movzx eax, word [ebp - 0x80]
mov edx, 0x20
cmp ax, dx
cmova eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.Data_mismatch_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
xor edx, edx
xor eax, eax
mov dword [ebx + eax], edx
add eax, 4
cmp eax, 0x20
jb 0x406b87
lea eax, [ebp - 0x50]
mov esi, dword fs:[0x18]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x44
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
mov esi, dword [esi + 0x34]
sub esp, 0x2c
mov edi, eax
mov eax, 0x47a
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho2_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x47b
call fcn.00401820
mov eax, 1
cmp esi, 0x4be
je 0x406c51
mov edx, dword [0x42b150]
test edx, edx
sete dl
xor eax, eax
cmp esi, 0x2b0a
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp + 4], str.expected_1214__got__ld_n
mov dword [esp], eax
mov edi, dword fs:[0x18]
call fcn.00402000
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateEventW]
sub esp, 0x10
mov esi, eax
mov dword [ebp - 0xb4], eax
mov eax, 0x480
call fcn.00401820
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.CreateEventW_failed_unexpectedly_with_error__ld_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.00402000
lea eax, [ebp - 0x50]
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 4], esi
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x44
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
mov edi, dword [edi + 0x34]
sub esp, 0x2c
mov esi, eax
mov eax, 0x485
call fcn.00401820
xor eax, eax
test esi, esi
mov dword [esp + 4], str.IcmpSendEcho2_returned_success_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x486
call fcn.00401820
cmp edi, 0x4be
je 0x406df0
mov eax, dword [0x42b150]
test eax, eax
jne 0x4081df
cmp edi, 0x3e5
jne 0x408218
mov dword [esp + 8], 0x3e5
mov dword [esp + 4], str.Got_last_error:_0x_08lx_n
mov dword [esp], 1
call fcn.00402000
mov dword [esp + 8], 1
mov dword [esp + 4], 0x7d0
mov eax, dword [ebp - 0xb4]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_WaitForSingleObjectEx]
mov dword [ebp - 0xc0], eax
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x48c
call fcn.00401820
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.WaitForSingleObjectEx_failed_unexpectedly_with__lu_n
mov dword [esp], eax
call fcn.00402000
jmp 0x406e17
mov dword [esp + 8], 0x4be
mov dword [esp + 4], str.Got_last_error:_0x_08lx_n
mov dword [esp], 1
call fcn.00402000
mov eax, dword [sym.imp.kernel32.dll_WaitForSingleObjectEx]
mov dword [ebp - 0xc0], eax
mov dword [esp], 0x7f000001
mov eax, dword [ebp - 0xb8]
call eax
sub esp, 4
mov dword [ebp - 0xbc], eax
mov esi, dword fs:[0x18]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x44
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
mov esi, dword [esi + 0x34]
sub esp, 0x2c
mov edi, eax
mov eax, 0x493
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho2_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x494
call fcn.00401820
mov eax, 1
cmp esi, 0x57
je 0x406ee7
mov eax, dword [0x42b150]
test eax, eax
sete dl
xor eax, eax
cmp esi, 0x3e6
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_87__got__ld_n
mov esi, dword fs:[0x18]
call fcn.00402000
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x44
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov eax, dword [ebp - 0xbc]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
mov esi, dword [esi + 0x34]
sub esp, 0x2c
mov edi, eax
mov eax, 0x49b
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho2_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x49c
call fcn.00401820
mov eax, 1
cmp esi, 0x57
je 0x406fbb
mov eax, dword [0x42b150]
test eax, eax
sete dl
xor eax, eax
cmp esi, 0x3e6
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_87__got__ld_n
call fcn.00402000
mov eax, 0x49f
call fcn.00401820
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb4]
mov dword [esp], eax
mov eax, dword [ebp - 0xc0]
call eax
sub esp, 0xc
cmp eax, 0x102
sete al
mov dword [esp + 4], str.Event_was_unexpectedly_signalled._n
movzx eax, al
mov dword [esp], eax
mov esi, dword fs:[0x18]
call fcn.00402000
lea eax, [ebp - 0x50]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov eax, dword [ebp - 0xbc]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
mov esi, dword [esi + 0x34]
sub esp, 0x2c
mov edi, eax
mov eax, 0x4a4
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho2_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x4a5
call fcn.00401820
mov eax, 1
cmp esi, 0x57
je 0x4070d2
mov eax, dword [0x42b150]
test eax, eax
sete dl
xor eax, eax
cmp esi, 0x7a
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_87__got__ld_n
mov esi, dword fs:[0x18]
call fcn.00402000
lea eax, [ebp - 0x50]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov eax, dword [ebp - 0xbc]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
mov esi, dword [esi + 0x34]
sub esp, 0x2c
mov edi, eax
mov eax, 0x4ac
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho2_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x4ad
call fcn.00401820
mov eax, 1
cmp esi, 0x57
je 0x4071a2
mov eax, dword [0x42b150]
test eax, eax
sete dl
xor eax, eax
cmp esi, 0x7a
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_87__got__ld_n
call fcn.00402000
mov eax, 0x4b0
call fcn.00401820
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb4]
mov dword [esp], eax
mov eax, dword [ebp - 0xc0]
call eax
sub esp, 0xc
cmp eax, 0x102
sete al
mov dword [esp + 4], str.Event_was_unexpectedly_signalled._n
movzx eax, al
mov dword [esp], eax
mov esi, dword fs:[0x18]
call fcn.00402000
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov eax, dword [ebp - 0xbc]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
mov esi, dword [esi + 0x34]
sub esp, 0x2c
mov edi, eax
mov eax, 0x4b5
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho2_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x4b6
call fcn.00401820
mov eax, 1
cmp esi, 0x57
je 0x4072bb
mov edi, dword [0x42b150]
test edi, edi
sete dl
xor eax, eax
cmp esi, 0x7a
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_87__got__ld_n
mov esi, dword fs:[0x18]
call fcn.00402000
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov eax, dword [ebp - 0xbc]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
mov esi, dword [esi + 0x34]
sub esp, 0x2c
mov edi, eax
mov eax, 0x4bd
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho2_succeeded_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x4be
call fcn.00401820
mov eax, 1
cmp esi, 0x57
je 0x40738d
mov ecx, dword [0x42b150]
test ecx, ecx
sete dl
xor eax, eax
cmp esi, 0x7a
sete al
and eax, edx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_87__got__ld_n
call fcn.00402000
mov eax, 0x4c1
call fcn.00401820
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb4]
mov dword [esp], eax
mov eax, dword [ebp - 0xc0]
call eax
sub esp, 0xc
cmp eax, 0x102
sete al
mov dword [esp + 4], str.Event_was_unexpectedly_signalled._n
movzx eax, al
mov dword [esp], eax
mov esi, dword fs:[0x18]
call fcn.00402000
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], 0x7f000001
mov eax, dword [ebp - 0xb8]
call eax
sub esp, 4
mov edi, eax
lea eax, [ebp - 0x50]
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x24
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
sub esp, 0x2c
mov dword [ebp - 0xbc], eax
mov eax, 0x4c8
call fcn.00401820
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.IcmpSendEcho2_failed_unexpectedly_with_error__ld_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xbc]
mov dword [esp], edx
call fcn.00402000
lea ecx, [ebp - 0x50]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x24
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
sub esp, 0x2c
mov dword [ebp - 0xbc], eax
mov eax, 0x4cc
call fcn.00401820
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.IcmpSendEcho2_failed_unexpectedly_with_error__ld_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xbc]
mov dword [esp], edx
call fcn.00402000
lea ecx, [ebp - 0x50]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x24
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
sub esp, 0x2c
mov dword [ebp - 0xbc], eax
mov eax, 0x4d0
call fcn.00401820
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.IcmpSendEcho2_failed_unexpectedly_with_error__ld_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xbc]
mov dword [esp], edx
call fcn.00402000
lea ecx, [ebp - 0x50]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x2c
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 8
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
sub esp, 0x2c
mov dword [ebp - 0xbc], eax
mov eax, 0x4d5
call fcn.00401820
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.IcmpSendEcho2_failed_unexpectedly_with_error__ld_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xbc]
mov dword [esp], edx
call fcn.00402000
lea ecx, [ebp - 0x50]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x44
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
sub esp, 0x2c
test eax, eax
je 0x408142
cmp dword [0x412068], 1
jle 0x4077a2
mov eax, 0x4e2
call fcn.00401820
mov eax, edi
call fcn.00401340
mov dword [esp], str.send_addr__:__s_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x4e3
call fcn.00401820
mov eax, dword [ebp - 0x50]
call fcn.00401340
mov dword [esp], str.reply_addr_:__s_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x4e4
call fcn.00401820
mov dword [esp + 4], 0x44
mov dword [esp], str.reply_size_:__lu_n
call fcn.00401b30
mov eax, 0x4e5
call fcn.00401820
mov eax, dword [ebp - 0x48]
mov dword [esp], str.roundtrip__:__lu_ms_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x4e6
call fcn.00401820
mov eax, dword [ebp - 0x4c]
mov dword [esp], str.status_____:__lu_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x4e7
call fcn.00401820
movzx eax, word [ebp - 0x44]
mov dword [esp], str.recv_size__:__u_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x4e8
call fcn.00401820
movzx eax, byte [ebp - 0x3c]
mov dword [esp], str.ttl________:__u_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x4e9
call fcn.00401820
movzx eax, byte [ebp - 0x3a]
mov dword [esp], str.flags______:_0x_x_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0xdeadbeef
xor eax, eax
lea esi, [esi]
mov byte [ebx + eax], al
add eax, 1
cmp eax, 0x20
jne 0x4077b8
lea eax, [ebp - 0x50]
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x44
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
sub esp, 0x2c
mov esi, eax
mov eax, 0x4f1
mov edx, dword fs:[0x18]
mov edi, dword [edx + 0x34]
mov dword [ebp - 0xbc], edx
call fcn.00401820
mov dword [esp], esi
mov dword [esp + 4], str.IcmpSendEcho2_failed_unexpectedly_n
call fcn.00402000
mov eax, 0x4f2
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 0xc], edi
sete al
mov dword [esp + 8], 0
mov dword [esp], eax
mov dword [esp + 4], str.Expect_last_error:_0x_08x__got:_0x_08lx_n
call fcn.00402000
mov eax, 0x4f3
call fcn.00401820
mov eax, dword [ebp - 0x50]
call fcn.00401340
mov edi, eax
mov eax, 0x7f000001
call fcn.00401340
mov esi, eax
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
mov eax, dword [ebp - 0xc4]
call eax
sub esp, 4
cmp eax, 0x7f000001
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Address_mismatch__expect:__s__got:__s_n
call fcn.00402000
mov eax, 0x4f5
call fcn.00401820
mov eax, dword [ebp - 0x4c]
mov dword [esp + 8], 0
mov dword [esp + 4], str.Expect_status:_0x_08x__got:_0x_08lx_n
test eax, eax
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x4f6
call fcn.00401820
movzx ecx, word [ebp - 0x44]
mov dword [esp + 4], str.Got_size:__d_n
cmp cx, 0x20
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x4f7
call fcn.00401820
movzx eax, word [ebp - 0x44]
mov ecx, 0x20
cmp ax, cx
cmova eax, ecx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.Data_mismatch_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x34], 0xdeadbeef
mov dword [esp], 0x7f000001
mov eax, dword [ebp - 0xb8]
call eax
xor edx, edx
mov dword [ebp - 0xbc], eax
sub esp, 4
xor eax, eax
mov dword [ebx + eax], edx
add eax, 4
cmp eax, 0x20
jb 0x407992
lea eax, [ebp - 0x50]
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x44
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov eax, dword [ebp - 0xbc]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
sub esp, 0x2c
mov edx, dword fs:[0x18]
test eax, eax
mov edi, dword [edx + 0x34]
sete al
mov esi, eax
cmp edi, 0x3e5
je 0x407eeb
test al, al
je 0x407eeb
mov eax, 0x502
call fcn.00401820
mov dword [esp + 4], edi
mov dword [esp], str.Failed_to_ping_with_error__ld__is_lo_interface_down__n
call fcn.00401b20
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0xdeadbeef
xor eax, eax
lea esi, [esi]
nop
mov byte [ebx + eax], al
add eax, 1
cmp eax, 0x20
jne 0x407a50
lea eax, [ebp - 0x50]
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x44
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x14], ebx
mov eax, dword [ebp - 0xbc]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xb0]
mov dword [esp], ecx
call sub.iphlpapi.dll_IcmpSendEcho2
sub esp, 0x2c
mov esi, eax
mov eax, 0x521
mov edx, dword fs:[0x18]
mov edi, dword [edx + 0x34]
mov dword [ebp - 0xbc], edx
call fcn.00401820
xor eax, eax
test esi, esi
mov dword [esp + 4], str.IcmpSendEcho2_returned_success_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x522
call fcn.00401820
xor eax, eax
cmp edi, 0x3e5
mov dword [esp + 0xc], edi
sete al
mov dword [esp + 8], 0x3e5
mov dword [esp], eax
mov dword [esp + 4], str.Expect_last_error:_0x_08x__got:_0x_08lx_n
call fcn.00402000
mov dword [esp + 8], 1
mov dword [esp + 4], 0x7d0
mov eax, dword [ebp - 0xb4]
mov dword [esp], eax
mov ecx, dword [ebp - 0xc0]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x524
call fcn.00401820
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.WaitForSingleObjectEx_failed_unexpectedly_with__lu_n
mov dword [esp], eax
call fcn.00402000
mov eax, 0x526
call fcn.00401820
mov eax, dword [ebp - 0x50]
call fcn.00401340
mov edi, eax
mov eax, 0x7f000001
call fcn.00401340
mov esi, eax
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
mov ecx, dword [ebp - 0xc4]
call ecx
sub esp, 4
cmp eax, 0x7f000001
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
lea esi, [ebp - 0x34]
mov dword [esp], eax
mov dword [esp + 4], str.Address_mismatch__expect:__s__got:__s_n
call fcn.00402000
mov eax, 0x528
call fcn.00401820
mov eax, dword [ebp - 0x4c]
mov dword [esp + 8], 0
mov dword [esp + 4], str.Expect_status:_0x_08x__got:_0x_08lx_n
test eax, eax
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x529
call fcn.00401820
movzx ecx, word [ebp - 0x44]
mov dword [esp + 4], str.Got_size:__d_n
cmp cx, 0x20
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x52b
call fcn.00401820
movzx eax, word [ebp - 0x44]
mov ecx, 0x20
mov dword [esp + 4], esi
mov dword [esp], ebx
cmp ax, cx
cmova eax, ecx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.Data_mismatch_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov eax, dword [ebp - 0xb4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CloseHandle]
mov edx, dword [ebp - 0xbc]
sub esp, 4
mov dword [edx + 0x34], 0xdeadbeef
mov dword [esp], 0x7f000001
mov eax, dword [ebp - 0xb8]
call eax
lea ecx, [ebx - 1]
mov edi, eax
sub esp, 4
mov eax, ebx
lea esi, [esi]
nop
mov edx, ecx
sub edx, eax
add eax, 1
mov byte [eax - 1], dl
lea edx, [ebp - 0x8c]
cmp eax, edx
jne 0x407ca0
mov dword [0x42b0e0], 1
lea eax, [ebp - 0x50]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], 0x3e8
mov dword [esp + 0x24], 0x4e
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x20
mov dword [esp + 0xc], 0xdeadc0de
mov eax, dword [ebp - 0xc8]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpSendEcho2
mov edi, eax
sub esp, 0x2c
mov eax, dword fs:[0x18]
mov edx, dword [eax + 0x34]
mov eax, 0x53a
mov dword [ebp - 0xb4], edx
call fcn.00401820
xor eax, eax
test edi, edi
mov dword [esp + 4], str.IcmpSendEcho2_returned_success_unexpectedly_n
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x53b
call fcn.00401820
mov edx, dword [ebp - 0xb4]
xor eax, eax
mov dword [esp + 8], 0x3e5
mov dword [esp + 4], str.Expect_last_error:_0x_08x__got:_0x_08lx_n
cmp edx, 0x3e5
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.00402000
mov edi, dword [sym.imp.kernel32.dll_SleepEx]
mov dword [esp + 4], 1
mov dword [esp], 0xc8
call edi
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0
call edi
mov eax, 0x53e
sub esp, 8
call fcn.00401820
mov dword [esp + 4], str.APC_was_not_executed__n
xor eax, eax
mov edx, dword [0x42b0e0]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x540
call fcn.00401820
mov eax, dword [ebp - 0x50]
call fcn.00401340
mov dword [ebp - 0xb4], eax
mov eax, 0x7f000001
call fcn.00401340
mov edi, eax
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
mov ecx, dword [ebp - 0xc4]
call ecx
mov edx, dword [ebp - 0xb4]
sub esp, 4
cmp eax, 0x7f000001
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.Address_mismatch__expect:__s__got:__s_n
call fcn.00402000
mov eax, 0x542
call fcn.00401820
mov eax, dword [ebp - 0x4c]
mov dword [esp + 8], 0
mov dword [esp + 4], str.Expect_status:_0x_08x__got:_0x_08lx_n
test eax, eax
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x543
call fcn.00401820
movzx edx, word [ebp - 0x44]
mov dword [esp + 4], str.Got_size:__d_n
cmp dx, 0x20
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x545
call fcn.00401820
movzx eax, word [ebp - 0x44]
mov edx, 0x20
mov dword [esp + 4], esi
mov dword [esp], ebx
cmp ax, dx
cmova eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.Data_mismatch_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sub.iphlpapi.dll_IcmpCloseHandle
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x506
call fcn.00401820
mov eax, esi
mov dword [esp + 4], str.IcmpSendEcho2_returned_success_unexpectedly_n
movzx esi, al
mov dword [esp], esi
call fcn.00402000
mov eax, 0x507
call fcn.00401820
xor eax, eax
cmp edi, 0x3e5
mov dword [esp + 0xc], edi
sete al
mov dword [esp + 8], 0x3e5
mov dword [esp], eax
mov dword [esp + 4], str.Expect_last_error:_0x_08x__got:_0x_08lx_n
call fcn.00402000
mov dword [esp + 8], 1
mov dword [esp + 4], 0x7d0
mov eax, dword [ebp - 0xb4]
mov dword [esp], eax
mov eax, dword [ebp - 0xc0]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x509
call fcn.00401820
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.WaitForSingleObjectEx_failed_unexpectedly_with__lu_n
mov dword [esp], eax
call fcn.00402000
mov eax, 0x50b
call fcn.00401820
mov eax, dword [ebp - 0x50]
call fcn.00401340
mov edi, eax
mov eax, 0x7f000001
call fcn.00401340
mov esi, eax
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
mov eax, dword [ebp - 0xc4]
call eax
sub esp, 4
cmp eax, 0x7f000001
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Address_mismatch__expect:__s__got:__s_n
call fcn.00402000
mov eax, 0x50d
call fcn.00401820
mov eax, dword [ebp - 0x4c]
mov dword [esp + 8], 0
mov dword [esp + 4], str.Expect_status:_0x_08x__got:_0x_08lx_n
test eax, eax
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
mov eax, 0x50e
call fcn.00401820
movzx edx, word [ebp - 0x44]
mov dword [esp + 4], str.Got_size:__d_n
cmp dx, 0x20
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00402000
cmp dword [0x412068], 1
jle 0x407a3c
mov eax, 0x512
call fcn.00401820
mov eax, dword [ebp - 0xbc]
call fcn.00401340
mov dword [esp], str.send_addr__:__s_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x513
call fcn.00401820
mov eax, dword [ebp - 0x50]
call fcn.00401340
mov dword [esp], str.reply_addr_:__s_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x514
call fcn.00401820
mov dword [esp + 4], 0x44
mov dword [esp], str.reply_size_:__lu_n
call fcn.00401b30
mov eax, 0x515
call fcn.00401820
mov eax, dword [ebp - 0x48]
mov dword [esp], str.roundtrip__:__lu_ms_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x516
call fcn.00401820
mov eax, dword [ebp - 0x4c]
mov dword [esp], str.status_____:__lu_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x517
call fcn.00401820
movzx eax, word [ebp - 0x44]
mov dword [esp], str.recv_size__:__u_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x518
call fcn.00401820
movzx eax, byte [ebp - 0x3c]
mov dword [esp], str.ttl________:__u_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, 0x519
call fcn.00401820
movzx eax, byte [ebp - 0x3a]
mov dword [esp], str.flags______:_0x_x_n
mov dword [esp + 4], eax
call fcn.00401b30
jmp 0x407a3c
mov esi, dword [esi + 0x34]
mov eax, 0x4dd
call fcn.00401820
mov dword [esp], str.Failed_to_ping_with_error__ld__is_lo_interface_down__n
mov dword [esp + 4], esi
call fcn.00401b20
jmp 0x4077a2
mov esi, dword [esi + 0x34]
mov eax, 0x448
call fcn.00401820
xor eax, eax
mov dword [esp + 4], str.expected_87__got__ld_n
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp], eax
call fcn.00402000
jmp 0x406842
mov esi, dword [esi + 0x34]
mov eax, 0x443
call fcn.00401820
xor eax, eax
mov dword [esp + 4], str.expected_87__got__ld_n
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp], eax
call fcn.00402000
jmp 0x4067e3
mov eax, 0x451
call fcn.00401820
mov dword [esp + 4], edi
mov dword [esp], str.Failed_to_ping_with_error__ld__is_lo_interface_down_._n
call fcn.00401b20
jmp 0x4069bd
mov dword [esp + 8], edi
mov dword [esp + 4], str.Got_last_error:_0x_08lx_n
mov dword [esp], 0
call fcn.00402000
mov eax, dword [sym.imp.kernel32.dll_WaitForSingleObjectEx]
mov dword [ebp - 0xc0], eax
cmp edi, 0x3e5
jne 0x406e17
jmp 0x406d94
mov dword [esp + 8], edi
mov dword [esp + 4], str.Got_last_error:_0x_08lx_n
mov dword [esp], 0
call fcn.00402000
mov eax, dword [sym.imp.kernel32.dll_WaitForSingleObjectEx]
mov dword [ebp - 0xc0], eax
jmp 0x406e17