Function at 0x140067150
Capabilities:
Print debug messages

Disassembly:
push rbx
push rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x1401b89e8]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x138]
xor r12d, r12d
mov qword [rsp + 0x78], r9
mov r15d, ecx
mov rcx, qword [rsp + 0x140]
mov ebx, edx
mov qword [rsp + 0x88], rcx
mov r14d, r12d
mov qword [rsp + 0x80], r8
mov dword [rsp + 0x60], edx
mov qword [rsp + 0x90], rax
test rax, rax
jne 0x1400671c0
mov qword [rsp + 0xa0], r12
jmp 0x1400671d5
mov edx, 0x7fffffff
mov rcx, rax
call fcn.1400b0240
mov qword [rsp + 0xa0], rax
mov eax, ebx
lea rcx, [rsp + 0x68]
not eax
mov r13d, r12d
shr eax, 0x1f
mov rbp, r12
mov dword [rsp + 0x70], eax
mov rdi, r12
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x98], rax
call qword [sym.imp.api_ms_win_core_profile_l1_1_0.dll_QueryPerformanceFrequency]
lea rcx, [rsp + 0x98]
call qword [sym.imp.api_ms_win_core_profile_l1_1_0.dll_QueryPerformanceCounter]
movabs rax, 0x20c49ba5e353f7cf
imul qword [rsp + 0x68]
mov rcx, rdx
sar rcx, 7
mov rax, rcx
shr rax, 0x3f
add rcx, rax
mov rax, qword [rsp + 0x98]
cqo
idiv rcx
mov qword [rsp + 0x68], rax
test r15d, r15d
je 0x140067b6a
mov qword [rsp + 0x110], rsi
test r15b, 1
je 0x14006731f
mov ecx, r13d
call fcn.140066f70
mov rbx, rax
test rax, rax
jne 0x140067273
mov rax, r12
jmp 0x140067280
mov edx, 0x14
mov rcx, rbx
call fcn.1400b0240
cmp rax, 0x11
mov qword [rsp + 0x98], rbp
lea rsi, [rbx + 0x11]
cmovb rsi, rbx
test rsi, rsi
jne 0x14006729e
mov rax, r12
jmp 0x1400672ab
mov edx, 0x104
mov rcx, rsi
call fcn.1400b0240
add rax, 2
mov rcx, rbp
add rdi, rax
mov rdx, rdi
call fcn.1400b0678
mov rbx, rax
test rbp, rbp
jne 0x1400672d7
test rax, rax
je 0x1400672d7
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.14008b040
mov rbp, rbx
test rbx, rbx
je 0x1400673f8
cmp qword [rsp + 0x98], r12
je 0x140067308
test rdi, rdi
je 0x14006731f
or r9, 0xffffffffffffffff
lea r8, [0x140112b40]
mov rdx, rdi
mov rcx, rbx
call fcn.1400c700c
test rdi, rdi
je 0x14006731f
or r9, 0xffffffffffffffff
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.1400c700c
shr r15d, 1
lea eax, [r13 + 1]
cmove eax, r13d
mov r13d, eax
test r15d, r15d
jne 0x140067254
test rbp, rbp
je 0x140067b3c
mov eax, dword [rsp + 0x60]
mov ecx, 4
mov rdi, qword [rsp + 0x78]
cmp eax, ecx
mov ebx, r12d
cmova eax, ecx
test eax, eax
lea edx, [rcx + 0x58]
mov rcx, rdi
cmovns ebx, eax
call fcn.14008b708
test rax, rax
je 0x140067373
lea rdi, [rax + 1]
mov qword [rsp + 0x78], rdi
movsxd rax, ebx
lea r15, str.FATAL
cmp r13d, 1
mov esi, r12d
cmovne esi, dword [rsp + 0x70]
lea rcx, [rax + rax*2]
mov dword [rsp + 0x60], esi
lea rbx, [rcx*8]
test byte [rbx + r15 + 0x10], 1
mov qword [rsp + 0x70], rbx
je 0x14006745e
mov rax, qword [rsp + 0x68]
lea r8, [0x1400f86fc]
mov r9, qword [rbx + r15]
mov ecx, 1
test esi, esi
je 0x140067405
mov qword [rsp + 0x40], rax
lea rdx, str._s_s:___s__s__s_d___llu_ms_:
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbp
call fcn.140010a00
jmp 0x14006741b
mov rbp, qword [rsp + 0x98]
jmp 0x140067b2f
mov qword [rsp + 0x28], rax
lea rdx, str._s_s:___s____llu_ms_:
mov qword [rsp + 0x20], rbp
call fcn.140010a00
mov rsi, qword [rsp + 0x90]
mov r14d, eax
mov rdx, qword [rsp + 0x88]
mov rcx, rsi
call fcn.140010990
add r14d, eax
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x14006745e
cmp byte [rsi + rax - 1], 0xa
je 0x14006745e
lea rdx, [0x140102c60]
mov ecx, 1
call fcn.140010a00
test byte [rbx + r15 + 0x10], 8
je 0x1400676c6
mov ecx, 3
call fcn.140010ca0
test eax, eax
je 0x1400676c6
xor eax, eax
mov qword [rsp + 0xa0], r12
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rax
mov dword [rsp + 0xc0], eax
mov word [rsp + 0xc4], ax
call fcn.1400cc474
lea r8, [rsp + 0xa0]
mov edx, 0x1e
lea rcx, [rsp + 0xa8]
call fcn.1400cd974
mov rcx, qword [rbx + r15]
mov byte [rsp + 0xbc], r12b
test rcx, rcx
jne 0x1400674ea
mov r15, r12
jmp 0x1400674f7
mov edx, 0x104
call fcn.1400b0240
mov r15, rax
mov edx, 0x104
lea rcx, [rsp + 0xa8]
call fcn.1400b0240
mov r13, rax
mov rax, qword [rsp + 0x80]
test rax, rax
jne 0x14006751e
mov rsi, r12
jmp 0x14006752e
mov edx, 0x104
mov rcx, rax
call fcn.1400b0240
mov rsi, rax
test rdi, rdi
jne 0x140067538
mov rdi, r12
jmp 0x140067548
mov edx, 0x104
mov rcx, rdi
call fcn.1400b0240
mov rdi, rax
mov edx, 0x104
mov rcx, rbp
call fcn.1400b0240
mov rdx, qword [rsp + 0x88]
mov rbx, rax
mov rcx, qword [rsp + 0x90]
call fcn.140038350
movsxd rcx, eax
mov edx, 0x104
add rcx, 0x22
add rbx, rcx
lea rcx, str._s_s:___s__s__s_d___llu_ms_:
add rbx, rdi
add rbx, rsi
mov esi, dword [rsp + 0x60]
add rbx, r13
test esi, esi
jne 0x14006759b
lea rcx, str._s_s:___s____llu_ms_:
call fcn.1400b0240
lea rdi, [rbx + r15]
add rdi, rax
mov rcx, rdi
call fcn.140067b70
lea r15, str.FATAL
mov rbx, rax
test rax, rax
je 0x1400676c1
mov rax, qword [rsp + 0x68]
mov rdx, rbx
mov r13, qword [rsp + 0x70]
test esi, esi
je 0x140067621
mov rcx, qword [r15 + r13]
lea r8, str._s_s:___s__s__s_d___llu_ms_:
mov r9, qword [rsp + 0x78]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], r9
lea r9, [rsp + 0xac]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rcx
mov rcx, rdi
call fcn.140067bb0
jmp 0x14006764b
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0xac]
mov rax, qword [r15 + r13]
lea r8, str._s_s:___s____llu_ms_:
mov qword [rsp + 0x28], rbp
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140067bb0
mov r9, qword [rsp + 0x90]
mov esi, eax
cdqe
mov rdx, rdi
sub rdx, rax
or r8, 0xffffffffffffffff
lea rcx, [rax + rbx]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
call fcn.1400140a0
add esi, eax
je 0x1400676a2
lea eax, [rsi - 1]
movsxd rcx, eax
cmp byte [rcx + rbx], 0xa
je 0x1400676a2
test rdi, rdi
je 0x1400676a2
or r9, 0xffffffffffffffff
lea r8, [0x140102c60]
mov rdx, rdi
mov rcx, rbx
call fcn.1400c700c
mov r8, rbx
lea rdx, [0x140102074]
mov ecx, 3
call fcn.140010ef0
mov rcx, rbx
mov r14d, eax
call fcn.140096ac0
mov rbx, qword [rsp + 0x70]
test byte [rbx + r15 + 0x10], 4
je 0x1400678c1
mov rcx, qword [rbx + r15]
test rcx, rcx
jne 0x1400676e0
mov r15, r12
jmp 0x1400676ed
mov edx, 0x104
call fcn.1400b0240
mov r15, rax
mov edx, 0x104
lea rcx, [0x1400f86fc]
call fcn.1400b0240
mov r13, rax
mov rax, qword [rsp + 0x80]
test rax, rax
jne 0x140067713
mov rsi, r12
jmp 0x140067723
mov edx, 0x104
mov rcx, rax
call fcn.1400b0240
mov rsi, rax
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x140067732
mov rdi, r12
jmp 0x140067742
mov edx, 0x104
mov rcx, rax
call fcn.1400b0240
mov rdi, rax
mov edx, 0x104
mov rcx, rbp
call fcn.1400b0240
mov rdx, qword [rsp + 0x88]
mov rbx, rax
mov rcx, qword [rsp + 0x90]
call fcn.140038350
movsxd rcx, eax
mov edx, 0x104
add rcx, 0x22
add rbx, rcx
lea rcx, str._s_s:___s__s__s_d___llu_ms_:
add rbx, rdi
add rbx, rsi
mov esi, dword [rsp + 0x60]
add rbx, r13
test esi, esi
jne 0x140067795
lea rcx, str._s_s:___s____llu_ms_:
call fcn.1400b0240
lea rdi, [rbx + r15]
add rdi, rax
mov rcx, rdi
call fcn.140096ad4
mov rbx, rax
test rax, rax
je 0x1400678ba
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.14008b040
mov rax, qword [rsp + 0x68]
lea r15, str.FATAL
mov r13, qword [rsp + 0x70]
mov rdx, rbx
mov rcx, rdi
test esi, esi
je 0x140067827
mov r9, qword [rsp + 0x78]
lea r8, str._s_s:___s__s__s_d___llu_ms_:
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], r9
lea r9, [0x1400f86fc]
mov qword [rsp + 0x30], rax
mov rax, qword [r15 + r13]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
call fcn.140067bb0
jmp 0x14006784d
mov qword [rsp + 0x30], rax
lea r9, [0x1400f86fc]
mov rax, qword [r15 + r13]
lea r8, str._s_s:___s____llu_ms_:
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
call fcn.140067bb0
mov r9, qword [rsp + 0x90]
mov r14d, eax
cdqe
mov rdx, rdi
sub rdx, rax
or r8, 0xffffffffffffffff
lea rcx, [rax + rbx]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
call fcn.1400140a0
add r14d, eax
je 0x1400678a7
lea eax, [r14 - 1]
movsxd rcx, eax
cmp byte [rcx + rbx], 0xa
je 0x1400678a7
test rdi, rdi
je 0x1400678a7
or r9, 0xffffffffffffffff
lea r8, [0x140102c60]
mov rdx, rdi
mov rcx, rbx
call fcn.1400c700c
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140096ac0
jmp 0x1400678c6
lea r15, str.FATAL
mov r13, qword [rsp + 0x70]
test byte [r15 + r13 + 0x10], 2
je 0x140067b2f
mov rcx, qword [r15 + r13]
test rcx, rcx
jne 0x1400678e0
mov rsi, r12
jmp 0x1400678ed
mov edx, 0x104
call fcn.1400b0240
mov rsi, rax
mov edx, 0x104
lea rcx, [0x1400f86fc]
call fcn.1400b0240
mov r15, rax
mov rax, qword [rsp + 0x80]
test rax, rax
jne 0x140067913
mov rdi, r12
jmp 0x140067923
mov edx, 0x104
mov rcx, rax
call fcn.1400b0240
mov rdi, rax
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14006793d
mov edx, 0x104
mov rcx, rax
call fcn.1400b0240
mov r12, rax
mov edx, 0x104
mov rcx, rbp
call fcn.1400b0240
mov rdx, qword [rsp + 0x88]
mov rbx, rax
mov rcx, qword [rsp + 0x90]
call fcn.140038350
movsxd rcx, eax
mov edx, 0x104
add rcx, 0x31
add rbx, rcx
lea rcx, str._sESIF__s__TYPE:__s_MODULE:__s_FUNC:__s_FILE:__s_LINE:__d_TIME:__llu_ms_n_n
add rbx, r12
add rbx, rdi
add rbx, r15
mov r15d, dword [rsp + 0x60]
test r15d, r15d
jne 0x140067992
lea rcx, str._sESIF__s__TYPE:__s_MODULE:__s_TIME__llu_ms_n_n
call fcn.1400b0240
lea rdi, [rbx + rsi]
add rdi, rax
mov rcx, rdi
call fcn.140096ad4
mov rbx, rax
test rax, rax
je 0x1400679bb
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.14008b040
test rbx, rbx
je 0x140067b2f
lea r8, [0x14010e4a4]
mov rcx, rbp
lea rdx, [0x140112b40]
call fcn.14005a630
test r15d, r15d
mov rsi, rax
lea r15, str.FATAL
mov rdx, rbx
je 0x140067a54
mov r9, qword [rsp + 0x78]
lea r8, str._sESIF__s__TYPE:__s_MODULE:__s_FUNC:__s_FILE:__s_LINE:__d_TIME:__llu_ms_n_n
test rax, rax
mov rcx, rbp
cmovne rcx, rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], r9
lea r9, [0x1400f86fc]
mov qword [rsp + 0x38], rax
lea rax, [0x140102050]
mov qword [rsp + 0x30], rcx
mov rcx, qword [r15 + r13]
mov qword [rsp + 0x28], rcx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140067bb0
jmp 0x140067a98
mov rcx, qword [rsp + 0x68]
lea r9, [0x1400f86fc]
mov qword [rsp + 0x38], rcx
lea r8, str._sESIF__s__TYPE:__s_MODULE:__s_TIME__llu_ms_n_n
test rsi, rsi
mov rax, rbp
mov rcx, rdi
cmovne rax, rsi
mov qword [rsp + 0x30], rax
mov rax, qword [r15 + r13]
mov qword [rsp + 0x28], rax
lea rax, [0x140102050]
mov qword [rsp + 0x20], rax
call fcn.140067bb0
mov r9, qword [rsp + 0x90]
mov r14d, eax
cdqe
or r8, 0xffffffffffffffff
sub rdi, rax
mov rdx, rdi
lea rcx, [rax + rbx]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
call fcn.1400140a0
add r14d, eax
je 0x140067adf
lea ecx, [r14 - 1]
movsxd rax, ecx
cmp byte [rax + rbx], 0xa
jne 0x140067adf
movsxd r14, ecx
mov byte [r14 + rbx], 0
lea r8, [0x140112bcc]
mov rcx, rbx
lea rdx, [0x140112bd0]
call fcn.14005a630
mov rdi, rax
test rax, rax
je 0x140067b08
mov rcx, rbx
call fcn.140096ac0
mov rbx, rdi
mov ecx, dword [r15 + r13 + 8]
mov rdx, rbx
call fcn.14007f8e0
test rbx, rbx
je 0x140067b22
mov rcx, rbx
call fcn.140096ac0
test rsi, rsi
je 0x140067b2f
mov rcx, rsi
call fcn.140096ac0
test rbp, rbp
je 0x140067b3c
mov rcx, rbp
call fcn.140096ac0
mov rsi, qword [rsp + 0x110]
mov eax, r14d
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.1400897c0
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret
mov eax, r14d
jmp 0x140067b47