Function at 0x1400f8820
Capabilities:
Capture screenshot

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf0
mov rax, qword [0x14029e8b8]
xor rax, rsp
mov qword [rbp - 0x11], rax
mov eax, dword [0x1402b9028]
mov rdi, r9
mov r15, qword [rbp + 0x67]
mov r12, r8
mov r14, qword [rbp + 0x6f]
mov rbx, rdx
mov qword [rsp + 0x68], r9
mov rsi, rcx
mov qword [rbp - 0x59], r8
mov qword [rbp - 0x79], rcx
test al, 1
jne 0x1400f8898
or eax, 1
lea rcx, str.msimg32.dll
mov dword [0x1402b9028], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x140218f50]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x1400f889f
mov rax, qword [0x1402b9020]
test rax, rax
lea rcx, [0x1400f4350]
cmove rax, rcx
mov qword [0x1402b9020], rax
test rbx, rbx
je 0x1400f9b01
mov rcx, rsi
mov qword [rsp + 0xe8], r13
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rcx, rax
mov qword [rbp - 0x71], rax
mov rdx, rbx
mov r13, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, 4
mov rcx, rsi
mov qword [rbp - 0x39], rax
call qword [sym.imp.GDI32.dll_SetStretchBltMode]
xor eax, eax
cmp qword [0x1402b9020], rax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x29], rax
je 0x1400f9225
movzx ecx, byte [rbp + 0x7f]
cmp byte [rbp + 0x77], al
jne 0x1400f8924
cmp cl, 0xff
jae 0x1400f9225
mov word [rsp + 0x60], ax
mov byte [rsp + 0x62], cl
mov byte [rsp + 0x63], 1
mov ebx, dword [rsp + 0x60]
cmp byte [rbp + 0x87], al
jne 0x1400f8cf5
mov eax, dword [r14]
lea r8, [rbp - 0x31]
add eax, dword [r12]
lea rcx, [rbp - 0x21]
mov dword [rbp - 0x31], eax
mov rdx, rdi
mov eax, dword [r12 + 4]
add eax, dword [r14 + 4]
mov dword [rbp - 0x2d], eax
mov eax, dword [r12 + 8]
sub eax, dword [r14 + 8]
mov dword [rbp - 0x29], eax
mov eax, dword [r12 + 0xc]
sub eax, dword [r14 + 0xc]
mov dword [rbp - 0x25], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f8cf5
cmp byte [rbp + 0x8f], 0
jne 0x1400f8ad6
mov esi, dword [r15 + 0xc]
sub esi, dword [r14 + 0xc]
mov eax, dword [r14 + 4]
sub esi, eax
sub esi, dword [r15 + 4]
cmp byte [rbp + 0x97], 0
mov r8d, dword [rbp - 0x2d]
jne 0x1400f8a19
mov ecx, dword [r15]
mov r9d, dword [rbp - 0x29]
mov edi, dword [rbp - 0x25]
mov r11d, dword [r15 + 8]
sub edi, r8d
add eax, dword [r15 + 4]
sub r11d, ecx
add ecx, dword [r14]
sub r11d, dword [r14]
sub r11d, dword [r14 + 8]
mov edx, dword [rbp - 0x31]
sub r9d, edx
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], esi
mov rsi, qword [rbp - 0x79]
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov rcx, rsi
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], edi
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], edi
call qword [0x1402b9020]
mov rdi, qword [rsp + 0x68]
jmp 0x1400f8cf5
mov ecx, dword [rbp - 0x25]
mov eax, esi
sub eax, r8d
dec eax
add eax, ecx
cdq
idiv esi
test eax, eax
jle 0x1400f8cf1
mov rdi, qword [rbp - 0x79]
xor r12d, r12d
mov qword [rbp - 0x71], rax
nop dword [rax + rax]
lea eax, [r12 + rsi]
lea r10d, [rax + r8]
lea r11d, [r12 + r8]
mov r8d, esi
lea r12d, [rax]
cmp r10d, ecx
jle 0x1400f8a60
sub r8d, r10d
mov r10d, ecx
add r8d, ecx
mov eax, dword [r15]
sub r10d, r11d
mov ecx, dword [r14 + 4]
add ecx, dword [r15 + 4]
mov r9d, dword [r15 + 8]
mov edx, dword [rbp - 0x31]
sub r9d, eax
sub r9d, dword [r14]
sub r9d, dword [r14 + 8]
add eax, dword [r14]
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], r8d
mov r8d, r11d
mov dword [rsp + 0x40], r9d
mov r9d, dword [rbp - 0x29]
mov dword [rsp + 0x38], ecx
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r10d
call qword [0x1402b9020]
sub qword [rbp - 0x71], 1
je 0x1400f8ac5
mov ecx, dword [rbp - 0x25]
mov r8d, dword [rbp - 0x2d]
jmp 0x1400f8a40
mov r12, qword [rbp - 0x59]
mov rsi, rdi
mov rdi, qword [rsp + 0x68]
jmp 0x1400f8cf5
mov edi, dword [r15 + 8]
sub edi, dword [r14 + 8]
sub edi, dword [r14]
sub edi, dword [r15]
cmp byte [rbp + 0x97], 0
mov eax, edi
je 0x1400f8c3c
mov r9d, dword [rbp - 0x31]
sub eax, r9d
mov r8d, dword [rbp - 0x29]
dec eax
mov esi, dword [r15 + 0xc]
add eax, r8d
sub esi, dword [r14 + 4]
cdq
sub esi, dword [r15 + 4]
sub esi, dword [r14 + 0xc]
mov r11d, dword [rbp - 0x25]
mov ecx, esi
mov r10d, dword [rbp - 0x2d]
sub ecx, r10d
idiv edi
mov dword [rbp - 0x61], esi
mov dword [rbp - 0x41], eax
lea eax, [r11 - 1]
add eax, ecx
cdq
idiv esi
mov ecx, eax
test eax, eax
jle 0x1400f8c2e
xor r12d, r12d
mov qword [rbp - 0x69], rcx
mov eax, r12d
mov edx, ecx
mov dword [rbp - 0x51], eax
nop dword [rax + rax]
lea ecx, [rax + r10]
mov dword [rsp + 0x60], esi
add eax, esi
mov dword [rbp - 0x5d], eax
lea r13d, [rax + r10]
cmp r13d, r11d
jle 0x1400f8b75
mov eax, esi
sub eax, r13d
mov r13d, r11d
add eax, r11d
mov dword [rsp + 0x60], eax
mov eax, dword [rbp - 0x41]
test eax, eax
jle 0x1400f8c12
mov esi, r12d
mov qword [rbp - 0x49], rax
mov r12d, dword [rsp + 0x60]
sub r13d, ecx
nop
lea r11d, [rsi + r9]
mov edx, edi
add esi, edi
add r9d, esi
cmp r9d, r8d
jle 0x1400f8ba9
sub edx, r9d
mov r9d, r8d
add edx, r8d
mov ecx, dword [r14 + 4]
sub r9d, r11d
mov eax, dword [r14]
add ecx, dword [r15 + 4]
add eax, dword [r15]
mov r8d, dword [rbp - 0x51]
mov dword [rsp + 0x50], ebx
add r8d, r10d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x40], edx
mov edx, r11d
mov dword [rsp + 0x38], ecx
mov rcx, qword [rbp - 0x79]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x71]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
call qword [0x1402b9020]
sub qword [rbp - 0x49], 1
mov r8d, dword [rbp - 0x29]
mov r10d, dword [rbp - 0x2d]
mov r9d, dword [rbp - 0x31]
jne 0x1400f8b90
mov r11d, dword [rbp - 0x25]
xor r12d, r12d
mov esi, dword [rbp - 0x61]
mov rdx, qword [rbp - 0x69]
mov eax, dword [rbp - 0x5d]
sub rdx, 1
mov qword [rbp - 0x69], rdx
mov dword [rbp - 0x51], eax
jne 0x1400f8b50
mov r12, qword [rbp - 0x59]
mov r13, qword [rbp - 0x71]
mov rsi, qword [rbp - 0x79]
mov rdi, qword [rsp + 0x68]
jmp 0x1400f8cf5
mov r8d, dword [rbp - 0x31]
sub eax, r8d
mov ecx, dword [rbp - 0x29]
dec eax
add eax, ecx
cdq
idiv edi
test eax, eax
jle 0x1400f8c32
xor r12d, r12d
mov qword [rbp - 0x69], rax
nop dword [rax + rax]
lea eax, [r12 + rdi]
mov edx, edi
lea r9d, [rax + r8]
lea r11d, [r12 + r8]
lea r12d, [rax]
cmp r9d, ecx
jle 0x1400f8c7e
sub edx, r9d
mov r9d, ecx
add edx, ecx
mov ecx, dword [r14 + 4]
sub r9d, r11d
mov eax, dword [r15 + 4]
mov r10d, dword [r15 + 0xc]
sub r10d, eax
mov dword [rsp + 0x50], ebx
sub r10d, ecx
sub r10d, dword [r14 + 0xc]
lea r8d, [rax + rcx]
mov eax, dword [r14]
mov rcx, rsi
add eax, dword [r15]
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], edx
mov edx, r11d
mov dword [rsp + 0x38], r8d
mov r8d, dword [rbp - 0x2d]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x25]
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], eax
call qword [0x1402b9020]
sub qword [rbp - 0x69], 1
je 0x1400f8ce6
mov ecx, dword [rbp - 0x29]
mov r8d, dword [rbp - 0x31]
jmp 0x1400f8c60
mov r12, qword [rbp - 0x59]
mov rdi, qword [rsp + 0x68]
jmp 0x1400f8cf5
mov rsi, qword [rbp - 0x79]
mov edx, dword [r14]
test edx, edx
jle 0x1400f8d88
mov r8d, dword [r14 + 4]
test r8d, r8d
jle 0x1400f8d88
mov ecx, dword [r12 + 4]
mov eax, dword [r12]
mov dword [rbp - 0x31], eax
add eax, edx
mov dword [rbp - 0x29], eax
mov rdx, rdi
lea eax, [rcx + r8]
mov dword [rbp - 0x2d], ecx
lea r8, [rbp - 0x31]
mov dword [rbp - 0x25], eax
lea rcx, [rbp - 0x21]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f8d88
mov ecx, dword [rbp - 0x25]
mov eax, dword [r14 + 4]
mov r9d, dword [rbp - 0x29]
mov r8d, dword [rbp - 0x2d]
sub ecx, r8d
mov edx, dword [rbp - 0x31]
sub r9d, edx
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], eax
mov eax, dword [r14]
mov dword [rsp + 0x40], eax
mov eax, dword [r15 + 4]
mov dword [rsp + 0x38], eax
mov eax, dword [r15]
mov dword [rsp + 0x30], eax
mov dword [rbp - 0x25], ecx
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov dword [rbp - 0x29], r9d
call qword [0x1402b9020]
mov edx, dword [r14 + 4]
test edx, edx
jle 0x1400f8e2e
mov ecx, dword [r12 + 4]
lea r8, [rbp - 0x31]
mov eax, dword [r14]
add eax, dword [r12]
mov dword [rbp - 0x31], eax
mov eax, dword [r12 + 8]
sub eax, dword [r14 + 8]
mov dword [rbp - 0x29], eax
lea eax, [rcx + rdx]
mov dword [rbp - 0x2d], ecx
mov rdx, rdi
lea rcx, [rbp - 0x21]
mov dword [rbp - 0x25], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f8e2e
mov ecx, dword [r14]
mov eax, dword [r14 + 4]
mov r9d, dword [rbp - 0x29]
mov r11d, dword [rbp - 0x25]
mov r10d, dword [r15 + 8]
sub r10d, dword [r15]
mov edx, dword [rbp - 0x31]
sub r10d, ecx
add ecx, dword [r15]
sub r9d, edx
sub r10d, dword [r14 + 8]
mov r8d, dword [rbp - 0x2d]
sub r11d, r8d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], eax
mov eax, dword [r15 + 4]
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov rcx, rsi
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r11d
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], r11d
call qword [0x1402b9020]
mov edx, dword [r14 + 8]
test edx, edx
jle 0x1400f8ed1
mov r8d, dword [r14 + 4]
test r8d, r8d
jle 0x1400f8ed1
mov ecx, dword [r12 + 8]
mov eax, ecx
sub eax, edx
mov dword [rbp - 0x29], ecx
mov dword [rbp - 0x31], eax
lea rcx, [rbp - 0x21]
mov eax, dword [r12 + 4]
mov rdx, rdi
mov dword [rbp - 0x2d], eax
add eax, r8d
lea r8, [rbp - 0x31]
mov dword [rbp - 0x25], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f8ed1
mov ecx, dword [r14 + 8]
mov eax, dword [r14 + 4]
mov r9d, dword [rbp - 0x29]
mov r11d, dword [rbp - 0x25]
mov r10d, dword [r15 + 8]
mov edx, dword [rbp - 0x31]
sub r10d, ecx
mov r8d, dword [rbp - 0x2d]
sub r9d, edx
mov dword [rsp + 0x50], ebx
sub r11d, r8d
mov dword [rsp + 0x48], eax
mov eax, dword [r15 + 4]
mov dword [rsp + 0x40], ecx
mov rcx, rsi
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r10d
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r11d
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], r11d
call qword [0x1402b9020]
mov edx, dword [r14]
test edx, edx
jle 0x1400f8f78
mov ecx, dword [r12]
lea r8, [rbp - 0x31]
mov eax, dword [r12 + 4]
add eax, dword [r14 + 4]
mov dword [rbp - 0x2d], eax
lea eax, [rcx + rdx]
mov dword [rbp - 0x31], ecx
mov dword [rbp - 0x29], eax
lea rcx, [rbp - 0x21]
mov eax, dword [r12 + 0xc]
mov rdx, rdi
sub eax, dword [r14 + 0xc]
mov dword [rbp - 0x25], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f8f78
mov ecx, dword [r14 + 4]
mov eax, dword [r14]
mov r9d, dword [rbp - 0x29]
mov r11d, dword [rbp - 0x25]
mov r10d, dword [r15 + 0xc]
sub r10d, dword [r15 + 4]
mov edx, dword [rbp - 0x31]
sub r10d, ecx
add ecx, dword [r15 + 4]
sub r9d, edx
sub r10d, dword [r14 + 0xc]
mov r8d, dword [rbp - 0x2d]
sub r11d, r8d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], eax
mov eax, dword [r15]
mov dword [rsp + 0x38], ecx
mov rcx, rsi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r11d
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], r11d
call qword [0x1402b9020]
mov edx, dword [r14 + 8]
test edx, edx
jle 0x1400f9025
mov ecx, dword [r12 + 8]
lea r8, [rbp - 0x31]
mov eax, ecx
mov dword [rbp - 0x29], ecx
sub eax, edx
lea rcx, [rbp - 0x21]
mov dword [rbp - 0x31], eax
mov rdx, rdi
mov eax, dword [r12 + 4]
add eax, dword [r14 + 4]
mov dword [rbp - 0x2d], eax
mov eax, dword [r12 + 0xc]
sub eax, dword [r14 + 0xc]
mov dword [rbp - 0x25], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f9025
mov eax, dword [r15 + 4]
mov ecx, dword [r15 + 8]
mov r11d, dword [r14 + 8]
sub ecx, r11d
mov r9d, dword [rbp - 0x29]
mov edi, dword [rbp - 0x25]
mov r10d, dword [r15 + 0xc]
mov edx, dword [rbp - 0x31]
sub r10d, eax
sub r10d, dword [r14 + 4]
sub r9d, edx
sub r10d, dword [r14 + 0xc]
add eax, dword [r14 + 4]
mov r8d, dword [rbp - 0x2d]
sub edi, r8d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov rcx, rsi
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], edi
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], edi
call qword [0x1402b9020]
mov r8d, dword [r14]
mov rdi, qword [rsp + 0x68]
test r8d, r8d
jle 0x1400f90ca
mov r9d, dword [r14 + 0xc]
test r9d, r9d
jle 0x1400f90ca
mov edx, dword [r12 + 0xc]
mov eax, edx
mov ecx, dword [r12]
sub eax, r9d
mov dword [rbp - 0x2d], eax
mov dword [rbp - 0x31], ecx
mov dword [rbp - 0x25], edx
mov rdx, rdi
lea eax, [rcx + r8]
lea r8, [rbp - 0x31]
mov dword [rbp - 0x29], eax
lea rcx, [rbp - 0x21]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f90ca
mov eax, dword [r14 + 0xc]
mov ecx, dword [r15 + 0xc]
mov r9d, dword [rbp - 0x29]
sub ecx, eax
mov r10d, dword [rbp - 0x25]
mov edx, dword [rbp - 0x31]
sub r9d, edx
mov r8d, dword [rbp - 0x2d]
sub r10d, r8d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], eax
mov eax, dword [r14]
mov dword [rsp + 0x40], eax
mov eax, dword [r15]
mov dword [rsp + 0x38], ecx
mov rcx, rsi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r10d
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], r10d
call qword [0x1402b9020]
mov edx, dword [r14 + 0xc]
test edx, edx
jle 0x1400f9171
mov ecx, dword [r12 + 0xc]
lea r8, [rbp - 0x31]
mov eax, dword [r14]
add eax, dword [r12]
mov dword [rbp - 0x31], eax
mov eax, ecx
sub eax, edx
mov dword [rbp - 0x25], ecx
mov dword [rbp - 0x2d], eax
lea rcx, [rbp - 0x21]
mov eax, dword [r12 + 8]
mov rdx, rdi
sub eax, dword [r14 + 8]
mov dword [rbp - 0x29], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f9171
mov eax, dword [r15]
mov ecx, dword [r15 + 0xc]
mov edi, dword [r14 + 0xc]
sub ecx, edi
mov r9d, dword [rbp - 0x29]
mov esi, dword [rbp - 0x25]
mov r11d, dword [r15 + 8]
mov edx, dword [rbp - 0x31]
sub r11d, eax
sub r11d, dword [r14]
sub r9d, edx
sub r11d, dword [r14 + 8]
add eax, dword [r14]
mov r8d, dword [rbp - 0x2d]
sub esi, r8d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], ecx
mov rcx, qword [rbp - 0x79]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], esi
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], esi
call qword [0x1402b9020]
mov ecx, dword [r14 + 8]
test ecx, ecx
jle 0x1400f9ae3
mov r9d, dword [r14 + 0xc]
test r9d, r9d
jle 0x1400f9ae3
mov r8d, dword [r12 + 8]
mov eax, r8d
mov rdx, qword [rsp + 0x68]
sub eax, ecx
mov ecx, dword [r12 + 0xc]
mov dword [rbp - 0x31], eax
mov eax, ecx
sub eax, r9d
mov dword [rbp - 0x29], r8d
mov dword [rbp - 0x25], ecx
lea r8, [rbp - 0x31]
lea rcx, [rbp - 0x21]
mov dword [rbp - 0x2d], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f9ae3
mov r10d, dword [r14 + 0xc]
mov r11d, dword [r14 + 8]
mov r9d, dword [rbp - 0x29]
mov esi, dword [rbp - 0x25]
mov edi, dword [r15 + 0xc]
mov eax, dword [r15 + 8]
sub edi, r10d
mov edx, dword [rbp - 0x31]
sub eax, r11d
mov r8d, dword [rbp - 0x2d]
sub r9d, edx
mov rcx, qword [rbp - 0x79]
sub esi, r8d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], esi
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], esi
call qword [0x1402b9020]
jmp 0x1400f9ae3
mov edx, dword [r12 + 8]
mov ecx, edx
mov eax, dword [r15 + 8]
mov r8d, dword [r12]
sub ecx, r8d
sub eax, dword [r15]
cmp ecx, eax
jne 0x1400f92e1
mov ecx, dword [r15 + 0xc]
mov eax, dword [r12 + 0xc]
sub ecx, dword [r15 + 4]
sub eax, dword [r12 + 4]
cmp eax, ecx
jne 0x1400f92e1
cmp dword [r14], 0
jne 0x1400f92e1
cmp dword [r14 + 8], 0
jne 0x1400f92e1
cmp dword [r14 + 4], 0
jne 0x1400f92e1
cmp dword [r14 + 0xc], 0
jne 0x1400f92e1
mov r8, r12
lea rcx, [rbp - 0x21]
mov rdx, rdi
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f9ae3
mov ecx, dword [r15]
mov r8d, dword [rbp - 0x1d]
sub ecx, dword [r12]
mov rdx, qword [rbp - 0x21]
mov r10d, dword [r15 + 4]
add ecx, edx
sub r10d, dword [r12 + 4]
mov eax, dword [rbp - 0x15]
add r10d, r8d
mov r9d, dword [rbp - 0x19]
sub eax, r8d
mov dword [rsp + 0x40], 0xcc0020
sub r9d, edx
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], ecx
mov rcx, rsi
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_BitBlt]
jmp 0x1400f9ae3
cmp byte [rbp + 0x87], 0
jne 0x1400f95a1
mov ecx, dword [r14]
sub edx, dword [r14 + 8]
add ecx, r8d
mov eax, dword [r12 + 4]
lea r8, [rbp - 0x31]
add eax, dword [r14 + 4]
mov dword [rbp - 0x2d], eax
mov eax, dword [r12 + 0xc]
sub eax, dword [r14 + 0xc]
mov dword [rbp - 0x31], ecx
lea rcx, [rbp - 0x21]
mov dword [rbp - 0x29], edx
mov rdx, rdi
mov dword [rbp - 0x25], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f95a1
cmp byte [rbp + 0x8f], 0
jne 0x1400f946c
mov edi, dword [r15 + 0xc]
mov eax, dword [r14 + 4]
sub edi, eax
sub edi, dword [r15 + 4]
sub edi, dword [r14 + 0xc]
cmp byte [rbp + 0x97], 0
mov r8d, dword [rbp - 0x2d]
jne 0x1400f93ba
mov ecx, dword [r15]
mov r9d, dword [rbp - 0x29]
mov ebx, dword [rbp - 0x25]
mov r11d, dword [r15 + 8]
sub ebx, r8d
add eax, dword [r15 + 4]
sub r11d, ecx
add ecx, dword [r14]
sub r11d, dword [r14]
sub r11d, dword [r14 + 8]
mov edx, dword [rbp - 0x31]
sub r9d, edx
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov rcx, rsi
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], ebx
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], ebx
call qword [sym.imp.GDI32.dll_StretchBlt]
jmp 0x1400f959c
mov ecx, dword [rbp - 0x25]
mov eax, edi
sub eax, r8d
dec eax
add eax, ecx
cdq
idiv edi
test eax, eax
jle 0x1400f959c
xor r12d, r12d
mov ebx, eax
nop word [rax + rax]
lea eax, [r12 + rdi]
lea r10d, [rax + r8]
lea r11d, [r12 + r8]
mov r8d, edi
lea r12d, [rax]
cmp r10d, ecx
jle 0x1400f9400
sub r8d, r10d
mov r10d, ecx
add r8d, ecx
mov eax, dword [r15]
sub r10d, r11d
mov ecx, dword [r14 + 4]
add ecx, dword [r15 + 4]
mov r9d, dword [r15 + 8]
mov edx, dword [rbp - 0x31]
sub r9d, eax
sub r9d, dword [r14]
sub r9d, dword [r14 + 8]
add eax, dword [r14]
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], r8d
mov r8d, r11d
mov dword [rsp + 0x40], r9d
mov r9d, dword [rbp - 0x29]
mov dword [rsp + 0x38], ecx
mov rcx, rsi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r10d
call qword [sym.imp.GDI32.dll_StretchBlt]
sub rbx, 1
je 0x1400f9598
mov ecx, dword [rbp - 0x25]
mov r8d, dword [rbp - 0x2d]
jmp 0x1400f93e0
mov edi, dword [r15 + 8]
sub edi, dword [r14 + 8]
sub edi, dword [r14]
sub edi, dword [r15]
cmp byte [rbp + 0x97], 0
mov eax, edi
je 0x1400f9b1f
mov r9d, dword [rbp - 0x31]
sub eax, r9d
mov r10d, dword [rbp - 0x29]
dec eax
mov ebx, dword [r15 + 0xc]
add eax, r10d
sub ebx, dword [r14 + 4]
cdq
sub ebx, dword [r15 + 4]
sub ebx, dword [r14 + 0xc]
mov r11d, dword [rbp - 0x25]
mov ecx, ebx
mov r8d, dword [rbp - 0x2d]
sub ecx, r8d
idiv edi
mov dword [rbp - 0x61], ebx
mov dword [rsp + 0x60], eax
lea eax, [r11 - 1]
add eax, ecx
cdq
idiv ebx
test eax, eax
jle 0x1400f959c
mov esi, dword [rsp + 0x60]
xor r12d, r12d
mov edx, eax
mov r13d, r12d
mov qword [rbp - 0x49], rdx
lea ecx, [rbx + r13]
lea ebx, [rcx + r8]
mov dword [rbp - 0x5d], ecx
cmp ebx, r11d
lea eax, [r8 + r13]
cmovg ebx, r11d
test esi, esi
jle 0x1400f957c
sub ebx, eax
mov esi, r12d
mov eax, dword [rsp + 0x60]
mov r12, qword [rbp - 0x71]
mov qword [rbp - 0x69], rax
mov ecx, dword [r14 + 4]
lea edx, [rsi + r9]
mov eax, dword [r14]
add esi, edi
add r9d, esi
mov dword [rsp + 0x40], 0xcc0020
cmp r9d, r10d
cmovg r9d, r10d
add ecx, dword [r15 + 4]
add eax, dword [r15]
sub r9d, edx
mov dword [rsp + 0x38], ecx
add r8d, r13d
mov rcx, qword [rbp - 0x79]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], ebx
call qword [sym.imp.GDI32.dll_BitBlt]
sub qword [rbp - 0x69], 1
mov r10d, dword [rbp - 0x29]
mov r8d, dword [rbp - 0x2d]
mov r9d, dword [rbp - 0x31]
jne 0x1400f9510
mov r11d, dword [rbp - 0x25]
xor r12d, r12d
mov ecx, dword [rbp - 0x5d]
mov rdx, qword [rbp - 0x49]
mov esi, dword [rsp + 0x60]
mov ebx, dword [rbp - 0x61]
sub rdx, 1
mov qword [rbp - 0x49], rdx
mov r13d, ecx
jne 0x1400f94e1
mov r13, qword [rbp - 0x71]
mov rsi, qword [rbp - 0x79]
mov r12, qword [rbp - 0x59]
mov rdi, qword [rsp + 0x68]
mov edx, dword [r14]
test edx, edx
jle 0x1400f963c
mov r8d, dword [r14 + 4]
test r8d, r8d
jle 0x1400f963c
mov ecx, dword [r12 + 4]
mov eax, dword [r12]
mov dword [rbp - 0x31], eax
add eax, edx
mov dword [rbp - 0x29], eax
mov rdx, rdi
lea eax, [rcx + r8]
mov dword [rbp - 0x2d], ecx
lea r8, [rbp - 0x31]
mov dword [rbp - 0x25], eax
lea rcx, [rbp - 0x21]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f963c
mov ecx, dword [rbp - 0x25]
mov eax, dword [r14 + 4]
mov r9d, dword [rbp - 0x29]
mov r8d, dword [rbp - 0x2d]
sub ecx, r8d
mov edx, dword [rbp - 0x31]
sub r9d, edx
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], eax
mov eax, dword [r14]
mov dword [rsp + 0x40], eax
mov eax, dword [r15 + 4]
mov dword [rsp + 0x38], eax
mov eax, dword [r15]
mov dword [rsp + 0x30], eax
mov dword [rbp - 0x25], ecx
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov dword [rbp - 0x29], r9d
call qword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [r14 + 4]
test edx, edx
jle 0x1400f96e6
mov ecx, dword [r12 + 4]
lea r8, [rbp - 0x31]
mov eax, dword [r14]
add eax, dword [r12]
mov dword [rbp - 0x31], eax
mov eax, dword [r12 + 8]
sub eax, dword [r14 + 8]
mov dword [rbp - 0x29], eax
lea eax, [rcx + rdx]
mov dword [rbp - 0x2d], ecx
mov rdx, rdi
lea rcx, [rbp - 0x21]
mov dword [rbp - 0x25], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f96e6
mov ecx, dword [r14]
mov eax, dword [r14 + 4]
mov r9d, dword [rbp - 0x29]
mov r11d, dword [rbp - 0x25]
mov r10d, dword [r15 + 8]
sub r10d, dword [r15]
mov edx, dword [rbp - 0x31]
sub r10d, ecx
add ecx, dword [r15]
sub r9d, edx
sub r10d, dword [r14 + 8]
mov r8d, dword [rbp - 0x2d]
sub r11d, r8d
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], eax
mov eax, dword [r15 + 4]
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov rcx, rsi
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r11d
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], r11d
call qword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [r14 + 8]
test edx, edx
jle 0x1400f978d
mov r8d, dword [r14 + 4]
test r8d, r8d
jle 0x1400f978d
mov ecx, dword [r12 + 8]
mov eax, ecx
sub eax, edx
mov dword [rbp - 0x29], ecx
mov dword [rbp - 0x31], eax
lea rcx, [rbp - 0x21]
mov eax, dword [r12 + 4]
mov rdx, rdi
mov dword [rbp - 0x2d], eax
add eax, r8d
lea r8, [rbp - 0x31]
mov dword [rbp - 0x25], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f978d
mov ecx, dword [r14 + 8]
mov eax, dword [r14 + 4]
mov r9d, dword [rbp - 0x29]
mov r11d, dword [rbp - 0x25]
mov r10d, dword [r15 + 8]
mov edx, dword [rbp - 0x31]
sub r10d, ecx
mov r8d, dword [rbp - 0x2d]
sub r9d, edx
mov dword [rsp + 0x50], 0xcc0020
sub r11d, r8d
mov dword [rsp + 0x48], eax
mov eax, dword [r15 + 4]
mov dword [rsp + 0x40], ecx
mov rcx, rsi
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r10d
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r11d
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], r11d
call qword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [r14]
test edx, edx
jle 0x1400f9838
mov ecx, dword [r12]
lea r8, [rbp - 0x31]
mov eax, dword [r12 + 4]
add eax, dword [r14 + 4]
mov dword [rbp - 0x2d], eax
lea eax, [rcx + rdx]
mov dword [rbp - 0x31], ecx
mov dword [rbp - 0x29], eax
lea rcx, [rbp - 0x21]
mov eax, dword [r12 + 0xc]
mov rdx, rdi
sub eax, dword [r14 + 0xc]
mov dword [rbp - 0x25], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f9838
mov ecx, dword [r14 + 4]
mov eax, dword [r14]
mov r9d, dword [rbp - 0x29]
mov r11d, dword [rbp - 0x25]
mov r10d, dword [r15 + 0xc]
sub r10d, dword [r15 + 4]
mov edx, dword [rbp - 0x31]
sub r10d, ecx
add ecx, dword [r15 + 4]
sub r9d, edx
sub r10d, dword [r14 + 0xc]
mov r8d, dword [rbp - 0x2d]
sub r11d, r8d
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], eax
mov eax, dword [r15]
mov dword [rsp + 0x38], ecx
mov rcx, rsi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r11d
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], r11d
call qword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [r14 + 8]
test edx, edx
jle 0x1400f98e9
mov ecx, dword [r12 + 8]
lea r8, [rbp - 0x31]
mov eax, ecx
mov dword [rbp - 0x29], ecx
sub eax, edx
lea rcx, [rbp - 0x21]
mov dword [rbp - 0x31], eax
mov rdx, rdi
mov eax, dword [r12 + 4]
add eax, dword [r14 + 4]
mov dword [rbp - 0x2d], eax
mov eax, dword [r12 + 0xc]
sub eax, dword [r14 + 0xc]
mov dword [rbp - 0x25], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f98e9
mov eax, dword [r15 + 4]
mov ecx, dword [r15 + 8]
mov r11d, dword [r14 + 8]
sub ecx, r11d
mov r9d, dword [rbp - 0x29]
mov ebx, dword [rbp - 0x25]
mov r10d, dword [r15 + 0xc]
mov edx, dword [rbp - 0x31]
sub r10d, eax
sub r10d, dword [r14 + 4]
sub r9d, edx
sub r10d, dword [r14 + 0xc]
add eax, dword [r14 + 4]
mov r8d, dword [rbp - 0x2d]
sub ebx, r8d
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov rcx, rsi
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], ebx
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], ebx
call qword [sym.imp.GDI32.dll_StretchBlt]
mov r8d, dword [r14]
test r8d, r8d
jle 0x1400f998d
mov r9d, dword [r14 + 0xc]
test r9d, r9d
jle 0x1400f998d
mov edx, dword [r12 + 0xc]
mov eax, edx
mov ecx, dword [r12]
sub eax, r9d
mov dword [rbp - 0x2d], eax
mov dword [rbp - 0x31], ecx
mov dword [rbp - 0x25], edx
mov rdx, rdi
lea eax, [rcx + r8]
lea r8, [rbp - 0x31]
mov dword [rbp - 0x29], eax
lea rcx, [rbp - 0x21]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f998d
mov eax, dword [r14 + 0xc]
mov ecx, dword [r15 + 0xc]
mov r9d, dword [rbp - 0x29]
sub ecx, eax
mov r10d, dword [rbp - 0x25]
mov edx, dword [rbp - 0x31]
sub r9d, edx
mov r8d, dword [rbp - 0x2d]
sub r10d, r8d
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], eax
mov eax, dword [r14]
mov dword [rsp + 0x40], eax
mov eax, dword [r15]
mov dword [rsp + 0x38], ecx
mov rcx, rsi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r10d
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], r10d
call qword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [r14 + 0xc]
test edx, edx
jle 0x1400f9a37
mov ecx, dword [r12 + 0xc]
lea r8, [rbp - 0x31]
mov eax, dword [r14]
add eax, dword [r12]
mov dword [rbp - 0x31], eax
mov eax, ecx
sub eax, edx
mov dword [rbp - 0x25], ecx
mov dword [rbp - 0x2d], eax
lea rcx, [rbp - 0x21]
mov eax, dword [r12 + 8]
mov rdx, rdi
sub eax, dword [r14 + 8]
mov dword [rbp - 0x29], eax
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f9a37
mov eax, dword [r15]
mov ecx, dword [r15 + 0xc]
mov ebx, dword [r14 + 0xc]
sub ecx, ebx
mov r9d, dword [rbp - 0x29]
mov edi, dword [rbp - 0x25]
mov r11d, dword [r15 + 8]
mov edx, dword [rbp - 0x31]
sub r11d, eax
sub r11d, dword [r14]
sub r9d, edx
sub r11d, dword [r14 + 8]
add eax, dword [r14]
mov r8d, dword [rbp - 0x2d]
sub edi, r8d
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], ecx
mov rcx, rsi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], edi
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], edi
call qword [sym.imp.GDI32.dll_StretchBlt]
mov ecx, dword [r14 + 8]
test ecx, ecx
jle 0x1400f9ae3
mov r8d, dword [r14 + 0xc]
test r8d, r8d
jle 0x1400f9ae3
mov edx, dword [r12 + 8]
mov eax, edx
sub eax, ecx
mov dword [rbp - 0x29], edx
mov ecx, dword [r12 + 0xc]
mov rdx, qword [rsp + 0x68]
mov dword [rbp - 0x31], eax
mov eax, ecx
sub eax, r8d
mov dword [rbp - 0x25], ecx
lea r8, [rbp - 0x31]
mov dword [rbp - 0x2d], eax
lea rcx, [rbp - 0x21]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400f9ae3
mov ecx, dword [r14 + 0xc]
mov r10d, dword [r14 + 8]
mov r9d, dword [rbp - 0x29]
mov ebx, dword [rbp - 0x25]
mov r11d, dword [r15 + 0xc]
mov eax, dword [r15 + 8]
sub r11d, ecx
mov edx, dword [rbp - 0x31]
sub eax, r10d
mov r8d, dword [rbp - 0x2d]
sub r9d, edx
mov dword [rsp + 0x50], 0xcc0020
sub ebx, r8d
mov dword [rsp + 0x48], ecx
mov rcx, rsi
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], ebx
mov dword [rbp - 0x29], r9d
mov dword [rbp - 0x25], ebx
call qword [sym.imp.GDI32.dll_StretchBlt]
mov rdx, qword [rbp - 0x39]
mov rcx, r13
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r13
call qword [sym.imp.GDI32.dll_DeleteDC]
mov r13, qword [rsp + 0xe8]
mov rcx, qword [rbp - 0x11]
xor rcx, rsp
call fcn.140160a40
add rsp, 0xf0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r8d, dword [rbp - 0x31]
sub eax, r8d
mov ecx, dword [rbp - 0x29]
dec eax
add eax, ecx
cdq
idiv edi
test eax, eax
jle 0x1400f959c
xor r12d, r12d
mov ebx, eax
nop dword [rax]
lea eax, [r12 + rdi]
mov edx, edi
lea r9d, [rax + r8]
lea r11d, [r12 + r8]
lea r12d, [rax]
cmp r9d, ecx
jle 0x1400f9b5e
sub edx, r9d
mov r9d, ecx
add edx, ecx
mov ecx, dword [r14 + 4]
sub r9d, r11d
mov eax, dword [r15 + 4]
mov r10d, dword [r15 + 0xc]
sub r10d, eax
mov dword [rsp + 0x50], 0xcc0020
sub r10d, ecx
sub r10d, dword [r14 + 0xc]
lea r8d, [rax + rcx]
mov eax, dword [r14]
mov rcx, rsi
add eax, dword [r15]
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], edx
mov edx, r11d
mov dword [rsp + 0x38], r8d
mov r8d, dword [rbp - 0x2d]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x25]
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_StretchBlt]
sub rbx, 1
je 0x1400f9598
mov ecx, dword [rbp - 0x29]
mov r8d, dword [rbp - 0x31]
jmp 0x1400f9b40