Function at 0x1400f9bd0
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 [0x14029e8b8]
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.140120d70
nop
lea rax, [fcn.140120eb0]
mov qword [rsp + 0x20], rax
lea r9, [fcn.140120d70]
lea edx, [rdi + 8]
lea r8d, [rdi + 9]
lea rcx, [rbp - 0x10]
call fcn.140160cd4
nop
movzx ebx, byte [rbp + 0xd8]
cmp dword [rbp + 0xf8], edi
je 0x1400f9c80
cmp byte [rbp + 0xd0], dil
jne 0x1400f9c91
cmp bl, 0xff
jb 0x1400f9c91
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 0x1400fa627
cmp bl, 0xff
jb 0x1400fa627
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 0x1400f9d82
mov ecx, dword [r15 + 0xc]
sub ecx, dword [r15 + 4]
mov eax, dword [rsi + 0xc]
sub eax, dword [rsi + 4]
cmp eax, ecx
jne 0x1400f9d82
cmp dword [r14], 0
jne 0x1400f9d82
cmp dword [r14 + 8], 0
jne 0x1400f9d82
cmp dword [r14 + 4], 0
jne 0x1400f9d82
cmp dword [r14 + 0xc], 0
jne 0x1400f9d82
mov r8, rsi
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1400fb341
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 0x1400fb341
cmp byte [rbp + 0xe0], 0
jne 0x1400f9e5e
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 0x1400f9e5e
cmp byte [rbp + 0xe8], 0
jne 0x1400fa449
mov r8d, dword [rbp - 0x34]
cmp byte [rbp + 0xf0], 0
jne 0x1400fa387
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 0x1400f9ef6
mov r8d, dword [r14 + 4]
test r8d, r8d
jle 0x1400f9ef6
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 0x1400f9ef6
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 0x1400f9f99
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 0x1400f9f99
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 0x1400fa03b
mov edx, dword [r14 + 4]
test edx, edx
jle 0x1400fa03b
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 0x1400fa03b
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 0x1400fa0df
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 0x1400fa0df
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 0x1400fa18c
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 0x1400fa18c
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 0x1400fa22a
mov r9d, dword [r14 + 0xc]
test r9d, r9d
jle 0x1400fa22a
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 0x1400fa22a
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 0x1400fa2d1
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 0x1400fa2d1
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 0x1400fb341
mov r8d, dword [r14 + 0xc]
test r8d, r8d
jle 0x1400fb341
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 0x1400fb341
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 0x1400fb341
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 0x1400f9e5e
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 0x1400fa3db
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 0x1400f9e5e
mov ecx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
jmp 0x1400fa3c0
cmp byte [rbp + 0xf0], 0
je 0x1400fa571
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 0x1400f9e5e
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 0x1400fa559
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 0x1400fa4f0
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 0x1400fa4c0
jmp 0x1400f9e59
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 0x1400f9e5e
mov qword [rsp + 0x78], rax
nop
lea r10d, [rdi + r8]
add edi, ebx
lea r9d, [rdi + r8]
mov r8d, ebx
cmp r9d, ecx
jle 0x1400fa5bb
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 0x1400f9e5e
mov ecx, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x38]
jmp 0x1400fa5a0
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 0x1400fa7ec
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 0x1400fa7ec
cmp byte [rbp + 0xe8], 0
jne 0x1400fa99a
cmp byte [rbp + 0xf0], 0
jne 0x1400fa8da
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 0x1400fa791
mov rdx, qword [rbp - 0x78]
lea rcx, [rbp - 0x50]
call fcn.1401232d0
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.140121360
mov edx, dword [rbp + 0xf8]
dec edx
lea rcx, [rbp + 0x10]
call fcn.1401249a0
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 0x10]
call fcn.140124840
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x10]
call fcn.140124450
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 0x1400fa7ec
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 0x1400fabcc
mov r8d, dword [r14 + 4]
test r8d, r8d
jle 0x1400fabcc
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 0x1400fabcc
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 0x1400fab98
lea edx, [rax - 1]
lea rcx, [rbp - 0x10]
call fcn.1401249a0
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp - 0x10]
call fcn.140124840
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x10]
call fcn.140124450
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 0x1400fabce
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 0x1400fa7ec
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 0x1400fa931
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 0x1400fa7e7
mov ecx, dword [rbp - 0x2c]
mov r8d, dword [rbp - 0x34]
jmp 0x1400fa910
cmp byte [rbp + 0xf0], 0
je 0x1400faae1
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 0x1400fa7e7
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 0x1400faa37
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 0x1400faacb
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 0x1400faa69
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 0x1400faa50
mov r11d, dword [rbp - 0x2c]
xor edi, edi
mov eax, dword [rbp - 0x78]
mov dword [rbp - 0x70], eax
sub qword [rbp - 0x68], 1
jne 0x1400faa10
jmp 0x1400fa7e7
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 0x1400fa7ec
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 0x1400fab2c
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 0x1400fa7e7
mov ecx, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x38]
jmp 0x1400fab10
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 0x1400facdc
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 0x1400facdc
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 0x1400fac96
lea edx, [rax - 1]
lea rcx, [rbp - 8]
call fcn.1401249a0
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp - 8]
call fcn.140124840
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 8]
call fcn.140124450
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 0x1400facd3
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 0x1400fade9
mov edx, dword [r14 + 4]
test edx, edx
jle 0x1400fade9
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 0x1400fade9
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 0x1400fadac
lea edx, [rax - 1]
lea rcx, [rbp]
call fcn.1401249a0
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp]
call fcn.140124840
xor r8d, r8d
xor edx, edx
lea rcx, [rbp]
call fcn.140124450
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 0x1400fade0
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 0x1400faef8
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 0x1400faef8
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 0x1400faeb1
lea edx, [rax - 1]
lea rcx, [rbp + 8]
call fcn.1401249a0
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 8]
call fcn.140124840
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 8]
call fcn.140124450
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 0x1400faeef
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 0x1400fb00a
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 0x1400fb00a
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 0x1400fafbd
lea edx, [rax - 1]
lea rcx, [rbp + 0x18]
call fcn.1401249a0
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 0x18]
call fcn.140124840
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x18]
call fcn.140124450
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 0x1400faffe
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 0x1400fb114
mov r9d, dword [r14 + 0xc]
test r9d, r9d
jle 0x1400fb114
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 0x1400fb114
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 0x1400fb0db
lea edx, [rax - 1]
lea rcx, [rbp + 0x20]
call fcn.1401249a0
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 0x20]
call fcn.140124840
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x20]
call fcn.140124450
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 0x1400fb10b
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 0x1400fb21f
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 0x1400fb21f
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 0x1400fb1d7
lea edx, [rax - 1]
lea rcx, [rbp + 0x28]
call fcn.1401249a0
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 0x28]
call fcn.140124840
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x28]
call fcn.140124450
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 0x1400fb213
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 0x1400fb341
mov r8d, dword [r14 + 0xc]
test r8d, r8d
jle 0x1400fb341
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 0x1400fb341
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 0x1400fb2f9
lea edx, [rax - 1]
lea rcx, [rbp + 0x30]
call fcn.1401249a0
mov r8d, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 0x30]
call fcn.140124840
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.140124450
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 0x1400fb346
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 0x1400fb36f
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
nop
lea r9, [fcn.140120eb0]
mov edx, 8
lea r8d, [rdx + 1]
lea rcx, [rbp - 0x10]
call fcn.140160b44
nop
lea rcx, [rbp - 0x50]
call fcn.140120eb0
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.140160a40
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret