Function at 0x14005fab0
Capabilities:
Capture screenshot

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa8]
sub rsp, 0x1a8
mov rax, qword [0x14014c6e0]
xor r12d, r12d
cmp byte [rcx + 1], 1
mov ebx, r12d
mov r14d, r9d
mov qword [rbp - 0x18], rax
cmova rbx, qword [0x14014c6e8]
mov edi, r8d
mov qword [rbp - 0x10], rbx
mov esi, edx
mov r13, rcx
test rax, rax
je 0x14005fb18
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor edx, edx
lea r8, [r12 - 1]
mov rcx, rax
call fcn.1400c6a70
test rbx, rbx
je 0x14005fb33
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor edx, edx
mov rcx, rbx
lea r8, [r9 - 1]
call fcn.1400c6a70
xor r8d, r8d
mov qword [rbp - 0x80], r12
lea rdx, [rbp - 0x7c]
lea rcx, [rbp - 0x80]
call fcn.1400c2dd0
mov eax, dword [rbp - 0x7c]
mov edx, 0x2e
mov rbx, qword [rbp - 0x80]
add edi, eax
add dword [rbp + 0x110], eax
add esi, ebx
add r14d, ebx
mov dword [rbp + 0xf8], esi
mov rsi, qword [rbp + 0x118]
mov r15d, r12d
mov dword [rbp + 0x108], r14d
mov rcx, rsi
mov r14d, 0xffffffff
mov dword [rbp + 0x100], edi
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x60], r12d
call fcn.1400e17e8
mov rdi, rax
test rax, rax
je 0x14005fbfb
add rdi, 2
lea rdx, [0x14012bc80]
mov rcx, rdi
call fcn.1400e5cc0
test eax, eax
je 0x14005fbdf
lea rdx, [0x14012bc88]
mov rcx, rdi
call fcn.1400e5cc0
test eax, eax
je 0x14005fbdf
lea rdx, [0x14012bc90]
mov rcx, rdi
call fcn.1400e5cc0
test eax, eax
jne 0x14005fbfb
mov ecx, gethostbyname
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, gethostbyname
mov r15d, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r12d, eax
mov rdi, rsi
nop
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14005fc0f
cmp ax, 9
jne 0x14005fc15
add rdi, 2
jmp 0x14005fc00
cmp ax, 0x2a
jne 0x14005ffdf
nop
movzx ecx, word [rdi + 2]
mov rsi, rdi
add rdi, 2
call fcn.1400ef99c
movzx eax, ax
cmp eax, 0x48
je 0x14005fee8
cmp eax, 0x57
je 0x14005fe61
mov r8d, 4
lea rdx, str.Icon
mov rcx, rdi
call fcn.1400e5e84
test eax, eax
jne 0x14005fced
lea rdi, [rsi + 0xa]
mov rcx, rdi
nop dword [rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14005fc7f
cmp ax, 9
jne 0x14005fc85
add rcx, 2
jmp 0x14005fc70
test ax, ax
je 0x14005fcdc
cmp ax, 0x2d
je 0x14005fc96
cmp ax, 0x2b
jne 0x14005fca0
lea rax, [rcx + 2]
mov rcx, rax
movzx eax, word [rax]
cmp ax, 0x30
jne 0x14005fcdc
movzx eax, word [rcx + 2]
mov edx, 0xffdf
sub ax, 0x58
test dx, ax
jne 0x14005fcdc
movzx ecx, word [rcx + 4]
call fcn.1400ea440
test eax, eax
je 0x14005fcdc
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 0x10]
call fcn.1400ea654
mov dword [rsp + 0x60], eax
jmp 0x14005ff60
mov rcx, rdi
call fcn.1400e9e88
mov dword [rsp + 0x60], eax
jmp 0x14005ff60
mov r8d, 5
lea rdx, str.Trans
mov rcx, rdi
call fcn.1400e5e84
test eax, eax
jne 0x14005fdcd
lea rdi, [rsi + 0xc]
mov rdx, rdi
lea r8d, [rax + 0x1f]
lea rcx, [rbp + 0x60]
call fcn.1400eadcc
movzx edx, word [rbp + 0x60]
lea r8, [rbp + 0x60]
xor r10d, r10d
mov word [rbp + 0x9e], r10w
test dx, dx
je 0x14005fd7b
mov r9d, SafeArrayAllocDescriptor
nop dword [rax]
lea rcx, [0x140122e70]
movzx eax, r9w
nop dword [rax + rax]
cmp dx, ax
je 0x14005fd72
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14005fd50
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x14005fd40
jmp 0x14005fd7b
test r8, r8
je 0x14005fd7b
mov word [r8], r10w
lea rcx, [rbp + 0x60]
call fcn.1400c2ba0
mov edx, eax
cmp eax, 0xffffffff
jne 0x14005fda6
xor edx, edx
lea rcx, [rbp + 0x60]
lea r8d, [rdx + 0x10]
call fcn.1400ea654
mov r14d, eax
mov dword [rsp + 0x58], eax
jmp 0x14005ff60
shr eax, 0x10
movzx ecx, al
movzx r14d, dx
and r14d, 0xffffff00
movzx eax, dl
shl eax, 0x10
or r14d, ecx
or r14d, eax
mov dword [rsp + 0x58], r14d
jmp 0x14005ff60
mov rcx, rdi
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14005fddf
cmp ax, 9
jne 0x14005fde5
add rcx, 2
jmp 0x14005fdd0
test ax, ax
je 0x14005fe35
cmp ax, 0x2d
je 0x14005fdf6
cmp ax, 0x2b
jne 0x14005fe00
lea rax, [rcx + 2]
mov rcx, rax
movzx eax, word [rax]
cmp ax, 0x30
jne 0x14005fe35
movzx eax, word [rcx + 2]
mov edx, 0xffdf
sub ax, 0x58
test dx, ax
jne 0x14005fe35
movzx ecx, word [rcx + 4]
call fcn.1400ea440
test eax, eax
je 0x14005fe35
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 0x10]
call fcn.1400ea654
jmp 0x14005fe3d
mov rcx, rdi
call fcn.1400e9e88
xor ecx, ecx
test eax, eax
cmovns ecx, eax
mov dword [rsp + 0x5c], ecx
cmp ecx, 0xff
jle 0x14005ff60
mov dword [rsp + 0x5c], 0xff
jmp 0x14005ff60
add rsi, 4
mov rcx, rsi
nop dword [rax + rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14005fe7f
cmp ax, 9
jne 0x14005fe85
add rcx, 2
jmp 0x14005fe70
test ax, ax
je 0x14005fedb
cmp ax, 0x2d
je 0x14005fe96
cmp ax, 0x2b
jne 0x14005fea0
lea rax, [rcx + 2]
mov rcx, rax
movzx eax, word [rax]
cmp ax, 0x30
jne 0x14005fedb
movzx eax, word [rcx + 2]
mov edx, 0xffdf
sub ax, 0x58
test dx, ax
jne 0x14005fedb
movzx ecx, word [rcx + 4]
call fcn.1400ea440
test eax, eax
je 0x14005fedb
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x10]
call fcn.1400ea654
mov r15d, eax
jmp 0x14005ff60
mov rcx, rsi
call fcn.1400e9e88
mov r15d, eax
jmp 0x14005ff60
add rsi, 4
mov rcx, rsi
nop
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14005feff
cmp ax, 9
jne 0x14005ff05
add rcx, 2
jmp 0x14005fef0
test ax, ax
je 0x14005ff55
cmp ax, 0x2d
je 0x14005ff16
cmp ax, 0x2b
jne 0x14005ff20
lea rax, [rcx + 2]
mov rcx, rax
movzx eax, word [rax]
cmp ax, 0x30
jne 0x14005ff55
movzx eax, word [rcx + 2]
mov edx, 0xffdf
sub ax, 0x58
test dx, ax
jne 0x14005ff55
movzx ecx, word [rcx + 4]
call fcn.1400ea440
test eax, eax
je 0x14005ff55
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x10]
call fcn.1400ea654
jmp 0x14005ff5d
mov rcx, rsi
call fcn.1400e9e88
mov r12d, eax
test rdi, rdi
je 0x14006004e
movzx edx, word [rdi]
test dx, dx
je 0x14006004e
nop word [rax + rax]
lea rcx, [0x140122e70]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14005ffb4
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14005ff90
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x14005ff80
jmp 0x14006004e
lea rsi, [rdi + 2]
mov rdi, rsi
nop dword [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14005ffcf
cmp ax, 9
jne 0x14005ffd5
add rdi, 2
jmp 0x14005ffc0
cmp ax, 0x2a
je 0x14005fc20
xor eax, eax
lea r9, [rbp - 0x78]
mov qword [rsp + 0x38], rax
mov r8d, r12d
lea rax, [rsp + 0x50]
mov edx, r15d
mov qword [rsp + 0x30], rax
mov rcx, rsi
mov eax, dword [rsp + 0x60]
mov r13d, r14d
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call fcn.1400c2f00
mov qword [rbp - 0x50], rax
mov rdi, rax
test rax, rax
je 0x140060047
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rbp - 0x30], rax
mov r14, rax
test rax, rax
jne 0x14006008e
cmp byte [rsp + 0x50], al
jne 0x140060047
cmp dword [rbp - 0x78], 1
mov rcx, rdi
jne 0x140060086
call qword [sym.imp.USER32.dll_DestroyIcon]
mov r13, qword [rbp + 0xf0]
mov rax, qword [0x140145a80]
lea rdx, [0x140122ed4]
test byte [rax + 0x140], 1
jne 0x1400609df
mov rcx, qword [0x14014a3b0]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400c6a70
jmp 0x1400609f1
call qword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x140060047
xor esi, esi
cmp dword [rbp - 0x78], 1
mov r15d, esi
mov qword [rsp + 0x78], rsi
mov r12d, esi
mov qword [rbp - 0x20], rsi
mov qword [rsp + 0x68], rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x28], rsi
jne 0x140060255
lea rdx, [rbp + 0x18]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x140060109
mov rcx, qword [rbp + 0x28]
lea rax, [rbp + 0x118]
mov dword [rsp + 0x28], 1
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x64]
mov qword [rsp + 0x20], rax
mov rdx, r14
call fcn.14005ec60
mov rcx, qword [rbp + 0x30]
mov qword [rbp - 0x68], rax
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.GDI32.dll_DeleteObject]
xor ecx, ecx
mov r14, rsi
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
mov r15, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rsi, rax
test rax, rax
je 0x140060224
lea rdx, [rbp + 0x38]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x14006021b
mov rcx, qword [rbp + 0x50]
lea r8, [rbp - 8]
mov edx, SafeArrayAllocDescriptor
call qword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x140060207
mov r8d, dword [rbp]
mov rcx, r15
mov edx, dword [rbp - 4]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov r14, rax
test rax, rax
je 0x140060207
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.GDI32.dll_SelectObject]
mov r12, rax
test rax, rax
je 0x140060207
mov ecx, dword [rbp - 4]
xor eax, eax
mov dword [rbp - 0x38], ecx
mov ecx, dword [rbp]
mov dword [rbp - 0x34], ecx
mov ecx, 0xff000000
mov qword [rbp - 0x40], rax
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
lea rdx, [rbp - 0x40]
mov rcx, rsi
mov r8, rax
mov rdi, rax
call qword [sym.imp.USER32.dll_FillRect]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rdi, qword [rbp - 0x50]
xor eax, eax
mov dword [rsp + 0x40], 3
mov r9, rdi
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], eax
xor edx, edx
mov eax, dword [rbp]
mov rcx, rsi
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 4]
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_DrawIconEx]
mov rdx, r12
mov rcx, rsi
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [rbp + 0x50]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rdi
call qword [sym.imp.USER32.dll_DestroyIcon]
mov qword [rbp - 0x50], r14
mov rdi, r14
test r14, r14
je 0x140060047
mov r12, qword [rbp - 0x68]
mov r15, qword [rsp + 0x78]
mov r14, qword [rbp - 0x30]
lea rax, [rbp + 0x118]
mov dword [rsp + 0x28], 8
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x64]
mov rdx, r14
mov rcx, rdi
call fcn.14005ec60
mov qword [rbp - 0x48], rax
mov rsi, rax
test rax, rax
je 0x1400608b4
mov eax, dword [rbp + 0x110]
mov rcx, r14
mov edi, dword [rbp + 0x108]
sub eax, dword [rbp + 0x100]
sub edi, dword [rbp + 0xf8]
inc eax
inc edi
mov dword [rbp + 0x110], eax
mov dword [rbp + 0x108], edi
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov qword [rsp + 0x78], rax
mov r15, rax
test rax, rax
je 0x1400608b4
mov r8d, dword [rbp + 0x110]
mov edx, edi
mov rcx, r14
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rbp - 0x20], rax
mov rdi, rax
test rax, rax
je 0x1400608b4
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x1400608b4
mov eax, dword [rbp + 0x100]
xor r8d, r8d
mov r9d, dword [rbp + 0x108]
xor edx, edx
mov dword [rsp + 0x40], 0xcc0020
mov rcx, r15
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0xf8]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
je 0x1400608b4
lea rax, [rbp + 0x110]
mov dword [rsp + 0x28], 8
lea r9, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x54]
mov rdx, r15
mov rcx, rdi
call fcn.14005ec60
mov qword [rsp + 0x68], rax
mov r11, rax
test rax, rax
je 0x1400608b4
mov r10d, dword [rsp + 0x64]
mov edx, r10d
imul edx, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x54]
mov edi, r8d
imul edi, dword [rsp + 0x70]
cmp byte [rbp + 0x118], 0
movsxd r9, edx
mov qword [rbp - 0x70], r9
mov dword [rbp - 0x58], edi
movsxd r15, edi
jne 0x1400603ca
cmp byte [rbp + 0x110], 0
je 0x14006055b
mov r14d, r13d
and r14d, 0xf8f8f8
cmp r13d, 0xffffffff
cmove r14d, r13d
xor r13d, r13d
mov dword [rsp + 0x58], r14d
mov r8d, r13d
test edi, edi
jle 0x14006047d
cmp edi, 0x10
jb 0x14006047d
mov ecx, edi
and ecx, 0x8000000f
jge 0x140060409
dec ecx
or ecx, 0xfffffff0
inc ecx
movdqa xmm2, xmmword [0x140131710]
mov eax, edi
sub eax, ecx
mov rcx, r13
movsxd r9, eax
lea rax, [r11 + 0x20]
nop
movdqu xmm0, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
add r8d, 0x10
movdqa xmm1, xmm2
add rcx, 0x10
pand xmm1, xmm0
movdqu xmmword [rax - 0x60], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x50]
pand xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x40]
pand xmm1, xmm0
movdqu xmmword [rax - 0x40], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x30]
pand xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
cmp rcx, r9
jl 0x140060420
mov r9, qword [rbp - 0x70]
movsxd rax, r8d
cmp rax, r15
jge 0x1400604a0
nop word [rax + rax]
and dword [r11 + rax*4], 0xf8f8f8
inc rax
cmp rax, r15
jl 0x140060490
mov ecx, r13d
test edx, edx
jle 0x140060538
cmp edx, 0x10
jb 0x140060538
mov eax, edx
and eax, 0x8000000f
jge 0x1400604c4
dec eax
or eax, 0xfffffff0
inc eax
movdqa xmm2, xmmword [0x140131710]
sub edx, eax
movsxd r8, edx
lea rax, [rsi + 0x20]
mov rdx, r13
nop dword [rax + rax]
movdqu xmm0, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
add ecx, 0x10
movdqa xmm1, xmm2
add rdx, 0x10
pand xmm1, xmm0
movdqu xmmword [rax - 0x60], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x50]
pand xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x40]
pand xmm1, xmm0
movdqu xmmword [rax - 0x40], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x30]
pand xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
cmp rdx, r8
jl 0x1400604e0
movsxd rax, ecx
cmp rax, r9
jge 0x140060554
and dword [rsi + rax*4], 0xf8f8f8
inc rax
cmp rax, r9
jl 0x140060540
mov dword [rsp + 0x58], r14d
mov r8d, dword [rsp + 0x54]
jmp 0x14006055e
xor r13d, r13d
test r9, r9
jle 0x14006057d
lea rax, [rsi + 3]
mov rcx, r9
nop word [rax + rax]
mov byte [rax], 0
lea rax, [rax + 4]
sub rcx, 1
jne 0x140060570
mov r14d, dword [rsp + 0x5c]
cmp r14d, 1
jge 0x1400606bd
test edi, edi
jle 0x1400605ad
lea rax, [r11 + 3]
mov rcx, r15
nop word [rax + rax]
mov byte [rax], 0
lea rax, [rax + 4]
sub rcx, 1
jne 0x1400605a0
mov dword [rbp + 0x108], r13d
test edi, edi
jle 0x140060890
mov r14d, dword [rsi]
xor eax, eax
mov edi, dword [rsp + 0x58]
mov esi, eax
cmp dword [r11 + rsi*4], r14d
je 0x1400605e2
test r12, r12
je 0x1400605d9
cmp dword [r12], 0
jne 0x1400605e2
cmp r14d, edi
jne 0x14006069d
mov ecx, dword [rsp + 0x70]
mov eax, r13d
cdq
idiv r8d
sub ecx, eax
cmp dword [rsp + 0x60], ecx
jg 0x14006069d
mov eax, r8d
sub eax, edx
cmp r10d, eax
jg 0x14006069d
xor eax, eax
mov ecx, r13d
mov r8d, eax
mov r11d, eax
test r9, r9
jle 0x1400608d3
mov rdi, qword [rbp - 0x48]
mov r10d, r13d
sub rdi, r12
mov byte [rbp + 0x110], 1
mov rdx, r12
nop
mov rbx, qword [rsp + 0x68]
mov r9d, dword [rdi + rdx]
movsxd rax, ecx
cmp dword [rbx + rax*4], r9d
mov rbx, qword [rbp - 0x80]
je 0x140060657
test r12, r12
je 0x140060650
cmp dword [rdx], 0
jne 0x140060657
cmp r9d, dword [rsp + 0x58]
jne 0x14006068b
inc r8d
cmp r8d, dword [rsp + 0x64]
jge 0x140060665
inc ecx
jmp 0x140060672
xor eax, eax
add r10d, dword [rsp + 0x54]
mov r8d, eax
mov ecx, r10d
inc r11
add rdx, 4
cmp r11, qword [rbp - 0x70]
jl 0x140060630
movzx esi, byte [rbp + 0x110]
jmp 0x1400608d6
mov r9, qword [rbp - 0x70]
mov r10d, dword [rsp + 0x64]
mov r11, qword [rsp + 0x68]
mov edi, dword [rsp + 0x58]
inc r13d
inc rsi
mov dword [rbp + 0x108], r13d
cmp rsi, r15
jge 0x140060890
mov r8d, dword [rsp + 0x54]
jmp 0x1400605c7
mov dword [rbp + 0x108], r13d
test edi, edi
jle 0x140060890
nop dword [rax]
mov ecx, dword [rsp + 0x70]
mov eax, r13d
cdq
idiv r8d
sub ecx, eax
cmp dword [rsp + 0x60], ecx
jg 0x14006087d
mov eax, r8d
sub eax, edx
cmp r10d, eax
jg 0x14006087d
xor r10d, r10d
mov sil, 1
mov r11d, r10d
mov r12d, r10d
mov edi, r13d
test r9, r9
jle 0x1400608d6
mov rax, qword [rbp - 0x68]
mov byte [rbp + 0x110], sil
mov rsi, qword [rbp - 0x48]
sub rax, rsi
mov qword [rbp - 0x40], rax
nop dword [rax]
nop word [rax + rax]
mov r15d, dword [rsi]
mov r9d, r10d
mov edx, r15d
movzx r8d, r15w
shr edx, 0x10
shr r8w, 8
movzx eax, dl
sub al, r14b
movzx ecx, dl
movzx eax, al
cmp r14d, ecx
cmovle r9d, eax
movzx eax, r8b
sub al, r14b
mov dword [rbp + 0x118], r9d
movzx eax, al
movzx r9d, r8b
cmp r14d, r9d
movzx r14d, r15b
cmovle r10d, eax
movzx eax, r15b
sub al, byte [rsp + 0x5c]
movzx eax, al
mov dword [rbp - 0x60], r10d
xor r10d, r10d
cmp dword [rsp + 0x5c], r14d
cmovle r10d, eax
mov eax, 0xff
sub eax, ecx
mov dword [rbp - 0x5c], r10d
mov ecx, dword [rsp + 0x5c]
cmp ecx, eax
jle 0x1400607ab
mov r10b, 0xff
jmp 0x1400607af
lea r10d, [rdx + rcx]
mov eax, 0xff
sub eax, r9d
cmp ecx, eax
jle 0x1400607c0
mov r9b, 0xff
jmp 0x1400607c4
lea r9d, [r8 + rcx]
mov eax, 0xff
sub eax, r14d
cmp ecx, eax
jle 0x1400607d4
mov cl, 0xff
jmp 0x1400607d7
add cl, r15b
mov r14, qword [rsp + 0x68]
movsxd rax, edi
mov edx, dword [r14 + rax*4]
mov r8d, edx
movzx eax, dx
shr r8d, 0x10
shr ax, 8
cmp r8b, byte [rbp + 0x118]
jb 0x140060812
cmp r8b, r10b
ja 0x140060812
cmp al, byte [rbp - 0x60]
jb 0x140060812
cmp al, r9b
ja 0x140060812
cmp dl, byte [rbp - 0x5c]
jb 0x140060812
cmp dl, cl
jbe 0x14006082a
cmp qword [rbp - 0x68], 0
je 0x140060823
mov rax, qword [rbp - 0x40]
cmp dword [rax + rsi], 0
jne 0x14006082a
cmp r15d, dword [rsp + 0x58]
jne 0x140060860
inc r11d
cmp r11d, dword [rsp + 0x64]
jge 0x14006083b
inc edi
xor r10d, r10d
jmp 0x140060849
xor r10d, r10d
add r13d, dword [rsp + 0x54]
mov r11d, r10d
mov edi, r13d
inc r12
add rsi, 4
cmp r12, qword [rbp - 0x70]
jge 0x1400608bf
mov r14d, dword [rsp + 0x5c]
jmp 0x140060730
mov r13d, dword [rbp + 0x108]
mov r8d, dword [rsp + 0x54]
mov r9, qword [rbp - 0x70]
mov r14d, dword [rsp + 0x5c]
mov r10d, dword [rsp + 0x64]
mov edi, dword [rbp - 0x58]
inc r13d
mov dword [rbp + 0x108], r13d
cmp r13d, edi
jl 0x1400606d0
mov rcx, qword [0x14014a3b0]
lea rdx, [0x14012296c]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400c6a70
xor sil, sil
jmp 0x1400608d6
mov edi, dword [rbp + 0x110]
xor sil, sil
jmp 0x1400608e1
mov edi, dword [rbp + 0x108]
movzx esi, byte [rbp + 0x110]
mov r15, qword [rsp + 0x78]
jmp 0x1400608e6
mov sil, 1
mov r15, qword [rsp + 0x78]
mov edi, dword [rbp + 0x108]
mov r14, qword [rsp + 0x68]
mov rdx, qword [rbp - 0x30]
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
cmp byte [rsp + 0x50], 0
jne 0x140060903
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.GDI32.dll_DeleteObject]
test r15, r15
je 0x140060926
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x14006091d
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x140060938
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x140060949
mov rcx, rax
call fcn.1400e89fc
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x14006095a
mov rcx, rax
call fcn.1400e89fc
test r14, r14
je 0x140060047
mov rcx, r14
call fcn.1400e89fc
test sil, sil
jne 0x140060977
mov eax, 1
jmp 0x1400609f1
mov rcx, qword [rbp - 0x18]
mov esi, dword [rsp + 0x54]
test rcx, rcx
je 0x14006099c
mov eax, edi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
cdq
idiv esi
sub edx, ebx
add edx, dword [rbp + 0xf8]
movsxd rdx, edx
call fcn.140001470
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x1400609be
mov eax, edi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
cdq
idiv esi
sub eax, dword [rbp - 0x7c]
add eax, dword [rbp + 0x100]
movsxd rdx, eax
call fcn.140001470
mov rcx, qword [0x14014a3b0]
lea rdx, [0x14010d31c]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400c6a70
jmp 0x1400609f1
lea r9, [0x14010d28c]
xor r8d, r8d
mov rcx, r13
call fcn.140050010
add rsp, 0x1a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret