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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5a77d7
mov eax, dword fs:[0]
push eax
sub esp, 0x130
mov eax, dword [0x610044]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
push esi
push edi
mov eax, dword [0x610044]
xor eax, esp
push eax
lea eax, [esp + 0x140]
mov dword fs:[0], eax
mov dword [esp + 0x3c], ecx
call fcn.0044699f
xor esi, esi
cmp eax, esi
je 0x4282b8
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
call fcn.0044196e
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x4282d2
push 0x80004005
call fcn.004028f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x148], 1
call fcn.0044699f
cmp eax, esi
je 0x428301
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x428303
xor eax, eax
cmp eax, esi
je 0x428336
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x16c]
call eax
mov edi, eax
cmp edi, esi
je 0x428336
push 0x5ae2d8
mov ecx, edi
call fcn.00441ec7
test eax, eax
je 0x428336
mov ecx, edi
call fcn.0044375b
mov edi, eax
cmp edi, esi
jne 0x428349
mov dword [esp + 0x148], 0xffffffff
lea eax, [ebx - 0x10]
jmp 0x42887a
mov ecx, dword [edi + 0x84]
mov ebx, 1
add ecx, ebx
push ecx
lea edx, [esp + 0x44]
push str.Cam__d__Test_Capture_
push edx
call fcn.00402010
add esp, 0xc
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0xbc
lea ecx, [esp + 0x78]
push esi
push ecx
call fcn.0057da80
add esp, 0xc
call fcn.00467cde
mov eax, dword [eax + 4]
cmp dword [eax + 0xfc], esi
mov eax, dword [edi + 0x21b88]
lea edx, [ebx + 1]
je 0x4283b2
cmp eax, 3
ja case.0x4283a5.0
jmp dword [eax*4 + 0x4288b8]
mov dword [esp + 0x78], esi
jmp 0x4283d2
mov ecx, 3
cmp eax, ecx
ja case.0x4283bb.0
jmp dword [eax*4 + 0x4288c8]
mov dword [esp + 0x78], ebx
jmp 0x4283d2
mov dword [esp + 0x78], edx
jmp 0x4283d2
mov dword [esp + 0x78], ecx
fld dword [0x5e4d84]
mov ecx, dword [0x6181d8]
mov dword [edi + 0x21b88], esi
fst dword [esp + 0x7c]
fstp dword [esp + 0x80]
mov eax, ecx
fld dword [0x5e4d3c]
cdq
fstp dword [esp + 0x84]
inc ecx
fld dword [0x5e4d80]
mov dword [0x6181d8], ecx
fstp dword [esp + 0x88]
fld dword [0x5e4d7c]
fstp dword [esp + 0x8c]
mov ebx, dword [edi + 0x122c]
idiv ebx
lea eax, [edx + 1]
mov dword [esp + 0xbc], eax
mov edx, dword [edi + 0x11f0]
mov dword [esp + 0xc0], edx
cdq
idiv ebx
shl edx, 5
mov eax, dword [edx + edi + 0x1794]
add eax, dword [edx + edi + 0x178c]
lea esi, [edx + edi]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esi + 0x1790]
add eax, dword [esi + 0x1788]
sar ecx, 1
cdq
sub eax, edx
sar eax, 1
lea edx, [edi + 0x594]
mov esi, 0x104
mov dword [edx - 4], 0
mov dword [edx], 0
add edx, 8
dec esi
jne 0x428479
test ebx, ebx
jle 0x4284a1
lea edx, [edi + 0x594]
mov dword [edx - 4], ecx
mov dword [edx], eax
add edx, 8
dec ebx
jne 0x428496
mov dword [esp + 0xc4], 0xa
xor edx, edx
mov edi, edi
mov word [esp + edx*2 + 0xc8], cx
mov word [esp + edx*2 + 0xdc], ax
inc edx
cmp edx, 0xa
jl 0x4284b0
mov esi, dword [edi + 0x12c]
shr esi, 1
mov edx, ecx
mov dword [esp + 0x38], esi
add ecx, dword [esp + 0x38]
sub edx, esi
mov esi, dword [edi + 0x130]
shr esi, 1
mov ebx, eax
sub ebx, esi
add eax, esi
mov dword [esp + 0x58], ebx
test edx, edx
jns 0x4284f8
mov ecx, dword [edi + 0x12c]
xor edx, edx
cmp dword [esp + 0x58], 0
jge 0x428507
mov dword [esp + 0x58], 0
mov ebx, dword [edi + 0x8c]
lea esi, [ebx - 4]
cmp ecx, esi
jle 0x42851f
sub ebx, dword [edi + 0x12c]
mov ecx, esi
lea edx, [ebx - 4]
mov esi, dword [edi + 0x90]
cmp eax, esi
jle 0x42852b
mov eax, esi
mov esi, dword [esp + 0x58]
mov ebx, dword [edi + 0x21b78]
mov dword [edi + 0x12d8], edx
mov dword [edi + 0x12dc], esi
mov dword [edi + 0x12e0], ecx
mov dword [edi + 0x12e4], eax
test ebx, ebx
je 0x428556
cmp ebx, 1
jne 0x4285a4
mov ebx, dword [edi + 0x88]
mov esi, dword [ebx + 0x358]
mov dword [esp + 0x44], esi
mov esi, dword [ebx + 0x398]
mov dword [esp + 0x48], esi
mov esi, dword [ebx + 0x3d8]
mov ebx, dword [ebx + 0x418]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x44]
mov dword [edi + 0x12e8], ebx
mov ebx, dword [esp + 0x48]
mov dword [edi + 0x12ec], ebx
mov dword [edi + 0x12f0], esi
mov esi, dword [esp + 0x50]
mov dword [edi + 0x12f4], esi
mov dword [esp + 0x9c], eax
movzx eax, word [esp + 0x64]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x94], edx
movzx edx, word [esp + 0x6a]
mov dword [esp + 0x98], ecx
movzx ecx, word [esp + 0x66]
mov dword [esp + 0xa0], eax
movzx eax, word [esp + 0x6c]
mov dword [esp + 0xa4], ecx
movzx ecx, word [esp + 0x6e]
mov dword [esp + 0xa8], edx
movzx edx, word [esp + 0x70]
mov dword [esp + 0xac], eax
movzx eax, word [esp + 0x72]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], eax
cmp dword [edi + 0x94], 0
mov eax, dword [edi + 0x21b78]
jne 0x428739
cmp eax, 2
je 0x428833
cmp eax, 3
je 0x428833
mov esi, dword [edi + 0x88]
test esi, esi
je 0x428833
mov ecx, dword [edi + 0x20]
add esi, 0x2a48
cmp dword [esi + 0x7c], 0
mov ebx, 1
jl 0x4286bf
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
push 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0x1b0004
mov dword [esp + 0x20], 2
mov dword [esp + 0x24], 4
call fcn.0044068c
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x4286bf
lea ecx, [esp + 0x14]
push ecx
mov dword [eax], ebx
call fcn.00403000
mov esi, dword [edi + 0x88]
mov ecx, dword [edi + 0x20]
add esi, 0x2a48
xor eax, eax
cmp dword [esi + 0x7c], eax
jl 0x42871b
lea edx, [esp + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
push edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0x1b0004
mov dword [esp + 0x20], 3
mov dword [esp + 0x24], eax
call fcn.00403000
mov eax, dword [edi + 0x21f50]
push 0
push eax
mov eax, dword [esp + 0x44]
mov dword [edi + 0x94], ebx
mov ecx, dword [eax + 0x20]
push 6
push ecx
jmp 0x42882d
cmp eax, 2
je 0x428833
mov ebx, 3
cmp eax, ebx
je 0x428833
mov esi, dword [edi + 0x88]
mov ecx, dword [edi + 0x20]
xor eax, eax
cmp dword [esi + 0x2ac4], eax
jl 0x42881a
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], eax
lea eax, [esi + 0x2a84]
push eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0x1b0004
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [esp + 0x148], bl
mov ebx, dword [esi + 0x2a78]
mov eax, dword [ebx + 4]
lea edx, [esp + 0x14]
push edx
push eax
push ebx
call fcn.004041e0
mov ecx, dword [esi + 0x2a7c]
mov edx, 0x71c71c6
sub edx, ecx
cmp edx, 1
jae 0x4287e7
push str.list_T__too_long
call fcn.0059343e
inc ecx
mov dword [esi + 0x2a7c], ecx
mov dword [ebx + 4], eax
mov ecx, dword [eax + 4]
push 0
mov dword [ecx], eax
mov eax, dword [esi + 0x2a70]
push 1
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov byte [esp + 0x148], 1
mov ecx, dword [esp + 0x38]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [edi + 0x21f50]
mov edx, dword [esp + 0x3c]
push 0
push eax
mov eax, dword [edx + 0x20]
push 6
push eax
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, 1
add dword [edi + 0x21f74], eax
cmp dword [edi + 0x21f74], 0x40
jbe 0x42884d
mov dword [edi + 0x21f74], eax
mov ecx, dword [edi + 0x21f74]
mov dword [esp + 0x74], ecx
mov edx, dword [edi + 0x21f74]
push edx
push edi
lea ecx, [esp + 0x7c]
call fcn.004351c0
mov dword [esp + 0x148], 0xffffffff
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428893
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x140]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.0057a982
mov esp, ebp
pop ebp
ret