Function at 0x4bc700
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
mov eax, dword [0x6a8c7c]
xor eax, esp
mov dword [esp + 0x84], eax
push esi
mov esi, dword [ebp + 8]
mov dword [ecx + 0x258], esi
push edi
mov dword [esp + 0x10], ecx
mov eax, dword [esi + 0x244]
mov dword [ecx + 0x25c], eax
lea ecx, [esp + 0x40]
mov eax, dword [esi + 0x24c]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x250]
mov dword [esp + 0xc], eax
mov eax, dword [esi]
push 1
push ecx
mov ecx, esi
mov dword [esp + 0x2c], esi
call dword [eax + 0x1c]
lea eax, [esp + 0x18]
mov ecx, esi
push eax
call fcn.004ac3a0
mov eax, dword [esp + 0x1c]
neg eax
push eax
mov eax, dword [esp + 0x1c]
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 + 0xc]
mov eax, dword [esp + 0x14]
movaps xmmword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x30]
psrldq xmm0, 0xc
movd edi, xmm0
inc edi
add edx, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x3c], edx
test eax, eax
jle 0x4bc7b6
add eax, ecx
mov dword [esp + 0x38], eax
jmp 0x4bc7ba
mov eax, dword [esp + 0x38]
sub edx, edi
sub eax, ecx
mov dword [esp + 0x18], edx
xor edx, edx
mov dword [esp + 0x20], eax
xor edi, edi
mov dword [esp + 8], edx
nop
mov ecx, dword [esi + 0x240]
mov eax, dword [ecx]
mov eax, dword [eax + 0x130]
cmp eax, method.ui::CheckBoxTemplate_class_ui::Box_.virtual_304
jne 0x4bc9f1
mov eax, dword [ecx + 0x22c]
sub eax, dword [ecx + 0x228]
sar eax, 2
cmp edi, eax
jge 0x4bc884
mov ecx, dword [esi + 0x240]
mov eax, dword [ecx]
mov eax, dword [eax + 0x124]
cmp eax, method.ui::CheckBoxTemplate_class_ui::Box_.virtual_292
jne 0x4bc9fc
mov eax, dword [ecx + 0x22c]
mov esi, dword [ecx + 0x228]
sub eax, esi
sar eax, 2
cmp edi, eax
jae 0x4bc833
mov esi, dword [esi + edi*4]
jmp 0x4bc835
xor esi, esi
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x14]
call eax
test al, al
je 0x4bc876
mov ecx, dword [esp + 0x20]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 4], ecx
lea ecx, [esp + 0x30]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x18]
mov edx, dword [esp + 8]
add edx, dword [esp + 0x2c]
inc edi
mov esi, dword [esp + 0x24]
mov dword [esp + 8], edx
jmp 0x4bc7d0
mov edx, dword [esp + 8]
inc edi
mov esi, dword [esp + 0x24]
jmp 0x4bc7d0
mov ecx, dword [esp + 0xc]
add edx, 2
mov eax, dword [esp + 0x34]
cmp edx, ecx
cmovl ecx, edx
add eax, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esi]
mov eax, dword [eax]
cmp eax, method.ui::CheckBoxTemplate_class_ui::Box_.virtual_0
jne 0x4bca06
mov eax, dword [esi + 0x20]
mov edi, dword [sym.imp.USER32.dll_MapWindowPoints]
lea ecx, [esp + 0x30]
push 2
push ecx
push 0
push dword [eax + 0x10]
call edi
lea eax, [esp + 0x50]
xorps xmm0, xmm0
push eax
mov eax, dword [esp + 0x14]
push 1
movaps xmmword [esp + 0x58], xmm0
movaps xmmword [esp + 0x68], xmm0
push dword [eax + 0x10]
movq qword [esp + 0x7c], xmm0
mov dword [esp + 0x5c], 0x28
call dword [sym.imp.USER32.dll_MonitorFromWindow]
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x70]
jg 0x4bc917
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x258]
cmp byte [eax + 0x26c], 0
je 0x4bc967
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
test eax, eax
jle 0x4bc935
add eax, ecx
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x44]
mov eax, ecx
sub eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
mov eax, dword [esi]
mov dword [esp + 0x3c], ecx
mov eax, dword [eax]
cmp eax, method.ui::CheckBoxTemplate_class_ui::Box_.virtual_0
jne 0x4bca0f
mov eax, dword [esi + 0x20]
push 2
lea ecx, [esp + 0x34]
push ecx
push 0
push dword [eax + 0x10]
call edi
mov eax, dword [esi]
mov eax, dword [eax]
cmp eax, method.ui::CheckBoxTemplate_class_ui::Box_.virtual_0
jne 0x4bca18
mov eax, dword [esi + 0x20]
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x30]
push ecx
push 1
push 0x80
mov edx, dword [esi]
mov ecx, esi
push bind
push 0
push dword [eax + 0x10]
call dword [edx + 0xc]
mov esi, dword [esi + 0x10]
mov edi, dword [sym.imp.USER32.dll_GetParent]
push esi
call edi
test eax, eax
je 0x4bc9bc
nop word [eax + eax]
push esi
call edi
mov esi, eax
push esi
call edi
test eax, eax
jne 0x4bc9b0
mov eax, dword [esp + 0x10]
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 + 0x8c]
pop edi
pop esi
xor ecx, esp
call fcn.005d584c
mov esp, ebp
pop ebp
ret 4
call eax
mov edx, dword [esp + 8]
jmp 0x4bc7f8
push edi
call eax
mov esi, eax
jmp 0x4bc835
mov ecx, esi
call eax
jmp 0x4bc8b0
mov ecx, esi
call eax
jmp 0x4bc959
mov ecx, esi
call eax
jmp 0x4bc979