Function at 0x444580
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
mov eax, dword [0x5b6ef4]
xor eax, esp
mov dword [esp + 0x94], eax
push esi
mov esi, dword [ebp + 8]
mov dword [ecx + 0x250], esi
push edi
mov dword [esp + 0x14], ecx
mov eax, dword [esi + 0x354]
mov dword [ecx + 0x254], eax
lea ecx, [esp + 0x40]
mov eax, dword [esi + 0x35c]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x360]
mov dword [esp + 8], eax
mov eax, dword [esi]
push 1
push ecx
mov ecx, esi
mov dword [esp + 0x24], esi
call dword [eax + 0x1c]
lea eax, [esp + 0x30]
mov ecx, esi
push eax
call fcn.0042a590
mov eax, dword [esp + 0x34]
neg eax
push eax
mov eax, dword [esp + 0x34]
neg eax
push eax
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
movaps xmm0, xmmword [esp + 0x40]
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x18]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
psrldq xmm0, 0xc
movd edi, xmm0
inc edi
add edx, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edx
test eax, eax
jle 0x444636
add eax, ecx
mov dword [esp + 0x28], eax
jmp 0x44463a
mov eax, dword [esp + 0x28]
sub eax, ecx
sub edx, edi
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x30], edx
xor edi, edi
mov dword [esp + 0x10], eax
nop
mov ecx, dword [esi + 0x350]
mov eax, dword [ecx]
cmp eax, vtable.ui::ListBox.0
jne 0x4448d7
mov eax, dword [ecx + 0x33c]
sub eax, dword [ecx + 0x338]
sar eax, 2
cmp edi, eax
jge 0x4446ec
mov ecx, dword [esi + 0x350]
mov eax, dword [ecx]
mov edx, dword [eax + 0x150]
cmp eax, vtable.ui::ListBox.0
jne 0x4448e4
mov eax, dword [ecx + 0x33c]
mov esi, dword [ecx + 0x338]
sub eax, esi
sar eax, 2
cmp edi, eax
jae 0x4446a9
mov esi, dword [esi + edi*4]
jmp 0x4446ab
xor esi, esi
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x14]
call eax
test al, al
je 0x4446e2
mov ecx, dword [esp + 0xc]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
lea ecx, [esp + 0x58]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x18]
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x54]
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0x1c]
inc edi
jmp 0x444650
mov eax, dword [esp + 0x14]
mov ecx, 2
mov eax, dword [eax + 0x250]
mov edi, dword [eax + 0x350]
test edi, edi
je 0x444773
mov eax, dword [edi]
cmp eax, vtable.ui::ListBox.0
jne 0x4448ee
mov ecx, dword [edi + 0x330]
mov dword [esp + 0xc], ecx
cmp eax, vtable.ui::ListBox.0
jne 0x444903
mov eax, dword [edi + 0x330]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
cmp edx, method.ui::Layout.virtual_16
jne 0x444912
movups xmm0, xmmword [eax + 4]
lea edi, [esp + 0x50]
movups xmmword [esp + 0x50], xmm0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
cmp edx, method.ui::Layout.virtual_16
jne 0x444922
movups xmm0, xmmword [eax + 4]
lea eax, [esp + 0x30]
movups xmmword [esp + 0x30], xmm0
mov ecx, dword [eax + 4]
add ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [esp + 8]
cmp eax, ecx
cmovl ecx, eax
mov eax, dword [esp + 0x24]
add eax, ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esi]
cmp eax, vtable.ui::Combo.1.0
jne 0x444930
mov eax, dword [esi + 0x20]
push 2
lea ecx, [esp + 0x24]
push ecx
push 0
push dword [eax + 0x10]
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x60]
push eax
xorps xmm0, xmm0
push 1
push dword [edi + 0x10]
movaps xmmword [esp + 0x6c], xmm0
movaps xmmword [esp + 0x7c], xmm0
movq qword [esp + 0x8c], xmm0
mov dword [esp + 0x6c], 0x28
call dword [sym.imp.USER32.dll_MonitorFromWindow]
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x80]
jg 0x444807
mov eax, dword [edi + 0x250]
cmp byte [eax + 0x37c], 0
je 0x444859
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
test eax, eax
jle 0x444825
add eax, ecx
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x44]
mov eax, ecx
sub eax, dword [esp + 8]
mov dword [esp + 0x24], eax
mov eax, dword [esi]
mov dword [esp + 0x2c], ecx
cmp eax, vtable.ui::Combo.1.0
jne 0x44493b
mov eax, dword [esi + 0x20]
push 2
lea ecx, [esp + 0x24]
push ecx
push 0
push dword [eax + 0x10]
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [esi]
cmp eax, vtable.ui::Combo.1.0
jne 0x444946
mov eax, dword [esi + 0x20]
mov edx, dword [edi]
lea ecx, [esp + 0x20]
push ecx
push 1
push 0x80
push 0x80000000
push 0
push dword [eax + 0x10]
mov ecx, edi
call dword [edx + 0xc]
mov esi, dword [edi + 0x10]
mov edi, dword [sym.imp.USER32.dll_GetParent]
push esi
call edi
test eax, eax
je 0x4448a2
push esi
call edi
mov esi, eax
push esi
call edi
test eax, eax
jne 0x444896
mov eax, dword [esp + 0x14]
push 5
push dword [eax + 0x10]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 1
push 0x86
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
xor ecx, esp
call fcn.005357eb
mov esp, ebp
pop ebp
ret 4
mov eax, dword [eax + 0x15c]
call eax
jmp 0x444672
push edi
call edx
mov esi, eax
jmp 0x4446ab
mov eax, dword [eax + 0x18c]
mov ecx, edi
call eax
mov dword [esp + 0xc], eax
mov eax, dword [edi]
jmp 0x44471c
mov eax, dword [eax + 0x18c]
mov ecx, edi
call eax
jmp 0x44472d
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call edx
mov edi, eax
jmp 0x44474b
lea ecx, [esp + 0x30]
push ecx
mov ecx, eax
call edx
jmp 0x44476d
mov eax, dword [eax]
mov ecx, esi
call eax
jmp 0x4447a0
mov eax, dword [eax]
mov ecx, esi
call eax
jmp 0x444847
mov eax, dword [eax]
mov ecx, esi
call eax
jmp 0x444869