Function at 0x45410b
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cbfbd
mov eax, dword fs:[0]
push eax
push ebx
push esi
push edi
mov eax, dword [0x509074]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebp + 0x10]
mov eax, dword [edi + 4]
mov ebx, dword [sym.imp.USER32.dll_GetParent]
cmp dword [esi], eax
je 0x454010
push eax
call ebx
cmp dword [esi], eax
je 0x454010
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esi + 8]
xor edx, edx
add eax, 0xd5
cmp eax, 0xd
ja case.0x454023.211
jmp dword [eax*4 + 0x4541ac]
call fcn.004043d0
mov ecx, eax
test ecx, ecx
je 0x4541a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x14], eax
mov dword [ebp - 4], 1
mov eax, dword [edi + 0xa8]
push dword [eax + 0x34]
lea eax, [ebp + 0x14]
push dword [edi + 0xdc]
push dword [edi + 0xe0]
push eax
call fcn.00408700
add esp, 0x10
push dword [edi + 4]
call ebx
mov esi, dword [ebp + 0x14]
push esi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [edi + 0x78]
lea ecx, [edi + 0x78]
push 0x16
push 4
call dword [eax]
mov eax, dword [edi + 0x78]
lea ecx, [edi + 0x78]
push 4
push 4
call dword [eax + 8]
mov ecx, edi
call fcn.00453920
mov eax, dword [edi + 0xa0]
mov eax, dword [eax + 0x10]
cmp eax, 0xc4
je 0x4540b1
cmp eax, 0x6a
jne 0x4540c1
cmp byte [edi + 0xb8], 0
je 0x4540c1
mov ecx, 1
jmp 0x4540c3
xor ecx, ecx
mov eax, dword [edi + 0x78]
push 1
push ecx
lea ecx, [edi + 0x78]
call dword [eax + 8]
mov ecx, dword [edi + 0xa0]
lea eax, [edi + 0x80]
mov dword [ecx], eax
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg case.0x454023.213
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
xor edx, edx
jmp case.0x454023.205
or edx, 0xffffffff
jmp case.0x454023.205
cmp byte [edi + 0xb8], dl
je case.0x454023.207
push 0
push dword [edi + 0xb4]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x4e2418
push dword [edi + 0xb0]
call dword [sym.imp.USER32.dll_SetWindowTextW]
call fcn.004204d0
test al, al
je 0x45416e
mov ebx, dword [edi + 0x90]
lea edx, [edi + 0x88]
test ebx, ebx
je 0x45416e
mov eax, dword [ebx]
mov ecx, edi
mov esi, dword [eax + 0x48]
lea eax, [ebp + 0x14]
push eax
xor eax, eax
test edx, edx
cmove ecx, eax
add ecx, 4
call fcn.00452aa0
push 0
push 0
push dword [eax]
push ebx
call esi
mov ecx, dword [edi + 0xa4]
call fcn.0047f030
mov edx, 0xc4
jmp case.0x454023.205
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp case.0x454023.205
mov ecx, dword [ebp + 0x14]
mov dword [ecx], edx
mov eax, edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.00402570
cld
inc eax
inc ebp
add ah, bh
inc eax
inc ebp
add byte [edi - 0x7fffbabf], al
inc ecx
inc ebp
add ah, bh
inc eax
inc ebp
add ah, bh
inc eax
inc ebp
add byte [ebx], al
inc ecx
inc ebp
add byte [ebx], cl
inc ecx
inc ebp
add byte [ecx + eax*2 + 0x41870045], cl
inc ebp
add byte [ecx + eax*2 + 0x40fc0045], cl
inc ebp
add ah, bh
inc eax
inc ebp
add byte [edx], ch
inc eax
inc ebp
add ah, cl
int3