Function at 0x140004bc0
Capabilities:
Terminate process

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x14b0]
mov eax, 0x15b0
call fcn.14000c860
sub rsp, rax
mov rax, qword [0x140013460]
xor rax, rsp
mov qword [rbp + 0x14a0], rax
mov r13, rcx
mov qword [rsp + 0x48], rcx
mov r14, rdx
mov qword [rsp + 0x60], rdx
lea rcx, [rbp + 0xd80]
xor esi, esi
xor edx, edx
mov r8d, 0x320
xor r15d, r15d
mov qword [rsp + 0x30], rsi
call sub.MSVCR120.dll_memset
lea rcx, [rbp + 0x740]
xor edx, edx
mov r8d, 0x320
call sub.MSVCR120.dll_memset
lea rcx, [rbp + 0xa60]
xor edx, edx
mov r8d, 0x320
call sub.MSVCR120.dll_memset
lea rdx, [0x14000e764]
mov rcx, r13
call qword [sym.imp.MSVCR120.dll_fopen]
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x140004cac
call qword [sym.imp.MSVCR120.dll__errno]
mov ecx, dword [rax]
call qword [sym.imp.MSVCR120.dll_strerror]
lea rcx, str._s:_could_not_open_file___s__for_reading:__s_n
mov rbx, rax
call sub.libintl_8.dll_libintl_gettext
mov rdi, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, qword [0x140013508]
lea rcx, [rax + 0x60]
mov r9, r13
mov rdx, rdi
mov qword [rsp + 0x20], rbx
call fcn.140009670
lea ecx, [rsi + 2]
call qword [sym.imp.MSVCR120.dll_exit]
int3
lea rcx, [rbp + 0x10a0]
mov r8, rax
mov edx, 0x400
mov qword [rsp + 0x1600], r12
call qword [sym.imp.MSVCR120.dll_fgets]
test rax, rax
je 0x1400054a5
xor r13d, r13d
inc r15d
mov rdi, r13
mov dword [rsp + 0x38], r15d
lea rbx, [rbp + 0xd80]
add rbx, rdi
mov rcx, qword [rbx]
test rcx, rcx
je 0x140004dab
test rbx, rbx
je 0x140004d22
add rcx, 8
cmp qword [rcx], 0
je 0x140004d0a
call fcn.1400028f0
mov rcx, qword [rbx]
mov rcx, qword [rcx]
call qword [sym.imp.MSVCR120.dll_free]
mov rcx, qword [rbx]
call qword [sym.imp.MSVCR120.dll_free]
mov qword [rbx], r13
lea rbx, [rbp + 0x740]
add rbx, rdi
je 0x140004d5e
mov rax, qword [rbx]
test rax, rax
je 0x140004d5e
cmp qword [rax + 8], 0
lea rcx, [rax + 8]
je 0x140004d46
call fcn.1400028f0
mov rcx, qword [rbx]
mov rcx, qword [rcx]
call qword [sym.imp.MSVCR120.dll_free]
mov rcx, qword [rbx]
call qword [sym.imp.MSVCR120.dll_free]
mov qword [rbx], r13
lea rbx, [rbp + 0xa60]
add rbx, rdi
je 0x140004d9a
mov rax, qword [rbx]
test rax, rax
je 0x140004d9a
cmp qword [rax + 8], 0
lea rcx, [rax + 8]
je 0x140004d82
call fcn.1400028f0
mov rcx, qword [rbx]
mov rcx, qword [rcx]
call qword [sym.imp.MSVCR120.dll_free]
mov rcx, qword [rbx]
call qword [sym.imp.MSVCR120.dll_free]
mov qword [rbx], r13
add rdi, 8
cmp rdi, 0x320
jl 0x140004ce0
lea rcx, [rbp + 0x10a0]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140004db6
movsxd rbx, eax
test eax, eax
jle 0x140004dff
nop word [rax + rax]
movzx ecx, byte [rbp + rbx + 0x109f]
call qword [sym.imp.MSVCR120.dll_isspace]
test eax, eax
je 0x140004dff
dec rbx
cmp rbx, 0x400
jae 0x140005600
mov byte [rbp + rbx + 0x10a0], 0
test rbx, rbx
jg 0x140004dd0
movzx eax, byte [rbp + 0x10a0]
test al, al
je 0x14000545f
cmp al, 0x23
je 0x14000545f
lea rdx, str.test:
lea rcx, [rbp + 0x10a0]
mov r8d, 6
call qword [sym.imp.MSVCR120.dll_strncmp]
test eax, eax
jne 0x1400053c1
xor dil, dil
mov esi, r13d
mov r12, r13
mov qword [rsp + 0x58], r13
lea rbx, [rbp + 0x10a6]
cmp byte [rbp + 0x10a6], dil
je 0x14000557e
nop word [rax + rax]
movzx ecx, byte [rbx]
call qword [sym.imp.MSVCR120.dll_isspace]
test eax, eax
je 0x140004e75
mov byte [rbx], 0
xor dil, dil
jmp 0x140004e99
test dil, dil
jne 0x140004e99
cmp r12, 0x64
jge 0x1400054d9
mov qword [rbp + r12*8 + 0x420], rbx
inc esi
inc r12
mov qword [rsp + 0x58], r12
mov dil, 1
inc rbx
cmp byte [rbx], 0
jne 0x140004e60
test esi, esi
je 0x14000557e
cmp esi, 1
jne 0x140004f97
lea rcx, str.test___24s_...
call sub.libintl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x420]
mov rcx, rax
call fcn.140002710
mov rcx, qword [rbp + 0x420]
lea r9, [rbp + 0xa60]
lea r8, [rbp + 0x740]
lea rdx, [rbp + 0xd80]
call r14
lea ecx, [rsi + 7]
mov qword [rsp + 0x70], rax
call qword [sym.imp.MSVCR120.dll_malloc]
mov edi, esi
movsd xmm0, qword [rsp + 0x70]
mov r14, rax
mov rsi, rax
movsd qword [rax], xmm0
nop dword [rax]
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, r14
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, edi
jae 0x14000550e
mov eax, eax
mov rbx, r13
lea rcx, [r14 + rax*8]
mov rax, qword [rsi]
mov rdx, qword [rcx]
mov qword [rcx], rax
nop dword [rax]
mov rcx, qword [rsp + rbx*8 + 0x70]
cmp rdx, rcx
je 0x140004f55
inc rbx
cmp rbx, 1
jl 0x140004f40
jmp 0x140004f85
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov rcx, qword [rsp + rbx*8 + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x40]
dec edi
mov qword [rsp + rbx*8 + 0x70], 0xffffffffffffffff
sub rsi, 8
mov dword [rbp + rbx*4 + 0x290], eax
test edi, edi
jg 0x140004f10
mov rcx, r14
call qword [sym.imp.MSVCR120.dll_free]
jmp 0x1400051fa
mov eax, dword [0x14001348c]
test eax, eax
jle 0x140005087
cmp eax, esi
jge 0x140005087
lea rcx, str.parallel_group___d_tests__in_groups_of__d_:
mov edi, r13d
call sub.libintl_8.dll_libintl_gettext
mov r8d, dword [0x14001348c]
mov edx, esi
mov rcx, rax
call fcn.140002710
mov ebx, r13d
mov rsi, r13
test r12, r12
jle 0x140005056
nop dword [rax + rax]
mov r9d, ebx
sub r9d, edi
cmp r9d, dword [0x14001348c]
jl 0x140005018
movsxd rax, edi
lea r8, [rbp + 0x420]
lea rdx, [rbp + 0x290]
lea rcx, [rsp + 0x70]
lea r8, [r8 + rax*8]
lea rdx, [rdx + rax*4]
lea rcx, [rcx + rax*8]
call fcn.140004a20
mov edi, ebx
mov rcx, qword [rbp + rsi*8 + 0x420]
movsxd rax, ebx
lea r9, [rbp + 0xa60]
lea r8, [rbp + 0x740]
lea rdx, [rbp + 0xd80]
lea r9, [r9 + rax*8]
lea r8, [r8 + rax*8]
lea rdx, [rdx + rax*8]
call r14
inc rsi
inc ebx
mov qword [rsp + rsi*8 + 0x68], rax
cmp rsi, r12
jl 0x140004fe0
movsxd rax, edi
sub ebx, edi
lea r8, [rbp + 0x420]
lea rdx, [rbp + 0x290]
lea rcx, [rsp + 0x70]
lea r8, [r8 + rax*8]
lea rdx, [rdx + rax*4]
lea rcx, [rcx + rax*8]
mov r9d, ebx
call fcn.140004a20
jmp 0x1400051bc
lea rcx, str.parallel_group___d_tests_:
call sub.libintl_8.dll_libintl_gettext
mov edx, esi
mov rcx, rax
call fcn.140002710
mov edi, r13d
mov rbx, r13
test r12, r12
jle 0x1400050ee
nop dword [rax + rax]
mov rcx, qword [rbp + rbx*8 + 0x420]
movsxd rax, edi
lea r9, [rbp + 0xa60]
lea r8, [rbp + 0x740]
lea rdx, [rbp + 0xd80]
lea r9, [r9 + rax*8]
lea r8, [r8 + rax*8]
lea rdx, [rdx + rax*8]
call r14
inc rbx
inc edi
mov qword [rsp + rbx*8 + 0x68], rax
cmp rbx, r12
jl 0x1400050b0
movsxd rbx, esi
shl rbx, 3
mov rcx, rbx
call qword [sym.imp.MSVCR120.dll_malloc]
lea rdx, [rsp + 0x70]
mov r8, rbx
mov rcx, rax
mov rdi, rax
call sub.MSVCR120.dll_memcpy
test esi, esi
jle 0x1400051b3
lea r14, [r12 - 1]
lea r14, [rdi + r14*8]
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, rdi
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, esi
jae 0x140005546
mov eax, eax
mov rbx, r13
lea rcx, [rdi + rax*8]
mov rax, qword [r14]
mov rdx, qword [rcx]
mov qword [rcx], rax
test r12, r12
jle 0x1400051ab
mov rcx, qword [rsp + rbx*8 + 0x70]
cmp rdx, rcx
je 0x140005167
inc rbx
cmp rbx, r12
jl 0x140005153
jmp 0x1400051ab
lea rdx, [rsp + 0x3c]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov rcx, qword [rsp + rbx*8 + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x3c]
mov rdx, qword [rbp + rbx*8 + 0x420]
lea rcx, [0x14000ef34]
mov dword [rbp + rbx*4 + 0x290], eax
mov qword [rsp + rbx*8 + 0x70], 0xffffffffffffffff
call fcn.140002710
dec esi
sub r14, 8
test esi, esi
jg 0x140005122
mov rcx, rdi
call qword [sym.imp.MSVCR120.dll_free]
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rdx, [0x14000e688]
lea rcx, [rax + 0x30]
call fcn.140009670
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rcx, [rax + 0x30]
call qword [sym.imp.MSVCR120.dll_fflush]
mov rcx, qword [0x140013518]
test rcx, rcx
je 0x1400051fa
lea rdx, [0x14000e688]
call fcn.140009670
test r12, r12
jle 0x140005452
xor r15b, r15b
cmp r12, 1
jle 0x140005228
lea rcx, str._______24s_...
call sub.libintl_8.dll_libintl_gettext
mov rdx, qword [rbp + r13*8 + 0x420]
mov rcx, rax
call fcn.140002710
mov rdi, qword [rbp + r13*8 + 0xd80]
mov r14, qword [rbp + r13*8 + 0x740]
mov rbx, qword [rbp + r13*8 + 0xa60]
test rdi, rdi
je 0x140005318
mov r12, qword [rbp + r13*8 + 0x420]
test rbx, rbx
je 0x14000525a
mov rbx, qword [rbx + 8]
mov r8, qword [r14]
mov rdx, qword [rdi]
mov rcx, r12
call fcn.140004410
movzx esi, al
test al, al
je 0x140005283
test rbx, rbx
je 0x140005283
mov rdx, qword [rbx]
lea rcx, [0x14000f090]
call fcn.1400096a0
mov rdi, qword [rdi + 8]
mov r14, qword [r14 + 8]
or r15b, sil
test rdi, rdi
jne 0x140005251
test r15b, r15b
je 0x140005318
mov rsi, qword [rsp + 0x30]
mov r9, rsi
test rsi, rsi
je 0x1400052e0
nop dword [rax]
mov r8, qword [r9]
mov rax, r12
sub r8, r12
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400052d3
inc rax
test ecx, ecx
jne 0x1400052c0
test edx, edx
je 0x1400052fc
mov r9, qword [r9 + 8]
test r9, r9
jne 0x1400052b0
lea rcx, str.FAILED
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
call fcn.140002710
inc dword [0x140013500]
jmp 0x140005337
lea rcx, str.failed__ignored_
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
call fcn.140002710
inc dword [0x140013504]
jmp 0x140005337
lea rcx, [0x14000f0b4]
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
call fcn.140002710
inc dword [0x1400134fc]
mov rsi, qword [rsp + 0x30]
mov ebx, dword [rbp + r13*4 + 0x290]
test ebx, ebx
je 0x140005368
lea rcx, str.__test_process_exited_with_exit_code__d_
test ebx, 0xffffff00
je 0x140005359
lea rcx, str.__test_process_was_terminated_by_exception_0x_X_
call sub.libintl_8.dll_libintl_gettext
mov edx, ebx
mov rcx, rax
call fcn.140002710
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rdx, [0x14000e688]
lea rcx, [rax + 0x30]
call fcn.140009670
call qword [sym.imp.MSVCR120.dll___iob_func]
lea rcx, [rax + 0x30]
call qword [sym.imp.MSVCR120.dll_fflush]
mov rcx, qword [0x140013518]
test rcx, rcx
je 0x1400053a6
lea rdx, [0x14000e688]
call fcn.140009670
mov r12, qword [rsp + 0x58]
inc r13
cmp r13, r12
jl 0x140005203
mov r15d, dword [rsp + 0x38]
jmp 0x140005457
lea rdx, str.ignore:
lea rcx, [rbp + 0x10a0]
mov r8d, 8
call qword [sym.imp.MSVCR120.dll_strncmp]
test eax, eax
jne 0x1400055bf
lea rbx, [rbp + 0x10a8]
cmp byte [rbp + 0x10a8], al
je 0x140005407
movzx ecx, byte [rbx]
call qword [sym.imp.MSVCR120.dll_isspace]
test eax, eax
je 0x140005407
inc rbx
cmp byte [rbx], 0
jne 0x1400053f2
mov ecx, 0x10
call qword [sym.imp.MSVCR120.dll_malloc]
mov rcx, rbx
mov rdi, rax
call qword [sym.imp.MSVCR120.dll__strdup]
mov qword [rdi + 8], r13
mov qword [rdi], rax
test rsi, rsi
jne 0x140005434
mov rsi, rdi
mov qword [rsp + 0x30], rdi
jmp 0x14000545f
mov rax, qword [rsi + 8]
mov rcx, rsi
test rax, rax
je 0x14000544c
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140005440
mov qword [rcx + 8], rdi
jmp 0x14000545f
mov rsi, qword [rsp + 0x30]
mov r14, qword [rsp + 0x60]
xor r13d, r13d
mov r8, qword [rsp + 0x50]
lea rcx, [rbp + 0x10a0]
mov edx, 0x400
call qword [sym.imp.MSVCR120.dll_fgets]
test rax, rax
jne 0x140004cd5
test rsi, rsi
je 0x1400054a5
cmp qword [rsi + 8], rax
lea rcx, [rsi + 8]
je 0x140005493
call fcn.1400028f0
mov rcx, qword [rsi]
call qword [sym.imp.MSVCR120.dll_free]
mov rcx, rsi
call qword [sym.imp.MSVCR120.dll_free]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.MSVCR120.dll_fclose]
mov r12, qword [rsp + 0x1600]
mov rcx, qword [rbp + 0x14a0]
xor rcx, rsp
call fcn.14000c8c0
add rsp, 0x15b0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, str.too_many_parallel_tests_in_schedule_file___s___line__d_n
call sub.libintl_8.dll_libintl_gettext
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, qword [rsp + 0x48]
lea rcx, [rax + 0x60]
mov r9d, r15d
mov rdx, rbx
call fcn.140009670
mov ecx, 2
call qword [sym.imp.MSVCR120.dll_exit]
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.failed_to_wait_for_subprocesses:_error_code__lu_n
mov edi, eax
call sub.libintl_8.dll_libintl_gettext
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8d, edi
lea rcx, [rax + 0x60]
mov rdx, rbx
call fcn.140009670
mov ecx, 2
call qword [sym.imp.MSVCR120.dll_exit]
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.failed_to_wait_for_subprocesses:_error_code__lu_n
mov edi, eax
call sub.libintl_8.dll_libintl_gettext
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8d, edi
lea rcx, [rax + 0x60]
mov rdx, rbx
call fcn.140009670
mov ecx, 2
call qword [sym.imp.MSVCR120.dll_exit]
int3
lea rcx, str.syntax_error_in_schedule_file___s__line__d:__s_n
call sub.libintl_8.dll_libintl_gettext
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, qword [rsp + 0x48]
lea rcx, [rbp + 0x10a0]
mov r9d, r15d
mov rdx, rbx
mov qword [rsp + 0x20], rcx
lea rcx, [rax + 0x60]
call fcn.140009670
mov ecx, 2
call qword [sym.imp.MSVCR120.dll_exit]
int3
lea rcx, str.syntax_error_in_schedule_file___s__line__d:__s_n
call sub.libintl_8.dll_libintl_gettext
mov rbx, rax
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, qword [rsp + 0x48]
lea rcx, [rbp + 0x10a0]
mov r9d, r15d
mov rdx, rbx
mov qword [rsp + 0x20], rcx
lea rcx, [rax + 0x60]
call fcn.140009670
mov ecx, 2
call qword [sym.imp.MSVCR120.dll_exit]
int3
call fcn.14000c454
int3