Function at 0x529564
Capabilities:
Capture screenshot

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffc4
mov esi, ecx
lea edi, [esp + 0x1c]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov esi, edx
mov ebx, eax
cmp byte [ebx + 0x212], 0
je 0x529812
mov eax, esi
call fcn.0041d564
mov dword [esp + 0x18], eax
mov eax, ebx
call fcn.005287b8
mov dword [esp + 8], eax
mov eax, ebx
call fcn.005287d8
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x20]
mov ecx, dword [ebx + 0x20d]
imul eax, ecx
mov dword [esp + 0x10], eax
imul edx, ecx
mov dword [esp + 0x14], edx
cmp dword [ebx + 0x264], 0
jne 0x5296a7
cmp dword [ebx + 0x20d], 3
jl 0x5296a7
mov eax, dword [esi + 0x10]
mov edx, dword [ebx + 0x258]
call fcn.0041c4f8
mov ebp, dword [ebx + 0x283]
add ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
sub esi, eax
jl 0x52964a
inc esi
mov dword [esp], eax
mov edi, dword [esp]
imul edi, dword [ebx + 0x20d]
add edi, dword [ebx + 0x27f]
add edi, dword [esp + 8]
push 0
push ebp
push edi
mov eax, dword [esp + 0x24]
push eax
call sub.gdi32.dll_MoveToEx
mov eax, dword [esp + 0x14]
add eax, ebp
push eax
push edi
mov eax, dword [esp + 0x20]
push eax
call sub.gdi32.dll_LineTo
inc dword [esp]
dec esi
jne 0x529610
mov edi, dword [ebx + 0x27f]
add edi, dword [esp + 8]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
sub esi, eax
jl 0x529812
inc esi
mov dword [esp], eax
mov ebp, dword [esp]
imul ebp, dword [ebx + 0x20d]
add ebp, dword [ebx + 0x283]
add ebp, dword [esp + 0xc]
push 0
push ebp
push edi
mov eax, dword [esp + 0x24]
push eax
call sub.gdi32.dll_MoveToEx
push ebp
mov eax, dword [esp + 0x14]
add eax, edi
push eax
mov eax, dword [esp + 0x20]
push eax
call sub.gdi32.dll_LineTo
inc dword [esp]
dec esi
jne 0x529668
jmp 0x529812
mov eax, dword [ebx + 0x20d]
cmp eax, 4
jl 0x529812
mov edx, dword [ebx + 0x283]
add edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
imul ecx, eax
add edx, ecx
mov dword [esp + 0x30], edx
mov eax, dword [ebx + 0x260]
call fcn.00421cf8
call fcn.0041d564
mov ebp, eax
mov eax, dword [esp + 0x1c]
mov edx, eax
imul edx, dword [ebx + 0x20d]
add edx, dword [ebx + 0x27f]
add edx, dword [esp + 8]
test dl, 1
je 0x529705
mov dword [esp + 4], 1
jmp 0x52970b
xor edx, edx
mov dword [esp + 4], edx
mov esi, dword [esp + 0x24]
sub esi, eax
jl 0x529762
inc esi
mov dword [esp], eax
mov edi, dword [esp]
imul edi, dword [ebx + 0x20d]
add edi, dword [ebx + 0x27f]
add edi, dword [esp + 8]
mov eax, 1
sub eax, dword [esp + 4]
mov dword [esp + 4], eax
push 0xcc0020
mov eax, dword [esp + 8]
push eax
push 0
push ebp
mov eax, dword [esp + 0x24]
push eax
push 1
mov eax, dword [esp + 0x48]
push eax
push edi
mov eax, dword [esp + 0x38]
push eax
call sub.gdi32.dll_BitBlt
inc dword [esp]
dec esi
jne 0x529717
mov eax, dword [ebx + 0x27f]
add eax, dword [esp + 8]
mov edx, dword [esp + 0x1c]
imul edx, dword [ebx + 0x20d]
add eax, edx
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x264]
call fcn.00421cf8
call fcn.0041d564
mov edi, eax
mov eax, dword [esp + 0x20]
mov edx, eax
imul edx, dword [ebx + 0x20d]
add edx, dword [ebx + 0x283]
add edx, dword [esp + 0xc]
test dl, 1
je 0x5297b5
mov dword [esp + 4], 1
jmp 0x5297bb
xor edx, edx
mov dword [esp + 4], edx
mov esi, dword [esp + 0x28]
sub esi, eax
jl 0x529812
inc esi
mov dword [esp], eax
mov ebp, dword [esp]
imul ebp, dword [ebx + 0x20d]
add ebp, dword [ebx + 0x283]
add ebp, dword [esp + 0xc]
mov eax, 1
sub eax, dword [esp + 4]
mov dword [esp + 4], eax
push 0xcc0020
push 0
mov eax, dword [esp + 0xc]
push eax
push edi
push 1
mov eax, dword [esp + 0x24]
push eax
push ebp
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x38]
push eax
call sub.gdi32.dll_BitBlt
inc dword [esp]
dec esi
jne 0x5297c7
add esp, 0x3c
pop ebp
pop edi
pop esi
pop ebx
ret