Function at 0x71f20c
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
push ebx
mov ebx, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2b2], 0
je 0x71f65b
mov cl, 1
mov dl, 1
mov eax, dword [0x71efb0]
call fcn.004811e8
mov edx, dword [ebp - 4]
mov dword [edx + 0x88], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
or dword [eax + 0x74], 0x1000000
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b8]
call fcn.00565c34
xor ecx, ecx
mov edx, 0x4d
call fcn.00703538
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
mov dword [ebp - 0x10], eax
mov dl, 5
mov eax, dword [ebp - 0x10]
call fcn.004816ec
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x30], bl
mov dl, 1
mov eax, dword [ebp - 0x10]
call fcn.004817b8
xor ecx, ecx
mov dl, 1
mov eax, dword [0x53dfa4]
call fcn.0053ec90
mov ebx, eax
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x70], ebx
mov eax, ebx
call fcn.0053ecdc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2cc]
test eax, eax
je 0x71f479
mov eax, dword [eax + 0x2c]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2cc]
mov byte [eax + 0x25], 1
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
call fcn.00565c34
xor ecx, ecx
xor edx, edx
call fcn.0071b5e0
mov dl, 1
mov eax, dword [0x52b7d8]
call fcn.0053569c
mov ebx, eax
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x40], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
mov edx, dword [eax + 0x4c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b8]
call fcn.00565c34
push eax
call sub.user32.dll_GetDC
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x71f472
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00727c14
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x34], eax
mov eax, dword [ebp - 4]
call fcn.00727cac
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x38], eax
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b8]
call fcn.0055c0e8
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b8]
call fcn.0055c0a8
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x38]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x34]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x40]
call fcn.00535ff0
call fcn.0052fb1c
push eax
call sub.gdi32.dll_BitBlt
push 0x1fffffff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b8]
call fcn.0055c0e8
mov edx, dword [ebp - 0x10]
add eax, dword [edx + 0x38]
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b8]
call fcn.0055c0a8
mov ecx, eax
mov eax, dword [ebp - 0x10]
add ecx, dword [eax + 0x34]
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x34]
call fcn.004139a4
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x40]
mov cl, 0xff
call fcn.006a3208
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
call fcn.00647ad4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x34], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
call fcn.00647af4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0x10]
add eax, 0x34
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
call fcn.00565c34
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x40]
mov ecx, 0xff
call fcn.007042e4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x71f4a2
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b8]
call fcn.00565c34
push eax
call sub.user32.dll_ReleaseDC
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b8]
call fcn.00565c34
xor edx, edx
call fcn.0071b290
mov ebx, eax
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x58], ebx
mov eax, dword [ebx + 0x3d0]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x40], eax
push 8
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
call fcn.00565c34
push eax
call sub.user32.dll_ShowWindow
push 0
push 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
call fcn.00565c34
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b8]
call fcn.00565c34
mov edx, 0xffffffec
call fcn.00416be8
test eax, 0x80000
jne 0x71f520
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b8]
call fcn.00565c34
mov edx, 0xffffffec
call fcn.00416be8
or eax, 0x80000
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b8]
call fcn.00565c34
mov edx, 0xffffffec
pop ecx
call fcn.00416edc
push 2
push 0
push 0x1fffffff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b8]
call fcn.00565c34
push eax
mov eax, dword [0x8018ac]
mov eax, dword [eax]
call eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 0x58]
imul dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x5c]
cdq
idiv ecx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
imul dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x5c]
cdq
idiv ecx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
call fcn.00647ad4
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x50]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x58]
sub edx, dword [ecx + 0x58]
sar edx, 1
jns 0x71f598
adc edx, 0
sub eax, edx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x48], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
call fcn.00647af4
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x54]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x58]
sub edx, dword [ecx + 0x5c]
sar edx, 1
jns 0x71f5c1
adc edx, 0
sub eax, edx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x4c], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x71f5d8
call fcn.0040893c
mov dl, 1
mov eax, dword [0x52b7d8]
call fcn.0053569c
mov ebx, eax
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x44], ebx
mov eax, ebx
mov dl, 7
call fcn.00537404
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x44]
mov byte [eax + 0x2c], 1
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x58]
mov edx, dword [edx + 0x58]
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x5c]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
call fcn.00647ad4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x34], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x58]
call fcn.00647af4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov dword [eax + 0x7c], edx
mov dword [eax + 0x78], 0x71f660
mov eax, dword [ebp - 0x10]
call fcn.00481f50
pop ebx
mov esp, ebp
pop ebp
ret