Function at 0x140032130
Capabilities:
Delete file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x40
mov rbp, qword [rcx + 0x8648]
mov rbx, rcx
xor r12d, r12d
mov eax, dword [rbp + 8]
mov ecx, eax
neg ecx
and ecx, 7
shl dword [rbp + 4], cl
add eax, ecx
mov edx, dword [rbp + 4]
mov ecx, 0x20
sub ecx, eax
mov dword [rbp + 8], eax
mov rax, qword [rbp + 0x18]
shl edx, cl
bswap edx
mov word [rax], dx
mov edx, dword [rbp + 8]
mov ecx, edx
movsxd rax, dword [rbp + 0xc]
and edx, 0xf
shr rcx, 3
and ecx, 2
mov dword [rbp + 8], edx
add rcx, qword [rbp + 0x18]
and rcx, rax
mov qword [rbp + 0x18], rcx
cmp dword [rbx + 0x80], r12d
je 0x140032318
mov edx, dword [rbx + 0x40cc]
lea rcx, str._n_d_horizontal_tiles:_n
inc edx
call fcn.140001010
mov edi, r12d
mov r8d, edi
lea rcx, str.____offset_of_tile__d_in_MBs:__d_n
mov edx, edi
mov r8d, dword [rbx + r8*4 + 0x40d0]
call fcn.140001010
inc edi
cmp edi, dword [rbx + 0x40cc]
jbe 0x1400321b4
mov edx, dword [rbx + 0xc8]
lea rcx, str._n_d_vertical_tiles:_n
inc edx
call fcn.140001010
mov edi, r12d
nop
mov r8d, edi
lea rcx, str.____offset_of_tile__d_in_MBs:__d_n
mov edx, edi
mov r8d, dword [rbx + r8*4 + 0xcc]
call fcn.140001010
inc edi
cmp edi, dword [rbx + 0xc8]
jbe 0x1400321f0
cmp dword [rbx + 0x9c], r12d
lea rax, str._nFrequency_order_bitstream_n
lea rcx, str._nSpatial_order_bitstream_n
cmovne rcx, rax
call fcn.140001010
cmp dword [rbx + 0x85c0], r12d
jne 0x14003224b
lea rcx, str._nstreaming_mode__no_index_table._n
call fcn.140001010
jmp 0x140032318
mov esi, r12d
mov eax, dword [rbx + 0xc8]
cmp dword [rbx + 0x9c], r12d
jne 0x1400322b0
nop dword [rax]
mov edi, r12d
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rbx + 0x8668]
lea rcx, str.bitstream_size_for_tile___d___d_:__d._n
inc eax
mov r8d, edi
imul eax, esi
mov edx, esi
add eax, edi
mov r9d, dword [r9 + rax*8]
call fcn.140001010
mov eax, dword [rbx + 0xc8]
inc edi
cmp edi, eax
jbe 0x140032270
inc esi
cmp esi, dword [rbx + 0x40cc]
jbe 0x140032260
jmp 0x140032318
mov edi, r12d
nop dword [rax]
nop word [rax + rax]
lea ecx, [rax + 1]
mov r8d, edi
mov rax, qword [rbx + 0x8668]
mov edx, esi
imul ecx, esi
add ecx, edi
shl ecx, 2
lea r9, [rax + rcx*8]
mov eax, dword [rax + rcx*8 + 0x18]
lea rcx, str.bitstream_size_of__DC__LP__AC__FL__for_tile___d___d_:__d__d__d__d._n
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x28], eax
mov eax, dword [r9 + 8]
mov r9d, dword [r9]
mov dword [rsp + 0x20], eax
call fcn.140001010
mov eax, dword [rbx + 0xc8]
inc edi
cmp edi, eax
jbe 0x1400322c0
inc esi
cmp esi, dword [rbx + 0x40cc]
jbe 0x1400322b0
mov rcx, rbx
call fcn.140031cb0
mov rdx, qword [rbp + 0x10]
mov rax, rdx
xor rax, qword [rbp + 0x18]
bt rax, 0xc
jae 0x14003235c
mov rax, qword [rbp + 0x20]
mov r8d, 0x1000
mov rcx, rax
call qword [rax + 0x40]
test eax, eax
js 0x14003237d
mov rdx, qword [rbp + 0x10]
movsxd rax, dword [rbp + 0xc]
add rdx, 0x1000
and rdx, rax
mov qword [rbp + 0x10], rdx
mov r8d, dword [rbp + 8]
mov rax, qword [rbp + 0x20]
shr r8, 3
mov rcx, rax
sub r8, rdx
add r8, qword [rbp + 0x18]
call qword [rax + 0x40]
test eax, eax
js 0x14003237d
mov qword [rbp + 0x20], r12
cmp qword [rbx + 0x86a0], r12
jbe 0x1400326dc
mov rbp, qword [rbx + 0xb8]
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r14
mov r14, qword [rbx + 0x8668]
mov qword [rsp + 0x80], r15
mov r15, r12
nop dword [rax]
mov rax, qword [rbx + 0x8698]
mov rdi, qword [rax + r15*8]
mov rdx, qword [rdi + 0x10]
mov rax, rdx
xor rax, qword [rdi + 0x18]
bt rax, 0xc
jae 0x1400323f6
mov rax, qword [rdi + 0x20]
mov r8d, 0x1000
mov rcx, rax
call qword [rax + 0x40]
test eax, eax
js 0x140032417
mov rax, qword [rdi + 0x10]
movsxd rdx, dword [rdi + 0xc]
add rax, 0x1000
and rdx, rax
mov qword [rdi + 0x10], rdx
mov r8d, dword [rdi + 8]
mov rax, qword [rdi + 0x20]
shr r8, 3
mov rcx, rax
sub r8, rdx
add r8, qword [rdi + 0x18]
call qword [rax + 0x40]
test eax, eax
js 0x140032417
mov qword [rdi + 0x20], r12
mov rax, qword [rbx + 0x86a0]
inc r15
cmp r15, rax
jb 0x1400323b0
mov rdi, r12
test rax, rax
je 0x140032450
nop
mov rax, qword [rbx + 0x8b48]
xor edx, edx
mov r8, qword [rax + rdi*8]
mov rcx, r8
call qword [r8 + 0x48]
inc rdi
cmp rdi, qword [rbx + 0x86a0]
jb 0x140032430
mov r15, r12
cmp dword [rbx + 0x9c], 1
jne 0x14003246e
cmp dword [rbx + 0x80dc], r12d
je 0x14003246e
movzx eax, byte [rbx + 0x8638]
jmp 0x140032473
mov eax, 1
cmp r15, rax
jae 0x1400325a6
mov r13, r12
mov rdi, r15
mov rsi, r12
nop word [rax + rax]
mov rdx, rbp
mov r8, qword [r14 + rdi*8]
cmp dword [rbx + 0x9c], r12d
jne 0x1400324b8
mov rcx, qword [rbx + 0x8b48]
mov rcx, qword [rcx + rsi*8]
call fcn.140032050
inc rdi
jmp 0x14003257a
movzx eax, byte [rbx + 0x8638]
mov r9, qword [rbx + 0x8b48]
imul rax, rsi
cmp dword [rbx + 0x80dc], r12d
jne 0x140032563
mov rcx, qword [r9 + rax*8]
call fcn.140032050
movzx eax, byte [rbx + 0x8638]
inc rdi
cmp al, 1
jbe 0x14003250d
mov rcx, qword [rbx + 0x8b48]
mov rdx, rbp
mov r8, qword [r14 + rdi*8]
imul rax, rsi
mov rcx, qword [rcx + rax*8 + 8]
call fcn.140032050
inc rdi
movzx eax, byte [rbx + 0x8638]
cmp al, 2
jbe 0x140032537
mov rcx, qword [rbx + 0x8b48]
mov rdx, rbp
mov r8, qword [r14 + rdi*8]
imul rax, rsi
mov rcx, qword [rcx + rax*8 + 0x10]
call fcn.140032050
inc rdi
movzx eax, byte [rbx + 0x8638]
cmp al, 3
jbe 0x14003257a
mov rcx, qword [rbx + 0x8b48]
mov rdx, rbp
mov r8, qword [r14 + rdi*8]
imul rax, rsi
mov rcx, qword [rcx + rax*8 + 0x18]
call fcn.140032050
inc rdi
jmp 0x14003257a
lea rcx, [rax + r15]
mov rcx, qword [r9 + rcx*8]
call fcn.140032050
movzx eax, byte [rbx + 0x8638]
add rdi, rax
mov eax, dword [rbx + 0xc8]
inc rsi
cmp rsi, rax
jbe 0x140032490
mov eax, dword [rbx + 0x40cc]
inc r13
cmp r13, rax
jbe 0x140032482
inc r15
jmp 0x140032453
mov rax, qword [rbx + 0x86e8]
imul rax, qword [rbx + 0x86e0]
mov rcx, qword [rbx + 0x86a0]
imul rax, qword [rbx + 0xa0]
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x70]
cmp rax, 0x4000000
jb 0x140032685
test rcx, rcx
je 0x140032662
nop word [rax + rax]
mov rax, qword [rbx + 0x8b48]
test rax, rax
je 0x14003263c
mov rcx, qword [rax + r12*8]
test rcx, rcx
je 0x14003263c
mov rcx, qword [rcx]
test rcx, rcx
je 0x140032627
call fcn.140056fd0
mov rcx, qword [rbx + 0x8b50]
mov rcx, qword [rcx + r12*8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x140032675
mov rax, qword [rbx + 0x8b48]
mov rcx, qword [rax + r12*8]
test rcx, rcx
je 0x14003263c
call fcn.1400487fc
mov rax, qword [rbx + 0x8b50]
test rax, rax
je 0x140032656
mov rcx, qword [rax + r12*8]
test rcx, rcx
je 0x140032656
call fcn.1400487fc
inc r12
cmp r12, qword [rbx + 0x86a0]
jb 0x1400325f0
mov rcx, qword [rbx + 0x8b50]
test rcx, rcx
je 0x1400326b8
call fcn.1400487fc
jmp 0x1400326b8
mov eax, 0xffffffff
add rsp, 0x40
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
test rcx, rcx
je 0x1400326b8
nop word [rax + rax]
mov rax, qword [rbx + 0x8b48]
test rax, rax
je 0x1400326ac
lea rcx, [rax + r12*8]
mov rax, qword [rax + r12*8]
test rax, rax
je 0x1400326ac
call qword [rax + 0x28]
inc r12
cmp r12, qword [rbx + 0x86a0]
jb 0x140032690
mov rcx, qword [rbx + 0x8b48]
call fcn.1400487fc
mov rcx, qword [rbx + 0x8698]
call fcn.1400487fc
mov rcx, qword [rbx + 0x8668]
call fcn.1400487fc
xor eax, eax
add rsp, 0x40
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret