Function at 0x401172
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x108c
call fcn.0044a740
mov eax, dword [0x496ab0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
and dword [ebp - 0x858], 0
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
push 0
push 0x498610
push 0x498134
call sub.gdiplus.dll_GdiplusStartup
mov eax, dword [ebp + 8]
mov dword [0x498180], eax
push 0x3e8
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov dword [0x498184], eax
push 0x208
push str.AMCAP
push 0x9c49
push 0
call dword [sym.imp.USER32.dll_LoadStringW]
cmp dword [ebp + 0xc], 0
jne 0x401275
push 0x7f00
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [ebp - 0x83c], eax
push str.AMCapIcon
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [ebp - 0x840], eax
mov dword [ebp - 0x834], 0x3e8
mov dword [ebp - 0x830], 0x3e8
mov dword [ebp - 0x838], 6
mov eax, dword [ebp + 8]
mov dword [ebp - 0x844], eax
mov dword [ebp - 0x854], 0x100b
mov dword [ebp - 0x850], 0x401704
and dword [ebp - 0x848], 0
and dword [ebp - 0x84c], 0
lea eax, [ebp - 0x854]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x401275
xor eax, eax
jmp 0x401637
push 0xc
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [0x498188], eax
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x105c], eax
push dword [0x498188]
push dword [ebp - 0x105c]
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x49818c
push dword [ebp - 0x105c]
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
push dword [ebp - 0x105c]
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0
push dword [ebp + 8]
push 0
push 0
push 0x12c
push 0x140
push 0
push SysReAllocStringLen
push 0x2cf0000
push str.AMCAP
push 0x3e8
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x4981c8], eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00416e2e
pop ecx
pop ecx
push 0
push dword [ebp + 8]
push 0
push dword [0x4981c8]
push 0
push 0
push 0
push 0
push 0x54800000
push 0
push str.StatusClass
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x4981cc], eax
cmp dword [0x4981cc], 0
jne 0x401342
xor eax, eax
jmp 0x401637
push 0xfffffffffffffff0
push dword [0x4981cc]
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xff7fffff
push eax
push 0xfffffffffffffff0
push dword [0x4981cc]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push dword [ebp + 0x10]
push dword [0x4981c8]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x104
push 0x104
mov ecx, 0x4986a4
call fcn.0040f747
push eax
push 0x479ef0
push str.CaptureDirectory
push str.annie
call dword [sym.imp.KERNEL32.dll_GetProfileStringW]
push 0xffffffffffffffff
mov ecx, 0x4986a4
call fcn.0040f316
push 0x104
push 0x104
mov ecx, 0x4986a0
call fcn.0040f747
push eax
push 0x479ef0
push str.PhotoDirectory
push str.annie
call dword [sym.imp.KERNEL32.dll_GetProfileStringW]
push 0xffffffffffffffff
mov ecx, 0x4986a0
call fcn.0040f316
push 0x28
push 0
push 0x497f48
call fcn.0044a620
add esp, 0xc
push 0x28
push 0
push 0x497f20
call fcn.0044a620
add esp, 0xc
and dword [0x497f70], 0
and dword [0x497f74], 0
xor eax, eax
mov word [ebp - 0x1058], ax
mov ax, word [ebp - 0x1058]
mov word [ebp - 0x808], ax
push 0x400
lea eax, [ebp - 0x1058]
push eax
push 0x479ef0
push str.VideoDevice2
push str.annie
call dword [sym.imp.KERNEL32.dll_GetProfileStringW]
push 0x400
lea eax, [ebp - 0x808]
push eax
push 0x479ef0
push str.AudioDevice2
push str.annie
call dword [sym.imp.KERNEL32.dll_GetProfileStringW]
mov byte [0x497f1c], 0
call fcn.00404e5d
push 1
push str.CaptureAudio
push str.annie
call dword [sym.imp.KERNEL32.dll_GetProfileIntW]
mov dword [0x497f14], eax
push 0
push str.WantPreview
push str.annie
call dword [sym.imp.KERNEL32.dll_GetProfileIntW]
mov dword [0x497f80], eax
push 1
push str.MasterStream
push str.annie
call dword [sym.imp.KERNEL32.dll_GetProfileIntW]
mov dword [0x497f00], eax
push 1
push str.UseFrameRate
push str.annie
call dword [sym.imp.KERNEL32.dll_GetProfileIntW]
mov dword [0x498080], eax
push 0xa2c2b
push str.FrameRate
push str.annie
call dword [sym.imp.KERNEL32.dll_GetProfileIntW]
mov dword [ebp - 0x82c], eax
fild dword [ebp - 0x82c]
fdivr qword [0x479de0]
fstp qword [0x497f78]
fld qword [0x497f78]
fmul qword [0x479dd8]
call fcn.0044a770
mov dword [ebp - 0x108c], eax
fild dword [ebp - 0x108c]
fdiv qword [0x479dd8]
fstp qword [0x497f78]
fldz
fcomp qword [0x497f78]
fnstsw ax
test ah, 1
jne 0x401541
fld qword [0x479dd0]
fstp qword [0x497f78]
push 0
push str.UseTimeLimit
push str.annie
call dword [sym.imp.KERNEL32.dll_GetProfileIntW]
mov dword [0x49807c], eax
push 0
push str.TimeLimit
push str.annie
call dword [sym.imp.KERNEL32.dll_GetProfileIntW]
mov dword [0x498084], eax
lea eax, [ebp - 0x808]
push eax
lea eax, [ebp - 0x1058]
push eax
call fcn.00404c95
pop ecx
pop ecx
push 0x20
push 0
lea eax, [ebp - 0x828]
push eax
call fcn.0044a620
add esp, 0xc
mov dword [ebp - 0x828], 0x20
mov dword [ebp - 0x824], 5
mov esi, 0x47da60
lea edi, [ebp - 0x81c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [0x4981d4], 0
and dword [0x4981d8], 0
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x1060], eax
push str.UnregisterDeviceNotification
push dword [ebp - 0x1060]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4981d4], eax
push str.RegisterDeviceNotificationW
push dword [ebp - 0x1060]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4981d8], eax
and dword [0x4981d0], 0
cmp dword [0x4981d8], 0
je 0x40162f
push 0
lea eax, [ebp - 0x828]
push eax
push dword [0x4981c8]
call dword [0x4981d8]
mov dword [0x4981d0], eax
call fcn.004010a0
xor eax, eax
inc eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044a605
leave
ret