Function at 0x14000f554
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov qword [rbp - 0x40], 0xfffffffffffffffe
mov r13, rcx
xor esi, esi
mov r12d, esi
mov dword [rsp + 0x30], esi
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x20], eax
mov r9, qword [rcx + 8]
lea r8, str.Ping_url__s_for__d_times_n_n
lea edx, [rsi + 1]
lea rcx, [0x14001d010]
call fcn.140001720
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov ebx, esi
mov qword [rsp + 0x78], rbx
mov dword [rbp + 0x78], esi
mov edi, esi
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
cmp dword [r13 + 0x20], esi
jle 0x14000f840
mov r9, qword [r13 + 8]
lea r8, str.Ping_URL__s_n
mov edx, 1
lea rcx, [0x14001d010]
call fcn.140001720
mov rdx, r13
lea rcx, [rbp - 0x20]
call fcn.140001b2c
nop
mov ecx, 0x38
call qword [sym.imp.msvcrt.dll_malloc]
mov rdi, rax
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rax
test rax, rax
je 0x14000f76b
lea rax, [rbp - 0x60]
mov qword [rsp + 0x58], rax
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x60]
call fcn.140001b2c
nop
lea rax, [rbp - 0x60]
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x60]
lea rcx, [rbp]
call fcn.14000fd6c
mov rbx, rax
mov qword [rsp + 0x58], rax
lea rax, [0x14000fe64]
mov qword [rbp - 0x68], rax
lea rax, [0x1400157e8]
mov qword [rbp - 0x70], rax
lea rax, [rsp + 0x38]
mov qword [rbp - 0x30], rax
lea rax, [rsp + 0x38]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
mov rcx, qword [rsp + 0x40]
mov rax, qword [rbx + 8]
mov qword [rsp + 0x40], rax
mov qword [rbx + 8], rcx
mov rcx, qword [rsp + 0x48]
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x48], rax
mov qword [rbx + 0x10], rcx
mov rcx, qword [rsp + 0x50]
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x50], rax
mov qword [rbx + 0x18], rcx
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x80]
call fcn.14000fdd8
nop
mov rcx, rbx
call fcn.140001bac
nop
lea rcx, [rbp - 0x60]
call fcn.140001bac
nop
or r12d, 1
mov dword [rsp + 0x30], r12d
lea rax, [0x140013c28]
mov qword [rdi], rax
mov qword [rdi + 8], rsi
mov dword [rdi + 0x10], esi
mov byte [rdi + 0x14], sil
lea rax, [0x1400157b8]
mov qword [rdi], rax
lea rbx, [rdi + 0x18]
lea rax, [0x1400157c8]
mov qword [rbx + 0x10], rax
mov qword [rbx], rsi
mov qword [rbx + 0x18], rsi
mov rax, qword [rbp - 0x70]
mov r8, qword [rax]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x38]
call r8
mov rax, qword [rbx + 0x10]
mov r8, qword [rax]
mov rdx, rbx
lea rcx, [rbp - 0x80]
call r8
mov rax, qword [rsp + 0x48]
mov r8, qword [rax]
lea rdx, [rsp + 0x38]
mov rcx, rbx
call r8
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbp - 0x68]
mov qword [rbx + 0x18], rax
mov qword [rbp - 0x68], rcx
mov rbx, qword [rsp + 0x78]
jmp 0x14000f772
mov qword [rbp + 0x80], rsi
test r12b, 1
je 0x14000f78f
and r12d, 0xfffffffe
mov dword [rsp + 0x30], r12d
mov rax, qword [rbp - 0x70]
mov rdx, qword [rax + 0x18]
lea rcx, [rbp - 0x80]
call rdx
sub r15, r14
sar r15, 3
lea rcx, [r15 + 1]
mov rax, rbx
sub rax, r14
sar rax, 3
cmp rcx, rax
jbe 0x14000f80b
lea rsi, [rax*4 + 4]
jmp 0x14000f7b7
shl rsi, 2
cmp rcx, rsi
jae 0x14000f7b3
cmp rsi, rax
jbe 0x14000f809
shl rsi, 3
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_malloc]
mov rdi, rax
mov rbx, r15
shl rbx, 3
mov r8, rbx
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memmove
mov rcx, r14
call qword [sym.imp.msvcrt.dll_free]
mov r14, rdi
mov qword [rsp + 0x68], rdi
lea rcx, [rbx + rdi]
mov qword [rsp + 0x70], rcx
lea rbx, [rsi + rdi]
mov qword [rsp + 0x78], rbx
xor esi, esi
mov rax, qword [rbp + 0x80]
mov qword [r14 + r15*8], rax
inc r15
lea rdi, [r14 + r15*8]
mov r15, rdi
mov qword [rsp + 0x70], rdi
lea rcx, [rbp - 0x20]
call fcn.140001bac
mov eax, dword [rbp + 0x78]
inc eax
mov dword [rbp + 0x78], eax
cmp eax, dword [r13 + 0x20]
jl 0x14000f5cf
lea r8, str.Start_ping_threads..._n
mov edx, 1
lea rcx, [0x14001d010]
call fcn.140001720
mov rbx, rdi
sub rbx, r14
add rbx, 7
shr rbx, 3
cmp r14, rdi
mov eax, 0
cmova rbx, rax
mov r12, r14
test rbx, rbx
je 0x14000f8c3
xor r13d, r13d
mov rdi, qword [r12]
cmp qword [rdi + 8], r13
jne 0x14000f8b3
cmp byte [rdi + 0x14], r13b
jne 0x14000f8b3
lea rax, [rdi + 0x10]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
mov r9, rdi
lea r8, [0x1400044c8]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rdi + 8], rax
add r12, 8
inc rsi
cmp rsi, rbx
jne 0x14000f87d
mov r13, qword [rbp + 0x70]
lea r8, str.Wait_for_pings_to_complete..._n
mov edx, 1
lea rcx, [0x14001d010]
call fcn.140001720
xor r12d, r12d
mov edi, r12d
mov rbx, r15
sub rbx, r14
add rbx, 7
shr rbx, 3
cmp r14, r15
cmova rbx, r12
mov rsi, r14
test rbx, rbx
je 0x14000f91a
mov rcx, qword [rsi]
or edx, 0xffffffff
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rsi, [rsi + 8]
inc rdi
cmp rdi, rbx
jne 0x14000f8fe
mov rsi, r12
mov rdi, r14
test rbx, rbx
je 0x14000f943
mov rcx, qword [rdi]
test rcx, rcx
je 0x14000f937
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
add rdi, 8
inc rsi
cmp rsi, rbx
jne 0x14000f925
lea r8, str.All_pings_completed_n
mov edx, 1
lea rcx, [0x14001d010]
call fcn.140001720
nop
mov rcx, r14
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, r13
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.140001bac