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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x11c0
call fcn.004990f0
mov eax, dword [ebp + 0xc]
push ebx
dec eax
push esi
push edi
sub eax, 1
je 0x42c583
sub eax, 0x10e
je 0x42c3bc
sub eax, 1
jne 0x42c615
mov ecx, dword [ebp + 0x10]
mov esi, 0x530
movzx eax, cx
cmp eax, esi
ja 0x42be73
je 0x42ba9e
sub eax, 1
je 0x42b943
sub eax, 0x4bc
je 0x42b8e9
sub eax, 1
je 0x42b784
sub eax, 1
jne 0x42c615
mov ebx, dword [ebp + 8]
push ebx
call fcn.0042d69b
mov edi, eax
mov dword [ebp - 8], edi
pop ecx
test edi, edi
je 0x42c615
push 0xffffffffffffffeb
push ebx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
push 0x800
mov esi, eax
xor ebx, ebx
lea eax, [ebp - 0x11c0]
push ebx
push eax
call fcn.0049a3b0
push 0x208
lea eax, [ebp - 0x3c8]
push ebx
push eax
call fcn.0049a3b0
push 0x50
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xb8], 0x58
push ebx
push eax
call fcn.0049a3b0
add esp, 0x24
lea eax, [ebp - 0x3c8]
push 0x104
push dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea eax, [ebp - 0x3c8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x3c8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea eax, [ebp - 0x3c8]
mov dword [ebp - 0x98], 0x3fc
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0x11c0]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x60], str..jpg
mov dword [ebp - 0x5c], str..png
mov dword [ebp - 0x58], str..gif
mov dword [ebp - 0x54], str..bmp
cmp dword [0x508940], ebx
jne 0x42b697
mov ecx, dword [0x531bbc]
mov esi, ebx
push 0x696d676c
push ebx
push 0x1e
mov dword [ebp - 0x14], esi
mov dword [0x508940], 1
call fcn.00406ad0
mov dword [ebp - 0xc], eax
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x10], ebx
test eax, eax
jle 0x42b678
mov edi, ebx
mov ecx, dword [0x531bbc]
push edi
push 0x696d676c
push ebx
push 0x28
call fcn.0040ea78
mov dword [ebp - 4], eax
test eax, eax
je 0x42b665
push 1
push ebx
push 0x12c
mov ecx, eax
call fcn.00406ad0
mov dword [ebp + 0x10], eax
test eax, eax
je 0x42b665
movaps xmm0, xmmword [0x4d1350]
mov esi, ebx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp + 8], 0x400
jmp 0x42b580
mov eax, dword [ebp + 0x10]
push dword [ebp + esi*4 - 0x60]
mov ecx, eax
push ebx
push 0x32
call fcn.00406ad0
test eax, eax
je 0x42b646
mov eax, dword [ebp + 0xc]
test esi, esi
jne 0x42b5a8
mov edi, dword [eax*4 + 0x4f857c]
inc edi
mov dword [ebp - 0x14], edi
mov edi, dword [ebp + 0x10]
mov ecx, edi
mov dword [eax*4 + 0x4f857c], esi
call fcn.0042d85f
push eax
call fcn.004a1860
mov ecx, dword [ebp + 0xc]
push dword [ebp + 8]
push dword [0x4f8590]
mov dword [ecx*4 + 0x508930], eax
inc ecx
push dword [ebp + esi*4 - 0x34]
mov dword [ebp + 0xc], ecx
call fcn.00441947
add esp, 0x10
push dword [0x4f8590]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [ebp + 8]
inc eax
mov ecx, dword [0x4f8590]
sub edx, eax
push edx
push dword [ebp + esi*4 - 0x60]
mov dword [ebp + 8], edx
lea eax, [ecx + eax*2]
push eax
mov dword [0x4f8590], eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
test esi, esi
jne 0x42b626
push 0x4d1214
push dword [0x4f8590]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push dword [0x4f8590]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [0x4f8590]
inc eax
sub dword [ebp + 8], eax
lea eax, [ecx + eax*2]
mov dword [0x4f8590], eax
jmp 0x42b649
mov edi, dword [ebp + 0x10]
inc esi
cmp esi, 4
jb 0x42b57d
mov ecx, dword [ebp - 4]
push edi
push ebx
push 0x136
call fcn.00406ad0
mov edi, dword [ebp - 0x10]
inc edi
mov dword [ebp - 0x10], edi
cmp edi, dword [ebp - 0xc]
jl 0x42b52e
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 0x14]
push dword [0x4f858c]
push str.art_flt
call fcn.00411eb7
cmp eax, 0xffffffff
pop ecx
cmove eax, esi
pop ecx
mov dword [0x4f858c], eax
jmp 0x42b69c
mov eax, dword [0x4f858c]
push 2
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xb8]
pop esi
push eax
mov dword [ebp - 0xac], 0x508948
mov dword [ebp - 0x84], esi
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
test eax, eax
je 0x42b769
lea ecx, [ebp - 0x11c0]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, esi
cmp ax, bx
jne 0x42b6d3
sub ecx, edx
sar ecx, 1
cmp ecx, 4
jle 0x42b6f1
cmp word [ebp + ecx*2 - 0x11c8], 0x2e
je 0x42b716
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax*4 + 0x4f8578]
mov eax, dword [ebp + eax*4 - 0x60]
add eax, esi
push eax
push 0x400
lea eax, [ebp - 0x11c0]
push eax
call fcn.0040ad38
cmp dword [edi + 0xc], ebx
je 0x42b752
cmp dword [edi + 0x14], ebx
je 0x42b752
mov eax, dword [ebp - 0xa0]
push dword [edi + 0x14]
push dword [eax*4 + 0x50892c]
call fcn.0049e71a
pop ecx
pop ecx
test eax, eax
jne 0x42b752
push dword [edi + 0x10]
lea eax, [ebp - 0x11c0]
push dword [edi + 0xc]
push eax
call fcn.0042e264
add esp, 0xc
jmp 0x42b769
lea eax, [ebp - 0x11c0]
push eax
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
call fcn.0042e2a7
add esp, 0x10
mov eax, dword [ebp - 0xa0]
push eax
push str.art_flt
mov dword [0x4f858c], eax
call fcn.0041202d
jmp 0x42c3b5
push dword [ebp + 8]
call fcn.0042d69b
mov esi, eax
pop ecx
test esi, esi
je 0x42c615
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x42c615
push 2
call dword [sym.imp.USER32.dll_GetClipboardData]
mov ecx, eax
mov dword [ebp + 0xc], ecx
test ecx, ecx
je 0x42b8de
push dword [ebp + 8]
lea ebx, [esi + 8]
lea eax, [esi + 4]
push ebx
push eax
push ecx
call fcn.0042d1a1
add esp, 0x10
lea edi, [ebp - 0x4c]
xor eax, eax
push 0xa
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esi + 4]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx]
xor ebx, ebx
neg eax
mov dword [ebp - 0x50], 0x28
mov dword [ebp - 0x48], eax
xor eax, eax
inc eax
mov dword [ebp - 0x40], ebx
push 0x20
mov word [ebp - 0x44], ax
pop eax
push edi
mov word [ebp - 0x42], ax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp + 8], eax
cmp dword [esi], ebx
je 0x42b822
push dword [esi]
mov ecx, dword [0x531bfc]
call fcn.0042d880
mov dword [esi], ebx
cmp dword [esi + 0xc], ebx
je 0x42b83b
push dword [esi + 0xc]
mov ecx, dword [0x531bfc]
call fcn.0042d880
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov eax, dword [esi + 4]
imul eax, dword [esi + 8]
mov ecx, dword [0x531bfc]
shl eax, 2
push eax
push ebx
push ebx
call fcn.00406ad0
mov dword [esi], eax
cmp dword [esi + 0x14], ebx
je 0x42b863
push dword [esi + 0x14]
call fcn.004a1b5f
pop ecx
push str.image_jpeg
call fcn.004a1860
pop ecx
push ebx
mov dword [esi + 0x14], eax
lea eax, [ebp - 0x50]
push eax
push dword [esi]
push dword [esi + 8]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_GetDIBits]
push dword [ebp + 8]
push edi
call dword [sym.imp.USER32.dll_ReleaseDC]
push edi
mov eax, 0xe4
mov byte [esi + 0x18], 1
push eax
push eax
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
call fcn.0042d51d
add esp, 0x18
push eax
push ebx
push 0x172
push 0x53a
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
test eax, eax
je 0x42b8cc
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
call dword [sym.imp.USER32.dll_CloseClipboard]
push edi
call fcn.0042d33a
pop ecx
jmp 0x42c2a6
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x42c615
push dword [ebp + 8]
call fcn.0042d69b
mov esi, eax
pop ecx
test esi, esi
je 0x42c615
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x42c615
call dword [sym.imp.USER32.dll_EmptyClipboard]
push dword [ebp + 8]
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
call fcn.0042d624
add esp, 0x10
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 0x42c615
push 0xffffffffffffffeb
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
xor ebx, ebx
mov dword [ebp + 0x10], eax
push ebx
push ebx
push 0x18b
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ecx, eax
mov eax, ebx
mov dword [ebp - 8], ecx
mov dword [ebp + 0xc], eax
test ecx, ecx
jle 0x42c615
push ebx
push eax
push 0x199
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov edi, eax
mov dword [ebp - 0xc], edi
test edi, edi
je 0x42ba89
cmp byte [edi + 0x18], 0
je 0x42ba89
push 0x800
lea eax, [ebp - 0x9c0]
push ebx
push eax
call fcn.0049a3b0
add esp, 0xc
lea eax, [ebp - 0x9c0]
push eax
push dword [ebp + 0xc]
push 0x189
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov eax, dword [edi + 0xc]
mov dword [ebp - 4], eax
test eax, eax
je 0x42ba2d
mov esi, dword [edi + 0x14]
mov edi, dword [edi + 0x10]
push ebx
push ebx
push 0x1a4
call fcn.00441947
push eax
lea eax, [ebp - 0x9c0]
push eax
call fcn.0049e71a
add esp, 0x14
lea edx, [ebp - 0x9c0]
test eax, eax
mov ecx, 0x4d11b0
mov eax, dword [ebp + 0x10]
cmovne ecx, edx
push esi
push edi
push dword [ebp - 4]
push ebx
push ebx
push ecx
push dword [eax]
mov ecx, dword [0x531be8]
push 1
push 0x28
call fcn.00428dec
jmp 0x42ba84
mov ebx, dword [ebp - 0xc]
mov esi, dword [edi]
mov edi, dword [edi + 8]
push 0
mov ebx, dword [ebx + 4]
push 0
push 0x1a4
call fcn.00441947
push eax
lea eax, [ebp - 0x9c0]
push eax
call fcn.0049e71a
add esp, 0x14
lea edx, [ebp - 0x9c0]
test eax, eax
mov ecx, 0x4d11b0
mov eax, dword [ebp + 0x10]
cmovne ecx, edx
push 0
push 0
push esi
push edi
push ebx
push ecx
push dword [eax]
mov ecx, dword [0x531be8]
push 1
push 0x28
call fcn.00428dec
xor ebx, ebx
mov esi, 0x530
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, dword [ebp - 8]
jl 0x42b97d
jmp 0x42c615
xor eax, eax
shr ecx, 0x10
inc eax
cmp cx, ax
jne 0x42c615
mov edi, dword [ebp + 8]
push 0xffffffffffffffeb
push edi
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xc8
mov dword [ebp - 0x24], eax
xor ebx, ebx
lea eax, [ebp - 0x1c0]
push ebx
push eax
call fcn.0049a3b0
add esp, 0xc
push ebx
push ebx
push 0x188
push esi
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov dword [ebp - 0x10], eax
cmp eax, 0xffffffff
jne 0x42bb18
push ebx
push ebx
push 0x172
push 0x53a
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
test eax, eax
je 0x42c3ae
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x42c3ae
push 1
push edi
call fcn.0042af23
pop ecx
pop ecx
lea eax, [ebp - 0x1c0]
push eax
push dword [ebp - 0x10]
push 0x189
push esi
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov dword [ebp - 0x1c], ebx
mov dword [ebp + 0x10], ebx
mov dword [ebp - 0x20], ebx
cmp dword [0x531be8], ebx
je 0x42c615
push ebx
push ebx
mov esi, 0x1a4
push esi
call fcn.00441947
push eax
lea eax, [ebp - 0x1c0]
push eax
call fcn.0049e71a
add esp, 0x14
lea edx, [ebp - 0x1c0]
test eax, eax
mov ecx, 0x4d11b0
lea eax, [ebp - 0x20]
cmovne ecx, edx
push eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x24]
push ecx
mov ecx, dword [0x531be8]
push dword [eax]
push 1
push 0xa
call fcn.0042908b
test eax, eax
jne 0x42c615
push edi
mov eax, 0xe4
push eax
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call fcn.0042d51d
add esp, 0x18
push eax
push ebx
push 0x172
push 0x53a
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
test eax, eax
je 0x42bbdb
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
movaps xmm0, xmmword [0x4d1360]
mov edi, ebx
push ebx
movups xmmword [ebp - 0x44], xmm0
push ebx
movaps xmm0, xmmword [0x4d1370]
push esi
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x18], edi
movups xmmword [ebp - 0x34], xmm0
call fcn.00441947
push eax
lea eax, [ebp - 0x1c0]
push eax
call fcn.0049e71a
add esp, 0x14
lea edx, [ebp - 0x1c0]
test eax, eax
mov ecx, 0x4d11b0
lea eax, [ebp + 0xc]
cmovne ecx, edx
push eax
mov eax, dword [ebp - 0x24]
push ecx
mov ecx, dword [0x531be8]
push dword [eax]
push 1
push 0xd
call fcn.004290cf
mov esi, eax
mov dword [ebp - 4], esi
cmp dword [ebp + 0xc], ebx
je 0x42bc64
push 0x2f
push dword [ebp + 0xc]
call fcn.0049c387
mov edi, eax
mov dword [ebp - 0x18], edi
pop ecx
pop ecx
test edi, edi
je 0x42bc64
cmp word [edi], bx
je 0x42bc64
add edi, 2
mov dword [ebp - 0x18], edi
push 0x1c
call fcn.0049909d
mov dword [ebp - 0x14], eax
pop ecx
test eax, eax
je 0x42bdb2
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp + 0x10]
mov edx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov byte [eax + 0x18], bl
lea eax, [ebp - 0xc]
mov ecx, dword [0x531be8]
push ebx
push eax
lea eax, [ebp - 8]
mov dword [ebp - 0xc], ebx
push eax
mov eax, dword [ebp - 0x24]
push 0x4d11b0
mov dword [ebp - 8], ebx
push dword [eax]
push 1
push 0xc
call fcn.0042908b
test eax, eax
jne 0x42bccf
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ecx + 0x10], eax
push 5
pop ecx
mov esi, str.image_jpeg
lea edi, [ebp - 0xf8]
rep movsd dword es:[edi], dword [esi]
push 0x2a
lea eax, [ebp - 0xe2]
push ebx
push eax
movsw word es:[edi], word [esi]
call fcn.0049a3b0
mov edi, dword [ebp - 0x18]
add esp, 0xc
test edi, edi
je 0x42bd18
cmp word [edi], bx
je 0x42bd18
push edi
push str.image__s
lea eax, [ebp - 0xf8]
push 0x20
push eax
call fcn.0040adba
add esp, 0x10
jmp 0x42bd47
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x42bd47
cmp word [eax], bx
je 0x42bd47
push str.image_jpeg
push eax
call fcn.0049e71a
pop ecx
pop ecx
test eax, eax
je 0x42bd47
push 0x20
push dword [ebp + 0xc]
lea eax, [ebp - 0xf8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp word [ebp - 0xf8], bx
je 0x42bd63
lea eax, [ebp - 0xf8]
push eax
call fcn.004a1860
pop ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x14], eax
push ebx
push dword [ebp - 0x10]
mov esi, 0x530
push 0x199
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x42bd9a
cmp eax, 0xffffffff
je 0x42bd9a
mov ecx, eax
call fcn.004291a4
push 0x1c
push dword [ebp - 0x18]
call fcn.004990cd
pop ecx
pop ecx
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push 0x19a
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov esi, dword [ebp - 4]
push 0xc8
lea eax, [ebp - 0xa88]
push ebx
push eax
call fcn.0049a3b0
push 0x40
lea eax, [ebp - 0xa0]
push ebx
push eax
call fcn.0049a3b0
add esp, 0x18
test edi, edi
je 0x42bddf
cmp word [edi], bx
jne 0x42be03
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x42bdeb
cmp word [edi], bx
jne 0x42be03
push 0x20
lea eax, [ebp - 0xa0]
push eax
push 0x218
call fcn.00441947
add esp, 0xc
mov edi, eax
push edi
push 0x64
lea eax, [ebp - 0xa88]
push eax
push dword [ebp + esi*4 - 0x44]
call fcn.00441947
add esp, 0xc
push eax
push dword [ebp + 0x10]
lea eax, [ebp - 0x1c0]
push dword [ebp - 0x1c]
push eax
push ebx
push ebx
push 0x1cd
call fcn.00441947
add esp, 0xc
push eax
lea eax, [ebp - 0x2c0]
push 0x80
push eax
call fcn.0040adba
add esp, 0x20
lea eax, [ebp - 0x2c0]
push eax
push 0x539
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push dword [ebp + 0xc]
mov ecx, dword [0x531bfc]
call fcn.0042d880
jmp 0x42c615
sub eax, 0x535
je 0x42c334
sub eax, 1
je 0x42c2ae
sub eax, 1
je 0x42bfc3
sub eax, 1
jne 0x42c615
push 0x800
xor ebx, ebx
lea eax, [ebp - 0x9c0]
push ebx
push eax
call fcn.0049a3b0
push 0x400
lea eax, [ebp - 0x9c0]
push eax
push 0x14a
call fcn.00441947
add esp, 0x18
push 0x24
push ebx
push ebx
push 0x14b
call fcn.00441947
mov edi, dword [ebp + 8]
add esp, 0xc
push eax
lea eax, [ebp - 0x9c0]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x42c615
push 0xffffffffffffffeb
push edi
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
push edi
mov dword [ebp + 0xc], eax
call fcn.0042d69b
mov dword [ebp + 8], eax
pop ecx
test eax, eax
je 0x42c615
push ebx
push ebx
push 0x188
push esi
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
xor ecx, ecx
mov dword [ebp + 0x10], eax
mov word [ebp - 0x9c0], cx
lea ecx, [ebp - 0x9c0]
push ecx
push eax
push 0x189
push esi
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push ebx
push ebx
push 0x1a4
call fcn.00441947
push eax
lea eax, [ebp - 0x9c0]
push eax
call fcn.0049e71a
add esp, 0x14
lea edx, [ebp - 0x9c0]
test eax, eax
mov ecx, 0x4d11b0
mov eax, dword [ebp + 0xc]
cmovne ecx, edx
push ecx
mov ecx, dword [0x531be8]
push dword [eax]
push 1
push 0x32
call fcn.0040ea78
push ebx
push ebx
push 0x172
push 0x53a
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
test eax, eax
je 0x42bfa6
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp + 8]
call fcn.004291a4
push 0x1c
push dword [ebp + 8]
call fcn.004990cd
pop ecx
pop ecx
push ebx
push dword [ebp + 0x10]
jmp 0x42c3a1
mov ebx, dword [ebp + 8]
push ebx
call fcn.0042d69b
mov edi, eax
mov dword [ebp - 8], edi
pop ecx
test edi, edi
je 0x42c615
push 0xffffffffffffffeb
push ebx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
push 0x800
mov esi, eax
xor ebx, ebx
lea eax, [ebp - 0x11c0]
push ebx
push eax
call fcn.0049a3b0
push 0x208
lea eax, [ebp - 0x3c8]
push ebx
push eax
call fcn.0049a3b0
push 0x50
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xb8], 0x58
push ebx
push eax
call fcn.0049a3b0
add esp, 0x24
lea eax, [ebp - 0x3c8]
push 0x104
push dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea eax, [ebp - 0x3c8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x3c8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea eax, [ebp - 0x3c8]
mov dword [ebp - 0x98], 0x400
mov esi, 0x508728
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0x11c0]
mov dword [ebp - 0x9c], eax
cmp word [0x508728], bx
jne 0x42c1a8
push 0x104
push esi
push 0x18f
call fcn.00441947
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [0x531bbc]
push 0x696d676c
push ebx
push 0x1e
lea esi, [eax*2 + 0x50872a]
call fcn.00406ad0
mov ecx, eax
mov eax, ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp + 0x10], eax
test ecx, ecx
jle 0x42c195
mov ecx, dword [0x531bbc]
push eax
push 0x696d676c
push ebx
push 0x28
call fcn.0040ea78
mov dword [ebp - 4], eax
test eax, eax
je 0x42c182
push 1
push ebx
push 0x12c
mov ecx, eax
call fcn.00406ad0
mov dword [ebp + 0xc], eax
test eax, eax
je 0x42c182
mov dword [ebp - 0x38], str..jpg
mov edi, ebx
mov dword [ebp - 0x34], 0x4d11dc
mov dword [ebp - 0x30], str..png
mov dword [ebp - 0x2c], str..gif
mov dword [ebp - 0x28], str..bmp
push dword [ebp + edi*4 - 0x38]
mov ecx, eax
push ebx
push 0x32
call fcn.00406ad0
test eax, eax
je 0x42c16a
push dword [ebp + edi*4 - 0x38]
push 0x104
push esi
call fcn.0040ad38
push 0x4d1210
push 0x104
push esi
call fcn.0040ad38
mov eax, dword [ebp + 0xc]
inc edi
cmp edi, 5
jb 0x42c139
mov ecx, dword [ebp - 4]
push eax
push ebx
push 0x136
call fcn.00406ad0
mov eax, dword [ebp + 0x10]
inc eax
mov dword [ebp + 0x10], eax
cmp eax, dword [ebp - 0xc]
jl 0x42c0df
mov edi, dword [ebp - 8]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
xor ecx, ecx
mov word [esi + eax*2 + 2], cx
mov esi, 0x508728
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xac], esi
push eax
mov dword [ebp - 0x84], 0x1900
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
test eax, eax
je 0x42c615
lea eax, [ebp - 4]
mov dword [ebp - 0xc], ebx
push eax
lea eax, [ebp - 8]
mov dword [ebp + 0xc], ebx
push eax
lea eax, [ebp + 0x10]
mov dword [ebp + 0x10], ebx
push eax
lea eax, [ebp + 0xc]
mov dword [ebp - 8], ebx
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 4], ebx
push eax
lea eax, [ebp - 0x11c0]
push eax
call fcn.0042d6f9
mov esi, eax
add esp, 0x18
test esi, esi
je 0x42c615
cmp dword [edi], ebx
je 0x42c21c
push dword [edi]
mov ecx, dword [0x531bfc]
call fcn.0042d880
mov dword [edi], ebx
cmp dword [edi + 0xc], ebx
je 0x42c235
push dword [edi + 0xc]
mov ecx, dword [0x531bfc]
call fcn.0042d880
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], ebx
mov eax, dword [ebp + 0xc]
mov dword [edi + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 8], eax
mov eax, dword [ebp - 4]
mov dword [edi], esi
test eax, eax
je 0x42c253
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [edi + 0x10], eax
cmp dword [edi + 0x14], ebx
je 0x42c263
push dword [edi + 0x14]
call fcn.004a1b5f
mov esi, dword [edi]
pop ecx
push dword [ebp + 8]
mov eax, dword [ebp - 8]
mov dword [edi + 0x14], eax
mov eax, 0xe4
push eax
push eax
push dword [edi + 8]
mov byte [edi + 0x18], 1
push dword [edi + 4]
push esi
call fcn.0042d51d
add esp, 0x18
push eax
push ebx
push 0x172
push 0x53a
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
test eax, eax
je 0x42c2a6
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
xor eax, eax
inc eax
jmp 0x42c617
mov edi, dword [ebp + 8]
push edi
call fcn.0042920c
pop ecx
test al, al
je 0x42c329
xor ebx, ebx
push ebx
push 0x4be
push 0x111
push edi
call fcn.0042b39d
test eax, eax
jne 0x42c329
push ebx
push ebx
push 0x188
push esi
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov dword [ebp + 0xc], eax
cmp eax, 0xffffffff
je 0x42c615
push edi
call fcn.0042d69b
mov dword [ebp + 8], eax
pop ecx
test eax, eax
je 0x42c30f
mov ecx, eax
call fcn.004291a4
push 0x1c
push dword [ebp + 8]
call fcn.004990cd
pop ecx
pop ecx
push ebx
push dword [ebp + 0xc]
push 0x182
push esi
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push ebx
push edi
call fcn.0042af23
pop ecx
pop ecx
push edi
call fcn.0042d33a
jmp 0x42c3b6
mov edi, dword [ebp + 8]
push edi
call fcn.0042920c
pop ecx
test al, al
je 0x42c615
xor ebx, ebx
push ebx
push 0x537
push 0x111
push edi
call fcn.0042b39d
test eax, eax
jne 0x42c615
push ebx
push ebx
push 0x188
push esi
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov dword [ebp + 0xc], eax
cmp eax, 0xffffffff
je 0x42c615
push edi
call fcn.0042d69b
mov dword [ebp + 8], eax
pop ecx
test eax, eax
je 0x42c39d
mov ecx, eax
call fcn.004291a4
push 0x1c
push dword [ebp + 8]
call fcn.004990cd
pop ecx
pop ecx
push ebx
push dword [ebp + 0xc]
push 0x182
push esi
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push ebx
push edi
call fcn.0042af23
pop ecx
pop ecx
jmp 0x42c615
mov edi, dword [ebp + 8]
xor ebx, ebx
push ebx
push edi
call fcn.0042af23
pop ecx
pop ecx
push 0x532
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42c3ea
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
push 0xffffffffffffffeb
push edi
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x531be8]
mov dword [ebp + 0x10], eax
test ecx, ecx
je 0x42c615
lea edx, [ebp + 0xc]
mov dword [ebp - 8], ebx
push edx
lea edx, [ebp - 0xc]
mov dword [ebp - 0xc], ebx
push edx
lea edx, [ebp - 8]
mov dword [ebp + 0xc], ebx
push edx
push 0x4d11b0
push dword [eax]
push 1
push 0xa
call fcn.0042908b
test eax, eax
jne 0x42c486
push dword [ebp + 0xc]
mov ecx, dword [0x531bfc]
call fcn.0042d880
push ebx
push ebx
push 0x1a4
call fcn.00441947
add esp, 0xc
mov esi, 0x530
push eax
push ebx
push 0x180
push esi
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push ebx
push eax
push 0x186
push esi
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push ebx
push 0x10530
push 0x111
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x531be8]
lea eax, [ebp + 8]
push eax
mov eax, dword [ebp + 0x10]
mov dword [ebp + 8], ebx
push dword [eax]
push 1
push 0x1e
call fcn.0040ea78
test eax, eax
jne 0x42c615
mov esi, dword [ebp + 8]
mov dword [ebp - 4], ebx
test esi, esi
je 0x42c55d
cmp word [esi], bx
je 0x42c55a
push 0x4d11b0
push esi
call fcn.0049e71a
pop ecx
pop ecx
test eax, eax
je 0x42c4f2
push ebx
push ebx
push 0x1a4
call fcn.00441947
push eax
push esi
call fcn.0049e71a
add esp, 0x14
test eax, eax
je 0x42c4f2
mov dword [ebp + 0x10], ebx
mov eax, esi
jmp 0x42c508
push ebx
push ebx
push 0x1a4
mov dword [ebp + 0x10], 1
call fcn.00441947
add esp, 0xc
push eax
push ebx
push 0x143
push 0x534
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0x10], ebx
jne 0x42c537
push 0x4f7ce8
push esi
call fcn.0049e71a
pop ecx
pop ecx
test eax, eax
jne 0x42c53a
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x42c53f
sub ecx, edx
sar ecx, 1
lea esi, [esi + ecx*2]
add esi, 2
jne 0x42c4b7
mov esi, dword [ebp + 8]
mov ecx, dword [0x531bfc]
push esi
call fcn.0042d880
push ebx
push dword [ebp - 4]
push 0x14e
push 0x534
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
jmp 0x42c615
mov edi, dword [ebp + 8]
xor ebx, ebx
push ebx
push ebx
push 0x173
push 0x53a
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
test eax, eax
je 0x42c5a6
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebx
push ebx
push 0x18b
mov esi, 0x530
push esi
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ecx, eax
mov eax, ebx
mov dword [ebp + 0x10], ecx
mov dword [ebp + 8], eax
test ecx, ecx
jle 0x42c602
push ebx
push eax
push 0x199
push esi
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov dword [ebp + 0xc], eax
test eax, eax
je 0x42c5f6
cmp eax, 0xffffffff
je 0x42c5f6
mov ecx, eax
call fcn.004291a4
push 0x1c
push dword [ebp + 0xc]
call fcn.004990cd
pop ecx
pop ecx
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [ebp + 0x10]
jl 0x42c5c8
push 0x40
push 0x4f7ce8
push 0x534
push edi
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x10