Function at 0x4520cc
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x330
push edi
xor edi, edi
cmp dword [0x4abb54], edi
je 0x452461
cmp dword [0x4ac330], edi
jne 0x452461
push ebx
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0x10]
push dword [ebp + 0xc]
call fcn.00454203
mov ebx, dword [ebp + 0x10]
neg ebx
sbb ebx, ebx
and ebx, 0xffffffeb
add ebx, 0x15
lea ecx, [ebp - 0x10]
mov dword [ebp + 0x10], ebx
call fcn.0047a850
push eax
call fcn.0044d2ff
push dword [0x4abb50]
call fcn.0044d325
cmp dword [0x49bcec], 0xe
pop ecx
pop ecx
mov esi, 0xcc0020
je 0x4522de
push esi
push ebx
push edi
push dword [0x4ab9cc]
lea ecx, [ebp - 0x10]
push 0x14
push 0x19
pop ebx
push ebx
push edi
push edi
call fcn.0047a850
mov edi, dword [sym.imp.GDI32.dll_BitBlt]
push eax
call edi
mov eax, dword [0x49bce8]
add eax, 0xffffff6a
cdq
mov ecx, ebx
idiv ecx
mov dword [ebp - 4], ebx
test eax, eax
mov dword [ebp - 8], eax
je 0x4521d7
test al, 1
je 0x4521a1
push esi
push dword [ebp + 0x10]
lea ecx, [ebp - 0x10]
push 0x7f
push dword [0x4ab9cc]
push 0x14
push 0xc
push 0
push ebx
call fcn.0047a850
push eax
call edi
mov dword [ebp - 4], 0x25
mov eax, dword [ebp - 8]
cdq
sub eax, edx
sar eax, 1
test eax, eax
jle 0x4521d7
mov dword [ebp - 8], eax
push esi
push dword [ebp + 0x10]
lea ecx, [ebp - 0x10]
push 0x7f
push dword [0x4ab9cc]
push 0x14
push ebx
push 0
push dword [ebp - 4]
call fcn.0047a850
push eax
call edi
add dword [ebp - 4], ebx
dec dword [ebp - 8]
jne 0x4521b0
push esi
push dword [ebp + 0x10]
lea ecx, [ebp - 0x10]
push 0x1a
push dword [0x4ab9cc]
push 0x14
push 0x64
push 0
push dword [ebp - 4]
call fcn.0047a850
push eax
call edi
mov eax, dword [0x49bce8]
add eax, 0xffffff6a
cdq
mov ecx, ebx
idiv ecx
add dword [ebp - 4], 0x64
test eax, eax
mov dword [ebp - 8], eax
je 0x45226f
test al, 1
je 0x452239
push esi
push dword [ebp + 0x10]
lea ecx, [ebp - 0x10]
push 0x7f
push dword [0x4ab9cc]
push 0x14
push 0xd
push 0
push dword [ebp - 4]
call fcn.0047a850
push eax
call edi
add dword [ebp - 4], 0xd
mov eax, dword [ebp - 8]
cdq
sub eax, edx
sar eax, 1
test eax, eax
jle 0x45226f
mov dword [ebp - 8], eax
push esi
push dword [ebp + 0x10]
lea ecx, [ebp - 0x10]
push 0x7f
push dword [0x4ab9cc]
push 0x14
push ebx
push 0
push dword [ebp - 4]
call fcn.0047a850
push eax
call edi
add dword [ebp - 4], ebx
dec dword [ebp - 8]
jne 0x452248
mov eax, dword [0x49bce8]
add eax, 0xffffff6a
cdq
mov ecx, ebx
idiv ecx
test edx, edx
mov dword [ebp - 8], edx
je 0x4522b3
push esi
push 0x14
push ebx
push dword [ebp + 0x10]
lea ecx, [ebp - 0x10]
push 0x7f
push dword [0x4ab9cc]
push 0x14
push edx
push 0
push dword [ebp - 4]
call fcn.0047a850
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
mov eax, dword [ebp - 4]
add eax, dword [ebp - 8]
jmp 0x4522b6
mov eax, dword [ebp - 4]
push esi
push dword [ebp + 0x10]
lea ecx, [ebp - 0x10]
push 0x99
push dword [0x4ab9cc]
push 0x14
push ebx
push 0
push eax
call fcn.0047a850
push eax
call edi
mov esi, dword [ebp + 0x10]
jmp 0x4523ab
mov eax, dword [0x49bce8]
push 0x19
pop ebx
add eax, 0xffffffce
cdq
mov ecx, ebx
idiv ecx
push esi
push 0x2a
push 0x48
push dword [0x4ab9cc]
lea ecx, [ebp - 0x10]
push 0xe
push ebx
push edi
push edi
mov dword [ebp - 8], eax
call fcn.0047a850
mov edi, dword [sym.imp.GDI32.dll_BitBlt]
push eax
call edi
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 4], ebx
je 0x452344
mov dword [ebp - 8], eax
push esi
push 0x39
push 0x48
push dword [0x4ab9cc]
lea ecx, [ebp - 0x10]
push 0xe
push ebx
push 0
push dword [ebp - 4]
call fcn.0047a850
push eax
call edi
add dword [ebp - 4], ebx
dec dword [ebp - 8]
jne 0x45231e
mov eax, dword [0x49bce8]
add eax, 0xffffffce
cdq
idiv ebx
mov ebx, edx
test ebx, ebx
je 0x45237e
push esi
push 0xe
push 0x18
push 0x39
push 0x48
push dword [0x4ab9cc]
lea ecx, [ebp - 0x10]
push 0xe
push ebx
push 0
push dword [ebp - 4]
call fcn.0047a850
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
add dword [ebp - 4], ebx
push esi
mov esi, dword [ebp + 0x10]
mov eax, esi
neg eax
sbb eax, eax
and eax, 0xf
add eax, 0x2a
push eax
push 0x63
push dword [0x4ab9cc]
lea ecx, [ebp - 0x10]
push 0xe
push 0x32
push 0
push dword [ebp - 4]
call fcn.0047a850
push eax
call edi
push 0
call fcn.0044d325
cmp dword [0x49bcec], 0xe
pop ecx
jne 0x452457
call fcn.0043d54e
mov edi, eax
test edi, edi
jl 0x452416
call fcn.0043d213
cmp edi, eax
jge 0x452416
cmp dword [0x4a8e00], 0
lea eax, [ebp - 0x330]
jne 0x4523ff
push eax
call fcn.0043d54e
push eax
call fcn.0043e101
call fcn.0043d54e
push eax
call fcn.0043cf1a
add esp, 0xc
jmp 0x452432
push 0x4b00e0
push 0x190
push eax
call fcn.0047aaff
call fcn.0042b710
jmp 0x452432
push 0x190
lea eax, [ebp - 0x330]
push eax
push 0x172
call fcn.00472111
add esp, 0xc
or eax, 0xffffffff
neg esi
sbb esi, esi
and esi, 0xfffffffe
inc esi
inc esi
push esi
push eax
lea eax, [ebp - 0x330]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
call fcn.0047a850
push eax
call fcn.00451b0e
add esp, 0x14
lea ecx, [ebp - 0x10]
call fcn.0045422c
pop esi
pop ebx
pop edi
leave
ret