Function at 0x409a00
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x840
mov eax, dword [0x447150]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [ebp - 0x83c], ebx
cmp dword [edi], 0
jne 0x409aa9
push 0x104
lea eax, [ebp - 0x61c]
push 0
push eax
call fcn.00428770
add esp, 0xc
mov ecx, 0x4482b8
push 0
push 0
push str.STRING
push str.IDS_WARN
call fcn.00402e40
push eax
lea eax, [ebp - 0x61c]
push 0x104
push eax
call fcn.0042cd27
add esp, 0xc
lea eax, [ebp - 0x61c]
mov ecx, 0x4482b8
push 0x30
push eax
push 0
push 0
push str.STRING
push str.IDS_VIDEO
call fcn.00402e40
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004271bb
mov esp, ebp
pop ebp
ret 4
push dword [edi + 0x2dc]
mov dword [edi + 0x58], 3
call dword [sym.imp.aviplayer.dll_AVI_PlayStop]
push 0x200
lea eax, [ebp - 0x81c]
mov ebx, 1
push 0
push eax
call fcn.00428770
add esp, 0x10
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x838], 0
cmp dword [0x447db0], ebx
jle 0x409b2a
cmp dword [0x447e14], ebx
je 0x409b2a
push 0x4482b8
push 0x447da8
mov ecx, edi
call fcn.0041c240
push eax
call dword [sym.imp.jprintbrowser.dll_BROWSER_CheckModal]
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x409e38
push esi
lea eax, [ebp - 0x81c]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x82c]
push eax
push dword [edi + 0x2dc]
movups xmmword [ebp - 0x82c], xmm0
call dword [sym.imp.aviplayer.dll_AVI_GetInfo]
push 0x103
lea eax, [ebp - 0x518]
push eax
push dword [edi + 0x24]
call fcn.00414c50
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
mov byte [ebp - 0x414], 0
mov byte [ebp - 0x310], 0
mov byte [ebp - 0x20c], 0
mov byte [ebp - 0x108], 0
test bl, 1
je 0x409ba5
lea eax, [ebp - 0x518]
push eax
lea eax, [ebp - 0x414]
push str._sCH1.bmp
push eax
call esi
add esp, 0xc
test bl, 2
je 0x409bc2
lea eax, [ebp - 0x518]
push eax
lea eax, [ebp - 0x310]
push str._sCH0.bmp
push eax
call esi
add esp, 0xc
mov eax, dword [0x447db0]
cmp eax, 2
jle 0x409c10
test bl, 4
je 0x409bee
lea eax, [ebp - 0x518]
push eax
lea eax, [ebp - 0x20c]
push str._sCH2.bmp
push eax
call esi
mov eax, dword [0x447db0]
add esp, 0xc
cmp eax, 4
jne 0x409c10
test bl, 8
je 0x409c10
lea eax, [ebp - 0x518]
push eax
lea eax, [ebp - 0x108]
push str._sCH3.bmp
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x834]
push eax
push 0
push dword [edi + 0x2dc]
call dword [sym.imp.aviplayer.dll_AVI_GetLastDecodingData]
lea eax, [ebp - 0x414]
push eax
push dword [edi + 0x2dc]
call dword [sym.imp.aviplayer.dll_AVI_SaveJPG]
movsd xmm0, qword [edi + 0x70]
lea ebx, [edi + 0x70]
add esp, 0x18
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x409c8d
movsd xmm0, qword [edi + 0x78]
lea ecx, [edi + 0x78]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x409c8d
lea eax, [ebp - 0x838]
push eax
push ecx
push ebx
push dword [edi + 0x2dc]
call dword [sym.imp.aviplayer.dll_AVI_GetGpsData]
mov eax, dword [ebp - 0x838]
add esp, 0x10
mov dword [edi + 0x68], eax
xorps xmm1, xmm1
mov eax, dword [0x447da8]
cmp eax, 6
je 0x409c9c
cmp eax, 0xa
jne 0x409cd2
movsd xmm0, qword [ebx]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x409cd2
movsd xmm0, qword [edi + 0x78]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x409cd2
movsd xmm0, qword [0x43cba8]
movsd qword [ebx], xmm0
movsd xmm0, qword [0x43cbb0]
movsd qword [edi + 0x78], xmm0
movsd xmm0, qword [edi + 0x78]
lea ecx, [ebp - 0x310]
push 1
push dword [ebp - 0x830]
xor eax, eax
cmp dword [0x447db0], 2
push dword [ebp - 0x834]
jle 0x409d96
cmp byte [ebp - 0x108], al
lea esi, [ebp - 0x108]
lea edx, [ebp - 0x20c]
mov dword [ebp - 0x840], 0
cmove esi, eax
cmp byte [ebp - 0x20c], al
push esi
cmove edx, eax
mov esi, dword [ebp - 0x83c]
cmp byte [ebp - 0x310], al
push edx
cmove ecx, eax
cmp byte [ebp - 0x414], 0
push ecx
lea eax, [ebp - 0x414]
cmove eax, dword [ebp - 0x840]
push eax
push dword [edi + 0x2e0]
lea eax, [ebp - 0x82c]
push dword [edi + 0x68]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebx]
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x81c]
push eax
push 0x4482b8
push 0x447da8
push esi
call dword [sym.imp.jprintbrowser.dll_BROWSER_Initialize_4ch]
push eax
push esi
mov dword [edi + 0x2d8], eax
call dword [sym.imp.jprintbrowser.dll_BROWSER_CreateModal]
add esp, 0x50
jmp 0x409e04
cmp byte [ebp - 0x310], al
mov esi, dword [ebp - 0x83c]
cmove ecx, eax
xor edx, edx
cmp byte [ebp - 0x414], dl
lea eax, [ebp - 0x414]
push edx
push ecx
cmove eax, edx
push eax
push dword [edi + 0x2e0]
lea eax, [ebp - 0x82c]
push dword [edi + 0x68]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebx]
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x81c]
push eax
push 0x4482b8
push 0x447da8
push esi
call dword [sym.imp.jprintbrowser.dll_BROWSER_Initialize]
push eax
push esi
mov dword [edi + 0x2d8], eax
call dword [sym.imp.jprintbrowser.dll_BROWSER_CreateModal]
add esp, 0x4c
mov eax, dword [0x447db0]
xor edi, edi
test eax, eax
jle 0x409e37
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea esi, [ebp - 0x414]
nop dword [eax + eax]
test esi, esi
je 0x409e2c
push esi
call ebx
mov eax, dword [0x447db0]
inc edi
add esi, 0x104
cmp edi, eax
jl 0x409e20
pop esi
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop ebx
call fcn.004271bb
mov esp, ebp
pop ebp
ret 4