Function at 0x140124bf0
Capabilities:
Capture screenshot

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov qword [rbp - 0x40], 0xfffffffffffffffe
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov qword [rsp + 0x70], r9
mov rsi, r8
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x78], rdx
mov r13, rcx
mov r15, qword [rbp + 0xc0]
mov r14, qword [rbp + 0xc8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r12, rax
xor edi, edi
mov qword [rbp - 0x58], rdi
mov qword [rsp + 0x68], rdi
lea rcx, [rbp - 0x50]
call fcn.14015a270
nop
lea rax, [fcn.14015a3b0]
mov qword [rsp + 0x20], rax
lea r9, [fcn.14015a270]
lea edx, [rdi + 8]
lea r8d, [rdi + 9]
lea rcx, [rbp - 0x10]
call fcn.140172324
nop
movzx ebx, byte [rbp + 0xd8]
cmp dword [rbp + 0xf8], edi
je 0x140124ca0
cmp byte [rbp + 0xd0], dil
jne 0x140124cb1
cmp bl, 0xff
jb 0x140124cb1
mov rdx, qword [rbp - 0x78]
mov rcx, r12
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rbp - 0x58], rax
mov edx, 4
mov rcx, r13
call qword [sym.imp.GDI32.dll_SetStretchBltMode]
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
cmp byte [rbp + 0xd0], al
jne 0x140125647
cmp bl, 0xff
jb 0x140125647
mov edx, dword [rsi + 8]
mov r8d, dword [rsi]
mov ecx, edx
sub ecx, r8d
mov eax, dword [r15 + 8]
sub eax, dword [r15]
cmp ecx, eax
jne 0x140124da2
mov ecx, dword [r15 + 0xc]
sub ecx, dword [r15 + 4]
mov eax, dword [rsi + 0xc]
sub eax, dword [rsi + 4]
cmp eax, ecx
jne 0x140124da2
cmp dword [r14], 0
jne 0x140124da2
cmp dword [r14 + 8], 0
jne 0x140124da2
cmp dword [r14 + 4], 0
jne 0x140124da2
cmp dword [r14 + 0xc], 0
jne 0x140124da2
mov r8, rsi
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x140126361
mov r11d, dword [r15 + 4]
sub r11d, dword [rsi + 4]
mov r8d, dword [rbp - 0x24]
add r11d, r8d
mov edx, dword [r15]
sub edx, dword [rsi]
mov r10, qword [rbp - 0x28]
add edx, r10d
mov eax, dword [rbp - 0x1c]
sub eax, r8d
mov r9d, dword [rbp - 0x20]
sub r9d, r10d
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
mov edx, r10d
mov rcx, r13
call qword [sym.imp.GDI32.dll_BitBlt]
jmp 0x140126361
cmp byte [rbp + 0xe0], 0
jne 0x140124e7e
mov ecx, dword [r14]
add ecx, r8d
mov dword [rbp - 0x38], ecx
mov eax, dword [rsi + 4]
add eax, dword [r14 + 4]
mov dword [rbp - 0x34], eax
sub edx, dword [r14 + 8]
mov dword [rbp - 0x30], edx
mov eax, dword [rsi + 0xc]
sub eax, dword [r14 + 0xc]
mov dword [rbp - 0x2c], eax
lea r8, [rbp - 0x38]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x140124e7e
cmp byte [rbp + 0xe8], 0
jne 0x140125469
mov r8d, dword [rbp - 0x34]
cmp byte [rbp + 0xf0], 0
jne 0x1401253a7
mov r9d, dword [rbp - 0x30]
sub r9d, dword [rbp - 0x38]
mov dword [rbp - 0x30], r9d
mov edi, dword [rbp - 0x2c]
sub edi, r8d
mov dword [rbp - 0x2c], edi
mov eax, dword [r15 + 4]
mov ecx, dword [r14]
mov r10d, dword [r15 + 0xc]
sub r10d, dword [r14 + 0xc]
sub r10d, eax
sub r10d, dword [r14 + 4]
mov edx, dword [r15 + 8]
sub edx, dword [r14 + 8]
sub edx, ecx
sub edx, dword [r15]
add eax, dword [r14 + 4]
add ecx, dword [r15]
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edi
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.GDI32.dll_StretchBlt]
mov rsi, qword [rsp + 0x78]
mov edx, dword [r14]
mov rdi, qword [rsp + 0x70]
test edx, edx
jle 0x140124f16
mov r8d, dword [r14 + 4]
test r8d, r8d
jle 0x140124f16
mov eax, dword [rsi]
mov dword [rbp - 0x38], eax
mov ecx, dword [rsi + 4]
mov dword [rbp - 0x34], ecx
add eax, edx
mov dword [rbp - 0x30], eax
lea eax, [r8 + rcx]
mov dword [rbp - 0x2c], eax
lea r8, [rbp - 0x38]
mov rdx, rdi
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x140124f16
mov r9d, dword [rbp - 0x30]
mov edx, dword [rbp - 0x38]
sub r9d, edx
mov dword [rbp - 0x30], r9d
mov ecx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub ecx, r8d
mov dword [rbp - 0x2c], ecx
mov dword [rsp + 0x50], 0xcc0020
mov eax, dword [r14 + 4]
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 qword [rsp + 0x28], r12
mov dword [rsp + 0x20], ecx
mov rcx, r13
call qword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [r14 + 4]
test edx, edx
jle 0x140124fb9
mov eax, dword [rsi]
add eax, dword [r14]
mov dword [rbp - 0x38], eax
mov ecx, dword [rsi + 4]
mov dword [rbp - 0x34], ecx
mov eax, dword [rsi + 8]
sub eax, dword [r14 + 8]
mov dword [rbp - 0x30], eax
lea eax, [rdx + rcx]
mov dword [rbp - 0x2c], eax
lea r8, [rbp - 0x38]
mov rdx, rdi
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x140124fb9
mov r9d, dword [rbp - 0x30]
sub r9d, dword [rbp - 0x38]
mov dword [rbp - 0x30], r9d
mov r10d, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub r10d, r8d
mov dword [rbp - 0x2c], r10d
mov ecx, dword [r15]
mov edx, dword [r15 + 8]
sub edx, dword [r14 + 8]
sub edx, dword [r14]
sub edx, ecx
add ecx, dword [r14]
mov dword [rsp + 0x50], 0xcc0020
mov eax, dword [r14 + 4]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], edx
mov eax, dword [r15 + 4]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r10d
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.GDI32.dll_StretchBlt]
mov r8d, dword [r14 + 8]
test r8d, r8d
jle 0x14012505b
mov edx, dword [r14 + 4]
test edx, edx
jle 0x14012505b
mov ecx, dword [rsi + 8]
mov eax, ecx
sub eax, r8d
mov dword [rbp - 0x38], eax
mov eax, dword [rsi + 4]
mov dword [rbp - 0x34], eax
mov dword [rbp - 0x30], ecx
add eax, edx
mov dword [rbp - 0x2c], eax
lea r8, [rbp - 0x38]
mov rdx, rdi
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x14012505b
mov r9d, dword [rbp - 0x30]
sub r9d, dword [rbp - 0x38]
mov dword [rbp - 0x30], r9d
mov r10d, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub r10d, r8d
mov dword [rbp - 0x2c], r10d
mov ecx, dword [r14 + 8]
mov edx, dword [r15 + 8]
sub edx, ecx
mov dword [rsp + 0x50], 0xcc0020
mov eax, dword [r14 + 4]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ecx
mov eax, dword [r15 + 4]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r10d
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [r14]
test edx, edx
jle 0x1401250ff
mov ecx, dword [rsi]
mov dword [rbp - 0x38], ecx
mov eax, dword [rsi + 4]
add eax, dword [r14 + 4]
mov dword [rbp - 0x34], eax
lea eax, [rdx + rcx]
mov dword [rbp - 0x30], eax
mov eax, dword [rsi + 0xc]
sub eax, dword [r14 + 0xc]
mov dword [rbp - 0x2c], eax
lea r8, [rbp - 0x38]
mov rdx, rdi
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1401250ff
mov r9d, dword [rbp - 0x30]
sub r9d, dword [rbp - 0x38]
mov dword [rbp - 0x30], r9d
mov r10d, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub r10d, r8d
mov dword [rbp - 0x2c], r10d
mov ecx, dword [r14 + 4]
mov edx, dword [r15 + 0xc]
sub edx, dword [r15 + 4]
sub edx, ecx
sub edx, dword [r14 + 0xc]
add ecx, dword [r15 + 4]
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], edx
mov eax, dword [r14]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], ecx
mov eax, dword [r15]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r10d
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [r14 + 8]
test edx, edx
jle 0x1401251ac
mov ecx, dword [rsi + 8]
mov eax, ecx
sub eax, edx
mov dword [rbp - 0x38], eax
mov eax, dword [rsi + 4]
add eax, dword [r14 + 4]
mov dword [rbp - 0x34], eax
mov dword [rbp - 0x30], ecx
mov eax, dword [rsi + 0xc]
sub eax, dword [r14 + 0xc]
mov dword [rbp - 0x2c], eax
lea r8, [rbp - 0x38]
mov rdx, rdi
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1401251ac
mov r9d, dword [rbp - 0x30]
sub r9d, dword [rbp - 0x38]
mov dword [rbp - 0x30], r9d
mov r11d, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub r11d, r8d
mov dword [rbp - 0x2c], r11d
mov eax, dword [r15 + 4]
mov r10d, dword [r14 + 8]
mov edx, dword [r15 + 0xc]
sub edx, eax
sub edx, dword [r14 + 4]
sub edx, dword [r14 + 0xc]
add eax, dword [r14 + 4]
mov ecx, dword [r15 + 8]
sub ecx, r10d
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r11d
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.GDI32.dll_StretchBlt]
mov r8d, dword [r14]
test r8d, r8d
jle 0x14012524a
mov r9d, dword [r14 + 0xc]
test r9d, r9d
jle 0x14012524a
mov ecx, dword [rsi]
mov dword [rbp - 0x38], ecx
mov edx, dword [rsi + 0xc]
mov eax, edx
sub eax, r9d
mov dword [rbp - 0x34], eax
lea eax, [r8 + rcx]
mov dword [rbp - 0x30], eax
mov dword [rbp - 0x2c], edx
lea r8, [rbp - 0x38]
mov rdx, rdi
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x14012524a
mov r9d, dword [rbp - 0x30]
sub r9d, dword [rbp - 0x38]
mov dword [rbp - 0x30], r9d
mov edx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub edx, r8d
mov dword [rbp - 0x2c], edx
mov eax, dword [r14 + 0xc]
mov ecx, dword [r15 + 0xc]
sub ecx, eax
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], eax
mov eax, dword [r14]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], ecx
mov eax, dword [r15]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edx
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [r14 + 0xc]
test edx, edx
jle 0x1401252f1
mov eax, dword [rsi]
add eax, dword [r14]
mov dword [rbp - 0x38], eax
mov ecx, dword [rsi + 0xc]
mov eax, ecx
sub eax, edx
mov dword [rbp - 0x34], eax
mov eax, dword [rsi + 8]
sub eax, dword [r14 + 8]
mov dword [rbp - 0x30], eax
mov dword [rbp - 0x2c], ecx
lea r8, [rbp - 0x38]
mov rdx, rdi
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1401252f1
mov r9d, dword [rbp - 0x30]
sub r9d, dword [rbp - 0x38]
mov dword [rbp - 0x30], r9d
mov ebx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub ebx, r8d
mov dword [rbp - 0x2c], ebx
mov r11d, dword [r14 + 0xc]
mov eax, dword [r14]
mov r10d, dword [r15 + 8]
sub r10d, eax
sub r10d, dword [r15]
sub r10d, dword [r14 + 8]
mov ecx, dword [r15 + 0xc]
sub ecx, r11d
add eax, dword [r15]
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], ebx
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.GDI32.dll_StretchBlt]
mov ecx, dword [r14 + 8]
test ecx, ecx
jle 0x140126361
mov r8d, dword [r14 + 0xc]
test r8d, r8d
jle 0x140126361
mov edx, dword [rsi + 8]
mov eax, edx
sub eax, ecx
mov dword [rbp - 0x38], eax
mov ecx, dword [rsi + 0xc]
mov eax, ecx
sub eax, r8d
mov dword [rbp - 0x34], eax
mov dword [rbp - 0x30], edx
mov dword [rbp - 0x2c], ecx
lea r8, [rbp - 0x38]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x140126361
mov r11d, dword [rbp - 0x30]
sub r11d, dword [rbp - 0x38]
mov dword [rbp - 0x30], r11d
mov r10d, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub r10d, r8d
mov dword [rbp - 0x2c], r10d
mov ecx, dword [r14 + 0xc]
mov edx, dword [r14 + 8]
mov r9d, dword [r15 + 0xc]
sub r9d, ecx
mov eax, dword [r15 + 8]
sub eax, edx
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r10d
mov r9d, r11d
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.GDI32.dll_StretchBlt]
jmp 0x140126361
mov ebx, dword [r15 + 0xc]
sub ebx, dword [r14 + 0xc]
sub ebx, dword [r14 + 4]
sub ebx, dword [r15 + 4]
mov eax, ebx
sub eax, r8d
mov ecx, dword [rbp - 0x2c]
dec eax
add eax, ecx
cdq
idiv ebx
test eax, eax
jle 0x140124e7e
mov qword [rsp + 0x78], rax
nop dword [rax]
nop word [rax + rax]
lea r11d, [rdi + r8]
add edi, ebx
lea r10d, [rdi + r8]
mov r8d, ebx
cmp r10d, ecx
jle 0x1401253fb
sub r8d, r10d
add r8d, ecx
mov r10d, ecx
mov eax, dword [r14]
mov r9d, dword [r15 + 8]
sub r9d, dword [r14 + 8]
sub r9d, eax
sub r9d, dword [r15]
mov ecx, dword [r14 + 4]
add ecx, dword [r15 + 4]
add eax, dword [r15]
sub r10d, r11d
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r10d
mov r9d, dword [rbp - 0x30]
mov r8d, r11d
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.GDI32.dll_StretchBlt]
sub qword [rsp + 0x78], 1
je 0x140124e7e
mov ecx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
jmp 0x1401253e0
cmp byte [rbp + 0xf0], 0
je 0x140125591
mov ecx, dword [r15 + 8]
sub ecx, dword [r15]
sub ecx, dword [r14 + 8]
sub ecx, dword [r14]
mov dword [rbp - 0x70], ecx
mov r8d, dword [r15 + 0xc]
sub r8d, dword [r14 + 0xc]
sub r8d, dword [r14 + 4]
sub r8d, dword [r15 + 4]
mov dword [rbp - 0x80], r8d
mov eax, ecx
mov r9d, dword [rbp - 0x38]
sub eax, r9d
mov r10d, dword [rbp - 0x30]
dec eax
add eax, r10d
cdq
idiv ecx
mov ebx, eax
mov dword [rsp + 0x60], eax
mov ecx, r8d
mov r8d, dword [rbp - 0x34]
sub ecx, r8d
mov r11d, dword [rbp - 0x2c]
lea eax, [r11 - 1]
add eax, ecx
cdq
mov ecx, dword [rbp - 0x80]
idiv ecx
test eax, eax
jle 0x140124e7e
mov esi, edi
mov edx, eax
mov qword [rbp - 0x60], rdx
lea eax, [rsi + r8]
add ecx, esi
mov dword [rbp - 0x6c], ecx
lea edi, [rcx + r8]
cmp edi, r11d
cmovg edi, r11d
test ebx, ebx
jle 0x140125579
sub edi, eax
xor ebx, ebx
mov eax, dword [rsp + 0x60]
mov qword [rbp - 0x78], rax
nop dword [rax + rax]
lea edx, [rbx + r9]
add ebx, dword [rbp - 0x70]
add r9d, ebx
cmp r9d, r10d
cmovg r9d, r10d
mov ecx, dword [r14 + 4]
add ecx, dword [r15 + 4]
mov eax, dword [r15]
add eax, dword [r14]
sub r9d, edx
add r8d, esi
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edi
mov rcx, r13
call qword [sym.imp.GDI32.dll_BitBlt]
sub qword [rbp - 0x78], 1
mov r10d, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x34]
mov r9d, dword [rbp - 0x38]
jne 0x140125510
mov r11d, dword [rbp - 0x2c]
mov ecx, dword [rbp - 0x6c]
mov rdx, qword [rbp - 0x60]
mov ebx, dword [rsp + 0x60]
mov esi, ecx
sub rdx, 1
mov qword [rbp - 0x60], rdx
mov ecx, dword [rbp - 0x80]
jne 0x1401254e0
jmp 0x140124e79
mov ebx, dword [r15 + 8]
sub ebx, dword [r15]
sub ebx, dword [r14 + 8]
sub ebx, dword [r14]
mov eax, ebx
mov r8d, dword [rbp - 0x38]
sub eax, r8d
mov ecx, dword [rbp - 0x30]
dec eax
add eax, ecx
cdq
idiv ebx
test eax, eax
jle 0x140124e7e
mov qword [rsp + 0x78], rax
nop
lea r10d, [rdi + r8]
add edi, ebx
lea r9d, [rdi + r8]
mov r8d, ebx
cmp r9d, ecx
jle 0x1401255db
sub r8d, r9d
add r8d, ecx
mov r9d, ecx
mov ecx, dword [r14 + 4]
mov edx, dword [r15 + 0xc]
sub edx, dword [r14 + 0xc]
sub edx, dword [r15 + 4]
sub edx, ecx
add ecx, dword [r15 + 4]
mov eax, dword [r15]
add eax, dword [r14]
sub r9d, r10d
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x40], r8d
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov eax, dword [rbp - 0x2c]
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp - 0x34]
mov edx, r10d
mov rcx, r13
call qword [sym.imp.GDI32.dll_StretchBlt]
sub qword [rsp + 0x78], 1
je 0x140124e7e
mov ecx, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x38]
jmp 0x1401255c0
mov word [rsp + 0x60], ax
mov byte [rsp + 0x62], bl
mov byte [rsp + 0x63], 1
mov ebx, dword [rsp + 0x60]
cmp byte [rbp + 0xe0], al
jne 0x14012580c
mov eax, dword [rsi]
add eax, dword [r14]
mov dword [rbp - 0x38], eax
mov eax, dword [rsi + 4]
add eax, dword [r14 + 4]
mov dword [rbp - 0x34], eax
mov eax, dword [rsi + 8]
sub eax, dword [r14 + 8]
mov dword [rbp - 0x30], eax
mov eax, dword [rsi + 0xc]
sub eax, dword [r14 + 0xc]
mov dword [rbp - 0x2c], eax
lea r8, [rbp - 0x38]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x14012580c
cmp byte [rbp + 0xe8], 0
jne 0x1401259ba
cmp byte [rbp + 0xf0], 0
jne 0x1401258fa
mov r9d, dword [rbp - 0x30]
mov edx, dword [rbp - 0x38]
sub r9d, edx
mov dword [rbp - 0x30], r9d
mov r8d, dword [rbp - 0x2c]
sub r8d, dword [rbp - 0x34]
mov dword [rbp - 0x2c], r8d
cmp dword [rbp + 0xf8], 0
je 0x1401257b1
mov rdx, qword [rbp - 0x78]
lea rcx, [rbp - 0x50]
call fcn.14015c7b0
mov r8d, dword [r14 + 4]
mov edx, dword [r15]
mov r10d, dword [r15 + 0xc]
sub r10d, dword [r15 + 4]
sub r10d, r8d
sub r10d, dword [r14 + 0xc]
mov r9d, dword [r15 + 8]
sub r9d, dword [r14]
sub r9d, edx
sub r9d, dword [r14 + 8]
add r8d, dword [r15 + 4]
add edx, dword [r14]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r10d
lea rcx, [rbp - 0x50]
call fcn.14015a850
mov edx, dword [rbp + 0xf8]
dec edx
lea rcx, [rbp + 0x10]
call fcn.14015de80
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 0x10]
call fcn.14015dd20
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x10]
call fcn.14015d930
mov qword [rsp + 0x68], rax
mov rdx, rax
mov rcx, r12
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rbp - 0x58], rax
mov dword [rsp + 0x50], ebx
mov ecx, dword [rbp - 0x2c]
mov dword [rsp + 0x48], ecx
mov r9d, dword [rbp - 0x30]
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], ecx
mov r8d, dword [rbp - 0x34]
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
jmp 0x14012580c
mov eax, dword [r15 + 4]
mov ecx, dword [r14]
mov edi, dword [r15 + 0xc]
sub edi, eax
sub edi, dword [r14 + 4]
sub edi, dword [r14 + 0xc]
mov r10d, dword [r15 + 8]
sub r10d, ecx
sub r10d, dword [r15]
sub r10d, dword [r14 + 8]
add eax, dword [r14 + 4]
add ecx, dword [r15]
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r8d
mov r8d, dword [rbp - 0x34]
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
mov rsi, qword [rsp + 0x78]
mov edx, dword [r14]
test edx, edx
jle 0x140125bec
mov r8d, dword [r14 + 4]
test r8d, r8d
jle 0x140125bec
mov eax, dword [rsi]
mov dword [rbp - 0x38], eax
mov ecx, dword [rsi + 4]
mov dword [rbp - 0x34], ecx
add eax, edx
mov dword [rbp - 0x30], eax
lea eax, [r8 + rcx]
mov dword [rbp - 0x2c], eax
lea r8, [rbp - 0x38]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x140125bec
mov r9d, dword [rbp - 0x30]
mov edx, dword [rbp - 0x38]
sub r9d, edx
mov dword [rbp - 0x30], r9d
mov ecx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub ecx, r8d
mov dword [rbp - 0x2c], ecx
mov eax, dword [rbp + 0xf8]
test eax, eax
je 0x140125bb8
lea edx, [rax - 1]
lea rcx, [rbp - 0x10]
call fcn.14015de80
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp - 0x10]
call fcn.14015dd20
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x10]
call fcn.14015d930
mov qword [rsp + 0x68], rax
mov rdx, rax
mov rcx, r12
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rbp - 0x58], rax
mov dword [rsp + 0x50], ebx
mov eax, dword [rbp - 0x2c]
mov dword [rsp + 0x48], eax
mov r9d, dword [rbp - 0x30]
mov dword [rsp + 0x40], r9d
xor edi, edi
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp - 0x34]
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
jmp 0x140125bee
mov edi, dword [r15 + 0xc]
sub edi, dword [r14 + 0xc]
sub edi, dword [r14 + 4]
sub edi, dword [r15 + 4]
mov eax, edi
mov r8d, dword [rbp - 0x34]
sub eax, r8d
mov ecx, dword [rbp - 0x2c]
dec eax
add eax, ecx
cdq
idiv edi
test eax, eax
jle 0x14012580c
xor esi, esi
mov qword [rbp - 0x78], rax
nop dword [rax + rax]
lea r11d, [rsi + r8]
lea eax, [rdi + rsi]
lea esi, [rax]
lea r10d, [rax + r8]
mov r8d, edi
cmp r10d, ecx
jle 0x140125951
mov r8d, ecx
sub r8d, r10d
add r8d, edi
mov r10d, ecx
mov eax, dword [r14]
mov r9d, dword [r15 + 8]
sub r9d, eax
sub r9d, dword [r15]
sub r9d, dword [r14 + 8]
mov ecx, dword [r14 + 4]
add ecx, dword [r15 + 4]
add eax, dword [r15]
sub r10d, r11d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r10d
mov r9d, dword [rbp - 0x30]
mov r8d, r11d
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
sub qword [rbp - 0x78], 1
je 0x140125807
mov ecx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
jmp 0x140125930
cmp byte [rbp + 0xf0], 0
je 0x140125b01
mov esi, dword [r15 + 8]
sub esi, dword [r15]
sub esi, dword [r14 + 8]
sub esi, dword [r14]
mov ecx, dword [r15 + 0xc]
sub ecx, dword [r14 + 0xc]
sub ecx, dword [r14 + 4]
sub ecx, dword [r15 + 4]
mov dword [rsp + 0x60], ecx
mov eax, esi
mov r9d, dword [rbp - 0x38]
sub eax, r9d
mov r8d, dword [rbp - 0x30]
dec eax
add eax, r8d
cdq
idiv esi
mov dword [rbp - 0x6c], eax
mov r10d, dword [rbp - 0x34]
sub ecx, r10d
mov r11d, dword [rbp - 0x2c]
lea eax, [r11 - 1]
add eax, ecx
cdq
idiv dword [rsp + 0x60]
mov ecx, eax
test eax, eax
jle 0x140125807
mov eax, edi
mov dword [rbp - 0x70], eax
mov qword [rbp - 0x68], rcx
nop word [rax + rax]
lea edx, [rax + r10]
mov ecx, dword [rsp + 0x60]
add eax, ecx
mov dword [rbp - 0x78], eax
add eax, r10d
mov dword [rbp - 0x80], ecx
cmp eax, r11d
jle 0x140125a57
mov ecx, r11d
sub ecx, eax
add ecx, dword [rsp + 0x60]
mov dword [rbp - 0x80], ecx
mov eax, r11d
mov ecx, dword [rbp - 0x6c]
test ecx, ecx
jle 0x140125aeb
sub eax, edx
mov dword [rbp - 0x60], eax
mov qword [rbp - 0x48], rcx
nop dword [rax + rax]
lea r11d, [rdi + r9]
add edi, esi
add r9d, edi
mov edx, esi
cmp r9d, r8d
jle 0x140125a89
sub edx, r9d
add edx, r8d
mov r9d, r8d
mov ecx, dword [r14 + 4]
add ecx, dword [r15 + 4]
mov eax, dword [r15]
add eax, dword [r14]
sub r9d, r11d
mov r8d, dword [rbp - 0x70]
add r8d, r10d
mov dword [rsp + 0x50], ebx
mov r10d, dword [rbp - 0x80]
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov eax, dword [rbp - 0x60]
mov dword [rsp + 0x20], eax
mov edx, r11d
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
sub qword [rbp - 0x48], 1
mov r8d, dword [rbp - 0x30]
mov r10d, dword [rbp - 0x34]
mov r9d, dword [rbp - 0x38]
jne 0x140125a70
mov r11d, dword [rbp - 0x2c]
xor edi, edi
mov eax, dword [rbp - 0x78]
mov dword [rbp - 0x70], eax
sub qword [rbp - 0x68], 1
jne 0x140125a30
jmp 0x140125807
mov edi, dword [r15 + 8]
sub edi, dword [r15]
sub edi, dword [r14 + 8]
sub edi, dword [r14]
mov eax, edi
mov r8d, dword [rbp - 0x38]
sub eax, r8d
mov ecx, dword [rbp - 0x30]
dec eax
add eax, ecx
cdq
idiv edi
test eax, eax
jle 0x14012580c
xor esi, esi
mov qword [rbp - 0x68], rax
lea r11d, [rsi + r8]
lea eax, [rdi + rsi]
lea esi, [rax]
lea r9d, [rax + r8]
mov edx, edi
cmp r9d, ecx
jle 0x140125b4c
sub edx, r9d
add edx, ecx
mov r9d, ecx
mov ecx, dword [r14 + 4]
mov eax, dword [r15 + 4]
mov r10d, dword [r15 + 0xc]
sub r10d, eax
sub r10d, ecx
sub r10d, dword [r14 + 0xc]
lea r8d, [rax + rcx]
mov eax, dword [r15]
add eax, dword [r14]
sub r9d, r11d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov eax, dword [rbp - 0x2c]
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp - 0x34]
mov edx, r11d
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
sub qword [rbp - 0x68], 1
je 0x140125807
mov ecx, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x38]
jmp 0x140125b30
mov dword [rsp + 0x50], ebx
mov eax, dword [r14 + 4]
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 qword [rsp + 0x28], r12
mov dword [rsp + 0x20], ecx
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
xor edi, edi
mov edx, dword [r14 + 4]
test edx, edx
jle 0x140125cfc
mov eax, dword [rsi]
add eax, dword [r14]
mov dword [rbp - 0x38], eax
mov ecx, dword [rsi + 4]
mov dword [rbp - 0x34], ecx
mov eax, dword [rsi + 8]
sub eax, dword [r14 + 8]
mov dword [rbp - 0x30], eax
lea eax, [rdx + rcx]
mov dword [rbp - 0x2c], eax
lea r8, [rbp - 0x38]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x140125cfc
mov r9d, dword [rbp - 0x30]
mov r11d, dword [rbp - 0x38]
sub r9d, r11d
mov dword [rbp - 0x30], r9d
mov edx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub edx, r8d
mov dword [rbp - 0x2c], edx
mov eax, dword [rbp + 0xf8]
test eax, eax
je 0x140125cb6
lea edx, [rax - 1]
lea rcx, [rbp - 8]
call fcn.14015de80
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp - 8]
call fcn.14015dd20
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 8]
call fcn.14015d930
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x50], ebx
mov eax, dword [rbp - 0x2c]
mov dword [rsp + 0x48], eax
mov r9d, dword [rbp - 0x30]
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp - 0x34]
mov edx, dword [rbp - 0x38]
jmp 0x140125cf3
mov ecx, dword [r15]
mov r10d, dword [r15 + 8]
sub r10d, dword [r14]
sub r10d, ecx
sub r10d, dword [r14 + 8]
add ecx, dword [r14]
mov dword [rsp + 0x50], ebx
mov eax, dword [r14 + 4]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r10d
mov eax, dword [r15 + 4]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edx
mov edx, r11d
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
mov r8d, dword [r14 + 8]
test r8d, r8d
jle 0x140125e09
mov edx, dword [r14 + 4]
test edx, edx
jle 0x140125e09
mov ecx, dword [rsi + 8]
mov eax, ecx
sub eax, r8d
mov dword [rbp - 0x38], eax
mov eax, dword [rsi + 4]
mov dword [rbp - 0x34], eax
mov dword [rbp - 0x30], ecx
add eax, edx
mov dword [rbp - 0x2c], eax
lea r8, [rbp - 0x38]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x140125e09
mov r9d, dword [rbp - 0x30]
mov r11d, dword [rbp - 0x38]
sub r9d, r11d
mov dword [rbp - 0x30], r9d
mov edx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub edx, r8d
mov dword [rbp - 0x2c], edx
mov eax, dword [rbp + 0xf8]
test eax, eax
je 0x140125dcc
lea edx, [rax - 1]
lea rcx, [rbp]
call fcn.14015de80
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp]
call fcn.14015dd20
xor r8d, r8d
xor edx, edx
lea rcx, [rbp]
call fcn.14015d930
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x50], ebx
mov eax, dword [rbp - 0x2c]
mov dword [rsp + 0x48], eax
mov r9d, dword [rbp - 0x30]
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp - 0x34]
mov edx, dword [rbp - 0x38]
jmp 0x140125e00
mov ecx, dword [r14 + 8]
mov r10d, dword [r15 + 8]
sub r10d, ecx
mov dword [rsp + 0x50], ebx
mov eax, dword [r14 + 4]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ecx
mov eax, dword [r15 + 4]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r10d
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edx
mov edx, r11d
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
mov edx, dword [r14]
test edx, edx
jle 0x140125f18
mov ecx, dword [rsi]
mov dword [rbp - 0x38], ecx
mov eax, dword [rsi + 4]
add eax, dword [r14 + 4]
mov dword [rbp - 0x34], eax
lea eax, [rdx + rcx]
mov dword [rbp - 0x30], eax
mov eax, dword [rsi + 0xc]
sub eax, dword [r14 + 0xc]
mov dword [rbp - 0x2c], eax
lea r8, [rbp - 0x38]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x140125f18
mov r9d, dword [rbp - 0x30]
mov r11d, dword [rbp - 0x38]
sub r9d, r11d
mov dword [rbp - 0x30], r9d
mov edx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub edx, r8d
mov dword [rbp - 0x2c], edx
mov eax, dword [rbp + 0xf8]
test eax, eax
je 0x140125ed1
lea edx, [rax - 1]
lea rcx, [rbp + 8]
call fcn.14015de80
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 8]
call fcn.14015dd20
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 8]
call fcn.14015d930
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x50], ebx
mov eax, dword [rbp - 0x2c]
mov dword [rsp + 0x48], eax
mov r9d, dword [rbp - 0x30]
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp - 0x34]
mov edx, dword [rbp - 0x38]
jmp 0x140125f0f
mov ecx, dword [r14 + 4]
mov r10d, dword [r15 + 0xc]
sub r10d, dword [r15 + 4]
sub r10d, ecx
sub r10d, dword [r14 + 0xc]
add ecx, dword [r15 + 4]
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], r10d
mov eax, dword [r14]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], ecx
mov eax, dword [r15]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edx
mov edx, r11d
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
mov edx, dword [r14 + 8]
test edx, edx
jle 0x14012602a
mov ecx, dword [rsi + 8]
mov eax, ecx
sub eax, edx
mov dword [rbp - 0x38], eax
mov eax, dword [rsi + 4]
add eax, dword [r14 + 4]
mov dword [rbp - 0x34], eax
mov dword [rbp - 0x30], ecx
mov eax, dword [rsi + 0xc]
sub eax, dword [r14 + 0xc]
mov dword [rbp - 0x2c], eax
lea r8, [rbp - 0x38]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x14012602a
mov r9d, dword [rbp - 0x30]
sub r9d, dword [rbp - 0x38]
mov dword [rbp - 0x30], r9d
mov edx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub edx, r8d
mov dword [rbp - 0x2c], edx
mov eax, dword [rbp + 0xf8]
test eax, eax
je 0x140125fdd
lea edx, [rax - 1]
lea rcx, [rbp + 0x18]
call fcn.14015de80
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 0x18]
call fcn.14015dd20
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x18]
call fcn.14015d930
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x50], ebx
mov eax, dword [rbp - 0x2c]
mov dword [rsp + 0x48], eax
mov r9d, dword [rbp - 0x30]
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp - 0x34]
jmp 0x14012601e
mov eax, dword [r15 + 4]
mov r11d, dword [r14 + 8]
mov r10d, dword [r15 + 0xc]
sub r10d, dword [r14 + 0xc]
sub r10d, eax
sub r10d, dword [r14 + 4]
add eax, dword [r14 + 4]
mov ecx, dword [r15 + 8]
sub ecx, r11d
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 qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edx
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
mov r8d, dword [r14]
test r8d, r8d
jle 0x140126134
mov r9d, dword [r14 + 0xc]
test r9d, r9d
jle 0x140126134
mov ecx, dword [rsi]
mov dword [rbp - 0x38], ecx
mov edx, dword [rsi + 0xc]
mov eax, edx
sub eax, r9d
mov dword [rbp - 0x34], eax
lea eax, [r8 + rcx]
mov dword [rbp - 0x30], eax
mov dword [rbp - 0x2c], edx
lea r8, [rbp - 0x38]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x140126134
mov r9d, dword [rbp - 0x30]
mov r10d, dword [rbp - 0x38]
sub r9d, r10d
mov dword [rbp - 0x30], r9d
mov edx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub edx, r8d
mov dword [rbp - 0x2c], edx
mov eax, dword [rbp + 0xf8]
test eax, eax
je 0x1401260fb
lea edx, [rax - 1]
lea rcx, [rbp + 0x20]
call fcn.14015de80
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 0x20]
call fcn.14015dd20
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x20]
call fcn.14015d930
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x50], ebx
mov eax, dword [rbp - 0x2c]
mov dword [rsp + 0x48], eax
mov r9d, dword [rbp - 0x30]
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp - 0x34]
mov edx, dword [rbp - 0x38]
jmp 0x14012612b
mov eax, dword [r14 + 0xc]
mov ecx, dword [r15 + 0xc]
sub ecx, eax
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], eax
mov eax, dword [r14]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], ecx
mov eax, dword [r15]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edx
mov edx, r10d
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
mov edx, dword [r14 + 0xc]
test edx, edx
jle 0x14012623f
mov eax, dword [rsi]
add eax, dword [r14]
mov dword [rbp - 0x38], eax
mov ecx, dword [rsi + 0xc]
mov eax, ecx
sub eax, edx
mov dword [rbp - 0x34], eax
mov eax, dword [rsi + 8]
sub eax, dword [r14 + 8]
mov dword [rbp - 0x30], eax
mov dword [rbp - 0x2c], ecx
lea r8, [rbp - 0x38]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x14012623f
mov r9d, dword [rbp - 0x30]
sub r9d, dword [rbp - 0x38]
mov dword [rbp - 0x30], r9d
mov edx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
sub edx, r8d
mov dword [rbp - 0x2c], edx
mov eax, dword [rbp + 0xf8]
test eax, eax
je 0x1401261f7
lea edx, [rax - 1]
lea rcx, [rbp + 0x28]
call fcn.14015de80
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 0x28]
call fcn.14015dd20
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x28]
call fcn.14015d930
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x50], ebx
mov eax, dword [rbp - 0x2c]
mov dword [rsp + 0x48], eax
mov r9d, dword [rbp - 0x30]
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp - 0x34]
jmp 0x140126233
mov edi, dword [r14 + 0xc]
mov eax, dword [r14]
mov r11d, dword [r15 + 8]
sub r11d, dword [r14 + 8]
sub r11d, eax
sub r11d, dword [r15]
mov ecx, dword [r15 + 0xc]
sub ecx, edi
add eax, dword [r15]
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edx
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
mov ecx, dword [r14 + 8]
test ecx, ecx
jle 0x140126361
mov r8d, dword [r14 + 0xc]
test r8d, r8d
jle 0x140126361
mov edx, dword [rsi + 8]
mov eax, edx
sub eax, ecx
mov dword [rbp - 0x38], eax
mov ecx, dword [rsi + 0xc]
mov eax, ecx
sub eax, r8d
mov dword [rbp - 0x34], eax
mov dword [rbp - 0x30], edx
mov dword [rbp - 0x2c], ecx
lea r8, [rbp - 0x38]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x140126361
mov edx, dword [rbp - 0x30]
mov r11d, dword [rbp - 0x38]
sub edx, r11d
mov dword [rbp - 0x30], edx
mov r8d, dword [rbp - 0x2c]
mov edi, dword [rbp - 0x34]
sub r8d, edi
mov dword [rbp - 0x2c], r8d
mov eax, dword [rbp + 0xf8]
test eax, eax
je 0x140126319
lea edx, [rax - 1]
lea rcx, [rbp + 0x30]
call fcn.14015de80
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 0x30]
call fcn.14015dd20
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14015d930
mov rdi, rax
mov dword [rsp + 0x50], ebx
mov eax, dword [rbp - 0x2c]
mov dword [rsp + 0x48], eax
mov r9d, dword [rbp - 0x30]
mov dword [rsp + 0x40], r9d
xor ecx, ecx
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
mov r8d, dword [rbp - 0x34]
mov edx, dword [rbp - 0x38]
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
jmp 0x140126366
mov ecx, dword [r14 + 0xc]
mov r9d, dword [r14 + 8]
mov r10d, dword [r15 + 0xc]
sub r10d, ecx
mov eax, dword [r15 + 8]
sub eax, r9d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r8d
mov r9d, edx
mov r8d, edi
mov edx, r11d
mov rcx, r13
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
mov rdi, qword [rsp + 0x68]
mov rdx, qword [rbp - 0x58]
mov rcx, r12
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r12
call qword [sym.imp.GDI32.dll_DeleteDC]
cmp dword [rbp + 0xf8], 0
je 0x14012638f
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
nop
lea r9, [fcn.14015a3b0]
mov edx, 8
lea r8d, [rdx + 1]
lea rcx, [rbp - 0x10]
call fcn.140172394
nop
lea rcx, [rbp - 0x50]
call fcn.14015a3b0
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.140172190
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret