Function at 0x1000428e0
Capabilities:
Capture screenshot

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
xor r14d, r14d
mov rsi, r8
mov rbp, rdx
cmp rdx, r14
je 0x100042b98
cmp r8, r14
je 0x100042b98
mov qword [r8], r14
mov rcx, qword [rcx + 0x128]
call qword [sym.imp.USER32.dll_GetDC]
mov ebx, 0x80004005
mov rcx, rax
mov r12, rax
neg rcx
sbb edi, edi
not edi
and edi, ebx
jl 0x100042b9d
mov rcx, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rcx, rax
mov r13, rax
neg rcx
sbb edi, edi
not edi
and edi, ebx
jl 0x100042b8b
lea edx, [r14 + 8]
mov rcx, r12
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
lea edx, [r14 + 0xa]
mov rcx, r12
mov ebx, eax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov ecx, dword [rbp + 4]
mov r15d, dword [rbp]
cmp r15d, r14d
cmovl r15d, r14d
cmp ecx, r14d
cmovl ecx, r14d
mov r14d, dword [rbp + 8]
mov ebp, dword [rbp + 0xc]
cmp r14d, ebx
mov dword [rsp + 0xd8], ecx
cmovg r14d, ebx
cmp ebp, eax
cmovg ebp, eax
sub r14d, r15d
sub ebp, ecx
mov edx, r14d
mov rcx, r12
mov r8d, ebp
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
test rax, rax
je 0x100042b82
mov rdx, rax
mov rcx, r13
call qword [sym.imp.GDI32.dll_SelectObject]
mov dword [rsp + 0x40], 0xcc0020
mov r9d, r14d
mov rbx, rax
mov eax, dword [rsp + 0xd8]
xor r8d, r8d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r15d
xor edx, edx
mov rcx, r13
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], ebp
call qword [sym.imp.GDI32.dll_BitBlt]
mov rdx, rbx
mov rcx, r13
call qword [sym.imp.GDI32.dll_SelectObject]
mov ebx, 0x20
lea r8, [rsp + 0x68]
mov rcx, rax
mov edx, ebx
mov rbp, rax
call qword [sym.imp.GDI32.dll_GetObjectW]
cmp word [rsp + 0x7a], bx
jne 0x100042a36
mov qword [rsi], rbp
jmp 0x100042b82
xor r14d, r14d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xe8]
lea r15d, [r14 + 1]
xor r8d, r8d
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x64], r14d
mov dword [rsp + 0x50], r15d
call sub.gdiplus.dll_GdiplusStartup
cmp eax, r14d
jne 0x100042b6f
lea ecx, [r14 + 0x18]
call sub.gdiplus.dll_GdipAlloc
mov rbx, rax
cmp rax, r14
je 0x100042abd
lea rax, [0x10000c440]
lea r8, [rsp + 0xd8]
xor edx, edx
mov rcx, rbp
mov qword [rsp + 0xd8], r14
mov qword [rbx], rax
call sub.gdiplus.dll_GdipCreateBitmapFromHBITMAP
mov dword [rbx + 0x10], eax
mov rax, qword [rsp + 0xd8]
mov qword [rbx + 8], rax
jmp 0x100042ac0
mov rbx, r14
cmp rbx, r14
je 0x100042b4b
mov rcx, qword [rbx + 8]
lea rdx, [rsp + 0xd8]
mov dword [rsp + 0xd8], r14d
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, r14d
je 0x100042aea
mov dword [rbx + 0x10], eax
cmp dword [rsp + 0xd8], r14d
jbe 0x100042b4b
mov rcx, qword [rbx + 8]
lea rdx, [rsp + 0xd8]
mov dword [rsp + 0xd8], r14d
call sub.gdiplus.dll_GdipGetImageHeight
cmp eax, r14d
je 0x100042b15
mov dword [rbx + 0x10], eax
cmp dword [rsp + 0xd8], r14d
jbe 0x100042b4b
mov rcx, qword [rbx + 8]
xor r8d, r8d
mov rdx, rsi
mov edi, r14d
call sub.gdiplus.dll_GdipCreateHBITMAPFromBitmap
cmp eax, r14d
je 0x100042b3b
mov dword [rbx + 0x10], eax
jmp 0x100042b3e
mov eax, r14d
cmp eax, r14d
mov eax, 0x80004005
cmovne edi, eax
jmp 0x100042b50
mov edi, 0x80004005
cmp rbx, r14
je 0x100042b60
mov rax, qword [rbx]
mov edx, r15d
mov rcx, rbx
call qword [rax]
mov rcx, qword [rsp + 0xe8]
call sub.gdiplus.dll_GdiplusShutdown
jmp 0x100042b74
mov edi, 0x80004005
cmp rbp, r14
je 0x100042b82
mov rcx, rbp
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, r13
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, r12
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
jmp 0x100042b9d
mov edi, 0x80004003
mov eax, edi
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret