Function at 0x180031950
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 0x160]
call qword [sym.imp.ca_core.dll_Ordinal_18]
movsxd rcx, eax
call qword [sym.imp.MSVCR100.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
xor r12d, r12d
xor r13d, r13d
xor r14d, r14d
mov r15, rax
cmp dword [rbx + 0x538], r12d
jne 0x180031c66
mov qword [rsp + 0x68], rbp
movabs rdi, 0xfffffffffffffff
mov qword [rsp + 0x70], rsi
nop dword [rax + rax]
cmp dword [rbx + 0x530], 0
je 0x180031c5c
mov eax, 0x88888889
mul r12d
shr edx, 4
imul edx, edx, 0x1e
cmp r12d, edx
jne 0x180031a31
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 0x180031a27
cmp byte [rbx + 0x39], 0x3a
jne 0x180031a27
lea rcx, [rsp + 0x60]
call qword [sym.imp.mfc100.dll_Ordinal_310]
mov rcx, rax
call fcn.18001b160
cmp eax, 0x64
jae 0x180031a27
lea rdx, str.Free_space:__dMB_force_stop
mov r8d, eax
mov ecx, 2
call fcn.180035240
mov dword [rbx + 0x538], 5
movabs rdi, 0xfffffffffffffff
mov eax, dword [rbx + 0x1f4]
test eax, eax
jle 0x180031a58
movsxd rcx, dword [rbx + 0x1f0]
mov rax, qword [rbx + 0x1f8]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x180031a58
mov rdx, qword [rdx + 0x78]
jmp 0x180031a5b
mov rdx, rdi
mov eax, dword [rbx + 0x244]
test eax, eax
jle 0x180031a87
movsxd rcx, dword [rbx + 0x240]
mov rax, qword [rbx + 0x248]
mov rax, qword [rax + rcx*8]
test rax, rax
je 0x180031a87
mov rax, qword [rax + 0x10]
cmp rax, rdi
jne 0x180031a93
jmp 0x180031a8a
mov rax, rdi
cmp rdx, rdi
je 0x180031c44
cmp rdx, rax
jle 0x180031b84
cmp dword [rbx + 0x534], 0
jne 0x180031b84
lea rcx, [rbx + 0x218]
xor esi, esi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [rbx + 0x244]
test edx, edx
jle 0x180031af6
movsxd rdi, dword [rbx + 0x240]
mov rax, qword [rbx + 0x248]
mov ecx, dword [rbx + 0x250]
mov rsi, qword [rax + rdi*8]
lea eax, [rdi + 1]
movabs rdi, 0xfffffffffffffff
cdq
idiv ecx
mov dword [rbx + 0x240], edx
dec dword [rbx + 0x244]
lea rcx, [rbx + 0x218]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rsi, rsi
je 0x180031b72
mov r8d, dword [rsi + 8]
mov rdx, qword [rsi]
mov rcx, qword [rbx + 0x160]
or r9, 0xffffffffffffffff
call qword [sym.imp.ca_core.dll_Ordinal_14]
test eax, eax
jns 0x180031b41
lea rdx, str._Record__encode_audio_frame_failed._n
mov ecx, 2
mov dword [rbx + 0x538], 6
call fcn.180035240
jmp 0x180031b48
movsxd rax, dword [rsi + 8]
add r14, rax
mov rcx, qword [rsi]
test rcx, rcx
je 0x180031b56
call qword [sym.imp.MSVCR100.dll_free]
mov rcx, rsi
mov dword [rsi + 8], 0
mov qword [rsi], 0
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
jmp 0x180031c4f
cmp dword [rbx + 0x530], 0
je 0x180031c5c
jmp 0x180031c4f
lea rcx, [rbx + 0x1c8]
xor esi, esi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [rbx + 0x1f4]
test edx, edx
jle 0x180031bd1
movsxd rdi, dword [rbx + 0x1f0]
mov rax, qword [rbx + 0x1f8]
mov ecx, dword [rbx + 0x200]
mov rsi, qword [rax + rdi*8]
lea eax, [rdi + 1]
movabs rdi, 0xfffffffffffffff
cdq
idiv ecx
mov dword [rbx + 0x1f0], edx
dec dword [rbx + 0x1f4]
lea rcx, [rbx + 0x1c8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rsi, rsi
je 0x180031c3b
mov rcx, qword [rbx + 0x160]
mov r9d, 1
or r8, 0xffffffffffffffff
mov rdx, rsi
call qword [sym.imp.ca_core.dll_Ordinal_16]
test eax, eax
jns 0x180031c2a
lea rdx, str._Record__encode_video_frame_failed._n
mov ecx, 2
mov dword [rbx + 0x538], 6
call fcn.180035240
mov rcx, rsi
call qword [sym.imp.ca_core.dll_Ordinal_55]
inc r12d
jmp 0x180031c4f
mov rcx, rsi
inc r13
call qword [sym.imp.ca_core.dll_Ordinal_55]
inc r12d
jmp 0x180031c4f
cmp dword [rbx + 0x530], 0
je 0x180031c5c
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [rbx + 0x538], 0
je 0x1800319b0
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rcx, r15
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void____ptr64_]
movsxd rcx, dword [rbx + 0x580]
mov r8, r13
imul r14, r14, 0x3e8
mov rax, r14
mov dword [rbx + 0x530], 0xffffffff
cqo
idiv rcx
cvttss2si edx, dword [rbx + 0x140]
movsxd rcx, edx
mov rdi, rax
mov rax, r13
mov qword [rsp + 0x20], rdi
imul rax, rax, 0x3e8
cqo
idiv rcx
lea rdx, str._Record__send_frame_done:_video___I64d_frm___I64d_ms____audio___I64d_ms_n
mov ecx, 2
mov r9, rax
call fcn.180035240
lea rdx, str._Record__encode_thread_done._n
mov ecx, 2
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp fcn.180035240