Function at 0x423b80
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x38
mov eax, dword [0x5a7074]
xor eax, esp
mov dword [esp + 0x34], eax
push esi
mov esi, ecx
push edi
cmp dword [esi + 0xc4], 0
jne 0x423bd7
push 0x238
call fcn.0050a09e
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, eax
call fcn.0041aa90
push ecx
push dword [esi + 4]
mov ecx, eax
mov dword [esi + 0xc4], eax
call fcn.004258e0
cmp dword [esi + 0xc4], 0
je 0x423cd6
mov ecx, dword [esi + 0xc8]
test ecx, ecx
je 0x423bf3
cmp dword [esi + 0x17c], 0
jne 0x423bfa
movups xmm0, xmmword [ecx + 0xc8]
jmp 0x423c0c
cmp dword [esi + 0x17c], 0
jle 0x423c11
mov eax, dword [0x5bf5fc]
test eax, eax
je 0x423c11
movups xmm0, xmmword [eax + 0x108]
movups xmmword [esp + 0x10], xmm0
movups xmm1, xmmword [esi + 0x50]
movaps xmm0, xmm1
psrldq xmm1, 0xc
psrldq xmm0, 4
movd edi, xmm0
movd edx, xmm1
cmp edi, edx
jle 0x423c34
mov eax, edi
mov edi, edx
mov edx, eax
mov eax, dword [esp + 0x14]
cmp edx, eax
jge 0x423ca8
mov eax, dword [esi + 0x3c]
mov edx, dword [esp + 0x1c]
sub eax, edx
cmp eax, 0x2c
jle 0x423c4f
lea edi, [edx + 5]
jmp 0x423cb9
lea eax, [edi - 0x20]
cmp edi, 0x4c
jle 0x423c7d
mov dword [esp + 0x14], eax
add eax, 0x1b
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x423c78
movups xmm0, xmmword [esp + 0x10]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
call fcn.0041a6c0
add edi, 0xffffffb4
jmp 0x423cb9
cmp edi, 0x20
jg 0x423c85
lea eax, [edi + 5]
mov dword [esp + 0x14], eax
lea edi, [eax + 0x1b]
mov dword [esp + 0x1c], edi
test ecx, ecx
je 0x423cb6
movups xmm0, xmmword [esp + 0x10]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
call fcn.0041a6c0
jmp 0x423cb6
cmp eax, 0x2c
jle 0x423cb2
lea edi, [eax - 0x2c]
jmp 0x423cb9
mov edi, dword [esp + 0x1c]
add edi, 5
mov eax, dword [esi + 0xc4]
push 0x55
push 0
push 0
push edi
push dword [esp + 0x20]
push 0
push dword [eax + 4]
mov eax, dword [sym.imp.USER32.dll_SetWindowPos]
call eax
mov eax, dword [ebp + 8]
cmp eax, 0x505
jne 0x423de7
mov edi, dword [esi + 0xc4]
cmp dword [edi + 0x228], 2
je 0x423edf
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 5
push dword [edi + 0x22c]
mov dword [edi + 0x228], 2
call esi
push 5
push dword [edi + 0x230]
call esi
mov esi, dword [sym.imp.USER32.dll_SetWindowPos]
push 4
push 0xc8
push 0x3c
push 7
push 0x1e
push 0
push dword [edi + 0x230]
mov dword [edi + 0xa4], 0
call esi
push 4
push 0xc8
push 0x2b
push 7
push 0x64
push 0
push dword [edi + 0x22c]
call esi
movaps xmm0, xmmword [0x58ac10]
lea eax, [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_CopyRect]
push eax
lea eax, [edi + 0x1cc]
push eax
movups xmmword [esp + 0x18], xmm0
call esi
movaps xmm0, xmmword [0x58ab70]
lea eax, [esp + 0x2c]
push eax
lea eax, [edi + 0x130]
push eax
movups xmmword [esp + 0x34], xmm0
call esi
push 0x22
push 0xb2
push 5
push 0x96
lea eax, [edi + 0x214]
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [sym.imp.USER32.dll_SetWindowPos]
push 6
push 0x27
push 0x144
push 0
push 0
push 0
push dword [edi + 4]
call eax
push 1
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.0050a055
mov esp, ebp
pop ebp
ret 8
cmp eax, 0x504
jne 0x423ed2
mov edi, dword [esi + 0xc4]
cmp dword [edi + 0x228], 3
je 0x423edf
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [edi + 0x22c]
mov dword [edi + 0x228], 3
mov dword [edi + 0xa4], 1
call esi
push 0
push dword [edi + 0x230]
call esi
movaps xmm0, xmmword [0x58ac00]
lea eax, [esp + 0x2c]
mov esi, dword [sym.imp.USER32.dll_CopyRect]
push eax
lea eax, [edi + 0x1cc]
push eax
movups xmmword [esp + 0x34], xmm0
call esi
movaps xmm0, xmmword [0x58ab60]
lea eax, [esp + 0x10]
push eax
lea eax, [edi + 0x130]
push eax
movups xmmword [esp + 0x18], xmm0
call esi
push 0x22
push 0x76
push 5
push 0x5a
lea eax, [edi + 0x214]
push eax
call dword [sym.imp.USER32.dll_SetRect]
push ecx
push 0x501
lea ecx, [edi + 0x3c]
call fcn.0042ce00
push 6
push 0x27
push 0x108
push 0
push 0
push 0
push dword [edi + 4]
mov dword [edi + 0x224], 0xa
call dword [sym.imp.USER32.dll_SetWindowPos]
push 1
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.0050a055
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [esi + 0xc4]
push 1
call fcn.0041bad0
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
xor ecx, esp
call fcn.0050a055
mov esp, ebp
pop ebp
ret 8