Function at 0x140004010
Capabilities:
Print debug messages

Disassembly:
jmp 0x140004010
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0xa8
mov rax, qword [0x1400fae80]
xor rax, rsp
mov qword [rbp - 1], rax
mov rcx, qword [rbp + 0x7f]
xor r12d, r12d
mov r14, r9
mov r13, r8
movsxd rsi, edx
mov edi, r12d
test rcx, rcx
jne 0x140004054
mov ebx, r12d
jmp 0x140004061
mov edx, 0x7fffffff
call fcn.14006c9b0
mov rbx, rax
lea rcx, [rbp - 0x41]
test esi, esi
mov r15d, r12d
mov qword [rbp - 0x41], r12
mov qword [rbp - 0x49], r12
setns r15b
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea rcx, [rbp - 0x49]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
movabs rax, 0x20c49ba5e353f7cf
imul qword [rbp - 0x41]
mov rcx, rdx
sar rcx, 7
mov rax, rcx
shr rax, 0x3f
add rcx, rax
mov rax, qword [rbp - 0x49]
cqo
idiv rcx
mov ecx, 4
cmp rsi, rcx
lea edx, [rcx + 0x58]
cmova esi, ecx
mov rcx, r14
mov r12, rax
mov qword [rbp - 0x31], rax
call fcn.14006cc98
test rax, rax
je 0x1400040d4
lea r14, [rax + 1]
lea rdx, str.EsifSvcWriteLog
mov rcx, r13
call fcn.14006d010
mov ecx, 1
test eax, eax
mov rax, rdi
cmove r15d, eax
movsxd rax, esi
mov dword [rbp - 0x39], r15d
imul rsi, rax, 0x11
lea rax, str.FATAL
mov qword [rbp - 0x49], rsi
test byte [rsi + rax + 0x10], cl
je 0x14000422f
mov r9, qword [rsi + rax]
lea r8, [0x1400bc217]
test r15d, r15d
je 0x140004147
mov qword [rsp + 0x38], r12
mov r12d, dword [rbp + 0x77]
lea rdx, str._s_s:__s__s_d___llu_ms_:
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
call fcn.140001410
jmp 0x140004157
lea rdx, str._s_s:
call fcn.140001410
mov r12d, dword [rbp + 0x77]
mov rcx, qword [rbp + 0x7f]
lea rdx, [rbp + 0x87]
mov edi, eax
call fcn.140001a96
add edi, eax
xor eax, eax
mov qword [rbp - 0x41], rax
test rbx, rbx
je 0x140004192
mov rax, qword [rbp + 0x7f]
cmp byte [rbx + rax - 1], 0xa
je 0x140004192
lea rdx, [0x1400bc254]
mov ecx, 1
call fcn.140001410
lea rax, str.FATAL
test byte [rsi + rax + 0x10], 8
je 0x140004292
mov ecx, 3
call fcn.14000154b
test eax, eax
je 0x140004292
xor eax, eax
lea rcx, [rbp - 0x29]
mov qword [rbp - 0x29], rax
mov byte [rbp - 0x21], al
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov dword [rbp - 8], eax
mov byte [rbp - 4], al
call fcn.14006ceec
lea r8, [rbp - 0x29]
lea rcx, [rbp - 0x21]
mov edx, 0x1e
call fcn.14006ce48
mov byte [rbp - 0xd], 0
lea r8, [rbp - 0x1d]
mov ecx, 3
test r15d, r15d
je 0x140004238
mov rax, qword [rbp - 0x31]
lea rdx, str._s_s:__s__s_d___llu_ms_:
mov qword [rsp + 0x38], rax
lea rax, str.FATAL
mov dword [rsp + 0x30], r12d
mov r9, qword [rsi + rax]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
call fcn.1400013f2
jmp 0x14000424f
mov r12d, dword [rbp + 0x77]
jmp 0x140004199
lea rax, str.FATAL
lea rdx, str._s_s:
mov r9, qword [rsi + rax]
call fcn.1400013f2
mov rdx, qword [rbp + 0x7f]
lea r8, [rbp + 0x87]
mov ecx, 3
mov edi, eax
call fcn.14000161d
xor r12d, r12d
add edi, eax
mov qword [rbp - 0x41], r12
test rbx, rbx
je 0x140004295
mov rax, qword [rbp + 0x7f]
cmp byte [rbx + rax - 1], 0xa
je 0x140004295
lea rdx, [0x1400bc254]
lea ecx, [r12 + 3]
call fcn.1400013f2
jmp 0x140004295
xor r12d, r12d
lea rbx, str.FATAL
test byte [rsi + rbx + 0x10], 4
je 0x140004451
mov rcx, qword [rsi + rbx]
test rcx, rcx
jne 0x1400042b5
mov r15, r12
jmp 0x1400042c2
mov edx, 0x104
call fcn.14006c9b0
mov r15, rax
lea rcx, [0x1400bc217]
mov edx, 0x104
call fcn.14006c9b0
mov r12, rax
test r13, r13
jne 0x1400042e1
xor eax, eax
mov esi, eax
jmp 0x1400042f3
mov edx, 0x104
mov rcx, r13
call fcn.14006c9b0
mov rsi, rax
xor eax, eax
test r14, r14
je 0x140004305
mov edx, 0x104
mov rcx, r14
call fcn.14006c9b0
mov rcx, qword [rbp + 0x7f]
lea rdx, [rbp + 0x87]
mov rbx, rax
call fcn.14006c7fc
mov edx, 0x104
movsxd rcx, eax
add rcx, 0x14
add rcx, rbx
add rsi, rcx
lea rcx, str._s_s:__s__s_d___llu_ms_:
add rsi, r12
xor r12d, r12d
add rsi, r15
mov r15d, dword [rbp - 0x39]
mov qword [rbp - 0x41], r12
test r15d, r15d
jne 0x14000434e
lea rcx, str._s_s:
call fcn.14006c9b0
add rsi, rax
mov rcx, rsi
call fcn.14006c500
mov rbx, rax
test rax, rax
je 0x140004446
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.14006c5d0
test r15d, r15d
mov r15, qword [rbp - 0x49]
lea r9, [0x1400bc217]
mov rdx, rbx
mov rcx, rsi
je 0x1400043c5
mov rax, qword [rbp - 0x31]
lea r8, str._s_s:__s__s_d___llu_ms_:
mov qword [rsp + 0x40], rax
mov eax, dword [rbp + 0x77]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], r14
lea rax, str.FATAL
mov rax, qword [r15 + rax]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call fcn.140004b70
jmp 0x1400043e1
lea rax, str.FATAL
lea r8, str._s_s:
mov rax, qword [r15 + rax]
mov qword [rsp + 0x20], rax
call fcn.140004b70
mov r9, qword [rbp + 0x7f]
mov edi, eax
cdqe
lea r8, [rbp + 0x87]
mov rdx, rsi
lea rcx, [rax + rbx]
mov qword [rsp + 0x20], r8
sub rdx, rax
or r8, 0xffffffffffffffff
call fcn.1400765ec
mov qword [rbp - 0x41], r12
add edi, eax
je 0x140004435
movsxd rax, edi
cmp byte [rax + rbx - 1], 0xa
je 0x140004435
test rsi, rsi
je 0x140004435
lea r8, [0x1400bc254]
or r9, 0xffffffffffffffff
mov rdx, rsi
mov rcx, rbx
call fcn.14006cbc0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.14006c470
mov rsi, qword [rbp - 0x49]
lea rbx, str.FATAL
test byte [rsi + rbx + 0x10], 2
je 0x140004663
mov rcx, qword [rsi + rbx]
test rcx, rcx
jne 0x14000446a
mov r15, r12
jmp 0x140004477
mov edx, 0x104
call fcn.14006c9b0
mov r15, rax
lea rcx, [0x1400bc217]
mov edx, 0x104
call fcn.14006c9b0
mov r12, rax
test r13, r13
jne 0x140004496
xor eax, eax
mov esi, eax
jmp 0x1400044a8
mov edx, 0x104
mov rcx, r13
call fcn.14006c9b0
mov rsi, rax
xor eax, eax
test r14, r14
je 0x1400044ba
mov edx, 0x104
mov rcx, r14
call fcn.14006c9b0
mov rcx, qword [rbp + 0x7f]
lea rdx, [rbp + 0x87]
mov rbx, rax
call fcn.14006c7fc
mov edx, 0x104
movsxd rcx, eax
xor eax, eax
add rcx, 0x1e
mov qword [rbp - 0x41], rax
add rcx, rbx
add rsi, rcx
lea rcx, str._sESIF__s__TYPE:__s_FUNC:__s_FILE:__s_LINE:__d_TIME:__llu_ms_n_n
add rsi, r12
add rsi, r15
mov r15d, dword [rbp - 0x39]
test r15d, r15d
jne 0x140004502
lea rcx, str._sESIF__s__TYPE:__s_n_n
call fcn.14006c9b0
add rsi, rax
mov rcx, rsi
call fcn.14006c500
mov rbx, rax
test rax, rax
je 0x140004527
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.14006c5d0
test rbx, rbx
je 0x140004663
test r15d, r15d
mov r15, qword [rbp - 0x49]
lea r9, [0x1400bc217]
mov rdx, rbx
mov rcx, rsi
je 0x14000458a
mov rax, qword [rbp - 0x31]
lea r8, str._sESIF__s__TYPE:__s_FUNC:__s_FILE:__s_LINE:__d_TIME:__llu_ms_n_n
mov qword [rsp + 0x48], rax
mov eax, dword [rbp + 0x77]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r13
lea r14, str.FATAL
mov rax, qword [r15 + r14]
mov qword [rsp + 0x28], rax
lea rax, [0x1400bc2c8]
mov qword [rsp + 0x20], rax
call fcn.140004b70
jmp 0x1400045b2
lea r14, str.FATAL
lea r8, str._sESIF__s__TYPE:__s_n_n
mov rax, qword [r15 + r14]
mov qword [rsp + 0x28], rax
lea rax, [0x1400bc2c8]
mov qword [rsp + 0x20], rax
call fcn.140004b70
mov r9, qword [rbp + 0x7f]
mov edi, eax
cdqe
lea rdx, [rbp + 0x87]
sub rsi, rax
lea rcx, [rax + rbx]
mov qword [rsp + 0x20], rdx
mov rdx, rsi
or r8, 0xffffffffffffffff
call fcn.1400765ec
add edi, eax
je 0x1400045f0
movsxd rax, edi
cmp byte [rax + rbx - 1], 0xa
jne 0x1400045f0
dec edi
movsxd rax, edi
mov byte [rax + rbx], 0
mov eax, dword [r15 + r14 + 8]
test eax, eax
js 0x140004613
cmp eax, 1
jle 0x140004607
cmp eax, 2
jne 0x140004613
mov esi, eax
jmp 0x140004618
mov r15d, 1
movzx esi, r15w
jmp 0x14000461e
mov esi, 4
mov r15d, 1
lea r8, [0x1400bc2d8]
lea rdx, [0x1400bc2dc]
mov rcx, rbx
call fcn.140001618
mov r14, rax
test rax, rax
je 0x140004647
mov rcx, rbx
call fcn.14006c470
mov rbx, r14
mov r8, rbx
movzx edx, si
movzx ecx, r15w
call fcn.1400016ae
test rbx, rbx
je 0x140004663
mov rcx, rbx
call fcn.14006c470
mov eax, edi
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.14006cfe0
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret