Function at 0x180031440
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
push rbx
push rbp
push rsi
push rdi
push r12
push r14
sub rsp, 0x68
xor ebp, ebp
xor esi, esi
xor r12d, r12d
xor r14d, r14d
mov rbx, rcx
movabs rdi, 0x20c49ba5e353f7cf
mov qword [rsp + 0xb0], r12
mov qword [rax - 0x58], rbp
mov dword [rax + 8], ebp
mov qword [rsp + 0xb8], rsi
cmp dword [rcx + 0x538], esi
jne 0x18003182f
mov qword [rax - 0x38], r13
mov qword [rsp + 0xa8], rsi
mov qword [rax - 0x40], r15
nop dword [rax]
mov eax, 0x1b4e81b5
mul r14d
shr edx, 5
imul edx, edx, reloc.mfc100.dll_Ordinal_300
cmp r14d, edx
jne 0x18003150d
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdx, [rbx + 0x38]
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, 2
jbe 0x18003150d
cmp byte [rbx + 0x39], 0x3a
jne 0x18003150d
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc100.dll_Ordinal_310]
mov rcx, rax
call fcn.18001b160
cmp eax, 0x64
jae 0x18003150d
lea rdx, str.Free_space:__dMB_force_stop
mov r8d, eax
mov ecx, 2
call fcn.180035240
mov dword [rbx + 0x538], 5
mov eax, dword [rbx + 0x1a4]
test eax, eax
jne 0x18003153b
mov eax, dword [rbx + 0x244]
test eax, eax
jne 0x18003153b
cmp dword [rbx + 0x530], eax
je 0x180031813
lea ecx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x180031806
movsxd rcx, dword [rbx + 0x30]
mov rax, rsi
lea r8, [rsp + 0xa0]
cqo
idiv rcx
movsxd rcx, dword [rbx + 0x580]
mov r12, rax
mov rax, rbp
imul rax, rax, 0xf4240
cqo
idiv rcx
lea rdx, [rsp + 0x40]
mov rcx, rbx
mov r9, rax
call fcn.180031290
xor r13d, r13d
xor r15d, r15d
mov r8, rax
mov qword [rsp + 0xb8], rax
cmp dword [rbx + 0x530], r13d
je 0x1800316a1
nop word [rax + rax]
lea rcx, [rbx + 0x218]
xor edi, edi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [rbx + 0x244]
test edx, edx
jle 0x1800315e3
movsxd rdx, dword [rbx + 0x240]
mov rax, qword [rbx + 0x248]
mov ecx, dword [rbx + 0x250]
mov rdi, qword [rax + rdx*8]
lea eax, [rdx + 1]
cdq
idiv ecx
mov dword [rbx + 0x240], edx
dec dword [rbx + 0x244]
lea rcx, [rbx + 0x218]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rdi, rdi
je 0x180031691
or rax, 0xffffffffffffffff
cmp dword [rbx + 0x18], 5
jne 0x180031620
movsxd rcx, dword [rbx + 0x580]
mov rax, rbp
imul rax, rax, 0x3e8
cqo
idiv rcx
imul rax, rax, 0x3e8
mov r8d, dword [rdi + 8]
mov rdx, qword [rdi]
mov rcx, qword [rbx + 0x160]
mov r9, rax
call qword [sym.imp.ca_core.dll_Ordinal_14]
test eax, eax
jns 0x180031658
lea rdx, str._Record__encode_audio_frame_failed._n
mov ecx, 2
mov dword [rbx + 0x538], 6
call fcn.180035240
jmp 0x18003165f
movsxd rax, dword [rdi + 8]
add rbp, rax
mov rcx, qword [rdi]
test rcx, rcx
je 0x18003166d
call qword [sym.imp.MSVCR100.dll_free]
xor eax, eax
mov rcx, rdi
mov dword [rdi + 8], eax
mov qword [rdi], rax
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
mov r13d, 1
cmp dword [rbx + 0x530], r15d
jne 0x1800315a0
mov r8, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xa8]
cmp r12, r8
jg 0x1800317e1
movsxd rdi, dword [rbx + 0x30]
mov eax, 0xf4240
cqo
idiv rdi
mov rcx, rax
mov rax, r8
cqo
idiv rcx
mov rsi, rax
imul rsi, rcx
cmp dword [rbx + 0x18], 5
jne 0x180031709
mov eax, 0x3e8
cdq
idiv edi
movsxd rdi, eax
movabs rax, 0x20c49ba5e353f7cf
imul r8
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cqo
idiv rdi
mov rsi, rax
imul rsi, rdi
imul rsi, rsi, 0x3e8
lea rcx, [rbx + 0x178]
xor edi, edi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [rbx + 0x1a4]
test edx, edx
jle 0x180031737
movsxd rdx, dword [rbx + 0x1a0]
mov rax, qword [rbx + 0x1a8]
mov rdi, qword [rax + rdx*8]
inc dword [rdi + 8]
lea rcx, [rbx + 0x178]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rdi, rdi
je 0x1800317d9
mov rdx, qword [rdi]
mov rcx, qword [rbx + 0x160]
mov r9d, 1
mov r8, rsi
call qword [sym.imp.ca_core.dll_Ordinal_16]
test eax, eax
jns 0x180031789
mov r8, qword [rbx + 8]
lea rdx, str.__s__encode_video_frame_failed._n
mov ecx, 2
mov dword [rbx + 0x538], 6
call fcn.180035240
mov r12, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xa8]
dec dword [rdi + 8]
inc r12
add rsi, 0xf4240
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xa8], rsi
cmp dword [rdi + 8], r15d
jg 0x1800317ce
mov rcx, qword [rdi]
call qword [sym.imp.ca_core.dll_Ordinal_55]
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
inc r14d
mov r15d, 1
jmp 0x1800317e9
mov rsi, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xb0]
test r15d, r15d
jne 0x1800317fd
test r13d, r13d
jne 0x1800317fd
lea ecx, [r15 + 1]
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [rbx + 0x530], 0
je 0x180031813
cmp dword [rbx + 0x538], 0
je 0x1800314a0
mov rsi, qword [rsp + 0xb8]
mov r15, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
movabs rdi, 0x20c49ba5e353f7cf
movabs rax, 0x431bde82d7b634db
mov dword [rbx + 0x530], 0xffffffff
imul rsi
mov r10, rdx
sar r10, 0x12
mov rax, r10
shr rax, 0x3f
add r10, rax
mov eax, 0x91a2b3c5
mul r10d
mov rax, rdi
mov r9d, edx
imul rsi
mov rax, rdi
mov edi, r10d
shr r9d, 0xb
mov r8, rdx
sar r8, 7
mov rcx, r8
shr rcx, 0x3f
add r8, rcx
mov ecx, r9d
imul r8
imul ecx, ecx, 0xe10
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 0x88888889
imul rdx, rdx, 0x3e8
sub r8, rdx
mul r10d
sub r10d, ecx
shr edx, 5
mov qword [rsp + 0x30], r8
mov r8, qword [rbx + 8]
imul edx, edx, 0x3c
sub edi, edx
mov eax, 0x88888889
mov dword [rsp + 0x28], edi
mov ecx, 2
mul r10d
shr edx, 5
mov dword [rsp + 0x20], edx
lea rdx, str.__s__encode_total_seconds:_02d:_02d:_02d._I64d
call fcn.180035240
mov r8, qword [rbx + 8]
lea rax, [rsi + 1]
pxor xmm5, xmm5
pxor xmm0, xmm0
lea rdx, str.__s__vframe_I64d_asize_I64d__Average_FPS:__.2f
cvtsi2sd xmm5, r12
cvtsi2sd xmm0, rax
mov r9, r12
mov ecx, 2
mulsd xmm5, qword [0x18004daf8]
divsd xmm5, xmm0
movsd qword [rsp + 0x28], xmm5
mov qword [rsp + 0x20], rbp
call fcn.180035240
mov r8, qword [rbx + 8]
lea rdx, str.__s__encode_thread_done._n
mov ecx, 2
add rsp, 0x68
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
jmp fcn.180035240