Function at 0x45f0d9
Capabilities:
Hide graphical window

Disassembly:
mov eax, 0x4c5c9e
call fcn.004bf97c
sub esp, 0x30
push esi
push edi
xor edi, edi
cmp dword [0x4e6164], edi
mov esi, ecx
jne 0x45f150
cmp esi, edi
je 0x45f150
push 0x81cd
lea eax, [ebp - 0x18]
call fcn.00408a73
mov eax, dword [eax]
pop ecx
push 0x24
push dword [0x4e5c1c]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
mov eax, dword [ebp - 0x18]
setne byte [ebp - 0xd]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x45f135
push eax
call fcn.00401377
cmp byte [ebp - 0xd], 0
je 0x45f146
mov dword [0x4e60d8], edi
jmp 0x45f471
mov dword [0x4e6164], 1
cmp dword [0x4e6168], edi
jne 0x45f163
cmp esi, edi
mov dword [ebp - 0x18], 1
jne 0x45f166
mov dword [ebp - 0x18], edi
push 0xb
push edi
lea eax, [ebx + 0x4f8]
push 0xffffffffffffffff
push eax
call fcn.00413ee5
xor eax, eax
cmp dword [0x4e57b8], edi
jle 0x45f1a5
cmp eax, dword [0x4e57b8]
jae 0x45f3f9
mov ecx, dword [0x4e57b4]
lea ecx, [ecx + eax*4]
mov ecx, dword [ecx]
or dword [ecx + 0x1c], 0xffffffff
inc eax
cmp eax, dword [0x4e57b8]
jl 0x45f187
lea ecx, [ebx + 0x248]
lea eax, [ebp - 0x14]
mov dword [0x4e60d8], esi
call fcn.004695c3
neg esi
sbb esi, esi
and esi, 8
push esi
push 0x7f4c
mov dword [ebp - 4], edi
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov eax, dword [0x4e60d8]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
neg eax
sbb eax, eax
and eax, 4
push eax
push dword [ebx + 0x498]
call esi
mov eax, dword [0x4e60d8]
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push eax
lea edi, [ebx + 0x4bc]
push dword [edi]
call esi
cmp dword [0x4e60d8], 0
je 0x45f226
lea ecx, [ebx + 0x494]
neg ecx
sbb ecx, ecx
lea eax, [ebx + 0x498]
and ecx, eax
mov ecx, dword [ecx]
jmp 0x45f234
lea eax, [ebx + 0x4b8]
neg eax
sbb eax, eax
and eax, edi
mov ecx, dword [eax]
lea edx, [ebx + 0x4f4]
neg edx
sbb edx, edx
lea eax, [ebx + 0x4f8]
and edx, eax
mov eax, dword [edx]
lea esi, [ebx + 0x430]
mov dword [esi], ecx
mov dword [esi + 4], eax
call fcn.0046a8d1
cmp dword [0x4e60d8], 0
je 0x45f442
lea esi, [ebp - 0x2c]
lea edi, [ebx + 0x498]
call fcn.004696cf
xor esi, esi
cmp dword [ebp - 0x2c], esi
jne 0x45f42c
mov eax, dword [0x4e4150]
mov dword [ebp - 0x14], eax
push 0x81cc
push dword [0x4e5994]
lea eax, [ebp - 0x14]
push eax
call fcn.00403664
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
push 0x7c
push 7
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 2
call fcn.00499329
add esp, 0x10
cmp dword [ebp - 0x38], esi
jbe 0x45f3f9
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
push 0xffff0002
push 1
push esi
push eax
mov eax, 0xffff0000
lea ecx, [ebp - 0x24]
mov edx, ebx
call fcn.0046061c
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push 2
push 0x1102
push dword [eax]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [ebp - 0x18], esi
je 0x45f3e6
push 1
push 0xf
push 0xf
push esi
call fcn.00499cee
mov eax, dword [0x4e57b8]
add esp, 0x10
xor edi, edi
cmp eax, esi
mov dword [ebp - 0x1c], eax
jle 0x45f3aa
cmp edi, dword [0x4e57b8]
jae 0x45f3f9
mov eax, dword [0x4e57b4]
lea eax, [eax + edi*4]
mov esi, dword [eax]
test esi, esi
mov dword [ebp - 0x20], esi
je 0x45f350
lea eax, [esi + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
test esi, esi
mov byte [ebp - 4], 3
je 0x45f38d
cmp dword [esi + 0x20], 0
jne 0x45f38d
lea eax, [ebp - 0x18]
mov ecx, esi
call fcn.0043671d
mov byte [ebp - 4], 4
push dword [eax]
mov ecx, esi
call fcn.004542f8
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x45f38d
push eax
call fcn.00401377
push 1
push esi
call fcn.004539f8
test esi, esi
mov byte [ebp - 4], 2
je 0x45f3a2
call fcn.004366e7
inc edi
cmp edi, dword [ebp - 0x1c]
jl 0x45f329
xor esi, esi
push 0x4e58a4
lea edi, [ebp - 0x1c]
call fcn.0048b59b
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0x1c]
cmp edi, esi
je 0x45f3cb
push esi
push ebx
mov ecx, edi
call fcn.0045fb60
cmp edi, esi
mov dword [0x4e6168], 1
mov byte [ebp - 4], 2
je 0x45f3e6
mov esi, edi
call fcn.004366e7
xor esi, esi
mov eax, dword [0x4e616c]
cmp dword [eax - 8], esi
je 0x45f403
mov ecx, ebx
call fcn.00460676
jmp 0x45f40e
push 0x80070057
call fcn.004010a4
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
call fcn.00469755
lea esi, [ebp - 0x3c]
call fcn.004062ad
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x45f471
push eax
call fcn.00401377
jmp 0x45f471
push esi
push 0x7fee
push 0x111
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x45f471
mov ecx, dword [0x4e5e30]
test ecx, ecx
jl 0x45f454
cmp ecx, dword [0x4e57b8]
jl 0x45f456
xor ecx, ecx
mov edx, ebx
call fcn.0045ec11
test eax, eax
je 0x45f471
mov edi, ebx
call fcn.0045f594
mov ecx, dword [ebx + 0xf0]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
leave
ret