Function at 0x438bf0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x595e4c
mov eax, dword fs:[0]
push eax
sub esp, 0x1a8
mov eax, dword [0x604654]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x130], edi
mov ebx, dword [ebp + 8]
push ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], 0
call fcn.004af6f0
push 0x84
lea eax, [ebp - 0xa4]
push 0
push eax
call fcn.0053c7b0
mov ecx, dword [ebx + 0x108]
lea edx, [ebp - 0xa4]
add esp, 0xc
mov eax, dword [ecx]
push edx
call dword [eax + 8]
push 0x84
lea eax, [ebp - 0x128]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.0053c7b0
add esp, 0xc
lea ecx, [ebp - 0x128]
push ebx
call fcn.004a5730
mov ecx, dword [ebx + 0x108]
mov byte [ebp - 4], 1
mov eax, dword [ecx]
call dword [eax + 0x10]
push str.click
lea ecx, [ebp - 0x128]
call fcn.004a5be0
test al, al
je 0x438f48
push str.btn_close
lea ecx, [ebp - 0xa4]
call fcn.004a5be0
test al, al
je 0x438cd8
push 0
push 0
lea ecx, [edi - 0x24]
push 0x10
call fcn.004aef50
jmp 0x439171
push str.btn_min
lea ecx, [ebp - 0xa4]
call fcn.004a5be0
test al, al
je 0x438cfc
push 6
push dword [edi - 0x20]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x439171
push str.btn_more
lea ecx, [ebp - 0xa4]
call fcn.004a5be0
test al, al
je 0x438df1
mov ecx, dword [ebx + 0x108]
mov eax, dword [ecx]
call dword [eax + 0x34]
mov ecx, dword [ebx + 0x108]
lea esi, [eax + 8]
mov eax, dword [ecx]
call dword [eax + 0x34]
mov ecx, dword [esi]
add ecx, dword [eax]
mov eax, ecx
mov ecx, dword [ebx + 0x108]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x20], eax
mov eax, dword [ecx]
call dword [eax + 0x34]
lea ecx, [edi - 0x24]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push eax
call fcn.004a63c0
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
push 0x328
call fcn.004a3da5
mov esi, eax
add esp, 4
mov dword [ebp - 0x130], esi
mov byte [ebp - 4], 2
test esi, esi
je 0x438d97
push 0x328
push 0
push esi
call fcn.0053c7b0
add esp, 0xc
mov ecx, esi
call fcn.004176d0
mov ebx, eax
jmp 0x438d99
xor ebx, ebx
push dword [edi - 0x20]
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.004179a0
lea esi, [edi + 0xc]
mov ecx, esi
call fcn.004a8c10
push 0xa
mov ecx, eax
call fcn.004a7650
mov edi, eax
mov ecx, esi
add edi, dword [ebp - 0x1c]
call fcn.004a8c10
push 0x37
mov ecx, eax
call fcn.004a7650
mov esi, dword [ebp - 0x20]
mov ecx, ebx
sub esi, eax
call fcn.004a63c0
push 0x41
push 0
push 0
push edi
push esi
push 0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x439171
push str.btn_decompress
lea ecx, [ebp - 0xa4]
call fcn.004a5be0
test al, al
jne 0x438f3a
push str.btn_decompress_ani
lea ecx, [ebp - 0xa4]
call fcn.004a5be0
test al, al
jne 0x438f3a
push str.btn_compress
lea ecx, [ebp - 0xa4]
call fcn.004a5be0
test al, al
jne 0x438ea5
push str.btn_compress_ani
lea ecx, [ebp - 0xa4]
call fcn.004a5be0
test al, al
jne 0x438ea5
push str.btn_member
lea ecx, [ebp - 0xa4]
call fcn.004a5be0
test al, al
je 0x438e7c
mov esi, dword [edi - 0x20]
call fcn.0042ca50
push 0x54
mov ecx, eax
call fcn.0046c920
lea ecx, [edi - 0x24]
push esi
call fcn.0043b790
jmp 0x439171
push 0x5ac440
lea ecx, [ebp - 0xa4]
call fcn.004a5be0
test al, al
je 0x439171
push dword [edi - 0x20]
lea eax, [edi - 0x24]
push eax
call fcn.004391b0
jmp 0x439171
push 0x4c4
call fcn.004a3da5
mov esi, eax
add esp, 4
mov dword [ebp - 0x130], esi
mov byte [ebp - 4], 3
test esi, esi
je 0x438edf
push 0x4c4
push 0
push esi
call fcn.0053c7b0
add esp, 0xc
mov ecx, esi
push 0
call fcn.00442310
mov ebx, eax
jmp 0x438ee1
xor ebx, ebx
push 0
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0
push 0x40010
push SysReAllocString
push 0x5ac628
push dword [edi - 0x20]
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.004ae900
push 1
mov ecx, ebx
call fcn.004a63c0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [edi - 0x20]
mov ecx, ebx
call fcn.004a63c0
push esi
push eax
call fcn.0046ffb0
add esp, 8
jmp 0x439171
lea eax, [edi - 0x24]
push eax
call fcn.00439200
jmp 0x439171
push str.mouseenter
mov ecx, ebx
call fcn.004a5be0
test al, al
je 0x43910f
mov ecx, dword [ebx + 0x108]
lea edx, [ebp - 0x1b4]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
push 0x5ac440
mov ecx, eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x14], 1
call fcn.004a5be0
test al, al
je 0x438fb2
call fcn.0042ca50
mov ecx, eax
call fcn.0046a0a0
test al, al
jne 0x438fa9
call fcn.0042ca50
mov ecx, eax
call fcn.0046a0b0
test al, al
je 0x438fb2
mov byte [ebp - 0x129], 1
jmp 0x438fb9
mov byte [ebp - 0x129], 0
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 4], 1
call fcn.00462810
cmp byte [ebp - 0x129], 0
je 0x439171
lea esi, [edi + 0xc]
mov ecx, esi
call fcn.004a8c10
push 0xa1
mov ecx, eax
call fcn.004a7650
mov ecx, esi
mov edi, eax
call fcn.004a8c10
push 0x8c
mov ecx, eax
call fcn.004a7650
mov ecx, dword [ebx + 0x108]
mov edx, dword [ecx]
call dword [edx + 0x34]
mov ecx, dword [ebx + 0x108]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [ebx + 0x108]
cdq
sub eax, edx
mov esi, eax
mov eax, edi
cdq
sub eax, edx
sar esi, 1
sar eax, 1
sub esi, eax
mov eax, dword [ecx]
call dword [eax + 0x44]
mov edi, dword [ebp - 0x1c]
lea ebx, [esi + eax]
mov ecx, dword [edi + 0x108]
mov edi, ecx
mov edx, dword [ecx]
call dword [edx + 0x48]
mov edx, dword [edi]
mov ecx, edi
mov esi, eax
call dword [edx + 0x40]
mov edi, dword [ebp - 0x130]
add esi, 0xa
add eax, esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
add edi, 0xffffffdc
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
call fcn.004a63c0
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
push 0x318
call fcn.004a3da5
mov esi, eax
add esp, 4
mov dword [ebp - 0x130], esi
mov byte [ebp - 4], 5
test esi, esi
je 0x4390d8
push 0x318
push 0
push esi
call fcn.0053c7b0
add esp, 0xc
mov ecx, esi
call fcn.004362a0
mov dword [esi], vtable.UserWnd.0
mov dword [esi + 0x14], vtable.UserWnd.1.0
mov dword [esi + 0x24], vtable.UserWnd.2.0
mov dword [esi + 0x28], vtable.UserWnd.3.0
mov dword [esi + 0x2c], vtable.UserWnd.4.0
mov dword [esi + 0x314], 0
jmp 0x4390da
xor esi, esi
push edi
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.0046e1e0
push 0x41
push 0
push 0
push dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x18]
push 0
call fcn.004a63c0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
push 1
push 1
mov ecx, esi
call fcn.004af110
jmp 0x439171
push str.mouseleave
mov ecx, ebx
call fcn.004a5be0
test al, al
je 0x439171
mov ecx, dword [ebx + 0x108]
lea edx, [ebp - 0x1b4]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
push 0x5ac440
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.004a5be0
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 1
mov bl, al
call fcn.00462810
test bl, bl
je 0x439171
push 0
push 0x96
lea ecx, [edi - 0x24]
push 0x7d3
call fcn.004a63c0
push eax
call dword [sym.imp.USER32.dll_SetTimer]
lea ecx, [ebp - 0x128]
call fcn.00462810
lea ecx, [ebp - 0xa4]
call fcn.00462810
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a408b
mov esp, ebp
pop ebp
ret 4