Function at 0x1400155a0
Capabilities:
Read file on windows
Terminate process
Write file on windows

Disassembly:
push r15
mov eax, 0x100f8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.140048f80
sub rsp, rax
mov rax, rcx
mov qword [rsp + 0x10140], rcx
mov rbx, rdx
add rax, 0x20
mov qword [rsp + 0x50], rax
test rdx, rdx
je 0x1400159e3
cmp byte [rdx], 0
je 0x1400159e3
cmp byte [rdx], 0x2d
jne 0x140015730
cmp byte [rdx + 1], 0
jne 0x140015730
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
xor ecx, ecx
mov qword [rsp + 0x48], rax
call rax
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x98]
xor eax, eax
mov ecx, 0xb
mov qword [rsp + 0x90], 1
mov rdi, rdx
lea r12, [rsp + 0x88]
lea rsi, [rsp + 0xf0]
rep stosq qword [rdi], rax
lea rax, [rsp + 0x60]
mov byte [rsp + 0xe9], 8
xor edi, edi
mov qword [rsp + 0x58], rax
lea rbp, [rsp + 0x90]
lea r14, [rsp + 0x84]
mov qword [rsp + 0x30], r12
lea r13, [rsp + 0x80]
jmp 0x140015681
test eax, eax
jne 0x140015788
cmp r12, r15
jb 0x140015830
mov r9, qword [rsp + 0x38]
mov r8d, 0x10000
mov edx, 1
mov rcx, rsi
call sym.fread
mov r15, rax
test rax, rax
je 0x14001585b
lea rax, [rsp + 0x70]
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x40], rax
nop dword [rax + rax]
mov qword [rsp + 0x28], r14
mov r8, qword [rsp + 0x30]
mov r9, r15
mov rdx, rsi
mov qword [rsp + 0x20], r13
mov rcx, rbp
call dbg._parser_next
mov r12, qword [rsp + 0x88]
cmp eax, 2
je 0x140015760
cmp eax, 3
jne 0x140015670
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x40]
add edi, 1
movdqu xmm0, xmmword [rsp + 0xb8]
mov rcx, qword [rsp + 0x50]
movdqu xmm1, xmmword [rsp + 0xc8]
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm1
call dbg.range6list_add_range
cmp r12, r15
jb 0x1400156c0
jmp 0x140015681
lea rdx, [0x14005ea89]
mov rcx, rbx
call sym.fopen
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140015985
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov qword [rsp + 0x48], rax
jmp 0x14001560a
mov r8d, dword [rsp + 0x84]
mov edx, dword [rsp + 0x80]
add edi, 1
mov rcx, qword [rsp + 0x10140]
call dbg.rangelist_add_range
jmp 0x140015722
mov rsi, qword [rsp + 0x90]
mov r14, qword [rsp + 0x48]
mov ecx, 2
mov rbp, qword [rsp + 0x98]
call r14
mov qword [rsp + 0x28], rsi
mov r9, rsi
mov r8, rbx
mov qword [rsp + 0x20], rbp
mov rcx, rax
lea rdx, str._____s:_llu:_llu:_invalid_IP_address_on_line__llu_n
call sym.fprintf_1
xor ecx, ecx
call r14
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x1400157f0
cmp rax, rsi
je 0x1400157f0
mov rcx, qword [rsp + 0x38]
call sym.fclose
nop word cs:[rax + rax]
nop dword [rax]
mov r9d, edi
mov r8, rbx
mov ecx, 1
lea rdx, str.____s:__u_addresses_read_n
call dbg.LOG
mov rcx, qword [rsp + 0x10140]
call dbg.rangelist_sort
mov eax, 0xffffffff
add rsp, 0x100f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x48]
mov ecx, 2
call rax
mov r8d, 0x2e
mov edx, 1
lea rcx, str.____rangeparse_next__:_unknown_coding_failure_n
mov r9, rax
call sym.fwrite
jmp 0x1400156c0
mov r12, qword [rsp + 0x30]
mov rax, qword [rsp + 0x48]
xor ecx, ecx
call rax
mov rdx, qword [rsp + 0x38]
cmp rdx, rax
je 0x140015882
test rdx, rdx
je 0x140015882
mov rcx, qword [rsp + 0x38]
call sym.fclose
mov qword [rsp + 0x28], r14
mov r9d, 1
mov r8, r12
mov rcx, rbp
mov qword [rsp + 0x20], r13
lea rdx, [0x14005eb3f]
mov qword [rsp + 0x88], 0
call dbg._parser_next
cmp eax, 2
je 0x140015962
cmp eax, 3
je 0x140015906
test eax, eax
je 0x140015980
mov rsi, qword [rsp + 0x90]
mov rax, qword [rsp + 0x48]
mov ecx, 2
mov rbp, qword [rsp + 0x98]
call rax
mov qword [rsp + 0x28], rsi
mov r9, rsi
mov r8, rbx
mov qword [rsp + 0x20], rbp
mov rcx, rax
lea rdx, str._____s:_llu:_llu:_invalid_IP_address_on_line__llu_n
call sym.fprintf_1
jmp 0x1400157f0
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x60]
movdqu xmm2, xmmword [rsp + 0xb8]
movdqu xmm3, xmmword [rsp + 0xc8]
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm3
call dbg.range6list_add_range
lea r9d, [rdi + 1]
mov r8, rbx
lea rdx, str.____s:__u_addresses_read_n
mov ecx, 1
call dbg.LOG
mov rcx, qword [rsp + 0x10140]
call dbg.rangelist_sort
xor eax, eax
jmp 0x140015819
mov r8d, dword [rsp + 0x84]
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x10140]
call dbg.rangelist_add_range
jmp 0x140015936
mov r9d, edi
jmp 0x14001593a
mov rdi, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ecx, 2
call rdi
mov r8d, 0x1f
mov edx, 1
lea rcx, str.____FAIL:_parsing_IP_addresses_n
mov r9, rax
call sym.fwrite
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
call sym.strerror
mov ecx, 2
mov rsi, rax
call rdi
mov r9, rsi
mov r8, rbx
lea rdx, str._____s:__s_n
mov rcx, rax
call sym.fprintf_1
mov ecx, 1
call sym.exit
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, 0x20
mov edx, 1
lea rcx, str.____missing_filename_for_ranges_n
mov r9, rax
call sym.fwrite
mov ecx, 1
call sym.exit
nop
nop word cs:[rax + rax]
nop