Function at 0x4139a0
Capabilities:
Check for time delay via gettickcount
Extract resource via kernel32 functions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5dc
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov dl, byte [eax + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x26e]
push ebx
push esi
push edi
xor ebx, ebx
push eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x44], ecx
mov byte [esp + 0x17], dl
call fcn.0069c8fa
xor ecx, ecx
add esp, 4
mov eax, 0x4000
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0069c0de
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x26e], eax
mov eax, dword [ecx + 0x272]
add esp, 4
push eax
call fcn.0069c8fa
xor ecx, ecx
add esp, 4
mov eax, 0x4000
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0069c0de
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x272], eax
mov eax, 1
add esp, 4
or ecx, 0xffffffff
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
push 0xa
push 0x1b1
push ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x140], ebx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], ebx
mov dword [esp + 0x15c], ebx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], ebx
mov dword [esp + 0x158], ebx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], ebx
mov dword [esp + 0x168], ebx
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
cmp esi, ebx
je 0x413c2a
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push esi
push ebx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
push edi
lea edx, [esp + 0x6c]
push edx
lea ecx, [ebx + 5]
mov edi, eax
call fcn.004cf0e0
push esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
lea eax, [esp + 0x68]
lea esi, [esp + 0x170]
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x170], 0x70e2d0
mov dword [esp + 0x17c], 0x6dbd3c
mov dword [esp + 0x180], ebx
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x1d0], eax
call fcn.004d7ed0
mov ecx, dword [esp + 0x180]
push 0xffffff
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
push str.MS_Shell_Dlg_2
push 0x20
push ebx
push ebx
push ebx
push 1
push ebx
push ebx
push ebx
push 0x190
push ebx
push ebx
push ebx
push 0x1a
call dword [sym.imp.GDI32.dll_CreateFontW]
mov edx, dword [esp + 0x180]
mov edi, eax
push edi
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x64
push 0x17c
mov dword [esp + 0xc4], eax
push str.Video_device_is_not_responding._nPlease__check_device_connection.
lea eax, [esp + 0x188]
push eax
mov eax, 0x69
lea ecx, [eax + 0x14]
call fcn.004058a0
call fcn.004d7de0
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x180]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp dword [esp + 0xa8], ebx
mov byte [esp + 0x12], bl
je 0x413e16
cmp dword [esp + 0x68], 0xffffffff
je 0x413e16
cmp dword [esp + 0x6c], ebx
jle 0x413e16
cmp dword [esp + 0x70], ebx
jle 0x413e16
push 0xc2
call fcn.0069e704
add esp, 4
cmp eax, ebx
jne 0x413d4f
call fcn.004b05b0
jmp 0x413d5e
lea ecx, [esp + 0x68]
push ecx
push eax
call fcn.00619450
cmp eax, ebx
jne 0x413d63
call fcn.0067fc80
mov esi, eax
mov edx, dword [esi + 0x62]
push edx
mov dword [esp + 0x30], esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push ebx
add eax, 5
push ebx
push eax
lea ecx, [esp + 0x48]
push ecx
lea eax, [esp + 0x3c]
call fcn.00662200
mov edi, eax
mov eax, dword [edi]
cmp esi, eax
je 0x413dbd
mov edx, dword [eax + 0x62]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esi + 0x62]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x413dbb
cmp esi, ebx
je 0x413dbb
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 1
mov ecx, esi
call eax
mov esi, dword [edi]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 0x62]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x413de0
mov ecx, dword [esp + 0x3c]
cmp ecx, ebx
je 0x413de0
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 1
call edx
mov eax, dword [esi]
mov edi, dword [ebp + 8]
mov edx, dword [eax + 0xc]
push 0xffffffffffffffff
lea ecx, [esp + 0x11c]
push ecx
push edi
mov ecx, esi
call edx
mov byte [esp + 0x12], al
mov eax, dword [esi + 0x62]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x413e19
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 1
mov ecx, esi
call eax
jmp 0x413e19
mov edi, dword [ebp + 8]
push 0xb
lea eax, [edi + 0x62]
push str.LAudioMixer
push eax
call fcn.0069cfe9
add esp, 0xc
test eax, eax
jne 0x413e3d
cmp dword [edi + 0x27a], ebx
mov byte [esp + 0x10], 1
jne 0x413e41
mov byte [esp + 0x10], bl
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
mov dword [esp + 0x14], ebx
call eax
test al, al
jne 0x4147a9
mov edi, dword [ebp + 8]
cmp dword [edi + 0x35], 1
jne 0x413eac
mov ecx, dword [edi + 0x29b]
push ecx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [ebp + 0x24]
cmp eax, ebx
je 0x413e78
mov byte [eax + 0x12c], bl
cmp eax, ebx
mov dword [edi + 0x35], 2
jne 0x414341
mov eax, dword [edi + 0x29b]
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ecx], eax
mov edx, dword [edi]
mov edx, dword [edx + 8]
lea eax, [esp + 0x5a]
push eax
mov ecx, edi
call edx
cmp dword [esp + 0x52], ebx
jne 0x4147a9
cmp dword [edi + 0x35], 3
jne 0x414341
lea esi, [esp + 0xc0]
call fcn.004d16d0
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
mov eax, dword [esi]
add eax, 0x62
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x413eef
mov ecx, dword [esi]
cmp ecx, ebx
je 0x413eef
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
mov eax, dword [0x736624]
cmp eax, ebx
jne 0x413f16
push 0x6e
call fcn.0069e704
add esp, 4
cmp eax, ebx
jne 0x4140a8
call fcn.004b05b0
xor eax, eax
mov dword [0x736624], eax
mov ecx, eax
mov dword [esi], eax
mov edx, dword [ecx + 0x62]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [ebp + 0x10]
call fcn.005ebe90
mov edi, dword [ebp + 0x14]
mov eax, dword [edi + 4]
mov edx, dword [ebp + 0x20]
cmp eax, dword [edx + 4]
je 0x413f6a
mov eax, dword [edx + 4]
add word [eax + 0x7a], 1
mov eax, dword [edi + 4]
add word [eax + 0x7a], 0xffff
mov ecx, dword [edi + 4]
cmp word [ecx + 0x7a], bx
jne 0x413f64
cmp ecx, ebx
je 0x413f64
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
mov edx, dword [ebp + 0x20]
mov ecx, dword [edx + 4]
mov dword [edi + 4], ecx
mov eax, dword [ebp + 0x24]
cmp eax, ebx
je 0x413f7e
mov byte [eax + 0x12b], bl
mov byte [eax + 0x12c], 1
mov edx, dword [ebp + 0x18]
push edx
push edi
mov edi, dword [ebp + 8]
push edi
call fcn.00672ce0
mov ecx, dword [edi + 0x2d]
test ecx, ecx
mov eax, dword [edi + 0x31]
je 0x413fab
mov edx, dword [edi + 0x2d]
push eax
push 0x20d
push 0x401
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
cmp byte [esp + 0x10], bl
je 0x413fd3
mov eax, dword [ebp + 0x10]
push eax
push esi
lea eax, [edi + 0x62]
push eax
lea ecx, [edi + 0x41]
push ecx
push edi
call fcn.00411f70
cmp eax, ebx
mov dword [edi + 0x27a], eax
setne al
cmp al, bl
jne 0x413fee
mov edx, dword [ebp + 0x10]
push edx
push esi
lea eax, [edi + 0x62]
push eax
lea eax, [edi + 0x41]
push eax
push edi
call fcn.00603630
test al, al
je 0x4146eb
mov ecx, dword [edi + 0x26a]
mov edx, dword [ecx]
mov edx, dword [edx]
push esi
lea eax, [esp + 0x2c]
push eax
call edx
mov edi, eax
mov eax, dword [edi]
cmp dword [esi], eax
je 0x414038
mov eax, dword [eax + 0x62]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esi]
mov ecx, dword [eax + 0x62]
add eax, 0x62
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x414034
mov ecx, dword [esi]
cmp ecx, ebx
je 0x414034
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
mov ecx, dword [edi]
mov dword [esi], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x62]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x41405b
mov ecx, dword [esp + 0x28]
cmp ecx, ebx
je 0x41405b
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x26a]
mov edi, dword [ebp + 0x10]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push edi
lea eax, [esp + 0x3c]
push eax
call edx
push eax
call fcn.005ebe20
mov edi, dword [esp + 0x38]
cmp edi, ebx
je 0x4140be
mov dword [esp + 0x38], ebx
mov eax, dword [edi + 0xe]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x4140be
cmp edi, dword [0x73658c]
je 0x4140b4
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
jmp 0x4140be
mov edi, eax
call fcn.0067fd80
jmp 0x413f11
mov ecx, dword [edi + 0xe]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 4]
push ebx
add eax, 5
push ebx
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, esi
call fcn.00662200
mov edi, eax
mov eax, dword [edi]
cmp dword [esi], eax
je 0x41410e
mov ecx, dword [eax + 0x62]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esi]
mov edx, dword [eax + 0x62]
add eax, 0x62
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x41410a
mov ecx, dword [esi]
cmp ecx, ebx
je 0x41410a
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 1
call edx
mov eax, dword [edi]
mov dword [esi], eax
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0x62]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x414131
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
je 0x414131
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 1
call edx
mov eax, dword [ebp + 0x10]
call fcn.00405300
test al, al
je 0x414263
mov eax, dword [ebp + 0x18]
mov edi, dword [eax]
mov cl, byte [edi + 0xd]
not cl
test cl, 1
je 0x414263
mov eax, dword [ebp + 0x10]
call fcn.004052c0
cmp eax, dword [edi + 8]
je 0x4141dd
mov edi, dword [edi + 8]
cmp edi, ebx
mov dword [esp + 0x5a], ebx
mov byte [esp + 0x5e], bl
mov dword [esp + 0x5f], ebx
mov dword [esp + 0x56], 0x6dc338
mov dword [esp + 0x63], edi
jg 0x414188
mov dword [esp + 0x63], 0xac44
mov edi, dword [ebp + 0x10]
push edi
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x5e]
mov byte [esp + 0x6f], bl
call dword [0x6dc33c]
push eax
call fcn.005ebe20
mov edi, dword [esp + 0x24]
cmp edi, ebx
je 0x4141dd
mov dword [esp + 0x24], ebx
mov eax, dword [edi + 0xe]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x4141dd
cmp edi, dword [0x73658c]
je 0x4141d3
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
jmp 0x4141dd
mov ecx, dword [edi + 0xe]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov edi, dword [edx]
call fcn.004052d0
cmp al, byte [edi + 0xc]
je 0x414263
mov al, byte [edi + 0xc]
mov edi, dword [ebp + 0x10]
mov byte [esp + 0x51], al
push edi
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x50], ebx
mov byte [esp + 0x54], bl
mov dword [esp + 0x55], ebx
mov dword [esp + 0x4c], 0x6dc2d8
call dword [0x6dc2dc]
push eax
call fcn.005ebe20
mov edi, dword [esp + 0x20]
cmp edi, ebx
je 0x41425b
mov dword [esp + 0x20], ebx
mov ecx, dword [edi + 0xe]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x41425b
cmp edi, dword [0x73658c]
je 0x414251
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
jmp 0x41425b
mov ecx, dword [edi + 0xe]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [esp + 0x44], 0x6dc278
push 0x83
call fcn.0069e704
add esp, 4
cmp eax, ebx
jne 0x41427b
call fcn.004b05b0
jmp 0x414291
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 4]
mov edx, dword [edx + 0x5e]
push edx
push eax
mov eax, esi
call fcn.00411eb0
cmp eax, ebx
jne 0x4142b8
mov eax, dword [0x736624]
cmp eax, ebx
jne 0x4142b8
push 0x6e
call fcn.0069e704
add esp, 4
cmp eax, ebx
jne 0x4144c9
call fcn.004b05b0
xor eax, eax
mov dword [0x736624], eax
mov edi, eax
mov eax, dword [edi + 0x62]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
cmp dword [esi], edi
je 0x4142f6
mov ecx, dword [edi + 0x62]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esi]
mov edx, dword [eax + 0x62]
add eax, 0x62
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x4142f4
mov ecx, dword [esi]
cmp ecx, ebx
je 0x4142f4
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 1
call edx
mov dword [esi], edi
mov eax, dword [edi + 0x62]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x41430f
mov edx, dword [edi]
mov eax, dword [edx + 8]
push 1
mov ecx, edi
call eax
mov eax, dword [ebp + 0x24]
cmp eax, ebx
je 0x41431d
mov byte [eax + 0x12b], 1
call fcn.004c1f10
mov edx, dword [ebp + 0x1c]
mov dword [edx], eax
mov ecx, dword [esi]
mov eax, dword [ecx]
push edx
mov edx, dword [eax + 0x14]
call edx
test al, al
je 0x414742
mov eax, dword [ebp + 8]
mov dword [eax + 0x35], ebx
mov edi, eax
mov ecx, dword [0x736604]
cmp ecx, ebx
je 0x414352
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x34], eax
push 0x7530
lea eax, [esp + 0xc4]
push eax
push edi
call edx
test al, al
jne 0x4144d5
mov eax, dword [edi]
mov edx, dword [eax]
mov ecx, edi
call edx
test al, al
jne 0x4143b2
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
test al, al
jne 0x4143b2
mov eax, dword [edi + 0x2d]
test eax, eax
je 0x4143b2
mov ecx, dword [edi + 0x2d]
push ebx
push 0x20f
push 0x401
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
test al, al
je 0x41443d
mov ecx, esi
mov ecx, dword [ecx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
cmp al, 9
lea esi, [esp + 0x1d8]
mov edx, str.An_error_occurred_during_the_recording__if_the_error_persists_try_reducing_the_video_source_output_resolution_or_using_another_output_format.
jne 0x4143de
mov edx, str.Memory_limit_reached._n_rTry_reducing_the_video_source_output_resolution_or_using_another_output_format.
call fcn.004011d0
lea eax, [esp + 0x1d8]
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4143f0
mov esi, dword [ebp + 8]
sub eax, edx
sar eax, 1
lea ecx, [esp + 0x1d8]
push ecx
add esi, 0x2d
lea edi, [eax + eax + 2]
push 0x212
mov eax, esi
call fcn.004bf8a0
mov ecx, dword [esi]
test ecx, ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x31]
je 0x41443d
mov edx, dword [esi]
push eax
push 0x20e
push 0x401
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
cmp al, 0xb
jne 0x4147a9
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2d]
test ecx, ecx
je 0x414470
mov edx, dword [eax + 0x2d]
push ebx
push 0x214
push 0x401
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
cmp byte [esp + 0x12], bl
je 0x4146d5
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [esp + 0x34]
add dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 4]
mov esi, dword [ecx + 0x5e]
call edi
sub esi, dword [esp + 0x34]
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 4]
add eax, esi
mov dword [esp + 0x168], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0x118]
push edx
call eax
call edi
mov ecx, dword [esp + 0x1c]
add dword [esp + 0x110], ecx
jmp 0x4146d5
mov edi, eax
call fcn.0067fd80
jmp 0x4142b3
cmp dword [esp + 0x110], ebx
jl 0x4146d5
mov esi, dword [ebp + 0x14]
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0xc0]
push eax
call edx
test al, al
je 0x414760
lea esi, [edi + 0x27e]
call fcn.00408aa0
cmp dword [edi + 0x35], ebx
jne 0x4146d5
mov eax, dword [ebp + 0x14]
mov edx, dword [edi + 0x2d]
test edx, edx
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 0x5e]
je 0x414538
push eax
mov eax, dword [edi + 0x2d]
push 0x20a
push 0x401
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov esi, dword [ebp + 0x10]
mov eax, esi
call fcn.00405330
test al, al
je 0x414563
push str.QAjh
call fcn.004bf140
neg al
sbb eax, eax
and eax, 0xfffffffd
add eax, 2
cmp dword [edi + 0x39], eax
jne 0x4146d5
push str.QAjh
call fcn.004bf140
neg al
sbb eax, eax
and eax, 0xfffffffd
add eax, 2
cmp dword [edi + 0x39], eax
jne 0x414623
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
test byte [edx + 0xd], 1
jne 0x414623
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x5e]
mov eax, dword [ebp + 0x18]
lea edi, [esp + 0xb8]
mov dword [esp + 0x18], edx
call fcn.00408330
fild dword [esp + 0x18]
fisub dword [eax]
fimul dword [esp + 0x40]
fmul qword [0x7235e0]
call fcn.006b24a0
mov edi, eax
cmp edi, ebx
jle 0x4146d5
cmp edi, 0x800
mov esi, edi
jl 0x4145d9
mov esi, 0x800
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x26e]
movzx eax, byte [esp + 0x13]
imul eax, esi
cmp eax, ebx
jg 0x4145f2
xor eax, eax
jmp 0x4145f6
add eax, eax
add eax, eax
push eax
push ebx
push ecx
call fcn.006a1300
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx]
mov eax, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [eax + 0x26e]
mov edx, dword [edx + 4]
add esp, 0xc
push esi
push eax
call edx
sub edi, esi
cmp edi, ebx
jg 0x4145ca
jmp 0x4146d5
mov ecx, dword [esi]
cmp ecx, ebx
je 0x414634
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov esi, eax
jmp 0x414636
xor esi, esi
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, ebx
je 0x414648
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
jmp 0x41464a
xor eax, eax
sub esi, eax
cmp byte [esp + 0x10], bl
mov dword [esp + 0x18], esi
mov byte [esp + 0xf], bl
mov byte [esp + 0x11], bl
je 0x41467d
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [ebp + 0x18]
lea edx, [esp + 0x15]
push edx
mov edx, dword [ebp + 0x10]
lea eax, [esp + 0x17]
push eax
push ecx
push edx
push edi
call fcn.004136b0
jmp 0x41469a
lea eax, [esp + 0x18]
push eax
mov eax, dword [ebp + 0x18]
lea ecx, [esp + 0x15]
push ecx
mov ecx, dword [ebp + 0x10]
lea edx, [esp + 0x17]
push edx
push eax
push ecx
push edi
call fcn.00483e60
cmp byte [esp + 0xf], bl
je 0x4146d1
cmp byte [esp + 0x11], bl
jne 0x4146d1
add dword [esp + 0x14], 1
cmp dword [esp + 0x14], 0xa
jb 0x4146d5
mov edx, dword [edi + 0x2d]
test edx, edx
mov eax, dword [edi + 0x31]
je 0x4146d1
push eax
mov eax, dword [edi + 0x2d]
push 0x208
push 0x401
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [esp + 0x14], ebx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
test al, al
je 0x413e55
jmp 0x4147a9
mov ecx, dword [edi + 0x2d]
test ecx, ecx
mov eax, dword [edi + 0x31]
je 0x41470a
mov edx, dword [edi + 0x2d]
push eax
push 0x20e
push 0x401
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [esp + 0x170]
call fcn.00408c50
lea ecx, [esp + 0x118]
call fcn.004d0c50
lea ecx, [esp + 0x68]
call fcn.004d0c50
lea ecx, [esp + 0xc0]
call fcn.004d0c50
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2d]
test edx, edx
mov eax, dword [ecx + 0x31]
je 0x41470a
push eax
mov eax, dword [ecx + 0x2d]
push 0x20e
push 0x401
push eax
jmp 0x414704
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
test al, al
je 0x4147a1
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
cmp al, 9
lea esi, [esp + 0x3e0]
mov edx, str.An_error_occurred_during_the_recording__if_the_error_persists_try_reducing_the_video_source_output_resolution_or_using_another_output_format.
jne 0x41478c
mov edx, str.Memory_limit_reached._n_rTry_reducing_the_video_source_output_resolution_or_using_another_output_format.
call fcn.004011d0
add edi, 0x29
push edi
lea edx, [esp + 0x3e4]
call fcn.00412a60
mov edi, dword [ebp + 0x14]
call fcn.0067f980
lea esi, [esp + 0xc0]
call fcn.004d16d0
lea esi, [esp + 0x170]
mov dword [esp + 0x170], 0x70e2d0
call fcn.004d7de0
mov ecx, dword [esp + 0x1cc]
mov esi, dword [esp + 0x180]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [esp + 0x1c8]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
lea edi, [esp + 0x17c]
call fcn.0050ea10
lea ecx, [esp + 0x118]
call fcn.004d0c50
lea ecx, [esp + 0x68]
call fcn.004d0c50
lea ecx, [esp + 0xc0]
call fcn.004d0c50
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x20