Function at 0x140123840
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 [0x1403b8c08]
xor rax, rsp
mov qword [rbp - 0x11], rax
mov eax, dword [0x1403da180]
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 0x1401238b8
or eax, 1
lea rcx, str.msimg32.dll
mov dword [0x1403da180], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x140318fc8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x1401238bf
mov rax, qword [0x1403da178]
test rax, rax
lea rcx, [0x14011f370]
cmove rax, rcx
mov qword [0x1403da178], rax
test rbx, rbx
je 0x140124b21
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 [0x1403da178], rax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x29], rax
je 0x140124245
movzx ecx, byte [rbp + 0x7f]
cmp byte [rbp + 0x77], al
jne 0x140123944
cmp cl, 0xff
jae 0x140124245
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 0x140123d15
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 0x140123d15
cmp byte [rbp + 0x8f], 0
jne 0x140123af6
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 0x140123a39
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 [0x1403da178]
mov rdi, qword [rsp + 0x68]
jmp 0x140123d15
mov ecx, dword [rbp - 0x25]
mov eax, esi
sub eax, r8d
dec eax
add eax, ecx
cdq
idiv esi
test eax, eax
jle 0x140123d11
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 0x140123a80
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 [0x1403da178]
sub qword [rbp - 0x71], 1
je 0x140123ae5
mov ecx, dword [rbp - 0x25]
mov r8d, dword [rbp - 0x2d]
jmp 0x140123a60
mov r12, qword [rbp - 0x59]
mov rsi, rdi
mov rdi, qword [rsp + 0x68]
jmp 0x140123d15
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 0x140123c5c
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 0x140123c4e
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 0x140123b95
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 0x140123c32
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 0x140123bc9
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 [0x1403da178]
sub qword [rbp - 0x49], 1
mov r8d, dword [rbp - 0x29]
mov r10d, dword [rbp - 0x2d]
mov r9d, dword [rbp - 0x31]
jne 0x140123bb0
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 0x140123b70
mov r12, qword [rbp - 0x59]
mov r13, qword [rbp - 0x71]
mov rsi, qword [rbp - 0x79]
mov rdi, qword [rsp + 0x68]
jmp 0x140123d15
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 0x140123c52
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 0x140123c9e
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 [0x1403da178]
sub qword [rbp - 0x69], 1
je 0x140123d06
mov ecx, dword [rbp - 0x29]
mov r8d, dword [rbp - 0x31]
jmp 0x140123c80
mov r12, qword [rbp - 0x59]
mov rdi, qword [rsp + 0x68]
jmp 0x140123d15
mov rsi, qword [rbp - 0x79]
mov edx, dword [r14]
test edx, edx
jle 0x140123da8
mov r8d, dword [r14 + 4]
test r8d, r8d
jle 0x140123da8
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 0x140123da8
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 [0x1403da178]
mov edx, dword [r14 + 4]
test edx, edx
jle 0x140123e4e
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 0x140123e4e
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 [0x1403da178]
mov edx, dword [r14 + 8]
test edx, edx
jle 0x140123ef1
mov r8d, dword [r14 + 4]
test r8d, r8d
jle 0x140123ef1
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 0x140123ef1
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 [0x1403da178]
mov edx, dword [r14]
test edx, edx
jle 0x140123f98
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 0x140123f98
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 [0x1403da178]
mov edx, dword [r14 + 8]
test edx, edx
jle 0x140124045
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 0x140124045
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 [0x1403da178]
mov r8d, dword [r14]
mov rdi, qword [rsp + 0x68]
test r8d, r8d
jle 0x1401240ea
mov r9d, dword [r14 + 0xc]
test r9d, r9d
jle 0x1401240ea
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 0x1401240ea
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 [0x1403da178]
mov edx, dword [r14 + 0xc]
test edx, edx
jle 0x140124191
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 0x140124191
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 [0x1403da178]
mov ecx, dword [r14 + 8]
test ecx, ecx
jle 0x140124b03
mov r9d, dword [r14 + 0xc]
test r9d, r9d
jle 0x140124b03
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 0x140124b03
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 [0x1403da178]
jmp 0x140124b03
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 0x140124301
mov ecx, dword [r15 + 0xc]
mov eax, dword [r12 + 0xc]
sub ecx, dword [r15 + 4]
sub eax, dword [r12 + 4]
cmp eax, ecx
jne 0x140124301
cmp dword [r14], 0
jne 0x140124301
cmp dword [r14 + 8], 0
jne 0x140124301
cmp dword [r14 + 4], 0
jne 0x140124301
cmp dword [r14 + 0xc], 0
jne 0x140124301
mov r8, r12
lea rcx, [rbp - 0x21]
mov rdx, rdi
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x140124b03
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 0x140124b03
cmp byte [rbp + 0x87], 0
jne 0x1401245c1
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 0x1401245c1
cmp byte [rbp + 0x8f], 0
jne 0x14012448c
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 0x1401243da
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 0x1401245bc
mov ecx, dword [rbp - 0x25]
mov eax, edi
sub eax, r8d
dec eax
add eax, ecx
cdq
idiv edi
test eax, eax
jle 0x1401245bc
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 0x140124420
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 0x1401245b8
mov ecx, dword [rbp - 0x25]
mov r8d, dword [rbp - 0x2d]
jmp 0x140124400
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 0x140124b3f
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 0x1401245bc
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 0x14012459c
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 0x140124530
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 0x140124501
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 0x14012465c
mov r8d, dword [r14 + 4]
test r8d, r8d
jle 0x14012465c
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 0x14012465c
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 0x140124706
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 0x140124706
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 0x1401247ad
mov r8d, dword [r14 + 4]
test r8d, r8d
jle 0x1401247ad
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 0x1401247ad
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 0x140124858
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 0x140124858
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 0x140124909
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 0x140124909
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 0x1401249ad
mov r9d, dword [r14 + 0xc]
test r9d, r9d
jle 0x1401249ad
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 0x1401249ad
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 0x140124a57
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 0x140124a57
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 0x140124b03
mov r8d, dword [r14 + 0xc]
test r8d, r8d
jle 0x140124b03
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 0x140124b03
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.140172190
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 0x1401245bc
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 0x140124b7e
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 0x1401245b8
mov ecx, dword [rbp - 0x29]
mov r8d, dword [rbp - 0x31]
jmp 0x140124b60