Function at 0x1400375b0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0xac0
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x1e4
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xae8]
mov rax, qword [0x14009f088]
xor rax, rbp
mov qword [rbp + 0xa80], rax
lea rcx, [0x1401a4a7c]
call fcn.14006b9e0
mov rcx, qword [rbp + 0xab8]
call fcn.140033a30
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0x10000
jb 0x140037648
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str._s:_bad_index_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov qword [rbp + 0x28], 0
jmp 0x14003765d
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
imul rax, qword [rbp + 0x28], 0x48
lea rcx, str.resume_index
cmp qword [rcx + rax], 0
je 0x140037773
imul rax, qword [rbp + 0x28], 0x48
lea rcx, str.resume_index
mov rdx, qword [rbp + 0xab8]
mov rcx, qword [rcx + rax]
call fcn.140033a90
test eax, eax
je 0x1400376d2
imul rax, qword [rbp + 0x28], 0x48
lea rcx, str.resume_index
mov qword [rbp + 0xa78], rcx
mov r8, qword [rbp + 0xac0]
mov rdx, qword [rbp + 0xab8]
mov rcx, qword [rbp + 0xab0]
mov r9, qword [rbp + 0xa78]
call qword [r9 + rax + reloc.WS2_32.dll_htonl]
jmp 0x14003a1ec
mov qword [rbp + 0x48], 0
jmp 0x1400376e7
mov rax, qword [rbp + 0x48]
inc rax
mov qword [rbp + 0x48], rax
imul rax, qword [rbp + 0x28], 0x48
lea rcx, str.resume_index
add rcx, rax
mov rax, rcx
mov rcx, qword [rbp + 0x48]
cmp qword [rax + rcx*8 + 0x18], 0
je 0x14003776e
imul rax, qword [rbp + 0x28], 0x48
lea rcx, str.resume_index
add rcx, rax
mov rax, rcx
mov rdx, qword [rbp + 0xab8]
mov rcx, qword [rbp + 0x48]
mov rcx, qword [rax + rcx*8 + 0x18]
call fcn.140033a90
test eax, eax
je 0x140037769
imul rax, qword [rbp + 0x28], 0x48
lea rcx, str.resume_index
mov qword [rbp + 0xa78], rcx
mov r8, qword [rbp + 0xac0]
mov rdx, qword [rbp + 0xab8]
mov rcx, qword [rbp + 0xab0]
mov r9, qword [rbp + 0xa78]
call qword [r9 + rax + reloc.WS2_32.dll_htonl]
jmp 0x14003a1ec
jmp 0x1400376dc
jmp 0x140037652
mov rdx, qword [rbp + 0xab8]
lea rcx, str.conf
call fcn.140033a90
test eax, eax
jne 0x1400377a1
mov rdx, qword [rbp + 0xab8]
lea rcx, str.config
call fcn.140033a90
test eax, eax
je 0x1400377b9
mov rdx, qword [rbp + 0xac0]
mov rcx, qword [rbp + 0xab0]
call fcn.1400372a0
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.adapter
call fcn.140033a90
test eax, eax
jne 0x140037802
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x140086b78]
call fcn.140033a90
test eax, eax
jne 0x140037802
mov rdx, qword [rbp + 0xab8]
lea rcx, str.interface
call fcn.140033a90
test eax, eax
je 0x1400378c6
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
lea rax, [rcx + rax + 0x20]
mov ecx, 1
imul rcx, rcx, 0
movsx eax, byte [rax + rcx]
test eax, eax
je 0x14003786a
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
lea rax, [rcx + rax + 0x20]
mov qword [rbp + 0xa78], rax
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov rcx, qword [rbp + 0xa78]
mov r8, rcx
lea rdx, str.CONF:_overwriting__adapter_s__n
mov rcx, rax
call fcn.140001b10
mov eax, dword [rbp + 4]
inc eax
mov rcx, qword [rbp + 0xab0]
cmp dword [rcx + 0xba0], eax
jae 0x140037890
mov eax, dword [rbp + 4]
inc eax
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0xba0], eax
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
lea rax, [rcx + rax + 0x20]
mov r9, qword [rbp + 0xac0]
lea r8, [0x140071230]
mov edx, 0x100
mov rcx, rax
call fcn.140003740
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.adapter_ip
call fcn.140033a90
test eax, eax
jne 0x140037954
mov rdx, qword [rbp + 0xab8]
lea rcx, str.source_ip
call fcn.140033a90
test eax, eax
jne 0x140037954
mov rdx, qword [rbp + 0xab8]
lea rcx, str.source_address
call fcn.140033a90
test eax, eax
jne 0x140037954
mov rdx, qword [rbp + 0xab8]
lea rcx, str.spoof_ip
call fcn.140033a90
test eax, eax
jne 0x140037954
mov rdx, qword [rbp + 0xab8]
lea rcx, str.spoof_address
call fcn.140033a90
test eax, eax
jne 0x140037954
mov rdx, qword [rbp + 0xab8]
lea rcx, str.src_ip
call fcn.140033a90
test eax, eax
je 0x140037aec
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x68]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0xac0]
call fcn.1400091d0
mov dword [rbp + 0xc4], eax
mov eax, dword [rbp + 0xc4]
mov dword [rbp + 0xa74], eax
cmp dword [rbp + 0xa74], 4
je 0x1400379a2
cmp dword [rbp + 0xa74], 6
je 0x140037a40
jmp 0x140037ab2
mov eax, dword [rbp + 0x6c]
mov ecx, dword [rbp + 0x68]
sub rax, rcx
inc rax
mov rcx, rax
call fcn.140034320
test eax, eax
jne 0x1400379e1
mov r9, qword [rbp + 0xac0]
mov r8, qword [rbp + 0xab8]
lea rdx, str.FAIL:_range_must_be_even_power_of_two:__s_s_n
xor ecx, ecx
call fcn.14002f7e0
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
mov edx, dword [rbp + 0x68]
mov dword [rcx + rax + 0x128], edx
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
mov edx, dword [rbp + 0x6c]
mov dword [rcx + rax + 0x12c], edx
mov eax, dword [rbp + 0x68]
mov ecx, dword [rbp + 0x6c]
sub ecx, eax
mov eax, ecx
inc eax
mov ecx, dword [rbp + 4]
imul rcx, rcx, 0x170
mov rdx, qword [rbp + 0xab0]
mov dword [rdx + rcx + 0x130], eax
jmp 0x140037ae7
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
lea rdx, [rbp + 0x88]
lea rdi, [rcx + rax + 0x140]
mov rsi, rdx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
lea rdx, [rbp + 0x98]
lea rdi, [rcx + rax + 0x150]
mov rsi, rdx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + rax + 0x160], 1
jmp 0x140037ae7
mov r9, qword [rbp + 0xac0]
mov r8, qword [rbp + 0xab8]
lea rdx, str.FAIL:_bad_source_IP_address:__s_s_n
xor ecx, ecx
call fcn.14002f7e0
lea rdx, str.hint___addresses_look_like__192.168.1.23__or__2001:db8:1::1ce9_._n
xor ecx, ecx
call fcn.14002f7e0
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.adapter_port
call fcn.140033a90
test eax, eax
jne 0x140037b35
mov rdx, qword [rbp + 0xab8]
lea rcx, str.source_port
call fcn.140033a90
test eax, eax
jne 0x140037b35
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x140086cc8]
call fcn.140033a90
test eax, eax
je 0x140037cda
mov dword [rbp + 0xe4], 0
lea rax, [rbp + 0x108]
mov rdi, rax
xor eax, eax
mov ecx, 0x20
rep stosb byte [rdi], al
mov r8d, 0x20
xor edx, edx
lea rcx, [rbp + 0x108]
call sub.VCRUNTIME140D.dll_memset
xor r9d, r9d
lea r8, [rbp + 0xe4]
mov rdx, qword [rbp + 0xac0]
lea rcx, [rbp + 0x108]
call fcn.14000b7d0
cmp dword [rbp + 0xe4], 0
je 0x140037bac
mov r8, qword [rbp + 0xab8]
lea rdx, str.FAIL:_bad_source_port_specification:__s_n
xor ecx, ecx
call fcn.14002f7e0
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
cmp dword [rbp + 0x110], 1
je 0x140037bdc
mov r9d, dword [rbp + 0x110]
mov r8, qword [rbp + 0xab8]
lea rdx, str.FAIL:_only_one__s_range_may_be_specified__found__u_ranges_n
xor ecx, ecx
call fcn.14002f7e0
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov eax, 8
imul rax, rax, 0
mov ecx, 8
imul rcx, rcx, 0
mov rdx, qword [rbp + 0x108]
mov rdi, qword [rbp + 0x108]
mov ecx, dword [rdi + rcx]
mov eax, dword [rdx + rax + 4]
sub eax, ecx
inc eax
mov eax, eax
mov ecx, eax
call fcn.140034320
test eax, eax
jne 0x140037c3b
mov r9, qword [rbp + 0xac0]
mov r8, qword [rbp + 0xab8]
lea rdx, str.FAIL:_source_port_range_must_be_even_power_of_two:__s_s_n
xor ecx, ecx
call fcn.14002f7e0
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov eax, 8
imul rax, rax, 0
mov ecx, dword [rbp + 4]
imul rcx, rcx, 0x170
mov rdx, qword [rbp + 0xab0]
mov rdi, qword [rbp + 0x108]
mov eax, dword [rdi + rax]
mov dword [rdx + rcx + 0x134], eax
mov eax, 8
imul rax, rax, 0
mov ecx, dword [rbp + 4]
imul rcx, rcx, 0x170
mov rdx, qword [rbp + 0xab0]
mov rdi, qword [rbp + 0x108]
mov eax, dword [rdi + rax + 4]
mov dword [rdx + rcx + 0x138], eax
mov eax, 8
imul rax, rax, 0
mov ecx, 8
imul rcx, rcx, 0
mov rdx, qword [rbp + 0x108]
mov rdi, qword [rbp + 0x108]
mov ecx, dword [rdi + rcx]
mov eax, dword [rdx + rax + 4]
sub eax, ecx
inc eax
mov ecx, dword [rbp + 4]
imul rcx, rcx, 0x170
mov rdx, qword [rbp + 0xab0]
mov dword [rdx + rcx + 0x13c], eax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.adapter_mac
call fcn.140033a90
test eax, eax
jne 0x140037d3a
mov rdx, qword [rbp + 0xab8]
lea rcx, str.spoof_mac
call fcn.140033a90
test eax, eax
jne 0x140037d3a
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x140086da8]
call fcn.140033a90
test eax, eax
jne 0x140037d3a
mov rdx, qword [rbp + 0xab8]
lea rcx, str.src_mac
call fcn.140033a90
test eax, eax
je 0x140037ef6
lea rdx, [rbp + 0x144]
mov rcx, qword [rbp + 0xac0]
call fcn.14003a9e0
mov dword [rbp + 0x164], eax
cmp dword [rbp + 0x164], 0
je 0x140037d7d
mov r9, qword [rbp + 0xac0]
mov r8, qword [rbp + 0xab8]
lea rdx, str.____CONF:_bad_MAC_address:__s___s_n
xor ecx, ecx
call fcn.14002f7e0
jmp 0x14003a1ec
lea rax, [rbp + 0xa00]
lea rcx, [rbp + 0x144]
mov rdi, rax
mov rsi, rcx
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
lea rcx, [rbp + 0x9d0]
mov rdx, qword [rbp + 0xab0]
mov rdi, rcx
lea rsi, [rdx + rax + 0x168]
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0xa00]
lea rcx, [rbp + 0x9d0]
call fcn.140034550
test eax, eax
je 0x140037dde
jmp 0x14003a1ec
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
movzx eax, byte [rcx + rax + 0x184]
test eax, eax
je 0x140037eae
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
lea rcx, [rbp + 0xa30]
mov rdx, qword [rbp + 0xab0]
mov rdi, rcx
lea rsi, [rdx + rax + 0x168]
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0xa30]
lea rcx, [rbp + 0x928]
call fcn.140006c20
lea rcx, [rbp + 0x188]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x30
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0xa60]
lea rcx, [rbp + 0x144]
mov rdi, rax
mov rsi, rcx
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0xa60]
lea rcx, [rbp + 0x978]
call fcn.140006c20
lea rcx, [rbp + 0x1d8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x30
rep movsb byte [rdi], byte [rsi]
lea r9, [rbp + 0x1d8]
lea r8, [rbp + 0x188]
lea rdx, str.____WARNING:_overwriting_MAC_address__was__s__now__s_n
xor ecx, ecx
call fcn.14002f7e0
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
lea rdx, [rbp + 0x144]
lea rdi, [rcx + rax + 0x168]
mov rsi, rdx
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
mov byte [rcx + rax + 0x184], 1
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x140086240]
call fcn.140033a90
test eax, eax
jne 0x140037f84
mov rdx, qword [rbp + 0xab8]
lea rcx, str.router
call fcn.140033a90
test eax, eax
jne 0x140037f84
mov rdx, qword [rbp + 0xab8]
lea rcx, str.dest_mac
call fcn.140033a90
test eax, eax
jne 0x140037f84
mov rdx, qword [rbp + 0xab8]
lea rcx, str.destination_mac
call fcn.140033a90
test eax, eax
jne 0x140037f84
mov rdx, qword [rbp + 0xab8]
lea rcx, str.dst_mac
call fcn.140033a90
test eax, eax
jne 0x140037f84
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x140086e50]
call fcn.140033a90
test eax, eax
je 0x14003802c
lea rdx, [rbp + 0x224]
mov rcx, qword [rbp + 0xac0]
call fcn.14003a9e0
mov dword [rbp + 0x244], eax
cmp dword [rbp + 0x244], 0
je 0x140037fd3
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r9, qword [rbp + 0xac0]
mov r8, qword [rbp + 0xab8]
lea rdx, str.____CONF:_bad_MAC_address:__s___s_n
mov rcx, rax
call fcn.140001b10
jmp 0x14003a1ec
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
lea rdx, [rbp + 0x224]
lea rdi, [rcx + rax + 0x16e]
mov rsi, rdx
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
lea rdx, [rbp + 0x224]
lea rdi, [rcx + rax + 0x174]
mov rsi, rdx
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.router_mac_ipv4
call fcn.140033a90
test eax, eax
jne 0x14003805a
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x140086e70]
call fcn.140033a90
test eax, eax
je 0x1400380d8
lea rdx, [rbp + 0x264]
mov rcx, qword [rbp + 0xac0]
call fcn.14003a9e0
mov dword [rbp + 0x284], eax
cmp dword [rbp + 0x284], 0
je 0x1400380a9
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r9, qword [rbp + 0xac0]
mov r8, qword [rbp + 0xab8]
lea rdx, str.____CONF:_bad_MAC_address:__s___s_n
mov rcx, rax
call fcn.140001b10
jmp 0x14003a1ec
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
lea rdx, [rbp + 0x264]
lea rdi, [rcx + rax + 0x16e]
mov rsi, rdx
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.router_mac_ipv6
call fcn.140033a90
test eax, eax
jne 0x140038106
mov rdx, qword [rbp + 0xab8]
lea rcx, str.router_ipv6
call fcn.140033a90
test eax, eax
je 0x140038184
lea rdx, [rbp + 0x2a4]
mov rcx, qword [rbp + 0xac0]
call fcn.14003a9e0
mov dword [rbp + 0x2c4], eax
cmp dword [rbp + 0x2c4], 0
je 0x140038155
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r9, qword [rbp + 0xac0]
mov r8, qword [rbp + 0xab8]
lea rdx, str.____CONF:_bad_MAC_address:__s___s_n
mov rcx, rax
call fcn.140001b10
jmp 0x14003a1ec
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
lea rdx, [rbp + 0x2a4]
lea rdi, [rcx + rax + 0x174]
mov rsi, rdx
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x140086ea0]
call fcn.140033a90
test eax, eax
je 0x140038219
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0xac0]
call fcn.14000aa20
mov qword [rbp + 0x2e8], rax
mov eax, dword [rbp + 0x2ec]
cmp dword [rbp + 0x2e8], eax
je 0x1400381f6
mov r9, qword [rbp + 0xac0]
mov r8, qword [rbp + 0xab8]
lea rdx, str.FAIL:_bad_source_IPv4_address:__s_s_n
xor ecx, ecx
call fcn.14002f7e0
lea rdx, str.hint___addresses_look_like__19.168.1.23__n
xor ecx, ecx
call fcn.14002f7e0
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov eax, dword [rbp + 4]
imul rax, rax, 0x170
mov rcx, qword [rbp + 0xab0]
mov edx, dword [rbp + 0x2e8]
mov dword [rcx + rax + 0x17c], edx
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.udp_ports
call fcn.140033a90
test eax, eax
jne 0x140038247
mov rdx, qword [rbp + 0xab8]
lea rcx, str.udp_port
call fcn.140033a90
test eax, eax
je 0x1400382af
mov dword [rbp + 0x304], 0
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 4]
or eax, 2
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 4], eax
mov rax, qword [rbp + 0xab0]
add rax, 0xbf0
mov r9d, 0x10000
lea r8, [rbp + 0x304]
mov rdx, qword [rbp + 0xac0]
mov rcx, rax
call fcn.14000b7d0
mov rax, qword [rbp + 0xab0]
cmp dword [rax], 0
jne 0x1400382aa
mov rax, qword [rbp + 0xab0]
mov dword [rax], 3
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.oprotos
call fcn.140033a90
test eax, eax
jne 0x1400382dd
mov rdx, qword [rbp + 0xab8]
lea rcx, str.oproto
call fcn.140033a90
test eax, eax
je 0x140038345
mov dword [rbp + 0x324], 0
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 4]
or eax, 0x20
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 4], eax
mov rax, qword [rbp + 0xab0]
add rax, 0xbf0
mov r9d, 0x30100
lea r8, [rbp + 0x324]
mov rdx, qword [rbp + 0xac0]
mov rcx, rax
call fcn.14000b7d0
mov rax, qword [rbp + 0xab0]
cmp dword [rax], 0
jne 0x140038340
mov rax, qword [rbp + 0xab0]
mov dword [rax], 3
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.tcp_ports
call fcn.140033a90
test eax, eax
jne 0x140038373
mov rdx, qword [rbp + 0xab8]
lea rcx, str.tcp_port
call fcn.140033a90
test eax, eax
je 0x1400383d8
mov dword [rbp + 0x344], 0
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 4]
or eax, 1
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 4], eax
mov rax, qword [rbp + 0xab0]
add rax, 0xbf0
xor r9d, r9d
lea r8, [rbp + 0x344]
mov rdx, qword [rbp + 0xac0]
mov rcx, rax
call fcn.14000b7d0
mov rax, qword [rbp + 0xab0]
cmp dword [rax], 0
jne 0x1400383d3
mov rax, qword [rbp + 0xab0]
mov dword [rax], 3
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x140086f54]
call fcn.140033a90
test eax, eax
jne 0x140038466
mov rdx, qword [rbp + 0xab8]
lea rcx, str.port
call fcn.140033a90
test eax, eax
jne 0x140038466
mov rdx, qword [rbp + 0xab8]
lea rcx, str.dst_port
call fcn.140033a90
test eax, eax
jne 0x140038466
mov rdx, qword [rbp + 0xab8]
lea rcx, str.dest_port
call fcn.140033a90
test eax, eax
jne 0x140038466
mov rdx, qword [rbp + 0xab8]
lea rcx, str.destination_port
call fcn.140033a90
test eax, eax
jne 0x140038466
mov rdx, qword [rbp + 0xab8]
lea rcx, str.target_port
call fcn.140033a90
test eax, eax
je 0x140038543
mov dword [rbp + 0x364], 0
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 4]
shr eax, 1
and eax, 1
test eax, eax
je 0x14003848f
mov dword [rbp + 0x364], 0x10000
jmp 0x1400384ad
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 4]
shr eax, 2
and eax, 1
test eax, eax
je 0x1400384ad
mov dword [rbp + 0x364], 0x20000
mov rax, qword [rbp + 0xab0]
add rax, 0xba8
mov r8d, dword [rbp + 0x364]
mov rdx, qword [rbp + 0xac0]
mov rcx, rax
call fcn.14000fc10
mov dword [rbp + 0x384], eax
cmp dword [rbp + 0x384], 0
je 0x140038525
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xac0]
lea rdx, str.____FAIL:_bad_target_port:__s_n
mov rcx, rax
call fcn.140001b10
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
lea rdx, str.____Hint:_a_port_is_a_number__0..65535__n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov rax, qword [rbp + 0xab0]
cmp dword [rax], 0
jne 0x14003853e
mov rax, qword [rbp + 0xab0]
mov dword [rax], 3
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.banner_types
call fcn.140033a90
test eax, eax
jne 0x1400385a3
mov rdx, qword [rbp + 0xab8]
lea rcx, str.banner_type
call fcn.140033a90
test eax, eax
jne 0x1400385a3
mov rdx, qword [rbp + 0xab8]
lea rcx, str.banner_apps
call fcn.140033a90
test eax, eax
jne 0x1400385a3
mov rdx, qword [rbp + 0xab8]
lea rcx, str.banner_app
call fcn.140033a90
test eax, eax
je 0x140038636
mov rcx, qword [rbp + 0xac0]
call fcn.140005f10
mov dword [rbp + 0x3a4], eax
cmp dword [rbp + 0x3a4], 0
je 0x1400385f7
mov rax, qword [rbp + 0xab0]
add rax, 0xcb8
mov r8d, dword [rbp + 0x3a4]
mov edx, dword [rbp + 0x3a4]
mov rcx, rax
call fcn.14000ae30
mov rax, qword [rbp + 0xab0]
add rax, 0xcb8
mov rcx, rax
call fcn.14000c1d0
jmp 0x140038631
mov r8, qword [rbp + 0xac0]
lea rdx, str.FAIL:_bad_banner_app:__s_n
xor ecx, ecx
call fcn.14002f7e0
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
lea rdx, str.err_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.exclude_ports
call fcn.140033a90
test eax, eax
jne 0x140038668
mov rdx, qword [rbp + 0xab8]
lea rcx, str.exclude_port
call fcn.140033a90
test eax, eax
je 0x140038745
mov dword [rbp + 0x3c4], 0
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 4]
shr eax, 1
and eax, 1
test eax, eax
je 0x140038691
mov dword [rbp + 0x3c4], 0x10000
jmp 0x1400386af
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 4]
shr eax, 2
and eax, 1
test eax, eax
je 0x1400386af
mov dword [rbp + 0x3c4], 0x20000
mov rax, qword [rbp + 0xab0]
add rax, 0xc30
mov r8d, dword [rbp + 0x3c4]
mov rdx, qword [rbp + 0xac0]
mov rcx, rax
call fcn.14000fc10
mov dword [rbp + 0x3e4], eax
cmp dword [rbp + 0x3e4], 0
je 0x140038727
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xac0]
lea rdx, str.____FAIL:_bad_exclude_port:__s_n
mov rcx, rax
call fcn.140001b10
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
lea rdx, str.____Hint:_a_port_is_a_number__0..65535__n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov rax, qword [rbp + 0xab0]
cmp dword [rax], 0
jne 0x140038740
mov rax, qword [rbp + 0xab0]
mov dword [rax], 3
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x1400870a8]
call fcn.140033a90
test eax, eax
je 0x1400387d7
mov rcx, qword [rbp + 0xac0]
call sub.ucrtbased.dll_strlen
inc rax
mov qword [rbp + 0x408], rax
mov rax, qword [rbp + 0xab0]
cmp qword [rax + 0x1610], 0
je 0x140038797
mov rax, qword [rbp + 0xab0]
mov rcx, qword [rax + 0x1610]
call qword [sym.imp.ucrtbased.dll_free]
mov rcx, qword [rbp + 0x408]
call fcn.14006b410
mov rcx, qword [rbp + 0xab0]
mov qword [rcx + 0x1610], rax
mov r8, qword [rbp + 0x408]
mov rdx, qword [rbp + 0xac0]
mov rax, qword [rbp + 0xab0]
mov rcx, qword [rax + 0x1610]
call sub.VCRUNTIME140D.dll_memcpy
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.ping
call fcn.140033a90
test eax, eax
jne 0x140038805
mov rdx, qword [rbp + 0xab8]
lea rcx, str.ping_sweep
call fcn.140033a90
test eax, eax
je 0x14003887d
mov dword [rbp + 0x428], 0x30000
mov dword [rbp + 0x42c], 0x30000
mov rax, qword [rbp + 0xab0]
add rax, 0xbf0
mov r8d, dword [rbp + 0x42c]
mov edx, dword [rbp + 0x428]
mov rcx, rax
call fcn.14000ae30
mov rax, qword [rbp + 0xab0]
add rax, 0xbf0
mov rcx, rax
call fcn.14000c1d0
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 4]
or eax, 8
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 4], eax
lea rdx, str.__ping_n
mov ecx, 5
call fcn.14002f7e0
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x1400870b8]
call fcn.140033a90
test eax, eax
jne 0x14003893d
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x1400870c0]
call fcn.140033a90
test eax, eax
jne 0x14003893d
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x1400870c8]
call fcn.140033a90
test eax, eax
jne 0x14003893d
mov rdx, qword [rbp + 0xab8]
lea rcx, str.ipv4
call fcn.140033a90
test eax, eax
jne 0x14003893d
mov rdx, qword [rbp + 0xab8]
lea rcx, str.dst_ip
call fcn.140033a90
test eax, eax
jne 0x14003893d
mov rdx, qword [rbp + 0xab8]
lea rcx, str.dest_ip
call fcn.140033a90
test eax, eax
jne 0x14003893d
mov rdx, qword [rbp + 0xab8]
lea rcx, str.destination_ip
call fcn.140033a90
test eax, eax
jne 0x14003893d
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x1400870f8]
call fcn.140033a90
test eax, eax
je 0x1400389a7
mov rax, qword [rbp + 0xab0]
add rax, 0xba8
mov rdx, qword [rbp + 0xac0]
mov rcx, rax
call fcn.14000fcb0
mov dword [rbp + 0x444], eax
cmp dword [rbp + 0x444], 0
je 0x140038989
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xac0]
lea rdx, str.ERROR:_bad_IP_address_range:__s_n
mov rcx, rax
call fcn.140001b10
mov rax, qword [rbp + 0xab0]
cmp dword [rax], 0
jne 0x1400389a2
mov rax, qword [rbp + 0xab0]
mov dword [rax], 3
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.exclude
call fcn.140033a90
test eax, eax
jne 0x140038a1a
mov rdx, qword [rbp + 0xab8]
lea rcx, str.exclude_range
call fcn.140033a90
test eax, eax
jne 0x140038a1a
mov rdx, qword [rbp + 0xab8]
lea rcx, str.exclude_ranges
call fcn.140033a90
test eax, eax
jne 0x140038a1a
mov rdx, qword [rbp + 0xab8]
lea rcx, str.exclude_ip
call fcn.140033a90
test eax, eax
jne 0x140038a1a
mov rdx, qword [rbp + 0xab8]
lea rcx, str.exclude_ipv4
call fcn.140033a90
test eax, eax
je 0x140038a84
mov rax, qword [rbp + 0xab0]
add rax, 0xc30
mov rdx, qword [rbp + 0xac0]
mov rcx, rax
call fcn.14000fcb0
mov dword [rbp + 0x464], eax
cmp dword [rbp + 0x464], 0
je 0x140038a66
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xac0]
lea rdx, str.ERROR:_bad_exclude_address_range:__s_n
mov rcx, rax
call fcn.140001b10
mov rax, qword [rbp + 0xab0]
cmp dword [rax], 0
jne 0x140038a7f
mov rax, qword [rbp + 0xab0]
mov dword [rax], 3
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.badsum
call fcn.140033a90
test eax, eax
je 0x140038ab1
mov rax, qword [rbp + 0xab0]
mov dword [rax + 0x1048], 1
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.banner1
call fcn.140033a90
test eax, eax
je 0x140038ae4
mov rcx, qword [rbp + 0xac0]
call fcn.140016a20
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.blackrock_rounds
call fcn.140033a90
test eax, eax
je 0x140038b19
mov rcx, qword [rbp + 0xac0]
call fcn.14003a470
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0x163c], eax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.connection_timeout
call fcn.140033a90
test eax, eax
jne 0x140038b47
mov rdx, qword [rbp + 0xab8]
lea rcx, str.tcp_timeout
call fcn.140033a90
test eax, eax
je 0x140038b65
mov rcx, qword [rbp + 0xac0]
call fcn.14003a470
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0x1608], eax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.datadir
call fcn.140033a90
test eax, eax
je 0x140038ba3
mov rax, qword [rbp + 0xab0]
add rax, 0x1050
mov r8, qword [rbp + 0xac0]
mov edx, 0x100
mov rcx, rax
call qword [sym.imp.ucrtbased.dll_strcpy_s]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.data_length
call fcn.140033a90
test eax, eax
je 0x140038c19
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0xac0]
call qword [sym.imp.ucrtbased.dll_strtoul]
mov dword [rbp + 0x484], eax
cmp dword [rbp + 0x484], 0x5b4
jb 0x140038c01
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.error:__s_n_:_expected_number_less_than_1500_n
mov rcx, rax
call fcn.140001b10
jmp 0x140038c14
mov rax, qword [rbp + 0xab0]
mov ecx, dword [rbp + 0x484]
mov dword [rax + 0x1040], ecx
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.debug
call fcn.140033a90
test eax, eax
je 0x140038c59
mov rdx, qword [rbp + 0xac0]
lea rcx, [0x140086b78]
call fcn.140033a90
test eax, eax
je 0x140038c54
mov rax, qword [rbp + 0xab0]
mov dword [rax], 4
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.dns_servers
call fcn.140033a90
test eax, eax
je 0x140038ca1
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unsupported:_DNS_lookups_too_synchronous_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.echo
call fcn.140033a90
test eax, eax
je 0x140038cca
mov rax, qword [rbp + 0xab0]
mov dword [rax], 9
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.echo_all
call fcn.140033a90
test eax, eax
je 0x140038cf3
mov rax, qword [rbp + 0xab0]
mov dword [rax], 0xa
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.excludefile
call fcn.140033a90
test eax, eax
je 0x140038df7
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xc38]
mov dword [rbp + 0x4a4], eax
mov rax, qword [rbp + 0xac0]
mov qword [rbp + 0x508], rax
mov r8, qword [rbp + 0xac0]
lea rdx, str.EXCLUDING:__s_n
mov ecx, 1
call fcn.14002f7e0
mov rax, qword [rbp + 0xab0]
add rax, 0xc30
mov rdx, qword [rbp + 0x508]
mov rcx, rax
call fcn.140008ac0
mov dword [rbp + 0x4e4], eax
cmp dword [rbp + 0x4e4], 0
je 0x140038d8b
lea rdx, str.____FAIL:_error_reading_from_exclude_file_n
xor ecx, ecx
call fcn.14002f7e0
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xc38]
mov dword [rbp + 0x4c4], eax
mov eax, dword [rbp + 0x4a4]
mov ecx, dword [rbp + 0x4c4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140038df2
mov eax, dword [rbp + 0x4a4]
mov ecx, dword [rbp + 0x4c4]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0xa74], eax
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov ecx, dword [rbp + 0xa74]
mov r9d, ecx
mov r8, qword [rbp + 0xac0]
lea rdx, str._s:_excluding__u_ranges_from_file_n
mov rcx, rax
call fcn.140001b10
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.heartbleed
call fcn.140033a90
test eax, eax
je 0x140038e7f
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xce4]
bts eax, 0xd
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0xce4], eax
lea r8, str.cert
lea rdx, str.no_capture
mov rcx, qword [rbp + 0xab0]
call fcn.1400375b0
lea r8, str.heartbleed
lea rdx, str.no_capture
mov rcx, qword [rbp + 0xab0]
call fcn.1400375b0
lea r8, str.true
lea rdx, str.banners
mov rcx, qword [rbp + 0xab0]
call fcn.1400375b0
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.ticketbleed
call fcn.140033a90
test eax, eax
je 0x140038f07
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xce4]
bts eax, 0xe
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0xce4], eax
lea r8, str.cert
lea rdx, str.no_capture
mov rcx, qword [rbp + 0xab0]
call fcn.1400375b0
lea r8, str.ticketbleed
lea rdx, str.no_capture
mov rcx, qword [rbp + 0xab0]
call fcn.1400375b0
lea r8, str.true
lea rdx, str.banners
mov rcx, qword [rbp + 0xab0]
call fcn.1400375b0
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.host_timeout
call fcn.140033a90
test eax, eax
je 0x140038f4f
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unsupported:_this_is_an_asynchronous_tool__so_no_timeouts_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.iflist
call fcn.140033a90
test eax, eax
je 0x140038f78
mov rax, qword [rbp + 0xab0]
mov dword [rax], 1
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.includefile
call fcn.140033a90
test eax, eax
je 0x140038fff
mov rax, qword [rbp + 0xac0]
mov qword [rbp + 0x548], rax
mov rax, qword [rbp + 0xab0]
add rax, 0xba8
mov rdx, qword [rbp + 0x548]
mov rcx, rax
call fcn.140008ac0
mov dword [rbp + 0x524], eax
cmp dword [rbp + 0x524], 0
je 0x140038fe1
lea rdx, str.____FAIL:_error_reading_from_include_file_n
xor ecx, ecx
call fcn.14002f7e0
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov rax, qword [rbp + 0xab0]
cmp dword [rax], 0
jne 0x140038ffa
mov rax, qword [rbp + 0xab0]
mov dword [rax], 3
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.infinite
call fcn.140033a90
test eax, eax
je 0x140039039
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xce4]
bts eax, 0xb
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0xce4], eax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.interactive
call fcn.140033a90
test eax, eax
je 0x140039072
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xf2c]
or eax, 0x10
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0xf2c], eax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.nointeractive
call fcn.140033a90
test eax, eax
je 0x1400390ab
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xf2c]
and eax, 0xffffffef
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0xf2c], eax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x1400842a8]
call fcn.140033a90
test eax, eax
je 0x1400390e4
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xf2c]
or eax, 0x20
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0xf2c], eax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.nostatus
call fcn.140033a90
test eax, eax
je 0x14003911d
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xf2c]
and eax, 0xffffffdf
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0xf2c], eax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.ip_options
call fcn.140033a90
test eax, eax
je 0x140039165
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unsupported:_maybe_soon_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.log_errors
call fcn.140033a90
test eax, eax
je 0x1400391ad
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unsupported:_maybe_soon_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.min_hostgroup
call fcn.140033a90
test eax, eax
jne 0x1400391db
mov rdx, qword [rbp + 0xab8]
lea rcx, str.max_hostgroup
call fcn.140033a90
test eax, eax
je 0x14003920c
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unsupported:_we_randomize_all_the_groups__n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.min_parallelism
call fcn.140033a90
test eax, eax
jne 0x14003923a
mov rdx, qword [rbp + 0xab8]
lea rcx, str.max_parallelism
call fcn.140033a90
test eax, eax
je 0x14003926b
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unsupported:_we_all_the_parallel__n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.min_rtt_timeout
call fcn.140033a90
test eax, eax
jne 0x1400392b0
mov rdx, qword [rbp + 0xab8]
lea rcx, str.max_rtt_timeout
call fcn.140033a90
test eax, eax
jne 0x1400392b0
mov rdx, qword [rbp + 0xab8]
lea rcx, str.initial_rtt_timeout
call fcn.140033a90
test eax, eax
je 0x1400392e1
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unsupported:_we_are_asynchronous__so_no_timeouts__no_RTT_tracking__n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.min_rate
call fcn.140033a90
test eax, eax
je 0x14003931e
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unsupported__we_go_as_fast_as___max_rate_allows_n
mov rcx, rax
call fcn.140001b10
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, [0x14008753c]
call fcn.140033a90
test eax, eax
je 0x140039366
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_fragmentation_not_yet_supported_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.nmap
call fcn.140033a90
test eax, eax
je 0x140039392
call fcn.14003ab50
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.osscan_limit
call fcn.140033a90
test eax, eax
je 0x1400393da
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_OS_scanning_unsupported_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.osscan_guess
call fcn.140033a90
test eax, eax
je 0x140039422
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_OS_scanning_unsupported_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.packet_trace
call fcn.140033a90
test eax, eax
jne 0x140039450
mov rdx, qword [rbp + 0xab8]
lea rcx, str.trace_packet
call fcn.140033a90
test eax, eax
je 0x140039472
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0x104c]
or eax, 1
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0x104c], eax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.privileged
call fcn.140033a90
test eax, eax
jne 0x1400394a0
mov rdx, qword [rbp + 0xab8]
lea rcx, str.unprivileged
call fcn.140033a90
test eax, eax
je 0x1400394d1
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unsupported_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.pfring
call fcn.140033a90
test eax, eax
je 0x14003950a
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xce4]
or eax, 1
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0xce4], eax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.port_ratio
call fcn.140033a90
test eax, eax
je 0x140039552
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unsupported_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.readrange
call fcn.140033a90
test eax, eax
jne 0x140039580
mov rdx, qword [rbp + 0xab8]
lea rcx, str.readranges
call fcn.140033a90
test eax, eax
je 0x140039592
mov rax, qword [rbp + 0xab0]
mov dword [rax], 7
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.reason
call fcn.140033a90
test eax, eax
je 0x1400395cb
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xf2c]
or eax, 8
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0xf2c], eax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.redis
call fcn.140033a90
test eax, eax
je 0x1400397e3
mov dword [rbp + 0x584], 0
mov rcx, qword [rbp + 0xac0]
call sub.ucrtbased.dll_strlen
mov dword [rbp + 0x5a4], eax
mov dword [rbp + 0x5c4], 0x18eb
mov r8d, dword [rbp + 0x5a4]
lea rdx, [rbp + 0x584]
mov rcx, qword [rbp + 0xac0]
call fcn.14000aa20
mov qword [rbp + 0x568], rax
cmp dword [rbp + 0x568], 0
jne 0x14003963f
cmp dword [rbp + 0x56c], 0
je 0x14003964d
mov eax, dword [rbp + 0x56c]
cmp dword [rbp + 0x568], eax
je 0x14003966d
mov r8, qword [rbp + 0xac0]
lea rdx, str.FAIL:__bad_redis_IP_address:__s_n
xor ecx, ecx
call fcn.14002f7e0
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov eax, dword [rbp + 0x5a4]
cmp dword [rbp + 0x584], eax
jae 0x140039777
mov eax, dword [rbp + 0x5a4]
cmp dword [rbp + 0x584], eax
jae 0x1400396ba
mov eax, dword [rbp + 0x584]
mov rcx, qword [rbp + 0xac0]
movsx eax, byte [rcx + rax]
mov ecx, eax
call qword [sym.imp.ucrtbased.dll_isspace]
test eax, eax
je 0x1400396ba
mov eax, dword [rbp + 0x584]
inc eax
mov dword [rbp + 0x584], eax
jmp 0x14003967f
mov eax, dword [rbp + 0x584]
inc eax
cmp eax, dword [rbp + 0x5a4]
jae 0x140039777
mov eax, dword [rbp + 0x584]
mov rcx, qword [rbp + 0xac0]
movsx eax, byte [rcx + rax]
cmp eax, 0x3a
jne 0x140039777
mov eax, dword [rbp + 0x584]
inc eax
mov eax, eax
mov rcx, qword [rbp + 0xac0]
movsx eax, byte [rcx + rax]
and eax, 0xff
mov ecx, eax
call qword [sym.imp.ucrtbased.dll_isdigit]
test eax, eax
je 0x140039777
mov eax, dword [rbp + 0x584]
mov rcx, qword [rbp + 0xac0]
lea rax, [rcx + rax + 1]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.ucrtbased.dll_strtoul]
mov dword [rbp + 0x5c4], eax
cmp dword [rbp + 0x5c4], 0xffff
ja 0x140039749
cmp dword [rbp + 0x5c4], 0
jne 0x140039777
mov eax, dword [rbp + 0x584]
mov rcx, qword [rbp + 0xac0]
lea rax, [rcx + rax + 1]
mov r8, rax
lea rdx, str.FAIL:_bad_redis_port:__s_n
xor ecx, ecx
call fcn.14002f7e0
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov rax, qword [rbp + 0xab0]
mov ecx, dword [rbp + 0x568]
mov dword [rax + 0x1618], ecx
mov rax, qword [rbp + 0xab0]
mov byte [rax + 0x1628], 4
mov rax, qword [rbp + 0xab0]
mov ecx, dword [rbp + 0x5c4]
mov dword [rax + 0x1630], ecx
mov rax, qword [rbp + 0xab0]
mov dword [rax + 0xd20], 0x100
mov rax, qword [rbp + 0xab0]
add rax, 0xd24
lea r8, str._redis_
mov edx, 0x100
mov rcx, rax
call qword [sym.imp.ucrtbased.dll_strcpy_s]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.release_memory
call fcn.140033a90
test eax, eax
je 0x140039820
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_this_is_our_default_option_n
mov rcx, rax
call fcn.140001b10
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.resume
call fcn.140033a90
test eax, eax
je 0x140039869
mov rdx, qword [rbp + 0xac0]
mov rcx, qword [rbp + 0xab0]
call fcn.1400372a0
lea r8, str.true
lea rdx, str.output_append
mov rcx, qword [rbp + 0xab0]
call fcn.1400375b0
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.vuln
call fcn.140033a90
test eax, eax
je 0x140039a82
mov rdx, qword [rbp + 0xac0]
lea rcx, str.heartbleed
call fcn.140033a90
test eax, eax
je 0x1400398bf
lea r8, str.true
lea rdx, str.heartbleed
mov rcx, qword [rbp + 0xab0]
call fcn.1400375b0
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xac0]
lea rcx, str.ticketbleed
call fcn.140033a90
test eax, eax
je 0x1400398fa
lea r8, str.true
lea rdx, str.ticketbleed
mov rcx, qword [rbp + 0xab0]
call fcn.1400375b0
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xac0]
lea rcx, str.poodle
call fcn.140033a90
test eax, eax
jne 0x140039928
mov rdx, qword [rbp + 0xac0]
lea rcx, str.sslv3
call fcn.140033a90
test eax, eax
je 0x14003997f
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xce4]
bts eax, 0xf
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0xce4], eax
lea r8, str.cert
lea rdx, str.no_capture
mov rcx, qword [rbp + 0xab0]
call fcn.1400375b0
lea r8, str.true
lea rdx, str.banners
mov rcx, qword [rbp + 0xab0]
call fcn.1400375b0
jmp 0x14003a1ec
mov rcx, qword [rbp + 0xac0]
call fcn.14006b900
test rax, rax
jne 0x1400399d6
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xac0]
lea rdx, str.FAIL:_vuln_check__s_does_not_exist_n
mov rcx, rax
call fcn.140001b10
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
lea rdx, str.__hint:_use___vuln_list_to_list_available_scripts_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov rax, qword [rbp + 0xab0]
cmp qword [rax + 0x1650], 0
je 0x140039a60
mov rdx, qword [rbp + 0xac0]
mov rax, qword [rbp + 0xab0]
mov rcx, qword [rax + 0x1650]
call sub.ucrtbased.dll_strcmp
test eax, eax
jne 0x140039a0c
jmp 0x14003a1ec
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
lea rdx, str.FAIL:_only_one_vuln_check_supported_at_a_time_n
mov rcx, rax
call fcn.140001b10
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r9, qword [rbp + 0xac0]
mov rcx, qword [rbp + 0xab0]
mov r8, qword [rcx + 0x1650]
lea rdx, str.__hint:__s_is_existing_vuln_check___s_is_new_vuln_check_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov rcx, qword [rbp + 0xac0]
call fcn.14006b900
mov rcx, qword [rbp + 0xab0]
mov rax, qword [rax]
mov qword [rcx + 0x1650], rax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.scan_delay
call fcn.140033a90
test eax, eax
jne 0x140039ab0
mov rdx, qword [rbp + 0xab8]
lea rcx, str.max_scan_delay
call fcn.140033a90
test eax, eax
je 0x140039ae1
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unsupported:_we_do_timing_VASTLY_differently__n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.scanflags
call fcn.140033a90
test eax, eax
je 0x140039b29
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_TCP_scan_flags_not_yet_supported_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.sendq
call fcn.140033a90
test eax, eax
jne 0x140039b57
mov rdx, qword [rbp + 0xab8]
lea rcx, str.sendqueue
call fcn.140033a90
test eax, eax
je 0x140039b79
mov rax, qword [rbp + 0xab0]
mov eax, dword [rax + 0xce4]
or eax, 2
mov rcx, qword [rbp + 0xab0]
mov dword [rcx + 0xce4], eax
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.send_eth
call fcn.140033a90
test eax, eax
je 0x140039bb6
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unnecessary__we_always_do___send_eth_n
mov rcx, rax
call fcn.140001b10
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.send_ip
call fcn.140033a90
test eax, eax
je 0x140039bfe
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov r8, qword [rbp + 0xab8]
lea rdx, str.nmap__s_:_unsupported__we_only_do___send_eth_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.selftest
call fcn.140033a90
test eax, eax
jne 0x140039c43
mov rdx, qword [rbp + 0xab8]
lea rcx, str.self_test
call fcn.140033a90
test eax, eax
jne 0x140039c43
mov rdx, qword [rbp + 0xab8]
lea rcx, str.regress
call fcn.140033a90
test eax, eax
je 0x140039c5a
mov rax, qword [rbp + 0xab0]
mov dword [rax], 2
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.benchmark
call fcn.140033a90
test eax, eax
je 0x140039c88
mov rax, qword [rbp + 0xab0]
mov dword [rax], 8
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.source_port
call fcn.140033a90
test eax, eax
jne 0x140039cb6
mov rdx, qword [rbp + 0xab8]
lea rcx, str.sourceport
call fcn.140033a90
test eax, eax
je 0x140039cd5
mov r8, qword [rbp + 0xac0]
lea rdx, str.adapter_port
mov rcx, qword [rbp + 0xab0]
call fcn.1400375b0
jmp 0x14003a1ec
mov rdx, qword [rbp + 0xab8]
lea rcx, str.nobacktrace
call fcn.140033a90
test eax, eax
jne 0x140039d03
lea rcx, [rbp - 0x30]
lea rdx, [0x140084838]
call fcn.14006b950
mov rcx, qword [rbp + 0xa80]
xor rcx, rbp
call fcn.14006bb70
lea rsp, [rbp + 0xa90]
pop rdi
pop rsi
pop rbp
ret