Function at 0x140071280
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 [0x140134e40]
xor r14d, r14d
cmp byte [rcx + 1], 1
mov ebx, r14d
mov r13d, r9d
mov qword [rbp - 0x18], rax
cmova rbx, qword [0x140134e48]
mov edi, r8d
mov qword [rbp - 0x10], rbx
mov esi, edx
test rax, rax
je 0x1400712e7
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor edx, edx
mov r8, 0xffffffffffffffff
mov rcx, rax
call fcn.1400dc860
test rbx, rbx
je 0x140071305
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor edx, edx
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.1400dc860
xor r8d, r8d
mov qword [rbp - 0x78], r14
lea rdx, [rbp - 0x74]
lea rcx, [rbp - 0x78]
call fcn.1400d7c50
mov eax, dword [rbp - 0x74]
mov r15d, r14d
mov rbx, qword [rbp - 0x78]
add edi, eax
add dword [rbp + 0x110], eax
add esi, ebx
mov dword [rbp + 0xf8], esi
mov r12d, r14d
mov esi, r14d
mov dword [rsp + 0x54], r14d
mov r14, qword [rbp + 0x118]
add r13d, ebx
mov rcx, r14
mov dword [rbp + 0x100], edi
mov edx, 0x2e
mov dword [rbp + 0x108], r13d
mov dword [rsp + 0x58], 0xffffffff
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, rax
test rax, rax
je 0x1400713cf
add rdi, 2
lea rdx, [0x140119148]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x1400713b3
lea rdx, [0x140119150]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x1400713b3
lea rdx, [0x140119158]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x1400713cf
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, r14
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400713e1
cmp ax, 9
jne 0x1400713e7
add rdi, 2
jmp 0x1400713d2
cmp ax, 0x2a
jne 0x140071605
movzx ecx, word [rdi + 2]
add rdi, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towupper]
cmp ax, 0x48
je 0x140071555
cmp ax, 0x57
je 0x140071547
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 0x140071442
add rdi, 8
mov rcx, rdi
call fcn.14001eeb0
mov dword [rsp + 0x54], eax
jmp 0x140071561
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 0x140071527
add rdi, 0xa
lea rcx, [rbp + 0x60]
mov rdx, rdi
mov r8d, SafeArrayAllocDescriptor
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
movzx edx, word [rbp + 0x60]
lea r8, [rbp + 0x60]
xor r10d, r10d
mov word [rbp + 0x9e], r10w
test dx, dx
je 0x1400714db
mov r9d, SafeArrayAllocDescriptor
nop word [rax + rax]
lea rcx, [0x140110770]
movzx eax, r9w
nop dword [rax + rax]
cmp dx, ax
je 0x1400714d2
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400714b0
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x1400714a0
jmp 0x1400714db
test r8, r8
je 0x1400714db
mov word [r8], r10w
lea rcx, [rbp + 0x60]
call fcn.1400d7a10
mov edx, eax
cmp eax, 0xffffffff
jne 0x140071503
xor edx, edx
lea rcx, [rbp + 0x60]
mov r8d, reloc.WSOCK32.dll_recv
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
mov dword [rsp + 0x58], eax
jmp 0x140071561
shr eax, 0x10
movzx ecx, al
movzx r8d, dx
and r8d, 0xffffff00
movzx eax, dl
shl eax, 0x10
or r8d, ecx
or r8d, eax
mov dword [rsp + 0x58], r8d
jmp 0x140071561
mov rcx, rdi
call fcn.14001eeb0
xor ecx, ecx
test eax, eax
mov esi, ecx
cmovns esi, eax
cmp esi, 0xff
jle 0x140071561
mov esi, 0xff
jmp 0x140071561
lea rcx, [rdi + 2]
call fcn.14001eeb0
mov r15d, eax
jmp 0x140071561
lea rcx, [rdi + 2]
call fcn.14001eeb0
mov r12d, eax
test rdi, rdi
je 0x14007159f
movzx edx, word [rdi]
test dx, dx
je 0x14007159f
nop
lea rcx, [0x140110770]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x1400715da
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x140071580
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x140071570
mov rax, qword [0x14012f240]
lea rdx, [0x1401107d4]
test byte [rax + 0x140], 1
jne 0x14007200c
mov rcx, qword [0x140132a80]
xor r9d, r9d
mov r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400dc860
jmp 0x140072022
test rdi, rdi
je 0x14007159f
lea r14, [rdi + 2]
mov rdi, r14
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400715f5
cmp ax, 9
jne 0x1400715fb
add rdi, 2
jmp 0x1400715e6
cmp ax, 0x2a
je 0x1400713f1
xor eax, eax
lea r9, [rsp + 0x54]
mov qword [rsp + 0x38], rax
mov r8d, r12d
lea rax, [rsp + 0x51]
mov edx, r15d
mov qword [rsp + 0x30], rax
mov rcx, r14
mov eax, dword [rsp + 0x54]
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call fcn.1400d7d80
mov qword [rbp - 0x58], rax
mov r14, rax
test rax, rax
je 0x14007159f
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rbp - 0x60], rax
mov r12, rax
test rax, rax
jne 0x140071684
cmp byte [rsp + 0x51], al
jne 0x14007159f
cmp dword [rsp + 0x54], 1
mov rcx, r14
jne 0x140071679
call qword [sym.imp.USER32.dll_DestroyIcon]
jmp 0x14007159f
call qword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x14007159f
xor eax, eax
cmp dword [rsp + 0x54], 1
mov r15d, eax
mov qword [rsp + 0x78], rax
mov edi, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x20], rax
mov byte [rbp + 0x118], al
jne 0x14007184f
lea rdx, [rbp + 0x18]
mov rcx, r14
call qword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x140071702
mov rcx, qword [rbp + 0x28]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 1
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x5c]
mov qword [rsp + 0x20], rax
mov rdx, r12
call fcn.140070420
mov rcx, qword [rbp + 0x30]
mov qword [rbp - 0x80], rax
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.GDI32.dll_DeleteObject]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
mov r12, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r14, rax
test rax, rax
je 0x14007181d
mov rcx, qword [rbp - 0x58]
lea rdx, [rbp + 0x38]
call qword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x140071814
mov rcx, qword [rbp + 0x50]
lea r8, [rbp - 8]
mov edx, SafeArrayAllocDescriptor
call qword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x140071800
mov r8d, dword [rbp]
mov rcx, r12
mov edx, dword [rbp - 4]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov r15, rax
test rax, rax
je 0x140071800
mov rdx, rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov r13, rax
test rax, rax
je 0x1400717f9
mov ecx, dword [rbp - 4]
mov dword [rbp - 0x30], ecx
mov ecx, dword [rbp]
mov dword [rbp - 0x2c], ecx
mov ecx, 0xff000000
mov qword [rbp - 0x38], rdi
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
lea rdx, [rbp - 0x38]
mov rcx, r14
mov r8, rax
mov rdi, rax
call qword [sym.imp.USER32.dll_FillRect]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r9, qword [rbp - 0x58]
xor eax, eax
mov dword [rsp + 0x40], 3
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor edx, edx
mov dword [rsp + 0x30], eax
mov rcx, r14
mov eax, dword [rbp]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 4]
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_DrawIconEx]
mov rdx, r13
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov r13d, dword [rbp + 0x108]
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, r14
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, r12
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, qword [rbp - 0x58]
call qword [sym.imp.USER32.dll_DestroyIcon]
mov qword [rbp - 0x58], r15
mov r14, r15
test r15, r15
je 0x14007159f
mov rdi, qword [rbp - 0x80]
mov r15, qword [rsp + 0x78]
mov r12, qword [rbp - 0x60]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 8
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x5c]
mov rdx, r12
mov rcx, r14
call fcn.140070420
mov qword [rsp + 0x68], rax
mov r12, rax
test rax, rax
je 0x140071eea
mov r14d, dword [rbp + 0x110]
sub r14d, dword [rbp + 0x100]
mov rcx, qword [rbp - 0x60]
inc r14d
sub r13d, dword [rbp + 0xf8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov qword [rsp + 0x78], rax
mov r15, rax
test rax, rax
je 0x140071eea
mov rcx, qword [rbp - 0x60]
lea edx, [r13 + 1]
mov r8d, r14d
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rbp - 0x40], rax
test rax, rax
je 0x140071eea
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rbp - 0x20], rax
test rax, rax
je 0x140071eea
mov eax, dword [rbp + 0x100]
lea r9d, [r13 + 1]
mov dword [rsp + 0x40], 0xcc0020
xor r8d, r8d
mov dword [rsp + 0x38], eax
xor edx, edx
mov eax, dword [rbp + 0xf8]
mov rcx, r15
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
call qword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
je 0x140071eea
mov rcx, qword [rbp - 0x40]
lea rax, [rbp + 0x108]
mov dword [rsp + 0x28], 8
lea r9, [rsp + 0x70]
lea r8, [rbp + 0x110]
mov qword [rsp + 0x20], rax
mov rdx, r15
call fcn.140070420
mov qword [rbp - 0x50], rax
mov r11, rax
test rax, rax
je 0x140071eea
mov r8d, dword [rsp + 0x5c]
mov edx, r8d
imul edx, dword [rsp + 0x60]
mov r13d, dword [rbp + 0x110]
mov r14d, r13d
imul r14d, dword [rsp + 0x70]
cmp byte [rsp + 0x50], 0
movsxd r9, edx
mov qword [rbp - 0x68], r9
mov dword [rbp - 0x48], r14d
movsxd r15, r14d
jne 0x1400719b0
cmp byte [rbp + 0x108], 0
je 0x140071c56
mov r10d, dword [rsp + 0x58]
cmp r10d, 0xffffffff
je 0x1400719c7
and r10d, 0xf8f8f8
mov dword [rsp + 0x58], r10d
movdqa xmm2, xmmword [0x14011e610]
xor ecx, ecx
mov r8d, ecx
test r14d, r14d
jle 0x140071a5f
cmp r14d, 0x10
jb 0x140071a5f
mov ecx, r14d
and ecx, 0x8000000f
jge 0x1400719f5
dec ecx
or ecx, 0xfffffff0
inc ecx
mov eax, r14d
sub eax, ecx
movsxd r9, eax
xor eax, eax
mov ecx, eax
lea rax, [r11 + 0x20]
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
add r8d, 0x10
movdqa xmm1, xmm2
add rcx, 0x10
andps xmm0, xmm2
movdqu xmmword [rax - 0x60], xmm0
movdqu xmm0, xmmword [rax - 0x50]
andps xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
andps xmm0, xmm2
movdqu xmmword [rax - 0x40], xmm0
movdqu xmm0, xmmword [rax - 0x30]
andps xmm0, xmm2
movdqu xmmword [rax - 0x30], xmm0
cmp rcx, r9
jl 0x140071a10
mov r9, qword [rbp - 0x68]
xor ecx, ecx
movsxd rax, r8d
cmp rax, r15
jge 0x140071a80
nop word [rax + rax]
and dword [r11 + rax*4], 0xf8f8f8
inc rax
cmp rax, r15
jl 0x140071a70
test edx, edx
jle 0x140071b00
cmp edx, 0x10
jb 0x140071b00
xor eax, eax
mov ecx, eax
mov eax, edx
and eax, 0x8000000f
jge 0x140071a9d
dec eax
or eax, 0xfffffff0
inc eax
sub edx, eax
xor eax, eax
movsxd r8, edx
mov edx, eax
lea rax, [r12 + 0x20]
nop dword [rax + rax]
movdqu xmm0, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
add ecx, 0x10
movdqa xmm1, xmm2
add rdx, 0x10
andps xmm1, xmm0
movdqu xmmword [rax - 0x60], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x50]
andps xmm0, xmm2
movdqu xmmword [rax - 0x50], xmm0
movdqu xmm0, xmmword [rax - 0x40]
andps xmm1, xmm0
movdqu xmmword [rax - 0x40], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x30]
andps xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
cmp rdx, r8
jl 0x140071ab0
movsxd rax, ecx
cmp rax, r9
jge 0x140071b20
nop dword [rax + rax]
and dword [r12 + rax*4], 0xf8f8f8
inc rax
cmp rax, r9
jl 0x140071b10
mov r8d, dword [rsp + 0x5c]
test r9, r9
jle 0x140071b3f
lea rax, [r12 + 3]
mov rcx, r9
mov byte [rax], 0
lea rax, [rax + 4]
sub rcx, 1
jne 0x140071b32
cmp esi, 1
jge 0x140071cbe
test r14d, r14d
jle 0x140071b6d
lea rax, [r11 + 3]
mov rcx, r15
nop dword [rax]
nop dword [rax + rax]
mov byte [rax], 0
lea rax, [rax + 4]
sub rcx, 1
jne 0x140071b60
xor eax, eax
mov dword [rbp + 0x108], eax
mov r12d, eax
test r14d, r14d
jle 0x140071ebe
mov r14, qword [rsp + 0x68]
mov esi, eax
mov r14d, dword [r14]
nop dword [rax + rax]
cmp dword [r11 + rsi*4], r14d
je 0x140071bb0
test rdi, rdi
je 0x140071ba0
cmp dword [rdi], 0
jne 0x140071bb0
mov byte [rbp + 0x118], 0
cmp r14d, r10d
jne 0x140071c95
mov ecx, dword [rsp + 0x70]
mov eax, r12d
cdq
mov byte [rbp + 0x118], 0
idiv r13d
sub ecx, eax
cmp dword [rsp + 0x60], ecx
jg 0x140071c95
mov eax, r12d
mov byte [rbp + 0x118], 0
cdq
idiv r13d
mov eax, r13d
sub eax, edx
cmp r8d, eax
jg 0x140071c95
xor eax, eax
mov ecx, r12d
mov r8d, eax
mov r11d, eax
test r9, r9
jle 0x140071ef5
mov rdx, rdi
mov byte [rbp + 0x118], 1
mov rdi, qword [rsp + 0x68]
mov r10d, r12d
sub rdi, qword [rbp - 0x80]
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rbp - 0x50]
mov r9d, dword [rdi + rdx]
movsxd rax, ecx
cmp dword [rbx + rax*4], r9d
mov rbx, qword [rbp - 0x78]
je 0x140071c48
cmp qword [rbp - 0x80], 0
je 0x140071c41
cmp dword [rdx], 0
jne 0x140071c48
cmp r9d, dword [rsp + 0x58]
jne 0x140071c85
inc r8d
cmp r8d, dword [rsp + 0x5c]
jge 0x140071c60
inc ecx
jmp 0x140071c6b
mov r10d, dword [rsp + 0x58]
jmp 0x140071b25
xor eax, eax
add r10d, r13d
mov r8d, eax
mov ecx, r10d
inc r11
add rdx, 4
cmp r11, qword [rbp - 0x68]
jl 0x140071c20
movzx r14d, byte [rbp + 0x118]
jmp 0x140071ef8
mov r9, qword [rbp - 0x68]
xor al, al
mov r11, qword [rbp - 0x50]
mov byte [rbp + 0x118], al
inc r12d
inc rsi
mov dword [rbp + 0x108], r12d
cmp rsi, r15
jge 0x140071ebe
mov rdi, qword [rbp - 0x80]
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x140071b90
xor r10d, r10d
mov dword [rbp + 0x108], r10d
mov r12d, r10d
test r14d, r14d
jle 0x140071ebe
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [rsp + 0x70]
mov eax, r12d
cdq
mov byte [rbp + 0x118], 0
idiv r13d
sub ecx, eax
cmp dword [rsp + 0x60], ecx
jg 0x140071ea6
mov eax, r12d
mov byte [rbp + 0x118], 0
cdq
idiv r13d
mov eax, r13d
sub eax, edx
cmp r8d, eax
jg 0x140071ea6
mov qword [rbp - 0x28], r10
mov r14b, 1
mov dword [rsp + 0x54], r12d
mov r13d, r10d
test r9, r9
jle 0x140071ef8
mov dword [rbp - 0x70], r12d
mov rax, rdi
mov r12, qword [rsp + 0x68]
sub rax, r12
mov byte [rbp + 0x118], r14b
mov qword [rbp - 0x38], rax
nop dword [rax]
mov r8d, dword [r12]
mov ecx, r8d
shr ecx, 0x10
movzx edx, r8w
movzx r10d, cl
shr dx, 8
cmp esi, r10d
jle 0x140071d70
xor r14b, r14b
jmp 0x140071d77
movzx r14d, cl
sub r14b, sil
movzx r9d, dl
cmp esi, r9d
jle 0x140071d85
xor dil, dil
jmp 0x140071d8b
movzx edi, dl
sub dil, sil
movzx r15d, r8b
cmp esi, r15d
jle 0x140071d99
xor r11b, r11b
jmp 0x140071da0
movzx r11d, r8b
sub r11b, sil
mov eax, 0xff
sub eax, r10d
cmp esi, eax
jle 0x140071db1
mov r10b, 0xff
jmp 0x140071db5
lea r10d, [rcx + rsi]
mov eax, 0xff
sub eax, r9d
cmp esi, eax
jle 0x140071dc6
mov r9b, 0xff
jmp 0x140071dca
lea r9d, [rdx + rsi]
mov eax, 0xff
sub eax, r15d
cmp esi, eax
jle 0x140071dda
mov cl, 0xff
jmp 0x140071dde
lea ecx, [r8 + rsi]
movsxd r15, dword [rsp + 0x54]
mov rdx, qword [rbp - 0x50]
mov edx, dword [rdx + r15*4]
mov r8d, edx
movzx eax, dx
shr r8d, 0x10
shr ax, 8
cmp r8b, r14b
jb 0x140071e16
cmp r8b, r10b
ja 0x140071e16
cmp al, dil
jb 0x140071e16
cmp al, r9b
ja 0x140071e16
cmp dl, r11b
jb 0x140071e16
cmp dl, cl
jbe 0x140071e35
mov rdi, qword [rbp - 0x80]
test rdi, rdi
je 0x140071e2a
mov rax, qword [rbp - 0x38]
cmp dword [rax + r12], 0
jne 0x140071e35
mov r10d, dword [rsp + 0x58]
cmp dword [r12], r10d
jne 0x140071e85
inc r13d
cmp r13d, dword [rsp + 0x5c]
jge 0x140071e49
inc r15d
mov dword [rsp + 0x54], r15d
jmp 0x140071e62
mov r9d, dword [rbp - 0x70]
xor eax, eax
add r9d, dword [rbp + 0x110]
mov r13d, eax
mov dword [rbp - 0x70], r9d
mov dword [rsp + 0x54], r9d
mov r9, qword [rbp - 0x28]
add r12, 4
inc r9
mov qword [rbp - 0x28], r9
cmp r9, qword [rbp - 0x68]
jl 0x140071d50
movzx r14d, byte [rbp + 0x118]
jmp 0x140071ef8
mov r12d, dword [rbp + 0x108]
xor al, al
mov r13d, dword [rbp + 0x110]
xor r10d, r10d
mov r9, qword [rbp - 0x68]
mov r14d, dword [rbp - 0x48]
mov byte [rbp + 0x118], al
mov r8d, dword [rsp + 0x5c]
inc r12d
mov dword [rbp + 0x108], r12d
cmp r12d, r14d
jl 0x140071ce0
mov rcx, qword [0x140132a80]
lea rdx, [0x14011026c]
xor r9d, r9d
mov byte [rsp + 0x20], 1
mov r8, 0xffffffffffffffff
call fcn.1400dc860
movzx r14d, byte [rbp + 0x118]
jmp 0x140071ef8
mov edi, dword [rbp + 0xf8]
xor r14b, r14b
jmp 0x140071f08
mov r14b, 1
mov edi, dword [rbp + 0x108]
mov r12, qword [rsp + 0x68]
mov r15, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x60]
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
cmp byte [rsp + 0x51], 0
jne 0x140071f25
mov rcx, qword [rbp - 0x58]
call qword [sym.imp.GDI32.dll_DeleteObject]
test r15, r15
je 0x140071f48
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x140071f3f
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 0x140071f5a
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
test r12, r12
je 0x140071f68
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x140071f7a
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x14007159f
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r14b, r14b
jne 0x140071f9f
mov eax, 1
jmp 0x140072022
mov rcx, qword [rbp - 0x18]
mov esi, dword [rbp + 0x110]
test rcx, rcx
je 0x140071fc6
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.1400015a0
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x140071fe8
mov eax, edi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
cdq
idiv esi
sub eax, dword [rbp - 0x74]
add eax, dword [rbp + 0x100]
movsxd rdx, eax
call fcn.1400015a0
mov rcx, qword [0x140132a80]
lea rdx, [0x1400f98c8]
xor r9d, r9d
mov byte [rsp + 0x20], 1
mov r8, 0xffffffffffffffff
call fcn.1400dc860
jmp 0x140072022
mov rcx, qword [rbp + 0xf0]
lea r9, [0x1400f97e4]
xor r8d, r8d
call fcn.140063d20
add rsp, 0x1a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret