Function at 0x44298c
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff84
push ebx
push esi
push edi
mov esi, dword [ebp + 0x14]
lea edi, [ebp - 0x1c]
push ecx
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop ecx
mov esi, edx
lea edi, [ebp - 0x48]
push ecx
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], eax
mov esi, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call sub.user32.dll_IsRectEmpty
test eax, eax
jne 0x442f12
xor edi, edi
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
xor ebx, ebx
mov eax, esi
and ax, 8
cmp ax, 8
jne 0x442a2b
mov bl, 1
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x58]
push eax
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x44]
sub edx, dword [ebp - 0xc]
sar edx, 1
jns 0x442a0d
adc edx, 0
add edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x48]
sub eax, dword [ebp - 8]
sar eax, 1
jns 0x442a20
adc eax, 0
add eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 8]
call fcn.0040b3a4
mov eax, esi
and ax, 0x10
cmp ax, 0x10
jne 0x442b22
push 3
mov eax, dword [ebp - 4]
call fcn.00413f0c
push eax
call sub.gdi32.dll_SetStretchBltMode
mov bl, 2
mov edi, dword [ebp - 0x3c]
sub edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
push edi
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
call fcn.0040b3a4
mov eax, esi
and ax, 0x600
cmp ax, 0x600
jne 0x442abe
push edi
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x24]
xor edx, edx
xor eax, eax
call fcn.0040b3a4
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x78]
push eax
mov ecx, dword [ebp - 8]
xor edx, edx
xor eax, eax
call fcn.0040b3a4
lea eax, [ebp - 0x78]
lea ecx, [ebp - 0x58]
pop edx
call fcn.00444778
mov eax, dword [ebp - 0x48]
add dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x44]
add dword [ebp - 0x54], eax
jmp 0x442b22
mov eax, esi
and ax, 0x400
cmp ax, 0x400
jne 0x442aef
fild dword [ebp - 0x24]
fild dword [ebp - 8]
fdivp st(1)
fild dword [ebp - 0xc]
fmulp st(1)
call fcn.004028dc
push eax
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
call fcn.0040b3a4
mov eax, esi
and ax, 0x200
cmp ax, 0x200
jne 0x442b22
push edi
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x7c], edi
fild dword [ebp - 0x7c]
fild dword [ebp - 0xc]
fdivp st(1)
fild dword [ebp - 8]
fmulp st(1)
call fcn.004028dc
mov ecx, eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
call fcn.0040b3a4
mov eax, esi
and ax, 0x20
cmp ax, 0x20
jne 0x442b4b
mov bl, 3
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x44]
cdq
idiv dword [ebp - 0xc]
mov edi, eax
inc edi
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x48]
cdq
idiv dword [ebp - 8]
inc eax
mov dword [ebp - 0x24], eax
test bl, bl
jne 0x442b65
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
call fcn.0040b3a4
mov eax, esi
and ax, 0x80
cmp ax, 0x80
jne 0x442c50
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp + 0xc]
call fcn.0041354c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
sub bl, 3
jb 0x442b95
je 0x442bd8
jmp 0x442f12
mov eax, dword [ebp - 0x4c]
push eax
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
call fcn.0040b3c0
lea esi, [ebp - 0x68]
lea edi, [ebp - 0x58]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x34]
call fcn.00418190
push eax
lea edx, [ebp - 0x58]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call fcn.004137b0
jmp 0x442f12
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 8]
xor edx, edx
xor eax, eax
call fcn.0040b3a4
test edi, edi
jl 0x442f12
inc edi
mov dword [ebp - 0x38], edi
xor edi, edi
mov ebx, dword [ebp - 0x24]
test ebx, ebx
jl 0x442c45
inc ebx
xor esi, esi
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x34]
call fcn.00418190
push eax
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x68]
push eax
mov edx, edi
imul edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x44]
mov eax, esi
imul eax, dword [ebp - 8]
add eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 8]
call fcn.0040b3c0
lea edx, [ebp - 0x68]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call fcn.004137b0
inc esi
dec ebx
jne 0x442c04
inc edi
dec dword [ebp - 0x38]
jne 0x442bfa
jmp 0x442f12
mov eax, esi
and ax, 0x100
cmp ax, 0x100
jne 0x442d29
cmp dword [ebp + 8], 0
je 0x442d29
push 0xffffff
mov eax, dword [ebp - 4]
call fcn.00413f0c
push eax
call sub.gdi32.dll_SetBkColor
mov dword [ebp - 0x28], eax
push 0
mov eax, dword [ebp - 4]
call fcn.00413f0c
push eax
call sub.gdi32.dll_SetTextColor
mov dword [ebp - 0x2c], eax
sub bl, 3
jb 0x442c9c
je 0x442cba
jmp 0x442d00
push ebp
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
call fcn.004428f4
pop ecx
jmp 0x442d00
test edi, edi
jl 0x442d00
inc edi
mov dword [ebp - 0x38], edi
xor edi, edi
mov ebx, dword [ebp - 0x24]
test ebx, ebx
jl 0x442cfa
inc ebx
xor esi, esi
push ebp
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp + 8]
push eax
mov edx, edi
imul edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x44]
mov eax, esi
imul eax, dword [ebp - 8]
add eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 8]
call fcn.004428f4
pop ecx
inc esi
dec ebx
jne 0x442cce
inc edi
dec dword [ebp - 0x38]
jne 0x442cc4
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 4]
call fcn.00413f0c
push eax
call sub.gdi32.dll_SetTextColor
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 4]
call fcn.00413f0c
push eax
call sub.gdi32.dll_SetBkColor
jmp 0x442f12
and si, 0x40
cmp si, 0x40
jne 0x442e6c
mov dl, 1
mov eax, dword [0x411ebc]
call fcn.00417b00
mov dword [ebp - 0x34], eax
mov dl, 1
mov eax, dword [0x411ebc]
call fcn.00417b00
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x442e65
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
call fcn.00442500
push 0xffffff
mov eax, dword [ebp - 4]
call fcn.00413f0c
push eax
call sub.gdi32.dll_SetBkColor
mov dword [ebp - 0x28], eax
push 0
mov eax, dword [ebp - 4]
call fcn.00413f0c
push eax
call sub.gdi32.dll_SetTextColor
mov dword [ebp - 0x2c], eax
sub bl, 3
jb 0x442dab
je 0x442dd3
jmp 0x442e23
push ebp
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x34]
call fcn.00418028
push eax
mov eax, dword [ebp - 0x30]
call fcn.00418028
push eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
call fcn.00442870
pop ecx
jmp 0x442e23
test edi, edi
jl 0x442e23
inc edi
mov dword [ebp - 0x38], edi
xor edi, edi
mov ebx, dword [ebp - 0x24]
test ebx, ebx
jl 0x442e1d
inc ebx
xor esi, esi
push ebp
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x34]
call fcn.00418028
push eax
mov eax, dword [ebp - 0x30]
call fcn.00418028
push eax
mov edx, edi
imul edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x44]
mov eax, esi
imul eax, dword [ebp - 8]
add eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 8]
call fcn.00442870
pop ecx
inc esi
dec ebx
jne 0x442de7
inc edi
dec dword [ebp - 0x38]
jne 0x442ddd
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 4]
call fcn.00413f0c
push eax
call sub.gdi32.dll_SetTextColor
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 4]
call fcn.00413f0c
push eax
call sub.gdi32.dll_SetBkColor
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x442f12
mov eax, dword [ebp - 0x34]
call fcn.00402d7c
mov eax, dword [ebp - 0x30]
call fcn.00402d7c
ret
sub bl, 3
jb 0x442e78
je 0x442eb6
jmp 0x442f12
push 0xcc0020
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x20]
call fcn.00413f0c
push eax
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebp - 4]
call fcn.00413f0c
push eax
call sub.gdi32.dll_StretchBlt
jmp 0x442f12
test edi, edi
jl 0x442f12
inc edi
mov dword [ebp - 0x38], edi
xor edi, edi
mov ebx, dword [ebp - 0x24]
test ebx, ebx
jl 0x442f0c
inc ebx
xor esi, esi
push 0xcc0020
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x20]
call fcn.00413f0c
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, edi
imul dword [ebp - 0xc]
add eax, dword [ebp - 0x44]
push eax
mov eax, esi
imul dword [ebp - 8]
add eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 4]
call fcn.00413f0c
push eax
call sub.gdi32.dll_BitBlt
inc esi
dec ebx
jne 0x442eca
inc edi
dec dword [ebp - 0x38]
jne 0x442ec0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10