Function at 0x4168d2
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [ebp + 0x18]
neg eax
sbb eax, eax
push ebx
and eax, 0xffffffeb
push esi
add eax, 0x15
push edi
mov edi, dword [ebp + 0x14]
xor ecx, ecx
mov dword [ebp + 0x18], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], edi
jmp 0x416951
mov edx, dword [ebp + 0x10]
xor esi, esi
cmp edi, ecx
je 0x416930
mov ebx, edi
mov al, byte [edx]
inc edx
cmp al, 0x61
jl 0x416910
cmp al, 0x7a
jg 0x416910
add al, 0xe0
cmp al, 0x41
jl 0x416926
cmp al, 0x5a
jg 0x416926
movsx eax, al
mov eax, dword [eax*4 + 0x4ab964]
cmp eax, ecx
jne 0x41692b
mov eax, dword [0x49c900]
add esi, eax
dec ebx
jne 0x416903
mov dword [ebp - 0x14], esi
add esi, 0x18
mov eax, esi
cdq
push 0x19
pop ebx
idiv ebx
mov eax, dword [ebp + 0x1c]
sub esi, edx
sub eax, esi
cmp eax, 0x64
mov dword [ebp - 4], esi
jg 0x416958
dec edi
mov dword [ebp + 0x14], edi
cmp edi, ecx
mov dword [ebp - 4], ecx
jg 0x4168f8
mov edi, dword [sym.imp.GDI32.dll_BitBlt]
mov ebx, 0xcc0020
push ebx
push dword [ebp + 0x18]
push ecx
push dword [ebp + 0xc]
push 0x14
push 0x19
push ecx
push ecx
push dword [ebp + 8]
call edi
mov eax, dword [ebp + 0x1c]
sub eax, dword [ebp - 4]
push 0x19
pop esi
add eax, 0xffffff9c
push esi
cdq
pop ecx
idiv ecx
test eax, eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], eax
jle 0x4169e0
test al, 1
je 0x4169b4
push ebx
push dword [ebp + 0x18]
push 0x68
push dword [ebp + 0xc]
push 0x14
push 0xc
push 0
push esi
push dword [ebp + 8]
call edi
mov dword [ebp - 8], 0x25
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
cdq
sub eax, edx
sar eax, 1
test eax, eax
jle 0x4169e0
mov dword [ebp - 8], eax
push ebx
push dword [ebp + 0x18]
push 0x68
push dword [ebp + 0xc]
push 0x14
push 0x19
push 0
push esi
push dword [ebp + 8]
call edi
add esi, 0x19
dec dword [ebp - 8]
jne 0x4169c3
cmp dword [ebp + 0x14], 0
jle 0x416a87
push ebx
push dword [ebp + 0x18]
push 0x1a
push dword [ebp + 0xc]
push 0x14
push 0x19
push 0
push esi
push dword [ebp + 8]
call edi
mov eax, dword [ebp - 4]
push 0x19
cdq
pop ecx
idiv ecx
add esi, 0x19
mov dword [ebp - 8], esi
test eax, eax
mov dword [ebp + 0x1c], eax
jle 0x416a6d
mov eax, dword [ebp - 4]
push 0x14
add eax, esi
push eax
push 0
push esi
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov ecx, dword [ebp + 0x14]
cmp ecx, dword [ebp - 0x18]
jne 0x416a3f
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
jmp 0x416a41
xor eax, eax
push ecx
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x28]
push 4
add eax, ecx
push eax
push dword [ebp + 0xc]
mov eax, dword [ebp + 0x18]
push dword [ebp + 8]
lea esi, [ebp - 0x28]
call fcn.0041672f
mov eax, dword [ebp + 0x1c]
imul eax, eax, 0x19
add esp, 0x18
add dword [ebp - 8], eax
mov esi, dword [ebp - 8]
push ebx
push dword [ebp + 0x18]
push 0x4e
push dword [ebp + 0xc]
push 0x14
push 0x19
push 0
push esi
push dword [ebp + 8]
call edi
add esi, 0x19
jmp 0x416af5
mov eax, dword [ebp + 0x1c]
add eax, 0xffffffce
mov dword [ebp + 0x14], eax
cdq
sub eax, edx
push 0x19
sar eax, 1
pop ecx
cmp eax, ecx
mov dword [ebp + 0x1c], eax
jle 0x416aa4
mov dword [ebp + 0x1c], ecx
mov eax, ecx
test eax, eax
jle 0x416af5
push ebx
push dword [ebp + 0x18]
push 0x68
push dword [ebp + 0xc]
push 0x14
push eax
push 0
push esi
push dword [ebp + 8]
call edi
add esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], 0x19
jge 0x416ad5
mov eax, dword [ebp + 0x14]
push 2
cdq
pop ecx
idiv ecx
test edx, edx
je 0x416ad5
inc dword [ebp + 0x1c]
push ebx
push dword [ebp + 0x18]
mov eax, 0x81
sub eax, dword [ebp + 0x1c]
push eax
push dword [ebp + 0xc]
push 0x14
push dword [ebp + 0x1c]
push 0
push esi
push dword [ebp + 8]
call edi
add esi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 0
jle 0x416b45
test byte [ebp - 0xc], 1
je 0x416b19
push ebx
push dword [ebp + 0x18]
push 0x68
push dword [ebp + 0xc]
push 0x14
push 0xd
push 0
push esi
push dword [ebp + 8]
call edi
add esi, 0xd
mov eax, dword [ebp - 0xc]
cdq
sub eax, edx
sar eax, 1
test eax, eax
jle 0x416b45
mov dword [ebp + 0x14], eax
push ebx
push dword [ebp + 0x18]
push 0x68
push dword [ebp + 0xc]
push 0x14
push 0x19
push 0
push esi
push dword [ebp + 8]
call edi
add esi, 0x19
dec dword [ebp + 0x14]
jne 0x416b28
cmp dword [ebp - 0x10], 0
jle 0x416b64
push ebx
push dword [ebp + 0x18]
push 0x68
push dword [ebp + 0xc]
push 0x14
push dword [ebp - 0x10]
push 0
push esi
push dword [ebp + 8]
call edi
add esi, dword [ebp - 0x10]
push ebx
push dword [ebp + 0x18]
push 0x82
push dword [ebp + 0xc]
push 0x14
push 0x19
push 0
push esi
push dword [ebp + 8]
call edi
pop edi
pop esi
pop ebx
leave
ret