Function at 0x14000f860
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x218
mov rdi, qword [rsp + 0x280]
lea r14, [rcx + 0xba8]
mov rbx, rcx
mov esi, edx
mov rbp, r8
mov rcx, r14
mov r13, r9
call dbg.massip_has_ipv4_targets
mov rcx, r14
test eax, eax
sete al
movzx eax, al
mov dword [rsp + 0x5c], eax
call dbg.massip_has_ipv6_targets
mov dword [rsp + 0x60], eax
imul rax, rsi, 0x170
cmp byte [rbx + rax + 0x20], 0
lea r12, [rbx + rax + 0x20]
je 0x14000ff50
imul r15, rsi, 0x170
mov r8, r12
mov ecx, 1
lea rdx, str.___interface___s_n
call dbg.LOG
movzx eax, byte [rbx + 0xce4]
movzx r9d, byte [rbx + 0x1054]
add r15, rbx
mov ecx, dword [r15 + 0x188]
mov r8d, eax
mov edx, eax
shr al, 4
and eax, 1
shr r8b, 1
and edx, 1
and r9d, 1
mov dword [rsp + 0x38], ecx
movzx ecx, byte [r15 + 0x18c]
and r8d, 1
and ecx, 1
mov dword [rsp + 0x30], ecx
mov rcx, qword [rbx + 0x1618]
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], rcx
mov rcx, r12
call dbg.rawsock_init_adapter
mov qword [r15 + 0x120], rax
test rax, rax
je 0x140010314
mov r8d, dword [rax + 0x28]
lea rdx, str.___interface_type___u_n
mov ecx, 1
mov dword [r15 + 0x180], r8d
call dbg.LOG
mov rcx, qword [r15 + 0x120]
mov rdx, r12
call dbg.rawsock_ignore_transmits
mov eax, dword [r15 + 0x180]
test eax, eax
je 0x14000ff30
cmp eax, 0xc
je 0x14000ff30
mov edx, dword [r15 + 0x168]
mov dword [rbp], edx
movzx eax, word [r15 + 0x16c]
mov word [rbp + 4], ax
cmp byte [r15 + 0x184], 0
jne 0x14000fa40
movzx eax, byte [rbp + 1]
or al, byte [rbp]
or al, byte [rbp + 2]
or al, byte [rbp + 3]
or al, byte [rbp + 4]
or al, byte [rbp + 5]
jne 0x14000fa40
mov rdx, rbp
mov rcx, r12
call dbg.rawsock_get_adapter_mac
movzx eax, byte [rbp + 1]
or al, byte [rbp]
or al, byte [rbp + 2]
or al, byte [rbp + 3]
or al, byte [rbp + 4]
or al, byte [rbp + 5]
jne 0x14000fa40
mov rbx, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ecx, 2
call rbx
mov r8, r12
lea rdx, str.____FAIL:_failed_to_detect_MAC_address_of_interface:___s__n
mov rcx, rax
call sym.fprintf_1
mov ecx, 2
call rbx
mov r8d, 0x3c
mov edx, 1
lea rcx, str.__hint__try_something_like____source_mac_00_11_22_33_44_55__n
mov r9, rax
call sym.fwrite
nop dword [rax]
mov eax, 0xffffffff
jmp 0x14000ff12
mov eax, dword [rbp]
lea r8, [rsp + 0x90]
lea rcx, [rsp + 0xa0]
mov rdx, r8
mov dword [rsp + 0x90], eax
movzx eax, word [rbp + 4]
mov word [rsp + 0x94], ax
call dbg.macaddress_fmt
lea r8, [rsp + 0xe0]
mov ecx, 1
movdqu xmm1, xmmword [rsp + 0xa0]
movdqu xmm2, xmmword [rsp + 0xb0]
lea rdx, [0x14005cc35]
movdqu xmm3, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0x100], xmm3
call dbg.LOG
mov rcx, r14
call dbg.massip_has_ipv4_targets
test eax, eax
je 0x14000fbd0
imul rdx, rsi, 0x170
lea r15, [rbx + rdx]
mov qword [rsp + 0x40], rdx
mov r10d, dword [r15 + 0x128]
test r10d, r10d
je 0x14000fe30
mov dword [rsp + 0x5c], 1
mov edx, r10d
lea rcx, [rsp + 0xa0]
mov dword [rsp + 0x68], r10d
lea r15, [rsp + 0xe0]
mov qword [rsp + 0x40], rcx
call dbg.ipv4address_fmt
lea rdx, str.___source_ip___s_n
mov r8, r15
movdqu xmm1, xmmword [rsp + 0xa0]
movdqu xmm2, xmmword [rsp + 0xb0]
mov ecx, 1
movdqu xmm3, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0x100], xmm3
call dbg.LOG
imul r11, rsi, 0x170
mov r10d, dword [rsp + 0x68]
add r11, rbx
mov edx, dword [r11 + 0x16e]
mov dword [r13], edx
movzx eax, word [r11 + 0x172]
mov word [r13 + 4], ax
test byte [rbx + 0xce4], 0x10
jne 0x14000feb0
mov eax, dword [r11 + 0x180]
test eax, eax
je 0x14000ffb0
cmp eax, 0xc
je 0x14000ffb0
movzx eax, byte [r13]
or al, byte [r13 + 1]
mov dword [rsp + 0x68], r10d
or al, byte [r13 + 2]
or al, byte [r13 + 3]
or al, byte [r13 + 4]
or al, byte [r13 + 5]
je 0x1400100a8
nop dword [rax + rax]
mov rcx, r14
call dbg.massip_has_ipv6_targets
test eax, eax
je 0x14000fed2
imul r8, rsi, 0x170
lea r13, [rsp + 0x80]
lea r15, [rbx + r8 + 0x130]
movdqu xmm4, xmmword [r15 + 0x10]
lea r9, [r15 + 0x10]
movaps xmmword [rsp + 0x40], xmm4
movdqa xmm0, xmmword [rsp + 0x40]
psrldq xmm0, 8
por xmm0, xmm4
movq rax, xmm0
test rax, rax
je 0x14000ffd0
mov r9, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov rdx, r13
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x40], rcx
lea r15, [rsp + 0xe0]
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x80], r14
call dbg.ipv6address_fmt
lea rdx, str.___source_ip____s__n
mov r8, r15
movdqu xmm4, xmmword [rsp + 0xa0]
movdqu xmm5, xmmword [rsp + 0xb0]
mov ecx, 1
movaps xmmword [rsp + 0xe0], xmm4
movdqu xmm4, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xf0], xmm5
movaps xmmword [rsp + 0x100], xmm4
call dbg.LOG
lea rax, [rsi + 1]
mov r9, qword [rsp + 0x60]
imul rax, rax, 0x170
add rax, rbx
mov edx, dword [rax + 4]
mov dword [rdi], edx
movzx eax, word [rax + 8]
mov word [rdi + 4], ax
test byte [rbx + 0xce4], 0x10
jne 0x140010300
movzx eax, byte [rdi]
or al, byte [rdi + 1]
lea r8, [rsp + 0x90]
or al, byte [rdi + 2]
or al, byte [rdi + 3]
or al, byte [rdi + 4]
or al, byte [rdi + 5]
jne 0x14000fd39
mov eax, dword [rbp]
mov qword [rsp + 0x88], r9
mov rdx, r13
mov r9, rdi
mov qword [rsp + 0x60], r8
mov dword [rsp + 0x90], eax
movzx eax, word [rbp + 4]
mov qword [rsp + 0x80], r14
mov word [rsp + 0x94], ax
imul rax, rsi, 0x170
mov rcx, qword [rbx + rax + 0x120]
call dbg.stack_ndpv6_resolve
mov r8, qword [rsp + 0x60]
mov eax, dword [rdi]
mov r14, qword [rsp + 0x40]
mov rdx, r8
mov dword [rsp + 0x90], eax
movzx eax, word [rdi + 4]
mov rcx, r14
mov word [rsp + 0x94], ax
call dbg.macaddress_fmt
mov r8, r15
mov ecx, 1
movdqu xmm5, xmmword [rsp + 0xa0]
movdqu xmm1, xmmword [rsp + 0xb0]
lea rdx, [0x14005d00b]
movdqu xmm2, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xe0], xmm5
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0x100], xmm2
call dbg.LOG
movzx eax, byte [rdi]
or al, byte [rdi + 1]
or al, byte [rdi + 2]
or al, byte [rdi + 3]
or al, byte [rdi + 4]
or al, byte [rdi + 5]
jne 0x14000ffa0
lea rax, [rsi + 1]
mov rcx, r14
imul rax, rax, 0x170
mov edx, dword [rbx + rax + 0xc]
call dbg.ipv4address_fmt
mov r9, r15
mov r8, r12
xor ecx, ecx
movdqu xmm5, xmmword [rsp + 0xa0]
lea rdx, str.____FAIL:_NDP_timed_out_resolving_MAC_address_for_router__s:___s__n
movaps xmmword [rsp + 0xe0], xmm5
movdqu xmm5, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0xf0], xmm5
movdqu xmm5, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x100], xmm5
call dbg.LOG
lea rdx, str._____hint__try____router_mac_ipv6_66_55_44_33_22_11__instead_to_bypass_ARP_n
jmp 0x1400102e2
mov rcx, r12
call dbg.rawsock_get_adapter_ip
mov rdx, qword [rsp + 0x40]
movd xmm3, eax
mov r10d, eax
pshufd xmm0, xmm3, 0xe0
movq qword [rbx + rdx + 0x128], xmm0
mov dword [r15 + 0x130], 1
test eax, eax
jne 0x14000faea
mov r8, r12
xor ecx, ecx
lea rdx, str.____FAIL:_failed_to_detect_IP_of_interface___s__n
mov dword [rsp + 0x40], eax
call dbg.LOG
xor ecx, ecx
lea rdx, str._____hint__did_you_spell_the_name_correctly__n
call dbg.LOG
xor ecx, ecx
lea rdx, str._____hint__if_it_has_no_IP_address__manually_set_with_something_like____source_ip_198.51.100.17__n
call dbg.LOG
mov rcx, r14
call dbg.massip_has_ipv4_targets
mov r10d, dword [rsp + 0x40]
test eax, eax
je 0x14000faf2
jmp 0x14000fa30
mov ecx, 0x1122
mov dword [r13], 0x33445566
mov word [r13 + 4], cx
mov rcx, r14
call dbg.massip_has_ipv6_targets
test eax, eax
jne 0x14000fbe0
mov eax, dword [rsp + 0x60]
test eax, eax
sete dl
imul rsi, rsi, 0x170
and dl, byte [rsp + 0x5c]
mov r8, r12
add edx, edx
lea rcx, [rbx + rsi + 0x180]
movzx eax, byte [rcx + 0xc]
and eax, 0xfffffffd
or eax, edx
lea rdx, str.___if__s_:_initialization_done._n
mov byte [rcx + 0xc], al
mov ecx, 2
call dbg.LOG
xor eax, eax
add rsp, 0x218
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x14005cc30]
lea rdx, [0x14005cc35]
mov ecx, 1
call dbg.LOG
jmp 0x14000faba
lea r12, [rsp + 0x110]
mov edx, 0x100
mov byte [rsp + 0x110], 0
mov rcx, r12
call dbg.rawsock_get_default_interface
test eax, eax
jne 0x14000ff7f
cmp byte [rsp + 0x110], 0
jne 0x14000f8c4
xor ecx, ecx
lea rdx, str.____FAIL:_could_not_determine_default_interface_n
call dbg.LOG
lea rdx, str._____hint__try____interface_ethX__n
xor ecx, ecx
call dbg.LOG
jmp 0x14000fa30
mov edx, 1
jmp 0x14000fedb
lea r8, str.implicit
lea rdx, [0x14005cdb7]
mov ecx, 1
call dbg.LOG
jmp 0x14000fbd0
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x60], r9
call sym.rawsock_get_adapter_ipv6
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
mov r14, qword [rsp + 0x80]
movq xmm3, r14
movhps xmm3, qword [rsp + 0x88]
movaps xmmword [rsp + 0x40], xmm3
movdqa xmm0, xmmword [rsp + 0x40]
movups xmmword [r15 + 0x10], xmm3
psrldq xmm0, 8
movups xmmword [r9 + 0x10], xmm3
mov dword [rbx + r8 + 0x160], 1
por xmm0, xmm3
movq rax, xmm0
test rax, rax
jne 0x14000fc23
mov rbx, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ecx, 2
call rbx
mov r8, r12
lea rdx, str.____FAIL:_failed_to_detect_IPv6_address_of_interface___s__n
mov rcx, rax
call sym.fprintf_1
mov ecx, 2
call rbx
mov r8d, 0x2d
mov edx, 1
lea rcx, str._____hint__did_you_spell_the_name_correctly__n
mov r9, rax
call sym.fwrite
mov ecx, 2
call rbx
mov r8d, 0x62
mov edx, 1
lea rcx, str._____hint__if_it_has_no_IP_address__manually_set_with_something_like____source_ip_2001:3b8::1234__n
mov r9, rax
call sym.fwrite
jmp 0x14000fa30
mov eax, dword [r11 + 0x17c]
lea rdx, str.___if__s_:_looking_for_default_gateway_n
mov r8, r12
mov ecx, 2
mov qword [rsp + 0x70], r11
mov dword [rsp + 0xdc], eax
call dbg.LOG
mov r11, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x68]
mov edx, dword [rsp + 0xdc]
test edx, edx
jne 0x14001011f
lea rdx, [rsp + 0xdc]
mov rcx, r12
mov qword [rsp + 0x68], r11
mov dword [rsp + 0x70], r10d
call dbg.rawsock_get_default_gateway
mov r11, qword [rsp + 0x68]
lea r8, [rsp + 0x90]
test eax, eax
jne 0x1400101e0
mov edx, dword [rsp + 0xdc]
mov r10d, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x78], r11
mov dword [rsp + 0x70], r10d
call dbg.ipv4address_fmt
mov r8, r15
mov ecx, 1
movdqu xmm5, xmmword [rsp + 0xa0]
movdqu xmm2, xmmword [rsp + 0xb0]
lea rdx, [0x14005ce01]
movdqu xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xe0], xmm5
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0x100], xmm1
call dbg.LOG
mov r8, r12
mov ecx, 2
lea rdx, str.___if__s_:arp:_resolving_IPv4_address_n
call dbg.LOG
mov eax, dword [rbp]
mov r9d, dword [rsp + 0xdc]
lea r8, [rsp + 0x90]
mov edx, dword [rsp + 0x70]
mov qword [rsp + 0x68], r8
mov dword [rsp + 0x90], eax
movzx eax, word [rbp + 4]
mov word [rsp + 0x94], ax
imul rax, rsi, 0x170
mov rcx, qword [rbx + rax + 0x120]
mov qword [rsp + 0x20], r13
call dbg.stack_arp_resolve
mov r11, qword [rsp + 0x78]
mov r8, qword [rsp + 0x68]
mov eax, dword [r13]
mov rcx, qword [rsp + 0x40]
mov rdx, r8
mov qword [rsp + 0x68], r11
mov dword [rsp + 0x90], eax
movzx eax, word [r13 + 4]
mov word [rsp + 0x94], ax
call dbg.macaddress_fmt
mov r8, r15
mov ecx, 1
movdqu xmm2, xmmword [rsp + 0xa0]
movdqu xmm4, xmmword [rsp + 0xc0]
lea rdx, [0x14005cdb7]
movaps xmmword [rsp + 0xe0], xmm2
movdqu xmm2, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x100], xmm4
movaps xmmword [rsp + 0xf0], xmm2
call dbg.LOG
movzx eax, byte [r13]
or al, byte [r13 + 1]
or al, byte [r13 + 2]
or al, byte [r13 + 3]
or al, byte [r13 + 4]
or al, byte [r13 + 5]
jne 0x14000fbd0
mov r11, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov edx, dword [r11 + 0x17c]
call dbg.ipv4address_fmt
mov r9, r15
mov r8, r12
xor ecx, ecx
movdqu xmm4, xmmword [rsp + 0xa0]
lea rdx, str.____FAIL:_ARP_timed_out_resolving_MAC_address_for_router__s:___s__n
movdqu xmm5, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xe0], xmm4
movdqu xmm4, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x100], xmm5
movaps xmmword [rsp + 0xf0], xmm4
call dbg.LOG
lea rdx, str._____hint__try____router_ip_192.0.2.1__to_specify_different_router_n
xor ecx, ecx
call dbg.LOG
lea rdx, str._____hint__try____router_mac_66_55_44_33_22_11__instead_to_bypass_ARP_n
xor ecx, ecx
call dbg.LOG
lea rdx, str._____hint__try____interface_eth0__to_change_interface_n
xor ecx, ecx
call dbg.LOG
jmp 0x14000fa30
mov edx, 0x1122
mov dword [rdi], 0x33445566
mov word [rdi + 4], dx
jmp 0x14000fcd3
mov r8, r12
lea rdx, str.____if:_s:init:_failed_n
xor ecx, ecx
call dbg.LOG
jmp 0x14000fa30