Function at 0x14005aff0
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 - 0x98]
sub rsp, 0x198
mov rax, qword [0x1401179f0]
xor r12d, r12d
cmp byte [rcx + 1], 1
mov ebx, r12d
mov edi, r9d
mov qword [rbp - 0x20], rax
cmova rbx, qword [0x1401179f8]
mov esi, r8d
mov qword [rbp - 0x18], rbx
mov r14d, edx
mov r13, rcx
test rax, rax
je 0x14005b059
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor edx, edx
lea r8, [r12 - 1]
mov rcx, rax
call fcn.1400c4200
test rbx, rbx
je 0x14005b074
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor edx, edx
mov rcx, rbx
lea r8, [r9 - 1]
call fcn.1400c4200
xor r8d, r8d
mov qword [rbp - 0x78], r12
lea rdx, [rbp - 0x74]
lea rcx, [rbp - 0x78]
call fcn.1400c0ac0
mov eax, dword [rbp - 0x74]
mov edx, 0x2e
mov rbx, qword [rbp - 0x78]
add esi, eax
add dword [rbp + 0x100], eax
add r14d, ebx
mov dword [rbp + 0xf0], esi
add edi, ebx
mov rsi, qword [rbp + 0x108]
mov r15d, r12d
mov dword [rbp + 0xe8], r14d
mov rcx, rsi
mov r14d, 0xffffffff
mov dword [rbp + 0xf8], edi
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x64], r12d
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, rax
test rax, rax
je 0x14005b140
add rdi, 2
lea rdx, [0x1400fd9d0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x14005b124
lea rdx, [0x1400fd9d8]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x14005b124
lea rdx, [0x1400fd9e0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005b140
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
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14005b152
cmp ax, 9
jne 0x14005b158
add rdi, 2
jmp 0x14005b143
cmp ax, 0x2a
jne 0x14005b34f
movzx ecx, word [rdi + 2]
add rdi, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towupper]
movzx eax, ax
cmp eax, 0x48
je 0x14005b2d0
cmp eax, 0x57
je 0x14005b2c2
mov r8d, 4
lea rdx, str.Icon
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14005b1b4
add rdi, 8
mov rcx, rdi
call fcn.140014e00
mov dword [rsp + 0x64], eax
jmp 0x14005b2dc
mov r8d, 5
lea rdx, str.Trans
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14005b298
add rdi, 0xa
lea r8d, [rax + 0x1f]
mov rdx, rdi
lea rcx, [rbp + 0x50]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
movzx edx, word [rbp + 0x50]
lea r8, [rbp + 0x50]
xor r10d, r10d
mov word [rbp + 0x8e], r10w
test dx, dx
je 0x14005b24b
mov r9d, SafeArrayAllocDescriptor
nop word [rax + rax]
lea rcx, [0x1400f6260]
movzx eax, r9w
nop dword [rax + rax]
cmp dx, ax
je 0x14005b242
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14005b220
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x14005b210
jmp 0x14005b24b
test r8, r8
je 0x14005b24b
mov word [r8], r10w
lea rcx, [rbp + 0x50]
call fcn.1400c0880
mov edx, eax
cmp eax, 0xffffffff
jne 0x14005b274
xor edx, edx
lea rcx, [rbp + 0x50]
lea r8d, [rdx + 0x10]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
mov r14d, eax
mov dword [rsp + 0x58], eax
jmp 0x14005b2dc
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 0x14005b2dc
mov rcx, rdi
call fcn.140014e00
mov dword [rsp + 0x5c], eax
test eax, eax
jns 0x14005b2b0
xor eax, eax
mov dword [rsp + 0x5c], eax
jmp 0x14005b2dc
cmp eax, 0xff
jle 0x14005b2dc
mov ecx, 0xff
mov dword [rsp + 0x5c], ecx
jmp 0x14005b2dc
lea rcx, [rdi + 2]
call fcn.140014e00
mov r15d, eax
jmp 0x14005b2dc
lea rcx, [rdi + 2]
call fcn.140014e00
mov r12d, eax
test rdi, rdi
je 0x14005b3c6
movzx edx, word [rdi]
test dx, dx
je 0x14005b3c6
lea rcx, [0x1400f6260]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14005b324
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14005b300
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x14005b2f1
jmp 0x14005b3c6
lea rsi, [rdi + 2]
mov rdi, rsi
nop dword [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14005b33f
cmp ax, 9
jne 0x14005b345
add rdi, 2
jmp 0x14005b330
cmp ax, 0x2a
je 0x14005b162
lea rax, [rsp + 0x50]
mov r13d, r14d
xor r14d, r14d
lea r9, [rbp + 0x108]
mov qword [rsp + 0x38], r14
mov r8d, r12d
mov qword [rsp + 0x30], rax
mov edx, r15d
mov eax, dword [rsp + 0x64]
mov rcx, rsi
mov byte [rsp + 0x28], r14b
mov dword [rsp + 0x20], eax
call fcn.1400c0bf0
mov qword [rbp - 0x48], rax
mov rdi, rax
test rax, rax
je 0x14005b3bf
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rbp - 0x68], rax
mov rsi, rax
test rax, rax
jne 0x14005b406
cmp byte [rsp + 0x50], r14b
jne 0x14005b3bf
cmp dword [rbp + 0x108], 1
mov rcx, rdi
jne 0x14005b3fe
call qword [sym.imp.USER32.dll_DestroyIcon]
mov r13, qword [rbp + 0xe0]
mov rax, qword [0x140112060]
lea rdx, [0x1400f62c4]
test byte [rax + 0x140], 1
jne 0x14005bd35
mov rcx, qword [0x1401156c0]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400c4200
jmp 0x14005bd47
call qword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x14005b3bf
cmp dword [rbp + 0x108], 1
mov r15, r14
mov qword [rbp - 0x80], r14
mov r12, r14
mov qword [rbp - 0x40], r14
mov qword [rsp + 0x70], r14
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x28], r14
jne 0x14005b5c9
lea rdx, [rbp + 0x10]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x14005b481
mov rcx, qword [rbp + 0x20]
lea rax, [rbp + 0x108]
mov dword [rsp + 0x28], 1
lea r9, [rsp + 0x68]
lea r8, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.14005a190
mov rcx, qword [rbp + 0x28]
mov qword [rbp - 0x60], rax
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.GDI32.dll_DeleteObject]
xor ecx, ecx
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 0x14005b599
lea rdx, [rbp + 0x30]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x14005b590
mov rcx, qword [rbp + 0x48]
lea r8, [rbp - 0x10]
mov edx, SafeArrayAllocDescriptor
call qword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x14005b57c
mov r8d, dword [rbp - 8]
mov rcx, r15
mov edx, dword [rbp - 0xc]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov r14, rax
test rax, rax
je 0x14005b57c
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.GDI32.dll_SelectObject]
mov r12, rax
test rax, rax
je 0x14005b57c
mov ecx, dword [rbp - 0xc]
xor eax, eax
mov dword [rbp - 0x30], ecx
mov ecx, dword [rbp - 8]
mov dword [rbp - 0x2c], ecx
mov ecx, 0xff000000
mov qword [rbp - 0x38], rax
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
lea rdx, [rbp - 0x38]
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 - 0x48]
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 - 8]
mov rcx, rsi
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0xc]
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 + 0x48]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, qword [rbp + 0x40]
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 - 0x48], r14
mov rdi, r14
test r14, r14
je 0x14005b3bf
mov r12, qword [rbp - 0x60]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rbp - 0x68]
lea rax, [rbp + 0x108]
mov dword [rsp + 0x28], 8
lea r9, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x60]
mov rdx, rsi
mov rcx, rdi
call fcn.14005a190
mov qword [rsp + 0x78], rax
mov r14, rax
test rax, rax
je 0x14005bc08
mov esi, dword [rbp + 0x100]
sub esi, dword [rbp + 0xf0]
mov edi, dword [rbp + 0xf8]
inc esi
mov rcx, qword [rbp - 0x68]
sub edi, dword [rbp + 0xe8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov qword [rbp - 0x80], rax
mov r15, rax
test rax, rax
je 0x14005bc08
mov rcx, qword [rbp - 0x68]
lea edx, [rdi + 1]
mov r8d, esi
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rbp - 0x40], rax
test rax, rax
je 0x14005bc08
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x14005bc08
mov eax, dword [rbp + 0xf0]
lea r9d, [rdi + 1]
mov dword [rsp + 0x40], 0xcc0020
xor r8d, r8d
mov dword [rsp + 0x38], eax
xor edx, edx
mov eax, dword [rbp + 0xe8]
mov rcx, r15
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
call qword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
je 0x14005bc08
mov rcx, qword [rbp - 0x40]
lea rax, [rbp + 0x100]
mov dword [rsp + 0x28], 8
lea r9, [rsp + 0x64]
lea r8, [rsp + 0x54]
mov qword [rsp + 0x20], rax
mov rdx, r15
call fcn.14005a190
mov qword [rsp + 0x70], rax
mov rdi, rax
test rax, rax
je 0x14005bc08
mov r11d, dword [rsp + 0x60]
mov edx, r11d
imul edx, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x54]
mov esi, r8d
imul esi, dword [rsp + 0x64]
cmp byte [rbp + 0x108], 0
movsxd r9, edx
mov qword [rbp - 0x70], r9
mov dword [rbp - 0x50], esi
movsxd r15, esi
jne 0x14005b728
cmp byte [rbp + 0x100], 0
je 0x14005b8af
mov r14d, r13d
and r14d, 0xf8f8f8
cmp r13d, 0xffffffff
cmove r14d, r13d
xor r10d, r10d
mov dword [rsp + 0x58], r14d
mov r8d, r10d
test esi, esi
jle 0x14005b7d1
cmp esi, 0x10
jb 0x14005b7d1
mov ecx, esi
and ecx, 0x8000000f
jge 0x14005b767
dec ecx
or ecx, 0xfffffff0
inc ecx
movdqa xmm2, xmmword [0x140103460]
mov eax, esi
sub eax, ecx
mov rcx, r10
movsxd r9, eax
lea rax, [rdi + 0x20]
nop dword [rax]
movdqu xmm0, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
add r8d, 0x10
movdqa xmm1, xmm2
add rcx, 0x10
pand xmm0, xmm2
movdqu xmmword [rax - 0x60], xmm0
movdqu xmm0, xmmword [rax - 0x50]
pand xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
pand xmm0, xmm2
movdqu xmmword [rax - 0x40], xmm0
movdqu xmm0, xmmword [rax - 0x30]
pand xmm0, xmm2
movdqu xmmword [rax - 0x30], xmm0
cmp rcx, r9
jl 0x14005b780
mov r9, qword [rbp - 0x70]
movsxd rax, r8d
cmp rax, r15
jge 0x14005b7ef
nop dword [rax]
and dword [rdi + rax*4], 0xf8f8f8
inc rax
cmp rax, r15
jl 0x14005b7e0
mov ecx, r10d
test edx, edx
jle 0x14005b87e
cmp edx, 0x10
jb 0x14005b87e
mov eax, edx
and eax, 0x8000000f
jge 0x14005b813
dec eax
or eax, 0xfffffff0
inc eax
movdqa xmm2, xmmword [0x140103460]
sub edx, eax
movsxd r8, edx
mov rdx, r10
mov r10, qword [rsp + 0x78]
lea rax, [r10 + 0x20]
nop dword [rax]
movdqu xmm0, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
add ecx, 0x10
movdqa xmm1, xmm2
add rdx, 0x10
pand xmm0, xmm2
movdqu xmmword [rax - 0x60], xmm0
movdqu xmm0, xmmword [rax - 0x50]
pand xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
pand xmm0, xmm2
movdqu xmmword [rax - 0x40], xmm0
movdqu xmm0, xmmword [rax - 0x30]
pand xmm0, xmm2
movdqu xmmword [rax - 0x30], xmm0
cmp rdx, r8
jl 0x14005b830
jmp 0x14005b883
mov r10, qword [rsp + 0x78]
movsxd rax, ecx
cmp rax, r9
jge 0x14005b8a5
nop dword [rax + rax]
and dword [r10 + rax*4], 0xf8f8f8
inc rax
cmp rax, r9
jl 0x14005b890
mov dword [rsp + 0x58], r14d
mov r14, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x54]
test r9, r9
jle 0x14005b8cd
lea rax, [r14 + 3]
mov rcx, r9
nop dword [rax + rax]
mov byte [rax], 0
lea rax, [rax + 4]
sub rcx, 1
jne 0x14005b8c0
mov r10d, dword [rsp + 0x5c]
cmp r10d, 1
jge 0x14005ba1d
test esi, esi
jle 0x14005b8fd
lea rax, [rdi + 3]
mov rcx, r15
nop word [rax + rax]
mov byte [rax], 0
lea rax, [rax + 4]
sub rcx, 1
jne 0x14005b8f0
xor r10d, r10d
mov dword [rbp + 0xf8], r10d
mov r13d, r10d
test esi, esi
jle 0x14005bbe4
mov r14d, dword [r14]
mov esi, r10d
mov r9d, dword [rsp + 0x58]
nop dword [rax]
cmp dword [rdi + rsi*4], r14d
je 0x14005b93b
test r12, r12
je 0x14005b932
cmp dword [r12], 0
jne 0x14005b93b
cmp r14d, r9d
jne 0x14005b9fd
mov ecx, dword [rsp + 0x64]
mov eax, r13d
cdq
idiv r8d
sub ecx, eax
cmp dword [rsp + 0x68], ecx
jg 0x14005b9fd
mov eax, r8d
sub eax, edx
cmp r11d, eax
jg 0x14005b9fd
cmp qword [rbp - 0x70], 0
mov al, 1
mov r8d, r10d
mov r11, r10
mov ecx, r13d
jle 0x14005bc26
mov rdi, qword [rsp + 0x78]
mov r10d, r13d
sub rdi, r12
mov byte [rbp + 0x100], al
mov rdx, r12
nop word [rax + rax]
mov rbx, qword [rsp + 0x70]
mov r9d, dword [rdi + rdx]
movsxd rax, ecx
cmp dword [rbx + rax*4], r9d
mov rbx, qword [rbp - 0x78]
je 0x14005b9b7
test r12, r12
je 0x14005b9b0
cmp dword [rdx], 0
jne 0x14005b9b7
cmp r9d, dword [rsp + 0x58]
jne 0x14005b9eb
inc r8d
cmp r8d, dword [rsp + 0x60]
jge 0x14005b9c5
inc ecx
jmp 0x14005b9d2
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 0x14005b990
movzx esi, byte [rbp + 0x100]
jmp 0x14005bc29
mov r9d, dword [rsp + 0x58]
xor r10d, r10d
mov r11d, dword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
inc r13d
inc rsi
mov dword [rbp + 0xf8], r13d
cmp rsi, r15
jge 0x14005bbe4
mov r8d, dword [rsp + 0x54]
jmp 0x14005b920
xor edi, edi
mov dword [rbp + 0xf8], edi
mov r13d, edi
test esi, esi
jle 0x14005bbe4
mov ecx, dword [rsp + 0x64]
mov eax, r13d
cdq
idiv r8d
sub ecx, eax
cmp dword [rsp + 0x68], ecx
jg 0x14005bbcc
mov eax, r8d
sub eax, edx
cmp r11d, eax
jg 0x14005bbcc
mov r11d, edi
mov r12, rdi
mov edi, r13d
mov sil, 1
test r9, r9
jle 0x14005bc29
mov rax, qword [rbp - 0x60]
sub rax, r14
mov byte [rbp + 0x100], sil
mov qword [rbp - 0x38], rax
mov rsi, r14
nop
mov r15d, dword [rsi]
xor ebx, ebx
mov r9d, ebx
mov r14d, ebx
mov edx, r15d
movzx r8d, r15w
shr edx, 0x10
shr r8w, 8
movzx eax, dl
sub al, r10b
movzx ecx, dl
movzx eax, al
cmp r10d, ecx
cmovle r9d, eax
movzx eax, r8b
sub al, r10b
mov dword [rbp + 0x108], r9d
movzx eax, al
movzx r9d, r8b
cmp r10d, r9d
cmovle r14d, eax
movzx eax, r15b
sub al, r10b
mov dword [rbp - 0x58], r14d
movzx eax, al
movzx r14d, r15b
cmp r10d, r14d
cmovle ebx, eax
mov eax, 0xff
sub eax, ecx
mov dword [rbp - 0x54], ebx
mov rbx, qword [rbp - 0x78]
cmp r10d, eax
jle 0x14005baf9
mov r10b, 0xff
jmp 0x14005bafc
add r10b, dl
mov ecx, dword [rsp + 0x5c]
mov eax, 0xff
sub eax, r9d
cmp ecx, eax
jle 0x14005bb11
mov r9b, 0xff
jmp 0x14005bb15
lea r9d, [r8 + rcx]
mov eax, 0xff
sub eax, r14d
cmp ecx, eax
jle 0x14005bb25
mov cl, 0xff
jmp 0x14005bb28
add cl, r15b
mov r14, qword [rsp + 0x70]
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 + 0x108]
jb 0x14005bb63
cmp r8b, r10b
ja 0x14005bb63
cmp al, byte [rbp - 0x58]
jb 0x14005bb63
cmp al, r9b
ja 0x14005bb63
cmp dl, byte [rbp - 0x54]
jb 0x14005bb63
cmp dl, cl
jbe 0x14005bb7b
cmp qword [rbp - 0x60], 0
je 0x14005bb74
mov rax, qword [rbp - 0x38]
cmp dword [rax + rsi], 0
jne 0x14005bb7b
cmp r15d, dword [rsp + 0x58]
jne 0x14005bbad
inc r11d
cmp r11d, dword [rsp + 0x60]
jge 0x14005bb89
inc edi
jmp 0x14005bb96
xor eax, eax
add r13d, dword [rsp + 0x54]
mov r11d, eax
mov edi, r13d
inc r12
add rsi, 4
cmp r12, qword [rbp - 0x70]
jge 0x14005bc13
mov r10d, dword [rsp + 0x5c]
jmp 0x14005ba80
mov r10d, dword [rsp + 0x5c]
xor edi, edi
mov r13d, dword [rbp + 0xf8]
mov r8d, dword [rsp + 0x54]
mov r9, qword [rbp - 0x70]
mov r11d, dword [rsp + 0x60]
mov esi, dword [rbp - 0x50]
mov r14, qword [rsp + 0x78]
inc r13d
mov dword [rbp + 0xf8], r13d
cmp r13d, esi
jl 0x14005ba30
mov rcx, qword [0x1401156c0]
lea rdx, [0x1400f5d5c]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400c4200
xor sil, sil
jmp 0x14005bc29
mov edi, dword [rbp + 0xe8]
xor sil, sil
jmp 0x14005bc33
mov edi, dword [rbp + 0xf8]
movzx esi, byte [rbp + 0x100]
mov r15, qword [rbp - 0x80]
jmp 0x14005bc38
movzx esi, al
mov r15, qword [rbp - 0x80]
mov edi, dword [rbp + 0xf8]
mov r14, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x68]
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
cmp byte [rsp + 0x50], 0
jne 0x14005bc55
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.GDI32.dll_DeleteObject]
test r15, r15
je 0x14005bc78
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x14005bc6f
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 - 0x40]
test rax, rax
je 0x14005bc8a
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14005bc9d
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x14005bcaf
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r14, r14
je 0x14005b3bf
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test sil, sil
jne 0x14005bccd
mov eax, 1
jmp 0x14005bd47
mov rcx, qword [rbp - 0x20]
mov esi, dword [rsp + 0x54]
test rcx, rcx
je 0x14005bcf2
mov eax, edi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
cdq
idiv esi
sub edx, ebx
add edx, dword [rbp + 0xe8]
movsxd rdx, edx
call fcn.140001430
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14005bd14
mov eax, edi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
cdq
idiv esi
sub eax, dword [rbp - 0x74]
add eax, dword [rbp + 0xf0]
movsxd rdx, eax
call fcn.140001430
mov rcx, qword [0x1401156c0]
lea rdx, [0x1400e0704]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400c4200
jmp 0x14005bd47
lea r9, [0x1400e0674]
xor r8d, r8d
mov rcx, r13
call fcn.14004d3c0
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret