Function at 0x452df0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [ebp + 0x1c], 0
push ebx
push esi
push edi
mov ebx, ecx
jne 0x453060
mov esi, dword [ebp + 0xc]
lea edx, [ebx + 0x794]
cmp esi, 1
jne 0x452e9d
push dword [ebp + 0x18]
xor eax, eax
lea edi, [edx + 4]
test edx, edx
cmove ecx, eax
mov eax, dword [ecx + 4]
mov dword [edx + 0x820], eax
lea eax, [edi + 0x20]
mov esi, dword [ecx + 4]
push eax
push 0x772af8
call fcn.00428980
add esp, 8
movzx eax, ax
mov ecx, edi
push eax
push 0
push 0
push 0x6400000
push 0
push 0
push esi
call fcn.00428810
push 0
push dword [ebx + 0x79c]
call dword [sym.imp.USER32.dll_EnableWindow]
push 0xfffffffffffffff0
push dword [ebx + 0x79c]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
and ecx, 0xff33ffff
cmp eax, ecx
je 0x452e8f
push ecx
push 0xfffffffffffffff0
push dword [ebx + 0x79c]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp + 0xc]
mov dword [edi], 0
jmp 0x452ef5
cmp esi, 0xf
jne 0x452ebc
mov dword [edx], 1
push 0
mov ecx, edx
call fcn.00433a50
mov edi, dword [ebp + 0x18]
mov dword [edi], 0
jmp 0x452ef5
cmp esi, 3
jne 0x452ec5
push 1
jmp 0x452eaa
cmp esi, 5
jne 0x452ed1
cmp dword [edx], 0
je 0x452eb1
jmp 0x452ea8
cmp esi, 0x18
jne 0x452ef2
cmp dword [ebp + 0x10], 1
je 0x452eb1
push 0
push dword [edx + 8]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [ebp + 0x18]
mov dword [edi], 0
jmp 0x452ef5
mov edi, dword [ebp + 0x18]
push 0
push edi
push dword [ebp + 0x14]
mov ecx, ebx
push dword [ebp + 0x10]
push esi
push dword [ebp + 8]
call fcn.00427920
test eax, eax
jne 0x452fc0
cmp esi, 1
jne 0x452fce
push str.preview
lea ecx, [ebx + 0x34]
call fcn.00479ce0
push 0
push dword [ebx + 4]
mov dword [ebx + 0xfbc], eax
call dword [sym.imp.USER32.dll_EnableWindow]
lea eax, [ebx + 0x30]
mov dword [ebp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call fcn.0042a200
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
lea esi, [eax + 4]
cmp ecx, ebx
jne 0x452fa3
mov edx, dword [esi]
lea eax, [ebp - 4]
cmp eax, edx
jb 0x452f71
lea edi, [ebp - 4]
lea eax, [edx + ebx*4]
cmp edi, eax
mov edi, dword [ebp + 0x18]
jb 0x45306b
test ebx, ebx
jne 0x452f7c
mov ebx, 1
jmp 0x452f8b
lea ebx, [ecx + ecx]
test ebx, ebx
js 0x452fba
cmp ebx, 0x1fffffff
ja 0x452fba
push 4
push ebx
push edx
call fcn.0054136d
add esp, 0xc
test eax, eax
je 0x452fba
mov ecx, dword [esi + 4]
mov dword [esi + 8], ebx
mov dword [esi], eax
mov eax, dword [esi]
lea eax, [eax + ecx*4]
test eax, eax
je 0x452fb4
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
mov ecx, dword [esi + 4]
lea eax, [ecx + 1]
mov dword [esi + 4], eax
mov dword [edi], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp esi, 2
jne 0x453060
lea eax, [ebx + 0x30]
neg ebx
sbb ebx, ebx
and ebx, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call fcn.0042a200
mov edx, dword [eax + 8]
xor ecx, ecx
lea esi, [eax + 4]
test edx, edx
jle 0x453057
mov edi, dword [esi]
mov eax, edi
nop dword [eax]
cmp dword [eax], ebx
je 0x453020
inc ecx
add eax, 4
cmp ecx, edx
jl 0x453000
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0xffffffff
je 0x453057
test ecx, ecx
js 0x453057
cmp ecx, edx
jge 0x453057
lea eax, [edx - 1]
cmp ecx, eax
je 0x453051
sub edx, ecx
lea ecx, [edi + ecx*4]
shl edx, 2
lea eax, [edx - 4]
push eax
lea eax, [ecx + 4]
push eax
push edx
push ecx
call fcn.0042a160
mov edx, dword [esi + 4]
add esp, 0x10
lea eax, [edx - 1]
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push 0x80004005
call fcn.004222a0
int3