Function at 0x6a7f4384
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
test ebp, ebp
je 0x6a7f4922
test ebx, ebx
je 0x6a7f4922
mov eax, dword [ebp + 0x29a34]
test eax, eax
jne 0x6a7f493c
mov eax, dword [ebx]
cmp dword [ebp + 0x1b93c], eax
je 0x6a7f43cf
mov dword [ebp + 0x1b93c], eax
lea eax, [ebp + 0x19660]
mov dword [esp], eax
call fcn.6a7fba2c
mov eax, dword [ebp + 0x1c6fc]
mov dword [esp + 0x30], eax
mov edx, dword [ebp + 0x1c700]
mov dword [esp + 0x34], edx
lea edi, [ebp + 0x1c6f8]
mov ecx, 0x6c
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp + 0x1c720], 5
jbe 0x6a7f492c
mov eax, dword [ebp + 0x288f8]
test eax, eax
jne 0x6a7f4416
lea esi, [esi]
mov dword [ebp + 0x288f0], 1
mov eax, dword [ebx + 0x7c]
mov eax, dword [eax*4 + 0x6ac4fc80]
mov dword [ebp + 0x1c774], eax
mov eax, dword [ebx + 0x80]
mov eax, dword [eax*4 + 0x6ac4fc80]
mov dword [ebp + 0x1c778], eax
mov eax, dword [ebp + 0x1c77c]
mov eax, dword [eax*4 + 0x6ac4fc80]
mov dword [ebp + 0x1c77c], eax
mov eax, dword [ebx + 0x78]
test eax, eax
js 0x6a7f44bc
mov eax, dword [ebx + 0x7c]
test eax, eax
js 0x6a7f4d44
mov eax, dword [eax*4 + 0x6ac4fc80]
mov dword [ebp + 0x1c770], eax
mov eax, dword [ebx + 0xb0]
test eax, eax
js 0x6a7f4d3c
mov eax, dword [eax*4 + 0x6ac4fc80]
mov dword [ebp + 0x1c7a8], eax
mov eax, dword [ebx + 0xb4]
test eax, eax
js 0x6a7f4d34
mov eax, dword [eax*4 + 0x6ac4fc80]
mov dword [ebp + 0x1c7ac], eax
mov eax, dword [ebx + 0xb8]
test eax, eax
js 0x6a7f4d24
mov eax, dword [eax*4 + 0x6ac4fc80]
mov dword [ebp + 0x1c7b0], eax
mov eax, dword [ebp + 0x1c7a4]
test eax, eax
jne 0x6a7f44c8
mov al, 7
mov dword [ebp + 0x20c5c], eax
mov dword [ebp + 0x2894c], 7
mov dword [ebp + 0x1ac70], 0
mov dword [ebp + 0x1ac6c], 1
mov dword [ebp + 0x1ac80], 1
mov eax, dword [ebp + 0x1c7b8]
cmp eax, 3
ja 0x6a7f4507
mov dword [ebp + 0x1b940], eax
mov eax, ebp
call fcn.6a7f31b0
mov eax, dword [ebp + 0x1c7bc]
mov dword [ebp + 0x299f8], eax
mov dword [ebp + 0x299fc], eax
mov dword [ebp + 0x29a00], eax
mov dword [ebp + 0x29a04], eax
cmp dword [ebp + 0x1c770], 0x7f
jle 0x6a7f453f
mov dword [ebp + 0x1c770], 0x7f
cmp dword [ebp + 0x1c734], 1
je 0x6a7f4b28
mov ecx, dword [ebp + 0x1c748]
mov ebx, dword [ebp + 0x1c74c]
mov eax, dword [ebp + 0x1c750]
mov edx, dword [ebp + 0x1c754]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov edx, dword [ebp + 0x1c70c]
lea edx, [edx + edx*4]
lea edx, [edx + edx*4]
lea eax, [edx + edx*4]
lea esi, [eax*8]
mov dword [ebp + 0x1c70c], esi
mov dword [esp + 0x18], esi
mov edx, esi
sar edx, 0x1f
mov dword [esp + 0x1c], edx
mov eax, dword [ebp + 0x1c740]
imul esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], ecx
call fcn.6aa7e29c
mov dword [ebp + 0x1c740], eax
cdq
mov dword [ebp + 0x1c744], edx
mov ecx, dword [esp + 0x14]
mov eax, ebx
or eax, ecx
jne 0x6a7f4bd2
mov eax, esi
test esi, esi
js 0x6a7f4d9c
sar eax, 3
mov dword [esp + 0x20], eax
cdq
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [ebp + 0x1c748], eax
mov dword [ebp + 0x1c74c], edx
mov edx, dword [esp + 0x2c]
or edx, dword [esp + 0x28]
jne 0x6a7f4ae4
mov eax, esi
test esi, esi
js 0x6a7f4da4
sar eax, 3
cdq
mov dword [ebp + 0x1c750], eax
mov dword [ebp + 0x1c754], edx
fld qword [ebp + 0x20cf0]
fld qword [0x6ac50080]
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x6a7f4a54
fld st(0)
fmul dword [0x6ac50088]
fnstcw word [esp + 0x3e]
mov ax, word [esp + 0x3e]
mov ah, 0xc
mov word [esp + 0x3c], ax
fldcw word [esp + 0x3c]
fistp dword [esp + 0x38]
fldcw word [esp + 0x3e]
mov ecx, dword [esp + 0x38]
add ecx, 2
fst qword [ebp + 0x20c98]
push esi
fidivr dword [esp]
pop edi
fldcw word [esp + 0x3c]
fistp dword [esp + 0x38]
fldcw word [esp + 0x3e]
mov ebx, dword [esp + 0x38]
mov dword [ebp + 0x20c84], ebx
mov dword [ebp + 0x20c88], ebx
imul ebx, dword [ebp + 0x1c798]
mov eax, 0x51eb851f
imul ebx
mov eax, edx
sar eax, 5
sar ebx, 0x1f
sub eax, ebx
mov dword [ebp + 0x20c8c], eax
cmp ecx, 0xb
jg 0x6a7f4ad8
mov dword [ebp + 0x20c58], 0xc
mov ecx, 0xc
mov eax, dword [ebp + 0x1c960]
shr eax, 1
mov dword [ebp + 0x2ad68], eax
mov ebx, dword [ebp + 0x1c7a0]
test ebx, ebx
je 0x6a7f4710
mov edx, dword [ebp + 0x1c730]
test edx, edx
je 0x6a7f4710
cmp edx, ecx
jg 0x6a7f46fa
lea ecx, [edx - 1]
mov dword [ebp + 0x20c58], ecx
cmp eax, edx
jl 0x6a7f4710
lea eax, [edx - 1]
mov dword [ebp + 0x2ad68], eax
mov ecx, dword [ebp + 0x20c58]
lea esi, [esi]
cmp ecx, eax
jle 0x6a7f471a
mov dword [ebp + 0x20c58], eax
mov eax, dword [ebp + 0x1c774]
mov dword [ebp + 0x20d2c], eax
mov edx, dword [ebp + 0x1c778]
mov dword [ebp + 0x20d34], edx
mov ecx, dword [ebp + 0x20d30]
cmp eax, ecx
jge 0x6a7f4c50
mov dword [ebp + 0x20d30], eax
mov ecx, dword [ebp + 0x20d38]
cmp edx, ecx
jle 0x6a7f4c1c
mov dword [ebp + 0x20d38], edx
mov eax, 1
cmp dword [esp + 0x24], 0
jle 0x6a7f4c3a
mov dword [ebp + 0x20ce8], eax
mov edx, dword [ebp + 0x1c77c]
mov dword [ebp + 0x20d3c], edx
mov edx, dword [ebp + 0x1c78c]
test edx, edx
jne 0x6a7f4788
xor eax, eax
mov dword [ebp + 0x20d40], eax
xor eax, eax
mov edi, dword [ebp + 0x19f0c]
test edi, edi
setne al
mov dword [ebp + 0x19f48], eax
mov dword [ebp + 0x288bc], esi
mov ecx, dword [ebp + 0x1c6fc]
mov dword [ebp + 0x19d00], ecx
mov ebx, dword [ebp + 0x1c700]
mov dword [ebp + 0x19d04], ebx
mov eax, dword [ebp + 0x1c714]
cmp eax, 7
jle 0x6a7f47d9
mov dword [ebp + 0x1c714], 7
mov eax, 7
mov dword [ebp + 0x1ac68], eax
mov eax, dword [ebp + 0x19d08]
test eax, eax
jne 0x6a7f4cc4
mov esi, dword [ebp + 0x19d0c]
test esi, esi
jne 0x6a7f4c7c
mov edi, ecx
cmp dword [esp + 0x30], ecx
je 0x6a7f4d14
mov dword [ebp + 0x2b668], 1
mov eax, dword [ebp + 0x19e20]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [ebp + eax*4 + 0x19d10]
add edi, 0xf
and edi, 0xfffffff0
cmp edi, dword [eax + 0xc]
jne 0x6a7f4844
mov edx, dword [ebp + 0x19d04]
add edx, 0xf
and edx, 0xfffffff0
cmp edx, dword [eax + 0x10]
je 0x6a7f4d8c
lea esi, [ecx + 0xf]
and esi, 0xfffffff0
lea edi, [ebx + 0xf]
and edi, 0xfffffff0
mov eax, dword [ebp + 0x1c730]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], ecx
call fcn.6a8210d8
mov dword [ebp + 0x1c8a8], eax
test eax, eax
je 0x6a7f4ea0
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], edi
mov dword [esp + 4], esi
lea eax, [ebp + 0x2ada0]
mov dword [esp], eax
call fcn.6a820f5c
test eax, eax
je 0x6a7f48b4
mov dword [esp + 8], str.Failed_to_allocate_altref_buffer
mov dword [esp + 4], 2
lea eax, [ebp + 0x19660]
mov dword [esp], eax
call fcn.6a7f3244
mov dword [esp], ebp
call fcn.6a7f3e28
mov eax, dword [ebp + 0x1c770]
test eax, eax
js 0x6a7f48d2
mov dword [ebp + 0x20c20], eax
mov dword [ebp + 0x20c24], eax
mov eax, dword [ebp + 0x1c718]
mov dword [ebp + 0x288d4], eax
mov eax, dword [ebp + 0x1c730]
test eax, eax
jne 0x6a7f4c64
mov dword [ebp + 0x1c72c], 0
mov dword [ebp + 0x1c8b0], 0
mov dword [ebp + 0x1c908], 0
mov esi, dword [ebp + 0x1c710]
test esi, esi
je 0x6a7f4922
mov ebx, dword [ebp + 0x2b6d0]
test ebx, ebx
je 0x6a7f4e6c
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp + 0x1c720]
jmp dword [eax*4 + 0x6ac4f6f0]
mov dword [esp + 4], 0xffffffff
mov eax, dword [ebp + 0x29a5c]
mov dword [esp], eax
call sub.KERNEL32.dll_WaitForSingleObject
sub esp, 8
mov dword [ebp + 0x29a34], 0
jmp 0x6a7f43b1
mov dword [ebp + 0x288f8], 2
mov dword [ebp + 0x288dc], 1
mov eax, dword [ebp + 0x1c718]
cmp eax, 0xfffffffb
jge 0x6a7f4e54
mov dword [ebp + 0x1c718], 0xfffffffb
jmp 0x6a7f4416
mov dword [ebp + 0x288f8], 0
mov dword [ebp + 0x288dc], 0
jmp 0x6a7f440c
mov dword [ebp + 0x288f8], 1
mov dword [ebp + 0x288dc], 1
jmp 0x6a7f4416
mov dword [ebp + 0x288f8], 0
mov dword [ebp + 0x288dc], 2
mov eax, dword [ebp + 0x1c718]
cmp eax, 0xfffffff0
jge 0x6a7f4e3c
mov dword [ebp + 0x1c718], 0xfffffff0
jmp 0x6a7f440c
mov dword [ebp + 0x288f8], 2
mov dword [ebp + 0x288dc], 0
jmp 0x6a7f4416
mov dword [ebp + 0x288f8], 0
mov dword [ebp + 0x288dc], 1
mov eax, dword [ebp + 0x1c718]
cmp eax, 0xfffffffb
jge 0x6a7f4e24
mov dword [ebp + 0x1c718], 0xfffffffb
jmp 0x6a7f440c
fstp st(0)
mov dword [ebp + 0x20cf0], 0
mov dword [ebp + 0x20cf4], 0x403e0000
mov dword [ebp + 0x20c98], 0
mov dword [ebp + 0x20c9c], 0x403e0000
fld dword [0x6ac5008c]
push esi
fidivr dword [esp]
pop ecx
fnstcw word [esp + 0x3e]
mov ax, word [esp + 0x3e]
mov ah, 0xc
mov word [esp + 0x3c], ax
fldcw word [esp + 0x3c]
fistp dword [esp + 0x38]
fldcw word [esp + 0x3e]
mov ecx, dword [esp + 0x38]
mov dword [ebp + 0x20c84], ecx
mov dword [ebp + 0x20c88], ecx
imul ecx, dword [ebp + 0x1c798]
mov eax, 0x51eb851f
imul ecx
mov eax, edx
sar eax, 5
sar ecx, 0x1f
sub eax, ecx
mov dword [ebp + 0x20c8c], eax
mov ecx, 0x11
mov dword [ebp + 0x20c58], ecx
jmp 0x6a7f46cb
mov eax, dword [esp + 0x28]
mov ebx, eax
sar ebx, 0x1f
mov ecx, dword [esp + 0x1c]
imul ecx, eax
mov edx, dword [esp + 0x18]
imul edx, ebx
add ecx, edx
mul dword [esp + 0x18]
add edx, ecx
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.6aa7e29c
cdq
jmp 0x6a7f461e
mov dword [ebp + 0x1c758], 0xea60
mov dword [ebp + 0x1c75c], 0
mov dword [ebp + 0x1c760], 0xea60
mov dword [ebp + 0x1c764], 0
mov dword [ebp + 0x1c768], 0x3a980
mov dword [ebp + 0x1c76c], 0
mov eax, dword [ebp + 0x1c70c]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea esi, [eax*8]
mov dword [ebp + 0x1c70c], esi
mov dword [esp + 0x18], esi
mov edx, esi
sar edx, 0x1f
mov dword [esp + 0x1c], edx
mov eax, 0xea60
imul esi
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.6aa7e29c
mov dword [ebp + 0x1c740], eax
cdq
mov dword [ebp + 0x1c744], edx
mov dword [esp + 0x28], 0x3a980
mov dword [esp + 0x2c], 0
mov ecx, 0xea60
mov eax, ecx
mov ebx, ecx
sar ebx, 0x1f
mov edx, dword [esp + 0x1c]
imul edx, ecx
mov ecx, dword [esp + 0x18]
imul ecx, ebx
add ecx, edx
mul dword [esp + 0x18]
add edx, ecx
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.6aa7e29c
mov dword [esp + 0x20], eax
cdq
mov dword [esp + 0x24], edx
jmp 0x6a7f45ee
cmp eax, ecx
jge 0x6a7f475a
mov dword [ebp + 0x20d38], eax
mov eax, 1
cmp dword [esp + 0x24], 0
jg 0x6a7f476a
jl 0x6a7f4c47
cmp dword [esp + 0x20], 0
ja 0x6a7f476a
xor eax, eax
jmp 0x6a7f476a
cmp edx, ecx
jle 0x6a7f4746
mov dword [ebp + 0x20d30], edx
jmp 0x6a7f4746
cmp eax, 0x19
jle 0x6a7f48f6
mov dword [ebp + 0x1c730], 0x19
jmp 0x6a7f48f6
xor edx, edx
mov dword [esp + 0x18], 1
mov edi, 1
cmp esi, 1
je 0x6a7f4cfa
jle 0x6a7f4e08
cmp esi, 2
je 0x6a7f4df0
cmp esi, 3
je 0x6a7f4dac
mov dword [esp + 8], 0x62
mov dword [esp + 4], str.._vp8_common_onyx.h
mov dword [esp], 0x6ac4f554
call sub.msvcrt.dll__assert
cmp eax, 1
je 0x6a7f4d6c
jle 0x6a7f4ec4
cmp eax, 2
je 0x6a7f4d4c
cmp eax, 3
jne 0x6a7f4ca8
mov esi, dword [ebp + 0x19d0c]
mov edx, 1
mov dword [esp + 0x18], 2
mov edi, 1
cmp esi, 1
jne 0x6a7f4c90
mov esi, 4
mov dword [esp + 0x28], 5
mov dword [esp + 0x20], 4
jmp 0x6a7f4dc1
cmp dword [esp + 0x34], ebx
jne 0x6a7f4807
jmp 0x6a7f4811
mov dword [ebp + 0x1c7b0], 0
jmp 0x6a7f44bc
xor eax, eax
jmp 0x6a7f449b
xor eax, eax
jmp 0x6a7f4480
xor eax, eax
jmp 0x6a7f4465
mov esi, dword [ebp + 0x19d0c]
mov edx, 4
mov dword [esp + 0x18], 5
mov edi, 3
jmp 0x6a7f4c8b
mov esi, dword [ebp + 0x19d0c]
mov edx, 4
mov dword [esp + 0x18], 5
mov edi, 4
jmp 0x6a7f4c8b
test edi, edi
jne 0x6a7f48bc
jmp 0x6a7f4844
lea eax, [esi + 7]
jmp 0x6a7f45e2
lea eax, [esi + 7]
jmp 0x6a7f461a
mov esi, 1
mov dword [esp + 0x28], 2
mov dword [esp + 0x20], 1
imul edi, ecx
lea eax, [edx + edi]
cdq
idiv dword [esp + 0x18]
mov edi, eax
mov dword [ebp + 0x19d00], eax
mov eax, dword [esp + 0x20]
imul eax, ebx
add eax, esi
cdq
idiv dword [esp + 0x28]
mov dword [ebp + 0x19d04], eax
jmp 0x6a7f47fd
mov esi, 4
mov dword [esp + 0x28], 5
mov dword [esp + 0x20], 3
jmp 0x6a7f4dc1
test esi, esi
jne 0x6a7f4ca8
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], 1
jmp 0x6a7f4dc1
cmp eax, 5
jle 0x6a7f440c
mov dword [ebp + 0x1c718], 5
jmp 0x6a7f440c
cmp eax, 0x10
jle 0x6a7f440c
mov dword [ebp + 0x1c718], 0x10
jmp 0x6a7f440c
cmp eax, 5
jle 0x6a7f4416
mov dword [ebp + 0x1c718], 5
jmp 0x6a7f4416
mov eax, dword [ebp + 0x1c700]
add eax, 0xf
and eax, 0xfffffff0
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x1c6fc]
add eax, 0xf
and eax, 0xfffffff0
mov dword [esp + 4], eax
lea eax, [ebp + 0x2b670]
mov dword [esp], eax
call fcn.6a821608
jmp 0x6a7f4922
mov dword [esp + 8], str.Failed_to_allocate_lag_buffers
mov dword [esp + 4], 2
lea eax, [ebp + 0x19660]
mov dword [esp], eax
call fcn.6a7f3244
jmp 0x6a7f4874
test eax, eax
jne 0x6a7f4ca8
mov esi, dword [ebp + 0x19d0c]
xor edx, edx
mov dword [esp + 0x18], 1
mov edi, 1
jmp 0x6a7f4c8b