Function at 0x1053050
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1085031
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
mov ecx, dword [ebp + 0x10]
push edi
mov dword [esi + 0x10], eax
mov dword [ebp - 0x10], esp
lea eax, [esi + 0x20]
xor bl, bl
push ecx
push eax
mov dword [ebp - 0x18], esi
mov byte [ebp - 0x11], bl
call dword [sym.imp.USER32.dll_CopyRect]
mov dl, byte [ebp + 0x18]
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x1c]
mov byte [esi + 0x3c], dl
mov edx, dword [ebp + 0xc]
lea ecx, [esi + 0x48]
push edx
mov dword [esi + 0x38], edi
mov dword [esi + 0x40], eax
call fcn.01008a01
mov eax, dword [esi + 0xc]
mov dword [ebp - 4], 0
test eax, eax
jne 0x1053192
mov al, byte [esi + 0x46]
test al, al
je 0x105314a
push 0x4c
call fcn.0105b249
mov ecx, eax
add esp, 4
mov dword [ebp + 0x18], ecx
test ecx, ecx
mov byte [ebp - 4], 1
je 0x10530e8
call fcn.01055ba0
jmp 0x10530ea
xor eax, eax
mov dword [esi + 0xc], eax
mov eax, dword [0x10a41bc]
test eax, eax
mov byte [ebp - 4], 0
je 0x1053110
mov ecx, dword [eax + 4]
push 0
push 0x108a240
call fcn.01011f03
cmp eax, 1
sete byte [ebp - 0x11]
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edi, eax
push 0xe
push edi
call ebx
mov edx, eax
push 0xc
push edi
mov dword [ebp + 0x18], edx
call ebx
mov ecx, dword [ebp + 0x18]
mov bl, 1
imul ecx, eax
cmp ecx, 8
jle 0x105313f
mov bl, byte [ebp - 0x11]
push edi
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
jmp 0x1053192
cmp edi, 2
push 0x4c
jne 0x105316d
call fcn.0105b249
mov ecx, eax
add esp, 4
mov dword [ebp + 0x18], ecx
test ecx, ecx
mov byte [ebp - 4], 2
je 0x1053189
call fcn.01055ba0
jmp 0x105318b
call fcn.0105b249
mov ecx, eax
add esp, 4
mov dword [ebp + 0x18], ecx
test ecx, ecx
mov byte [ebp - 4], 3
je 0x1053189
call fcn.01053e70
jmp 0x105318b
xor eax, eax
mov byte [ebp - 4], 0
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x38]
test eax, eax
jne 0x10531b8
mov eax, dword [esi + 0x10]
push 0
mov edx, eax
lea ecx, [esi + 0x20]
neg edx
sbb edx, edx
and edx, 0xc0000000
add edx, 0x80000000
push edx
push ecx
push eax
jmp 0x10531d8
xor eax, eax
test bl, bl
jne 0x10531c3
mov eax, 0x80000
mov cl, byte [esi + 0x46]
test cl, cl
je 0x10531cc
or al, 0x80
push eax
lea eax, [esi + 0x20]
push SysReAllocStringLen
push eax
push 0
mov ecx, dword [esi + 0xc]
call fcn.01053f00
test eax, eax
setne bl
test bl, bl
je 0x105324c
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1053237
mov cl, byte [esi + 0x46]
test cl, cl
je 0x1053214
mov edi, dword [eax + 0x20]
push 3
push edi
mov eax, dword [edi]
call dword [eax + 0x38]
test eax, eax
jge 0x1053253
push 0x109e6e8
push edi
push eax
call fcn.0105ae7e
jmp 0x1053253
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x1053253
mov edi, dword [eax + 0x20]
push ecx
push edi
mov edx, dword [edi]
call dword [edx + 0x38]
test eax, eax
jge 0x1053253
push 0x109e6e8
push edi
push eax
call fcn.0105ae7e
jmp 0x1053253
mov eax, dword [esi + 0x38]
test eax, eax
je 0x1053253
mov eax, dword [esi + 0x10]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x1053253
mov ecx, esi
call fcn.010537c0
test bl, bl
mov byte [esi + 0x30], bl
je 0x10532b2
mov eax, dword [esi + 0xc]
test eax, eax
je 0x105326f
mov eax, dword [eax + 0x20]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0xb4]
mov ecx, esi
call fcn.01053540
lea eax, [esi + 0x48]
mov ecx, esi
push eax
call fcn.01053320
mov eax, dword [esi + 0x10]
test eax, eax
je 0x10532b9
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edx, dword [esi + 0x10]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, esi
call fcn.01032460
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18