Function at 0x429040
Capabilities:
Open clipboard
Read clipboard data
Write clipboard data

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0xe24
mov eax, dword [ebp + 0x74]
push ebx
dec eax
dec eax
push esi
push edi
je 0x429fe9
sub eax, 0x10e
je 0x429e6b
dec eax
jne 0x42a05f
mov edx, dword [ebp + 0x78]
movzx ecx, dx
mov eax, 0x532
cmp ecx, eax
jg 0x429a10
je 0x4297b9
dec ecx
je 0x4296b5
sub ecx, 0x4bc
je 0x42965b
dec ecx
je 0x429530
dec ecx
je 0x429288
sub ecx, 0x71
jne 0x42a05f
shr edx, 0x10
cmp dx, 1
jne 0x42a05f
push 0xffffffffffffffeb
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov esi, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push 0x31
pop ecx
mov dword [ebp + 0x64], eax
xor ebx, ebx
mov word [ebp - 0x2f4], bx
xor eax, eax
lea edi, [ebp - 0x2f2]
rep stosd dword es:[edi], eax
push ebx
push ebx
stosw word es:[edi], ax
push 0x188
mov edi, 0x530
push edi
push dword [ebp + 0x70]
call esi
cmp eax, 0xffffffff
mov dword [ebp + 0x60], eax
jne 0x429134
push ebx
push ebx
push 0x172
push 0x53a
push dword [ebp + 0x70]
call esi
cmp eax, ebx
je 0x429124
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebx
push dword [ebp + 0x70]
call fcn.00428ae8
pop ecx
pop ecx
jmp 0x42a05f
push 1
push dword [ebp + 0x70]
call fcn.00428ae8
pop ecx
pop ecx
lea eax, [ebp - 0x2f4]
push eax
push dword [ebp + 0x60]
push 0x189
push edi
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push ebx
push ebx
push 0x1a4
mov dword [ebp + 0x78], ebx
mov dword [ebp + 0x74], ebx
mov dword [ebp + 0x58], ebx
call fcn.00472111
push eax
lea eax, [ebp - 0x2f4]
push eax
call dword [sym.imp.NSCRT.dll__wcsicmp]
add esp, 0x14
test eax, eax
mov eax, 0x48c0bc
je 0x42918e
lea eax, [ebp - 0x2f4]
lea ecx, [ebp + 0x58]
push ecx
lea ecx, [ebp + 0x74]
push ecx
lea ecx, [ebp + 0x78]
push ecx
mov ecx, dword [0x4ac3f4]
push eax
mov eax, dword [ebp + 0x64]
push dword [eax]
call fcn.00470e7e
test eax, eax
jne 0x42a05f
push dword [ebp + 0x70]
mov eax, 0xe4
push eax
push eax
push dword [ebp + 0x74]
push dword [ebp + 0x78]
push dword [ebp + 0x58]
call fcn.00428ef7
add esp, 0x18
push eax
push ebx
push 0x172
push 0x53a
push dword [ebp + 0x70]
call esi
cmp eax, ebx
je 0x4291ea
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp + 0x74]
lea eax, [ebp - 0x2f4]
push dword [ebp + 0x78]
push eax
push str._s:__dx_d
lea eax, [ebp - 0x5bc]
push 0x64
push eax
call fcn.00402fc5
add esp, 0x18
lea eax, [ebp - 0x5bc]
push eax
push 0x539
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0x1c
call sub.NSCRT.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
je 0x429244
push ebx
push dword [ebp + 0x74]
mov ecx, eax
push dword [ebp + 0x78]
push dword [ebp + 0x58]
call fcn.00428b62
mov dword [ebp + 0x64], eax
jmp 0x429247
mov dword [ebp + 0x64], ebx
push ebx
push dword [ebp + 0x60]
push 0x199
push edi
push dword [ebp + 0x70]
call esi
cmp eax, ebx
mov dword [ebp + 0x5c], eax
je 0x429272
cmp eax, 0xffffffff
je 0x429272
mov ecx, eax
call fcn.00428ffb
push dword [ebp + 0x5c]
call sub.NSCRT.dll_void___cdecl_operator_delete_void__
pop ecx
push dword [ebp + 0x64]
push dword [ebp + 0x60]
push 0x19a
push edi
push dword [ebp + 0x70]
call esi
jmp 0x42a05f
mov esi, dword [ebp + 0x70]
push esi
call fcn.00428b8d
xor ebx, ebx
cmp eax, ebx
pop ecx
mov dword [ebp + 0x58], eax
je 0x42a05f
push 0xffffffffffffffeb
push esi
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov edx, eax
xor eax, eax
mov word [ebp - 0xdbc], bx
mov ecx, 0x1ff
lea edi, [ebp - 0xdba]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x22c], bx
mov ecx, 0x81
lea edi, [ebp - 0x22a]
rep stosd dword es:[edi], eax
push 0x14
stosw word es:[edi], ax
pop ecx
xor eax, eax
mov dword [ebp - 0x14], 0x58
mov dword [ebp - 0x10], ebx
push 0x104
lea edi, [ebp - 0xc]
rep stosd dword es:[edi], eax
push dword [edx]
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
cmp dword [0x4a6354], ebx
lea eax, [ebp - 0x22c]
mov dword [ebp + 0x18], eax
lea eax, [ebp - 0xdbc]
mov dword [ebp - 0x10], esi
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], 0x3fc
mov dword [ebp + 0x44], str..jpg
mov dword [ebp + 0x48], str..png
mov dword [ebp + 0x4c], str..gif
mov dword [ebp + 0x50], 0x48c078
mov dword [ebp + 0x78], ebx
mov dword [ebp - 0x24], 0x19a
mov dword [ebp - 0x20], 0x19b
mov dword [ebp - 0x1c], 0x19c
mov dword [ebp - 0x18], 0x19d
mov dword [ebp + 0x70], 0x400
jne 0x4294a2
mov ecx, dword [0x4ac3c8]
push 0x696d676c
push ebx
push 0x1e
mov dword [0x4a6354], 1
call fcn.00475aa3
cmp eax, ebx
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x74], ebx
jle 0x429498
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push dword [ebp + 0x74]
mov ecx, dword [0x4ac3c8]
push 0x696d676c
push ebx
push 0x28
call fcn.004700a7
mov ecx, eax
cmp ecx, ebx
mov dword [ebp + 0x60], ecx
je 0x429489
push 1
push ebx
push 0x12c
call fcn.00475aa3
cmp eax, ebx
mov dword [ebp + 0x64], eax
je 0x429489
xor esi, esi
push dword [ebp + esi*4 + 0x44]
mov ecx, dword [ebp + 0x64]
push ebx
push 0x32
call fcn.00475aa3
test eax, eax
je 0x429472
push dword [ebp + 0x70]
mov eax, dword [ebp + 0x78]
push dword [0x49c2f8]
inc dword [ebp + 0x78]
push dword [ebp + esi*4 - 0x24]
mov dword [eax*4 + 0x49c2e8], esi
call fcn.00472111
add esp, 0xc
push dword [0x49c2f8]
call edi
mov ecx, dword [0x49c2f8]
inc eax
sub dword [ebp + 0x70], eax
push dword [ebp + 0x70]
lea eax, [ecx + eax*2]
push dword [ebp + esi*4 + 0x44]
mov dword [0x49c2f8], eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push dword [0x49c2f8]
call edi
mov ecx, dword [0x49c2f8]
inc eax
sub dword [ebp + 0x70], eax
lea eax, [ecx + eax*2]
mov dword [0x49c2f8], eax
inc esi
cmp esi, 4
jb 0x4293fb
push dword [ebp + 0x64]
mov ecx, dword [ebp + 0x60]
push ebx
push 0x136
call fcn.00475aa3
inc dword [ebp + 0x74]
mov eax, dword [ebp + 0x74]
cmp eax, dword [ebp + 0x5c]
jl 0x4293be
mov eax, dword [0x49c2e8]
mov dword [0x4a6350], eax
mov eax, dword [0x4a6350]
push 2
mov dword [ebp + 4], eax
pop esi
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 8], 0x4a5b50
mov dword [ebp + 0x20], esi
call dword [sym.imp.comdlg32.dll_GetSaveFileNameW]
test eax, eax
je 0x42a05f
mov eax, dword [ebp + 4]
mov dword [0x4a6350], eax
lea eax, [ebp - 0xdbc]
push eax
call dword [sym.imp.NSCRT.dll_wcslen]
cmp eax, 4
pop ecx
jle 0x4294ef
cmp word [ebp + eax*2 - 0xdc4], 0x2e
je 0x429511
mov eax, dword [ebp + 4]
mov eax, dword [eax*4 + 0x49c2e4]
mov eax, dword [ebp + eax*4 + 0x44]
add eax, esi
push eax
push 0x400
lea eax, [ebp - 0xdbc]
push eax
call fcn.0047ac6c
lea eax, [ebp - 0xdbc]
push eax
mov eax, dword [ebp + 0x58]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.00470b6c
add esp, 0x10
jmp 0x42a05f
push dword [ebp + 0x70]
call fcn.00428b8d
mov esi, eax
xor ebx, ebx
cmp esi, ebx
pop ecx
je 0x42a05f
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x42a05f
push 2
call dword [sym.imp.USER32.dll_GetClipboardData]
cmp eax, ebx
mov dword [ebp + 0x74], eax
je 0x429650
push dword [ebp + 0x70]
lea eax, [esi + 8]
push eax
lea ecx, [esi + 4]
push ecx
push dword [ebp + 0x74]
call fcn.00428bce
add esp, 0x10
push 0xa
xor eax, eax
pop ecx
push dword [ebp + 0x70]
lea edi, [ebp + 0x1c]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 4]
mov dword [ebp + 0x1c], eax
mov eax, dword [esi + 8]
neg eax
mov dword [ebp + 0x18], 0x28
mov dword [ebp + 0x20], eax
mov word [ebp + 0x24], 1
mov word [ebp + 0x26], 0x20
mov dword [ebp + 0x28], ebx
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
mov eax, dword [esi]
cmp eax, ebx
je 0x4295cc
mov ecx, dword [0x4ac3dc]
push eax
push 0xa
call fcn.00402ed9
mov eax, dword [esi + 4]
imul eax, dword [esi + 8]
mov ecx, dword [0x4ac3dc]
shl eax, 2
push eax
push ebx
push ebx
call fcn.00475aa3
push ebx
lea ecx, [ebp + 0x18]
push ecx
push eax
push dword [esi + 8]
mov dword [esi], eax
push ebx
push dword [ebp + 0x74]
push edi
call dword [sym.imp.GDI32.dll_GetDIBits]
push edi
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_ReleaseDC]
push dword [ebp + 0x70]
mov eax, 0xe4
push eax
push eax
push dword [esi + 8]
mov byte [esi + 0x18], 1
push dword [esi + 4]
push dword [esi]
call fcn.00428ef7
add esp, 0x18
push eax
push ebx
push 0x172
push 0x53a
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
cmp eax, ebx
je 0x429642
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
call dword [sym.imp.USER32.dll_CloseClipboard]
xor eax, eax
inc eax
jmp 0x42a061
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x42a05f
push dword [ebp + 0x70]
call fcn.00428b8d
mov esi, eax
test esi, esi
pop ecx
je 0x42a05f
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x42a05f
call dword [sym.imp.USER32.dll_EmptyClipboard]
push dword [ebp + 0x70]
mov eax, dword [esi + 4]
push dword [esi + 8]
push dword [esi]
call fcn.00428a6e
add esp, 0xc
mov esi, eax
push esi
push 2
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x42a05f
push 0xffffffffffffffeb
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
xor ebx, ebx
push ebx
push ebx
push 0x18b
mov edi, 0x530
push edi
push dword [ebp + 0x70]
mov dword [ebp + 0x78], eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
cmp eax, ebx
mov dword [ebp + 0x64], eax
mov dword [ebp + 0x74], ebx
jle 0x42a05f
push ebx
push dword [ebp + 0x74]
push 0x199
push edi
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov esi, eax
cmp byte [esi + 0x18], bl
je 0x4297a5
lea eax, [ebp - 0xdbc]
push eax
push dword [ebp + 0x74]
push 0x189
push edi
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp dword [esi + 0xc], ebx
push ebx
push ebx
push 0x1a4
je 0x429765
call fcn.00472111
push eax
lea eax, [ebp - 0xdbc]
push eax
call dword [sym.imp.NSCRT.dll__wcsicmp]
add esp, 0x14
test eax, eax
mov eax, 0x48c0bc
je 0x429758
lea eax, [ebp - 0xdbc]
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [esi + 0xc]
push ebx
push ebx
jmp 0x429794
call fcn.00472111
push eax
lea eax, [ebp - 0xdbc]
push eax
call dword [sym.imp.NSCRT.dll__wcsicmp]
add esp, 0x14
test eax, eax
mov eax, 0x48c0bc
je 0x42978a
lea eax, [ebp - 0xdbc]
push ebx
push ebx
push dword [esi]
push dword [esi + 8]
push dword [esi + 4]
mov ecx, dword [0x4ac3f4]
push eax
mov eax, dword [ebp + 0x78]
push dword [eax]
call fcn.00470bbc
inc dword [ebp + 0x74]
mov eax, dword [ebp + 0x74]
cmp eax, dword [ebp + 0x64]
jl 0x4296f0
jmp 0x42a05f
push 0x7f
pop ecx
xor eax, eax
xor ebx, ebx
mov word [ebp - 0x4f4], bx
lea edi, [ebp - 0x4f2]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x7f
pop ecx
mov word [ebp - 0x224], bx
xor eax, eax
lea edi, [ebp - 0x222]
rep stosd dword es:[edi], eax
push 0xffffffffffffffeb
push dword [ebp + 0x70]
stosw word es:[edi], ax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov edi, dword [sym.imp.USER32.dll_GetDlgItemTextW]
mov esi, 0x100
push esi
lea ecx, [ebp - 0x4f4]
push ecx
mov dword [ebp + 0x74], eax
mov eax, dword [eax + 0xc]
push 0x44b
push dword [eax]
call edi
cmp word [ebp - 0x4f4], bx
jne 0x42983b
push esi
lea eax, [ebp - 0x4f4]
push eax
mov eax, dword [ebp + 0x74]
mov eax, dword [eax + 0xc]
push 0x43f
push dword [eax]
call edi
push esi
lea eax, [ebp - 0x224]
push eax
mov eax, dword [ebp + 0x74]
mov eax, dword [eax + 0xc]
push 0x440
push dword [eax]
call edi
mov esi, dword [ebp + 0x70]
lea eax, [ebp - 0x4f4]
mov dword [ebp + 0xc], eax
push 0xb
pop ecx
lea eax, [ebp - 0x224]
mov dword [ebp + 0x10], eax
xor eax, eax
mov dword [ebp + 4], 0x40
mov dword [ebp + 8], esi
mov dword [ebp + 0x14], ebx
lea edi, [ebp + 0x18]
push 0xbdc
rep stosd dword es:[edi], eax
lea eax, [ebp + 4]
push eax
push 0x400
push dword [0x4ac344]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xfffffffe
je 0x42a05f
cmp eax, ebx
jne 0x42a05f
cmp dword [ebp + 0x24], ebx
je 0x42a05f
cmp dword [ebp + 0x28], ebx
je 0x42a05f
push esi
call fcn.00428c2e
test al, al
pop ecx
je 0x4299f2
push esi
call fcn.00428b8d
mov esi, eax
cmp esi, ebx
pop ecx
je 0x4299a0
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x74]
push eax
push dword [ebp + 0x28]
mov dword [ebp + 0x74], ebx
push dword [ebp + 0x24]
mov dword [ebp + 0x78], ebx
call fcn.00428e3e
mov edi, eax
add esp, 0x10
cmp edi, ebx
je 0x4299a0
mov eax, dword [esi]
cmp eax, ebx
je 0x429915
mov ecx, dword [0x4ac3dc]
push eax
push 0xa
call fcn.00402ed9
mov eax, dword [ebp + 0x74]
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov eax, dword [esi + 0xc]
cmp eax, ebx
mov dword [esi], edi
je 0x429938
mov ecx, dword [0x4ac3dc]
push eax
push 0xa
call fcn.00402ed9
mov eax, dword [ebp + 0x24]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x24], ebx
push dword [esi + 0x14]
mov dword [esi + 0x10], eax
call dword [sym.imp.NSCRT.dll_free]
mov dword [esp], 0x48c070
call dword [sym.imp.NSCRT.dll__wcsdup]
push dword [ebp + 0x70]
mov dword [esi + 0x14], eax
mov eax, 0xe4
push eax
push eax
push dword [esi + 8]
mov byte [esi + 0x18], 1
push dword [esi + 4]
push dword [esi]
call fcn.00428ef7
add esp, 0x1c
push eax
push ebx
push 0x172
push 0x53a
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
cmp eax, ebx
je 0x4299f2
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x4299f2
push ebx
push ebx
push 0x188
mov edi, 0x530
push edi
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
cmp eax, 0xffffffff
mov dword [ebp + 0x74], eax
je 0x42a05f
cmp esi, ebx
je 0x4299d4
mov ecx, esi
call fcn.00428ffb
push esi
call sub.NSCRT.dll_void___cdecl_operator_delete_void__
pop ecx
push ebx
push dword [ebp + 0x74]
push 0x182
push edi
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push ebx
push dword [ebp + 0x70]
call fcn.00428ae8
pop ecx
pop ecx
cmp dword [ebp + 0x24], ebx
je 0x42a05f
push dword [ebp + 0x24]
mov ecx, dword [0x4ac3dc]
push 0xa
call fcn.00402ed9
jmp 0x42a05f
sub ecx, 0x535
je 0x429de5
dec ecx
je 0x429dca
dec ecx
je 0x429b4c
dec ecx
jne 0x42a05f
push 0x400
lea eax, [ebp - 0xdbc]
push eax
push 0x14a
call fcn.00472111
add esp, 0xc
push 4
xor ebx, ebx
push ebx
push ebx
push 0x14b
call fcn.00472111
add esp, 0xc
push eax
lea eax, [ebp - 0xdbc]
push eax
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x42a05f
push 0xffffffffffffffeb
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push dword [ebp + 0x70]
mov dword [ebp + 0x78], eax
call fcn.00428b8d
cmp eax, ebx
pop ecx
mov dword [ebp + 0x74], eax
je 0x42a05f
mov esi, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push ebx
push ebx
push 0x188
mov edi, 0x530
push edi
push dword [ebp + 0x70]
call esi
lea ecx, [ebp - 0xdbc]
push ecx
push eax
push 0x189
push edi
push dword [ebp + 0x70]
mov dword [ebp + 0x64], eax
mov word [ebp - 0xdbc], bx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push ebx
push ebx
push 0x1a4
call fcn.00472111
push eax
lea eax, [ebp - 0xdbc]
push eax
call dword [sym.imp.NSCRT.dll__wcsicmp]
add esp, 0x14
test eax, eax
mov eax, 0x48c0bc
je 0x429b05
lea eax, [ebp - 0xdbc]
mov ecx, dword [0x4ac3f4]
push eax
mov eax, dword [ebp + 0x78]
push dword [eax]
call fcn.00471309
push ebx
push ebx
push 0x172
push 0x53a
push dword [ebp + 0x70]
call esi
cmp eax, ebx
je 0x429b32
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp + 0x74]
call fcn.00428ffb
push dword [ebp + 0x74]
call sub.NSCRT.dll_void___cdecl_operator_delete_void__
pop ecx
push ebx
push dword [ebp + 0x64]
jmp 0x429e5b
push dword [ebp + 0x70]
call fcn.00428b8d
mov esi, eax
xor ebx, ebx
cmp esi, ebx
pop ecx
je 0x42a05f
push 0xffffffffffffffeb
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov edx, eax
xor eax, eax
mov word [ebp - 0xdbc], bx
mov ecx, 0x1ff
lea edi, [ebp - 0xdba]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x22c], bx
mov ecx, 0x81
lea edi, [ebp - 0x22a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x14
pop ecx
xor eax, eax
mov dword [ebp - 0x14], 0x58
mov dword [ebp - 0x10], ebx
lea edi, [ebp - 0xc]
rep stosd dword es:[edi], eax
mov edi, 0x104
push edi
push dword [edx]
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
cmp word [0x4a5948], bx
lea eax, [ebp - 0x22c]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x70]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0xdbc]
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], 0x400
jne 0x429d1f
push edi
push 0x4a5948
push 0x18f
call fcn.00472111
add esp, 0xc
push 0x4a5948
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [0x4ac3c8]
push 0x696d676c
push ebx
lea eax, [eax*2 + 0x4a594a]
push 0x1e
mov dword [ebp + 0x60], eax
call fcn.00475aa3
cmp eax, ebx
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x78], ebx
jle 0x429d10
push dword [ebp + 0x78]
mov ecx, dword [0x4ac3c8]
push 0x696d676c
push ebx
push 0x28
call fcn.004700a7
cmp eax, ebx
mov dword [ebp + 0x5c], eax
je 0x429d01
push 1
push ebx
push 0x12c
mov ecx, eax
call fcn.00475aa3
cmp eax, ebx
mov dword [ebp + 0x64], eax
je 0x429d01
mov dword [ebp + 0x44], str..jpg
mov dword [ebp + 0x48], str..png
mov dword [ebp + 0x4c], str..gif
mov dword [ebp + 0x50], 0x48c078
mov dword [ebp + 0x74], ebx
mov eax, dword [ebp + 0x74]
push dword [ebp + eax*4 + 0x44]
mov ecx, dword [ebp + 0x64]
push ebx
push 0x32
call fcn.00475aa3
test eax, eax
je 0x429ce7
mov eax, dword [ebp + 0x74]
push dword [ebp + eax*4 + 0x44]
push edi
push dword [ebp + 0x60]
call fcn.0047ac6c
push 0x48c06c
push edi
push dword [ebp + 0x60]
call fcn.0047ac6c
inc dword [ebp + 0x74]
cmp dword [ebp + 0x74], 4
jb 0x429cb3
push dword [ebp + 0x64]
mov ecx, dword [ebp + 0x5c]
push ebx
push 0x136
call fcn.00475aa3
inc dword [ebp + 0x78]
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x58]
jl 0x429c5d
mov edi, dword [ebp + 0x60]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [edi + eax*2 + 2], bx
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 8], 0x4a5948
mov dword [ebp + 0x20], 0x1900
call dword [sym.imp.comdlg32.dll_GetOpenFileNameW]
test eax, eax
je 0x42a05f
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp - 0xdbc]
push eax
mov dword [ebp + 0x74], ebx
mov dword [ebp + 0x78], ebx
call fcn.00470311
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x42a05f
mov eax, dword [esi]
cmp eax, ebx
je 0x429d7a
mov ecx, dword [0x4ac3dc]
push eax
push 0xa
call fcn.00402ed9
push dword [ebp + 0x70]
mov edx, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x74]
mov eax, 0xe4
push eax
push eax
push edx
push ecx
push edi
mov dword [esi], edi
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov byte [esi + 0x18], 1
call fcn.00428ef7
add esp, 0x18
push eax
push ebx
push 0x172
push 0x53a
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
cmp eax, ebx
je 0x429648
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x429648
push dword [ebp + 0x70]
call fcn.00428c2e
test al, al
pop ecx
je 0x42a05f
xor ebx, ebx
push ebx
push 0x4be
jmp 0x429dfe
push dword [ebp + 0x70]
call fcn.00428c2e
test al, al
pop ecx
je 0x42a05f
xor ebx, ebx
push ebx
push 0x537
push 0x111
push dword [ebp + 0x70]
call fcn.00429040
test eax, eax
jne 0x42a05f
mov esi, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push ebx
push ebx
push 0x188
mov edi, 0x530
push edi
push dword [ebp + 0x70]
call esi
cmp eax, 0xffffffff
mov dword [ebp + 0x78], eax
je 0x42a05f
push dword [ebp + 0x70]
call fcn.00428b8d
cmp eax, ebx
pop ecx
mov dword [ebp + 0x74], eax
je 0x429e57
mov ecx, eax
call fcn.00428ffb
push dword [ebp + 0x74]
call sub.NSCRT.dll_void___cdecl_operator_delete_void__
pop ecx
push ebx
push dword [ebp + 0x78]
push 0x182
push edi
push dword [ebp + 0x70]
call esi
jmp 0x429124
xor ebx, ebx
push ebx
push dword [ebp + 0x70]
call fcn.00428ae8
pop ecx
pop ecx
push 0xffffffffffffffeb
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ecx, dword [0x4ac3f4]
mov edi, eax
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x54]
push eax
push 0x48c0bc
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x64], ebx
push dword [edi]
mov dword [ebp + 0x74], edi
call fcn.00470e7e
test eax, eax
mov esi, 0x1a4
jne 0x429f18
push dword [ebp + 0x64]
mov ecx, dword [0x4ac3dc]
push 0xa
call fcn.00402ed9
push ebx
push ebx
push esi
call fcn.00472111
add esp, 0xc
push eax
push ebx
push 0x180
mov edi, 0x530
push edi
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push ebx
push eax
push 0x186
push edi
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push ebx
push 0x10530
push 0x111
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_PostMessageA]
mov edi, dword [ebp + 0x74]
mov ecx, dword [0x4ac3f4]
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], ebx
push dword [edi]
call fcn.00470a43
test eax, eax
jne 0x42a05f
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x5c], ebx
mov edi, 0x534
je 0x429faf
push 0x48c0bc
push dword [ebp + 0x74]
call dword [sym.imp.NSCRT.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
je 0x429fd5
push ebx
push ebx
push esi
call fcn.00472111
push eax
push dword [ebp + 0x74]
call dword [sym.imp.NSCRT.dll__wcsicmp]
add esp, 0x14
test eax, eax
je 0x429fd5
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x60], ebx
push eax
push ebx
push 0x143
push edi
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp dword [ebp + 0x60], ebx
je 0x429f93
mov dword [ebp + 0x5c], eax
push dword [ebp + 0x74]
call dword [sym.imp.NSCRT.dll_wcslen]
pop ecx
mov ecx, dword [ebp + 0x74]
lea eax, [ecx + eax*2 + 2]
cmp word [eax], bx
mov dword [ebp + 0x74], eax
jne 0x429f47
mov eax, dword [ebp + 0x78]
mov ecx, dword [0x4ac3dc]
push eax
push 0xa
call fcn.00402ed9
push ebx
push dword [ebp + 0x5c]
push 0x14e
push edi
push dword [ebp + 0x70]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
jmp 0x42a05f
push ebx
push ebx
push esi
mov dword [ebp + 0x60], 1
call fcn.00472111
add esp, 0xc
jmp 0x429f7a
mov esi, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
xor ebx, ebx
push ebx
push ebx
push 0x173
push 0x53a
push dword [ebp + 0x70]
call esi
cmp eax, ebx
je 0x42a00d
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebx
push ebx
push 0x18b
mov edi, 0x530
push edi
push dword [ebp + 0x70]
call esi
cmp eax, ebx
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x74], ebx
jle 0x42a05f
push ebx
push dword [ebp + 0x74]
push 0x199
push edi
push dword [ebp + 0x70]
call esi
cmp eax, ebx
mov dword [ebp + 0x78], eax
je 0x42a054
cmp eax, 0xffffffff
je 0x42a054
mov ecx, eax
call fcn.00428ffb
push dword [ebp + 0x78]
call sub.NSCRT.dll_void___cdecl_operator_delete_void__
pop ecx
inc dword [ebp + 0x74]
mov eax, dword [ebp + 0x74]
cmp eax, dword [ebp + 0x54]
jl 0x42a029
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10