Function at 0x456230
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0xc
push ebp
mov ebp, dword [esp + 0x14]
test ebp, ebp
push esi
push edi
mov esi, ecx
je 0x456278
mov eax, dword [ebp + 0xe0]
mov dword [esi + 0xe0], eax
mov ecx, dword [ebp + 0xe4]
mov dword [esi + 0xe4], ecx
mov edx, dword [ebp + 0xe8]
mov dword [esi + 0xe8], edx
mov eax, dword [ebp + 0xec]
mov dword [esi + 0xec], eax
mov eax, dword [ebp + 0x134]
jmp 0x4562b3
movsx ecx, byte [0x4aa158]
mov dword [esi + 0xe0], ecx
movsx edx, byte [0x4aa58c]
mov dword [esi + 0xe4], edx
movsx eax, byte [0x4aa514]
mov dword [esi + 0xe8], eax
movsx ecx, byte [0x4aa50c]
mov dword [esi + 0xec], ecx
movsx eax, byte [0x4aa79b]
mov dword [esi + 0x134], eax
call dword [sym.imp.USER32.dll_CreateMenu]
mov dword [esi + 0x44], eax
mov edx, dword [0x4aa7bc]
mov ecx, dword [edx + 0x1e4]
push 0x2711
push ecx
push eax
call fcn.004435b0
mov edx, dword [0x4aa7bc]
mov eax, dword [edx + 0x1e8]
mov ecx, dword [esi + 0x44]
push 0x2712
push eax
push ecx
call fcn.004435b0
mov edx, dword [0x4aa7bc]
mov eax, dword [edx + 0x78c]
mov ecx, dword [esi + 0x44]
push 0x271d
push eax
push ecx
call fcn.004435b0
mov edx, dword [0x4aa7bc]
mov eax, dword [edx + 0x1ec]
mov ecx, dword [esi + 0x44]
push 0x2713
push eax
push ecx
call fcn.004435b0
mov edx, dword [0x4aa7bc]
mov eax, dword [edx + 0x1f0]
mov ecx, dword [esi + 0x44]
push 0x2714
push eax
push ecx
call fcn.004435b0
mov edx, dword [0x4aa7bc]
mov eax, dword [edx + 0x1f4]
mov ecx, dword [esi + 0x44]
push 0x2715
push eax
push ecx
call fcn.004435b0
mov edx, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
add esp, 0x48
push edx
push eax
call dword [sym.imp.USER32.dll_SetMenu]
mov ecx, dword [0x4a9354]
mov edx, dword [esi + 0x48]
push 0
push ecx
push 0
push edx
push 0
push 0
push 0
push 0
push 0x4600b641
push 0x49bec0
push str.ReBarWindow32
push 0x80
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
mov dword [esi + 0x64], eax
jne 0x4563c3
push str.Assertion_failed
push str.ui_t::on_create
push 0x65
push str.._srcui.cpp
call fcn.00436e30
add esp, 0x10
mov eax, dword [esi + 0x64]
mov edi, dword [sym.imp.USER32.dll_SetWindowLongW]
push ebx
push 0x2716
push 0xfffffffffffffff4
push eax
call edi
mov edx, dword [esi + 0x64]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
lea ecx, [esp + 0x10]
push ecx
push eax
push 0x404
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push edx
mov dword [esp + 0x20], 0xc
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], eax
call ebx
push 0
mov ecx, esi
call fcn.00455ff0
test ebp, ebp
je 0x456422
mov eax, dword [ebp + 0x4c]
jmp 0x456429
movsx eax, byte [0x4aa63c]
test eax, eax
je 0x456436
push 0
mov ecx, esi
call fcn.00454fd0
push 0
push str.EVERYTHING_LISTVIEW
push 0
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
push 0
push 0x466920
push 8
call fcn.00445620
add esp, 0x1c
test eax, eax
jne 0x45647e
push str.Assertion_failed
push str.ui_t::on_create
push 0xda
push str.._srcui.cpp
call fcn.00436e30
add esp, 0x10
mov eax, dword [0x4a9354]
mov ecx, dword [esi + 0x48]
push 0
push eax
push 0
push ecx
push 0
push 0
push 0
push 0
push 0x46000000
push 0x49bec0
push str.SysListView32
push 0x200
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
mov dword [esi + 0x1e8], eax
jne 0x4564d4
push str.Assertion_failed
push str.ui_t::on_create
push 0xe3
push str.._srcui.cpp
call fcn.00436e30
add esp, 0x10
mov edx, dword [0x4a9354]
mov eax, dword [esi + 0x48]
push 0
push edx
push 0
push eax
push 0
push 0
push 0
push 0
push 0x46010000
push 0x493d7a
push str.EVERYTHING_LISTVIEW
push 0
call fcn.00445740
add esp, 0x30
test eax, eax
mov dword [esi + 0x1e4], eax
jne 0x45652a
push str.Assertion_failed
push str.ui_t::on_create
push 0xed
push str.._srcui.cpp
call fcn.00436e30
add esp, 0x10
mov ecx, dword [0x4a9354]
mov edx, dword [esi + 0x1e4]
push 0
push ecx
push 0
push edx
push 0
push 0
push 0
push 0
push 0x460000c2
push 0x49bec0
push str.SysHeader32
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
mov dword [esi + 0x58], eax
jne 0x45657e
push str.Assertion_failed
push str.ui_t::on_create
push 0xfd
push str.._srcui.cpp
call fcn.00436e30
add esp, 0x10
mov eax, dword [esi + 0x58]
push 0xfffffffffffffffc
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [esi + 0x58]
push 0x45ecf0
push 0xfffffffffffffffc
push ecx
mov dword [esi + 0xc0], eax
call edi
mov edx, dword [esi + 0x58]
push 0x2719
push 0xfffffffffffffff4
push edx
call edi
test ebp, ebp
je 0x45660c
xor edi, edi
test edi, edi
je 0x4565c0
push edi
mov ecx, ebp
call fcn.0045ea20
test eax, eax
je 0x4565da
push edi
mov ecx, ebp
call fcn.0045e940
push eax
push edi
mov ecx, ebp
call fcn.0045e900
push eax
push edi
mov ecx, esi
call fcn.0045eb20
add edi, 1
cmp edi, 0xb
jl 0x4565b0
mov eax, dword [ebp + 0x1b4]
test eax, eax
je 0x4565f6
cmp eax, 9
je 0x4565f6
cmp eax, 0xa
jne 0x456607
mov ecx, dword [ebp + 0x1b8]
push 0
push ecx
push eax
mov ecx, esi
call fcn.0045e710
mov eax, dword [ebp + 0x60]
jmp 0x45666a
xor ebp, ebp
mov edi, 0x4aa5a4
test ebp, ebp
je 0x45661d
cmp dword [edi + 4], 0
je 0x45662c
mov edx, dword [edi]
mov eax, dword [edi - 4]
push edx
push eax
push ebp
mov ecx, esi
call fcn.0045eb20
add edi, 0xc
add ebp, 1
cmp edi, 0x4aa628
jl 0x456613
mov eax, dword [0x4aa640]
test eax, eax
je 0x45664d
cmp eax, 9
je 0x45664d
cmp eax, 0xa
jne 0x45665f
movsx ecx, byte [0x4aa63d]
push 0
push ecx
push eax
mov ecx, esi
call fcn.0045e710
movsx eax, byte [0x4aa540]
mov ebp, dword [esp + 0x20]
test eax, eax
je 0x4566c8
mov eax, dword [esi + 0x60]
test eax, eax
je 0x456685
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [esi + 0x60], 0
jmp 0x4566c8
mov edx, dword [0x4a9354]
mov eax, dword [esi + 0x48]
push 0
push edx
push 0x271a
push eax
push 0
push 0
push 0
push 0
push 0x56000900
push 0x493d7a
push str.msctls_statusbar32
push 0
call fcn.00445740
mov dword [esi + 0x60], eax
mov ecx, dword [0x4a9364]
push ecx
push esi
call fcn.00451d60
add esp, 0x38
mov ecx, esi
call fcn.0045e430
mov edx, dword [esi + 0x64]
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push 1
push edx
call edi
mov eax, dword [esi + 0x1e8]
push 1
push eax
call edi
mov ecx, dword [esi + 0x1e4]
push 1
push ecx
call edi
mov edx, dword [esi + 0x64]
mov edi, dword [sym.imp.USER32.dll_SetWindowPos]
push 0x13
push 0
push 0
push 0
push 0
push 0
push edx
call edi
mov eax, dword [esi + 0x1e8]
push 0x13
push 0
push 0
push 0
push 0
push 0
push eax
call edi
mov ecx, dword [esi + 0x1e4]
push 0x13
push 0
push 0
push 0
push 0
push 0
push ecx
call edi
mov ecx, esi
call fcn.00455160
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4567ae
mov edx, dword [esi + 0x54]
push eax
push edx
mov dword [esi + 0x70], 1
call fcn.00445470
add esp, 8
mov eax, dword [esi + 0x54]
push 0xffffffffffffffff
push 0
push 0xb1
push eax
mov dword [esi + 0x70], 0
call ebx
mov ecx, dword [esi + 0x54]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xb1
push ecx
call ebx
mov edx, dword [esi + 0x54]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xb1
push edx
call ebx
mov eax, dword [esi + 0x54]
push 0xffffffffffffffff
push 0
push 0xb1
push eax
call ebx
test ebp, ebp
je 0x456838
mov ebp, dword [ebp + 0x128]
jmp 0x45683f
test ebp, ebp
je 0x4567d3
mov ecx, dword [ebp + 0x54]
push 0
push ecx
call fcn.004445b0
mov edx, dword [esi + 0x54]
push eax
push edx
mov dword [esi + 0x70], 1
call fcn.00445470
add esp, 0x10
jmp 0x456758
cmp dword [0x4aa6d4], 0
je 0x456838
mov eax, dword [0x4aa67c]
mov ecx, dword [esi + 0x54]
push eax
push ecx
mov dword [esi + 0x70], 1
call fcn.00445470
mov edx, dword [esi + 0x54]
add esp, 8
push 0xffffffffffffffff
push 0
push 0xb1
push edx
mov dword [esi + 0x70], 0
call ebx
mov eax, dword [esi + 0x54]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xb1
push eax
call ebx
mov ecx, dword [esi + 0x54]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xb1
push ecx
call ebx
mov edx, dword [esi + 0x54]
push 0xffffffffffffffff
push 0
push 0xb1
push edx
call ebx
movsx ebp, byte [0x4aa564]
cmp ebp, dword [esi + 0x128]
pop ebx
je 0x45689e
mov eax, ebp
sub eax, 0
mov dword [esi + 0x128], ebp
je 0x45688c
sub eax, 1
je 0x456871
sub eax, 1
jne 0x45689e
push esi
call fcn.004544c0
add esp, 4
pop edi
pop esi
pop ebp
add esp, 0xc
ret 8
mov eax, dword [esi + 0x48]
push 0x13
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
call edi
pop edi
pop esi
pop ebp
add esp, 0xc
ret 8
mov ecx, dword [esi + 0x48]
push 0x13
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push ecx
call edi
pop edi
pop esi
pop ebp
add esp, 0xc
ret 8