Function at 0x5abfbc
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff54
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x5acba2
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebx + 0x290], 1
je 0x5ac15f
cmp byte [ebx + 0x289], 0
jne 0x5ac15f
mov eax, dword [ebx + 0x2a8]
mov esi, dword [eax + 0x44]
test esi, esi
je 0x5ac15f
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x30]
cmp eax, dword [ebx + 0x48]
jne 0x5ac15f
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x24]
cmp eax, dword [ebx + 0x4c]
jne 0x5ac15f
lea edx, [ebp - 0x20]
mov eax, ebx
call fcn.005abc60
cmp byte [ebx + 0x288], 0
jne 0x5ac070
lea edx, [ebp - 0x68]
mov eax, ebx
call fcn.005abb28
lea eax, [ebp - 0x68]
xor edx, edx
call fcn.00594f38
sub eax, 2
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x20]
add eax, 2
push eax
mov eax, dword [ebp - 0x10]
pop edx
mov ecx, edx
cdq
idiv ecx
mov esi, eax
jmp 0x5ac09c
lea edx, [ebp - 0x68]
mov eax, ebx
call fcn.005abb28
lea eax, [ebp - 0x68]
xor edx, edx
call fcn.00594f4c
sub eax, 2
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
add eax, 2
push eax
mov eax, dword [ebp - 0x14]
pop edx
mov ecx, edx
cdq
idiv ecx
mov esi, eax
cmp esi, 1
jle 0x5ac12e
mov eax, ebx
call fcn.0048cad0
mov edi, eax
mov eax, ebx
call fcn.0048ca98
cmp edi, eax
jle 0x5ac12e
mov eax, ebx
call fcn.0048cb08
mov edi, eax
mov eax, ebx
call fcn.0048ca98
cmp edi, eax
jle 0x5ac12e
mov eax, ebx
call fcn.0048cad0
mov edi, eax
mov eax, ebx
call fcn.0048ca98
sub edi, eax
je 0x5ac12e
mov eax, ebx
call fcn.0048cad0
mov edi, eax
mov eax, ebx
call fcn.0048ca98
sub edi, eax
mov dword [ebp - 0x6c], edi
fild dword [ebp - 0x6c]
mov dword [ebp - 0x70], esi
fild dword [ebp - 0x70]
call fcn.00404904
fstp xword [ebp - 0x7c]
wait
mov eax, ebx
call fcn.0048cb08
mov esi, eax
mov eax, ebx
call fcn.0048ca98
sub esi, eax
mov dword [ebp - 0x80], esi
fild dword [ebp - 0x80]
fld xword [ebp - 0x7c]
fmulp st(1)
call fcn.00404780
mov esi, eax
jmp 0x5ac130
xor esi, esi
cmp esi, dword [ebx + 0x2a0]
jne 0x5ac159
mov eax, ebx
call fcn.0048cb08
mov edi, eax
mov eax, ebx
call fcn.0048ca98
sub edi, eax
mov eax, ebx
call fcn.0048cad0
cmp edi, eax
jne 0x5acb8c
mov dword [ebx + 0x2a0], esi
mov eax, dword [ebx + 0x2a8]
call fcn.0055eb0c
push 0
mov eax, dword [ebx + 0x4c]
push eax
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebx + 0x48]
xor edx, edx
xor eax, eax
call fcn.0040ab40
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x88]
mov edx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
call fcn.0040ab70
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x44]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0xac]
mov esi, dword [ebx + 0x2a8]
mov eax, esi
call fcn.0055ec1c
lea edx, [ebp - 0xac]
mov cl, 1
mov eax, esi
call fcn.00564b10
mov eax, ebx
call fcn.0048cad0
mov esi, eax
mov eax, ebx
call fcn.0048ca98
cmp esi, eax
jle 0x5acb8c
cmp dword [ebx + 0x2ac], 0
je 0x5ac1ff
lea eax, [ebp - 4]
mov edx, dword [ebx + 0x2ac]
call fcn.00406e64
jmp 0x5ac224
cmp byte [ebx + 0x288], 1
jne 0x5ac217
lea eax, [ebp - 4]
mov edx, 0x5acbbc
call fcn.00406e64
jmp 0x5ac224
lea eax, [ebp - 4]
mov edx, 0x5acbdc
call fcn.00406e64
mov eax, dword [ebx + 0x2a8]
call fcn.0055f79c
mov edx, dword [ebp - 4]
call fcn.005a4e34
mov dword [ebp - 8], eax
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x44]
xor ecx, ecx
xor edx, edx
call fcn.0059556c
lea edx, [ebp - 0x58]
mov eax, ebx
call fcn.005acbf0
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x58]
jle 0x5acb8c
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x54]
jle 0x5acb8c
lea edx, [ebp - 0x20]
mov eax, ebx
call fcn.005abc60
mov esi, dword [ebp - 0x20]
cmp esi, 2
jl 0x5acb8c
cmp dword [ebp - 0x1c], 2
jl 0x5acb8c
mov edx, dword [ebp - 0x1c]
mov eax, esi
call fcn.0056afdc
mov dword [ebp - 0x18], eax
cmp byte [ebx + 0x290], 1
jne 0x5ac460
mov dword [ebp - 0xc], 1
cmp byte [ebx + 0x288], 0
jne 0x5ac38e
xor edi, edi
mov esi, dword [ebp - 0x20]
add esi, dword [ebp - 0xc]
imul esi, edi
add esi, dword [ebp - 0x58]
mov eax, dword [ebx + 0x48]
cmp esi, eax
jle 0x5ac2d7
sub esi, eax
push 1
push 0
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0040ab40
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x88]
mov edx, dword [ebp - 0x54]
mov eax, esi
call fcn.0040ab70
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebx + 0x2a8]
call fcn.0055f79c
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00564584
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x18]
call fcn.0045f8dc
call fcn.0045a044
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
mov eax, dword [ebp - 0x54]
push eax
push esi
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x44]
call fcn.0045f8dc
call fcn.0045a044
push eax
call sub.gdi32.dll_BitBlt
inc edi
cmp edi, 5
jne 0x5ac2c2
jmp 0x5acb84
xor edi, edi
mov eax, dword [ebp - 0x1c]
mov edx, eax
add edx, dword [ebp - 0xc]
imul edx, edi
mov esi, dword [ebp - 0x4c]
sub esi, edx
sub esi, eax
test esi, esi
jge 0x5ac3a9
add esi, dword [ebx + 0x4c]
push 1
push 0
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0040ab40
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x88]
mov edx, esi
mov eax, dword [ebp - 0x58]
call fcn.0040ab70
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebx + 0x2a8]
call fcn.0055f79c
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00564584
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x18]
call fcn.0045f8dc
call fcn.0045a044
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
push esi
mov eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x44]
call fcn.0045f8dc
call fcn.0045a044
push eax
call sub.gdi32.dll_BitBlt
inc edi
cmp edi, 5
jne 0x5ac390
jmp 0x5acb84
cmp byte [ebx + 0x288], 0
jne 0x5ac7f9
cmp byte [ebx + 0x289], 0
je 0x5ac53d
lea eax, [ebp - 0x58]
xor edx, edx
call fcn.00594f38
mov edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x44]
push 1
push 0
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0040ab40
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x88]
mov edi, dword [ebp - 0x54]
mov edx, edi
mov esi, dword [ebp - 0x58]
mov eax, esi
call fcn.0040ab70
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebx + 0x2a8]
call fcn.0055f79c
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00564584
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x18]
call fcn.0045f8dc
call fcn.0045a044
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
push edi
push esi
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x44]
call fcn.0045f8dc
call fcn.0045a044
push eax
call sub.gdi32.dll_BitBlt
jmp 0x5acb84
mov eax, ebx
call fcn.0048cad0
mov esi, eax
mov eax, ebx
call fcn.0048ca98
cmp esi, eax
jle 0x5acb84
mov eax, ebx
call fcn.0048cb08
mov esi, eax
mov eax, ebx
call fcn.0048ca98
cmp esi, eax
jle 0x5acb84
lea edx, [ebp - 0x68]
mov eax, ebx
call fcn.005abb28
lea eax, [ebp - 0x68]
xor edx, edx
call fcn.00594f38
sub eax, 2
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x20]
mov eax, ecx
add eax, 2
push eax
mov eax, dword [ebp - 0x10]
pop edx
mov esi, edx
cdq
idiv esi
mov esi, eax
cmp esi, 1
jle 0x5acb84
mov eax, esi
imul ecx
push eax
mov eax, dword [ebp - 0x10]
pop edx
sub eax, edx
mov edx, esi
dec edx
mov ecx, edx
cdq
idiv ecx
mov dword [ebp - 0xc], eax
mov eax, ebx
call fcn.0048cad0
mov edi, eax
mov eax, ebx
call fcn.0048ca98
sub edi, eax
mov dword [ebp - 0x6c], edi
fild dword [ebp - 0x6c]
mov dword [ebp - 0x70], esi
fild dword [ebp - 0x70]
call fcn.00404904
fstp xword [ebp - 0x7c]
wait
mov eax, ebx
call fcn.0048cb08
mov esi, eax
mov eax, ebx
call fcn.0048ca98
sub esi, eax
mov dword [ebp - 0x80], esi
fild dword [ebp - 0x80]
fld xword [ebp - 0x7c]
fmulp st(1)
call fcn.00404780
mov esi, eax
mov eax, esi
dec eax
test eax, eax
jl 0x5ac6dc
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
push 1
push 0
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0040ab40
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0xc]
imul edi
add eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
call fcn.0040ab70
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebx + 0x2a8]
call fcn.0055f79c
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00564584
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x18]
call fcn.0045f8dc
call fcn.0045a044
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0xc]
imul edi
add eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x44]
call fcn.0045f8dc
call fcn.0045a044
push eax
call sub.gdi32.dll_BitBlt
inc edi
dec dword [ebp - 0x24]
jne 0x5ac616
test esi, esi
jle 0x5acb84
mov eax, ebx
call fcn.0048cb08
push eax
mov eax, ebx
call fcn.0048cad0
pop edx
cmp edx, eax
jne 0x5acb84
mov eax, esi
dec eax
mov edi, dword [ebp - 0x20]
mov edx, edi
add edx, dword [ebp - 0xc]
imul edx
mov edx, dword [ebp - 0x10]
sub edx, eax
sub edx, edi
cmp edx, 3
jle 0x5acb84
mov edx, esi
dec edx
mov eax, dword [ebp - 0x20]
mov ecx, eax
add ecx, dword [ebp - 0xc]
imul edx, ecx
push edx
mov edx, dword [ebp - 0x10]
pop ecx
sub edx, ecx
sub edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x44]
push 1
push 0
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0040ab40
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0xc]
imul esi
add eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
call fcn.0040ab70
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebx + 0x2a8]
call fcn.0055f79c
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00564584
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x18]
call fcn.0045f8dc
call fcn.0045a044
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0xc]
imul esi
add eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x44]
call fcn.0045f8dc
call fcn.0045a044
push eax
call sub.gdi32.dll_BitBlt
jmp 0x5acb84
cmp byte [ebx + 0x289], 0
je 0x5ac8c9
lea eax, [ebp - 0x58]
xor edx, edx
call fcn.00594f4c
mov edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 1
push 0
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0040ab40
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x88]
mov edi, dword [ebp - 0x54]
mov edx, edi
mov esi, dword [ebp - 0x58]
mov eax, esi
call fcn.0040ab70
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebx + 0x2a8]
call fcn.0055f79c
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00564584
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x18]
call fcn.0045f8dc
call fcn.0045a044
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
push edi
push esi
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x44]
call fcn.0045f8dc
call fcn.0045a044
push eax
call sub.gdi32.dll_BitBlt
jmp 0x5acb84
mov eax, ebx
call fcn.0048cad0
mov esi, eax
mov eax, ebx
call fcn.0048ca98
cmp esi, eax
jle 0x5acb84
mov eax, ebx
call fcn.0048cb08
mov esi, eax
mov eax, ebx
call fcn.0048ca98
cmp esi, eax
jle 0x5acb84
lea edx, [ebp - 0x68]
mov eax, ebx
call fcn.005abb28
lea eax, [ebp - 0x68]
xor edx, edx
call fcn.00594f4c
sub eax, 2
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
add eax, 2
push eax
mov eax, dword [ebp - 0x14]
pop edx
mov esi, edx
cdq
idiv esi
mov esi, eax
cmp esi, 1
jle 0x5acb84
mov eax, esi
imul ecx
push eax
mov eax, dword [ebp - 0x14]
pop edx
sub eax, edx
mov edx, esi
dec edx
mov ecx, edx
cdq
idiv ecx
mov dword [ebp - 0xc], eax
mov eax, ebx
call fcn.0048cad0
mov edi, eax
mov eax, ebx
call fcn.0048ca98
sub edi, eax
mov dword [ebp - 0x6c], edi
fild dword [ebp - 0x6c]
mov dword [ebp - 0x70], esi
fild dword [ebp - 0x70]
call fcn.00404904
fstp xword [ebp - 0x7c]
wait
mov eax, ebx
call fcn.0048cb08
mov esi, eax
mov eax, ebx
call fcn.0048ca98
sub esi, eax
mov dword [ebp - 0x80], esi
fild dword [ebp - 0x80]
fld xword [ebp - 0x7c]
fmulp st(1)
call fcn.00404780
mov esi, eax
mov eax, esi
dec eax
test eax, eax
jl 0x5aca72
inc eax
mov dword [ebp - 0x24], eax
xor edi, edi
push 1
push 0
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0040ab40
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0xc]
imul edi
mov edx, dword [ebp - 0x4c]
sub edx, eax
sub edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0x58]
call fcn.0040ab70
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebx + 0x2a8]
call fcn.0055f79c
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00564584
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x18]
call fcn.0045f8dc
call fcn.0045a044
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0xc]
imul edi
mov edx, dword [ebp - 0x4c]
sub edx, eax
sub edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x44]
call fcn.0045f8dc
call fcn.0045a044
push eax
call sub.gdi32.dll_BitBlt
inc edi
dec dword [ebp - 0x24]
jne 0x5ac9a2
test esi, esi
jle 0x5acb84
mov eax, ebx
call fcn.0048cb08
push eax
mov eax, ebx
call fcn.0048cad0
pop edx
cmp edx, eax
jne 0x5acb84
mov eax, esi
dec eax
mov edi, dword [ebp - 0x1c]
mov edx, edi
add edx, dword [ebp - 0xc]
imul edx
mov edx, dword [ebp - 0x14]
sub edx, eax
sub edx, edi
cmp edx, 3
jle 0x5acb84
lea edx, [ebp - 0x68]
mov eax, ebx
call fcn.005abb28
lea eax, [ebp - 0x68]
xor edx, edx
call fcn.00594f4c
mov edx, eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0xc]
imul eax, esi
sub edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 1
push 0
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0040ab40
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x88]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
call fcn.0040ab70
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebx + 0x2a8]
call fcn.0055f79c
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00564584
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x18]
call fcn.0045f8dc
call fcn.0045a044
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebx + 0x2a8]
mov eax, dword [eax + 0x44]
call fcn.0045f8dc
call fcn.0045a044
push eax
call sub.gdi32.dll_BitBlt
lea eax, [ebp - 0x18]
call fcn.0041ca80
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5acba9
lea eax, [ebp - 4]
call fcn.00406e00
ret