Function at 0x140049760
Capabilities:
Capture screenshot

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
mov rax, qword [0x1400c24b8]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov esi, r9d
mov dword [rsp + 0x78], r9d
mov r15d, r8d
mov r14, rdx
mov qword [r11 - 0x50], rdx
mov qword [r11 - 0x40], rdx
mov rbx, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x138]
mov qword [rsp + 0xc0], rbp
call fcn.140051e70
xor r12d, r12d
mov r13d, r12d
cmp eax, 5
setl r13b
mov dword [rsp + 0x50], r13d
test r15d, r15d
jne 0x140049890
lea ecx, [r12 + 1]
call qword [sym.imp.USER32.dll_GetSysColor]
mov ecx, eax
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rdi, rax
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SelectObject]
mov rsi, rax
mov r8d, dword [rbx + 4]
mov edx, dword [rbx]
mov r10d, dword [rbx + 0xc]
sub r10d, r8d
mov r9d, dword [rbx + 8]
sub r9d, edx
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x40], 0xf00021
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], r10d
mov rcx, rbp
call fcn.14004c960
test rsi, rsi
je 0x140049852
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SelectObject]
test rdi, rdi
je 0x140049861
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 8
jb 0x14004987b
lea rdx, [rdx*2 + 2]
mov rcx, qword [r14]
call fcn.14000c080
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], 7
mov word [r14], r12w
jmp 0x140049d8b
test esi, esi
jne 0x140049981
lea ecx, [rsi + 1]
call qword [sym.imp.USER32.dll_GetSysColor]
mov ecx, eax
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rdi, rax
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SelectObject]
mov r12, rax
mov r8d, dword [rbx + 4]
mov edx, dword [rbx]
mov ecx, dword [rbx + 0xc]
sub ecx, r8d
mov r9d, dword [rbx + 8]
sub r9d, edx
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x40], 0xf00021
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], ecx
mov rcx, rbp
call fcn.14004c960
test r12, r12
je 0x140049905
mov rdx, r12
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SelectObject]
test rdi, rdi
je 0x14004997e
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov r13, rax
mov qword [rsp + 0x60], rax
xor r12d, r12d
mov qword [rsp + 0x70], r12
mov edi, r12d
mov esi, r12d
cmp r15d, 1
jne 0x1400499a8
mov rcx, r13
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r15, rax
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x140049950
mov rcx, qword [r14]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9d, edi
mov r8, r13
mov rdx, r15
call fcn.14004c3c0
mov rsi, rax
mov qword [rsp + 0x68], rax
test r15, r15
je 0x1400499e7
jmp 0x140049a04
xor r12d, r12d
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov r13, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], r12
cmp esi, 2
jne 0x14004992b
mov edi, dword [rbx + 8]
sub edi, dword [rbx]
mov esi, dword [rbx + 0xc]
sub esi, dword [rbx + 4]
jmp 0x140049931
mov qword [rsp + 0x68], r12
cmp r15d, 2
jne 0x1400499e4
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x1400499c0
mov rdx, qword [r14]
mov dword [rsp + 0x28], 0x10
mov dword [rsp + 0x20], esi
mov r9d, edi
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadImageW]
mov rsi, rax
mov qword [rsp + 0x68], rax
jmp 0x1400499e7
mov rsi, r12
mov rcx, r13
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r15, rax
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0x70], rax
xor edi, edi
xor eax, eax
mov qword [rsp + 0x88], rax
test rsi, rsi
je 0x140049cea
mov rcx, r13
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r12, rax
mov eax, dword [rbx + 4]
mov dword [rsp + 0x54], eax
mov edi, dword [rbx + 0xc]
sub edi, eax
mov eax, dword [rbx]
mov dword [rsp + 0x58], eax
mov r13d, dword [rbx + 8]
sub r13d, eax
mov r8d, edi
mov edx, r13d
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rsp + 0x80], rax
mov rdx, rax
mov rcx, r12
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0x88], rax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSysColor]
mov ecx, eax
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rbx, rax
mov rdx, rax
mov rcx, r12
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0x40], 0xf00021
xor eax, eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edi
mov r9d, r13d
xor r8d, r8d
xor edx, edx
mov rcx, r12
call qword [sym.imp.GDI32.dll_BitBlt]
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x140049ada
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SelectObject]
test rbx, rbx
je 0x140049ae8
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
lea r8, [rsp + 0x90]
mov edx, 0x20
mov rcx, rsi
call qword [sym.imp.GDI32.dll_GetObjectW]
cmp dword [rsp + 0x78], 1
jne 0x140049c09
xor ebx, ebx
mov esi, ebx
mov r8d, dword [rsp + 0x94]
lea eax, [r8 + r13]
test eax, eax
jle 0x140049bbd
mov edx, dword [rsp + 0x98]
lea ecx, [rdi + rdx]
xor r14d, r14d
nop
lea eax, [r8 + rsi]
mov ebp, r13d
sub ebp, esi
cmp eax, r13d
cmovle ebp, r8d
mov ebx, r14d
test ecx, ecx
jle 0x140049ba0
nop word [rax + rax]
lea eax, [rdx + rbx]
mov ecx, edi
sub ecx, ebx
cmp eax, edi
cmovle ecx, edx
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], ecx
mov r9d, ebp
mov r8d, ebx
mov edx, esi
mov rcx, r12
call qword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [rsp + 0x98]
add ebx, edx
lea ecx, [rdi + rdx]
cmp ebx, ecx
jl 0x140049b50
mov r8d, dword [rsp + 0x94]
add esi, r8d
lea eax, [r8 + r13]
cmp esi, eax
jl 0x140049b30
mov r14, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xc0]
xor ebx, ebx
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edi
mov r9d, r13d
mov r8d, dword [rsp + 0x54]
mov edx, dword [rsp + 0x58]
mov rcx, rbp
call fcn.14004c960
mov rsi, qword [rsp + 0x68]
mov r13, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x80]
jmp 0x140049cec
mov r9d, dword [rsp + 0x94]
cmp r9d, r13d
cmovg r9d, r13d
mov dword [rsp + 0x94], r9d
mov r8d, dword [rsp + 0x98]
cmp r8d, edi
cmovg r8d, edi
mov dword [rsp + 0x98], r8d
cmp r13d, r9d
jne 0x140049c87
cmp edi, r8d
jne 0x140049c87
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], 0xcc0020
xor ebx, ebx
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], edi
mov r9d, r13d
mov r8d, dword [rsp + 0x54]
mov edx, dword [rsp + 0x58]
mov rcx, rbp
call fcn.14004c960
mov r13, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x80]
jmp 0x140049cec
mov eax, r13d
sub eax, r9d
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, edi
sub eax, r8d
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x40], 0xcc0020
xor ebx, ebx
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r8d
mov r8d, eax
mov edx, ecx
mov rcx, r12
call qword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], r12
jmp 0x140049c60
xor ebx, ebx
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x140049cff
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
test rsi, rsi
je 0x140049d0d
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
test r15, r15
je 0x140049d1b
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x140049d34
mov rdx, rax
mov rcx, r12
call qword [sym.imp.GDI32.dll_SelectObject]
test rdi, rdi
je 0x140049d42
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
test r12, r12
je 0x140049d50
mov rcx, r12
call qword [sym.imp.GDI32.dll_DeleteDC]
test r13, r13
je 0x140049d61
mov rdx, r13
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 8
jb 0x140049d7b
lea rdx, [rdx*2 + 2]
mov rcx, qword [r14]
call fcn.14000c080
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], 7
mov word [r14], bx
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.140064920
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret