Function at 0x14005e070
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 [0x140136490]
xor r15d, r15d
cmp byte [rcx + 1], 1
mov ebx, r15d
mov edi, r9d
mov qword [rbp - 0x20], rax
cmova rbx, qword [0x140136498]
mov esi, r8d
mov qword [rbp - 0x18], rbx
mov r14d, edx
test rax, rax
je 0x14005e0d5
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor edx, edx
lea r8, [r15 - 1]
mov rcx, rax
call fcn.1400b0830
test rbx, rbx
je 0x14005e0f0
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor edx, edx
mov rcx, rbx
lea r8, [r9 - 1]
call fcn.1400b0830
xor r8d, r8d
mov qword [rbp - 0x78], r15
lea rdx, [rbp - 0x74]
lea rcx, [rbp - 0x78]
call fcn.1400ae430
mov eax, dword [rbp - 0x74]
mov r13d, 0xffffffff
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 edx, 0x2e
mov rcx, rsi
mov dword [rbp + 0xe8], r14d
mov dword [rbp + 0xf8], edi
mov r12d, r15d
mov dword [rsp + 0x5c], r15d
mov r14d, r15d
mov dword [rsp + 0x54], r13d
call fcn.1400cba50
mov rdi, rax
test rax, rax
je 0x14005e1b6
add rdi, 2
lea rdx, [0x140118c28]
mov rcx, rdi
call fcn.1400d0944
test eax, eax
je 0x14005e19a
lea rdx, [0x140118c30]
mov rcx, rdi
call fcn.1400d0944
test eax, eax
je 0x14005e19a
lea rdx, [0x140118c38]
mov rcx, rdi
call fcn.1400d0944
test eax, eax
jne 0x14005e1b6
mov ecx, gethostbyname
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, gethostbyname
mov r14d, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r15d, eax
mov rdi, rsi
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14005e1cf
cmp ax, 9
jne 0x14005e1d5
add rdi, 2
jmp 0x14005e1c0
cmp ax, 0x2a
jne 0x14005e45f
nop
movzx ecx, word [rdi + 2]
add rdi, 2
call fcn.1400dd2e8
cmp ax, 0x48
je 0x14005e396
cmp ax, 0x57
je 0x14005e36b
mov r8d, 4
lea rdx, str.Icon
mov rcx, rdi
call fcn.1400d2a10
test eax, eax
jne 0x14005e24d
add rdi, 8
mov rcx, rdi
call fcn.140005a80
mov rcx, rdi
test al, al
je 0x14005e240
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.1400d2570
mov r12d, eax
jmp 0x14005e3bc
call fcn.1400d278c
mov r12d, eax
jmp 0x14005e3bc
mov r8d, 5
lea rdx, str.Trans
mov rcx, rdi
call fcn.1400d2a10
test eax, eax
jne 0x14005e32d
add rdi, 0xa
lea r8d, [rax + 0x1f]
mov rdx, rdi
lea rcx, [rbp + 0x50]
call fcn.1400de184
movzx edx, word [rbp + 0x50]
lea r8, [rbp + 0x50]
xor r10d, r10d
mov word [rbp + 0x8e], r10w
test dx, dx
je 0x14005e2db
mov r9d, SafeArrayAllocDescriptor
nop dword [rax]
lea rcx, [0x1401108a0]
movzx eax, r9w
nop dword [rax + rax]
cmp dx, ax
je 0x14005e2d2
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14005e2b0
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x14005e2a0
jmp 0x14005e2db
test r8, r8
je 0x14005e2db
mov word [r8], r10w
lea rcx, [rbp + 0x50]
call fcn.1400ae200
mov edx, eax
cmp eax, 0xffffffff
jne 0x14005e306
xor edx, edx
lea rcx, [rbp + 0x50]
lea r8d, [rdx + 0x10]
call fcn.1400d2570
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x14005e3bc
shr eax, 0x10
movzx ecx, al
movzx r13d, dx
and r13d, 0xffffff00
movzx eax, dl
shl eax, 0x10
or r13d, ecx
or r13d, eax
mov dword [rsp + 0x54], r13d
jmp 0x14005e3bc
mov rcx, rdi
call fcn.140005a80
mov rcx, rdi
test al, al
je 0x14005e349
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.1400d2570
jmp 0x14005e34e
call fcn.1400d278c
xor ecx, ecx
test eax, eax
cmovns ecx, eax
mov dword [rsp + 0x5c], ecx
cmp ecx, 0xff
jle 0x14005e3bc
mov dword [rsp + 0x5c], 0xff
jmp 0x14005e3bc
lea rcx, [rdi + 2]
call fcn.140005a80
lea rcx, [rdi + 2]
test al, al
je 0x14005e38c
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.1400d2570
mov r14d, eax
jmp 0x14005e3bc
call fcn.1400d278c
mov r14d, eax
jmp 0x14005e3bc
lea rcx, [rdi + 2]
call fcn.140005a80
lea rcx, [rdi + 2]
test al, al
je 0x14005e3b4
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.1400d2570
jmp 0x14005e3b9
call fcn.1400d278c
mov r15d, eax
test rdi, rdi
je 0x14005e3ff
movzx edx, word [rdi]
test dx, dx
je 0x14005e3ff
nop dword [rax]
lea rcx, [0x1401108a0]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14005e437
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14005e3e0
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x14005e3d0
mov rax, qword [0x14012fc08]
lea rdx, [0x140110904]
test byte [rax + 0x140], 1
jne 0x14005ee78
mov rcx, qword [0x140134210]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400b0830
jmp 0x14005ee8e
lea rsi, [rdi + 2]
mov rdi, rsi
nop
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14005e44f
cmp ax, 9
jne 0x14005e455
add rdi, 2
jmp 0x14005e440
cmp ax, 0x2a
je 0x14005e1e0
xor eax, eax
lea r9, [rsp + 0x64]
mov qword [rsp + 0x38], rax
mov r8d, r15d
lea rax, [rsp + 0x51]
mov edx, r14d
mov qword [rsp + 0x30], rax
mov rcx, rsi
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], r12d
call fcn.1400ae690
mov qword [rsp + 0x70], rax
mov r12, rax
test rax, rax
je 0x14005e3ff
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rbp - 0x60], rax
mov rsi, rax
test rax, rax
jne 0x14005e4dc
cmp byte [rsp + 0x51], al
jne 0x14005e3ff
cmp dword [rsp + 0x64], 1
mov rcx, r12
jne 0x14005e4d1
call qword [sym.imp.USER32.dll_DestroyIcon]
jmp 0x14005e3ff
call qword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x14005e3ff
xor r14d, r14d
xor al, al
cmp dword [rsp + 0x64], 1
mov edi, r14d
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x80], r14
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x28], r14
mov byte [rbp + 0x108], al
jne 0x14005e6a8
lea rdx, [rbp + 0x10]
mov rcx, r12
call qword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x14005e55c
mov rcx, qword [rbp + 0x20]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 1
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.14005d1e0
mov rcx, qword [rbp + 0x28]
mov qword [rsp + 0x78], rax
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.GDI32.dll_DeleteObject]
xor ecx, ecx
mov rsi, r14
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
mov r15, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r14, rax
test rax, rax
je 0x14005e67a
lea rdx, [rbp + 0x30]
mov rcx, r12
call qword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x14005e671
mov rcx, qword [rbp + 0x48]
lea r8, [rbp - 0x10]
mov edx, SafeArrayAllocDescriptor
call qword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x14005e65d
mov r8d, dword [rbp - 8]
mov rcx, r15
mov edx, dword [rbp - 0xc]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov rsi, rax
test rax, rax
je 0x14005e65d
mov rdx, rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov r12, rax
test rax, rax
je 0x14005e658
mov ecx, dword [rbp - 0xc]
xor eax, eax
mov dword [rbp - 0x38], ecx
mov ecx, dword [rbp - 8]
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, 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 [rsp + 0x70]
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 - 8]
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, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov r12, qword [rsp + 0x70]
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, r14
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, r12
call qword [sym.imp.USER32.dll_DestroyIcon]
mov qword [rsp + 0x70], rsi
mov r12, rsi
test rsi, rsi
je 0x14005e3ff
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rbp - 0x60]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 8
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x58]
mov rdx, rsi
mov rcx, r12
call fcn.14005d1e0
mov qword [rsp + 0x68], rax
mov r15, rax
test rax, rax
je 0x14005ed58
mov r14d, dword [rbp + 0x100]
sub r14d, dword [rbp + 0xf0]
mov esi, dword [rbp + 0xf8]
inc r14d
mov rcx, qword [rbp - 0x60]
sub esi, dword [rbp + 0xe8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov qword [rbp - 0x58], rax
test rax, rax
je 0x14005ed58
mov rcx, qword [rbp - 0x60]
lea edx, [rsi + 1]
mov r8d, r14d
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rbp - 0x48], rax
test rax, rax
je 0x14005ed58
mov rcx, qword [rbp - 0x58]
mov rdx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x14005ed58
mov eax, dword [rbp + 0xf0]
lea r9d, [rsi + 1]
mov rsi, qword [rbp - 0x58]
xor r8d, r8d
mov dword [rsp + 0x40], 0xcc0020
xor edx, edx
mov dword [rsp + 0x38], eax
mov rcx, rsi
mov eax, dword [rbp + 0xe8]
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 0x14005ed58
mov rcx, qword [rbp - 0x48]
lea rax, [rbp + 0x100]
mov dword [rsp + 0x28], 8
lea r9, [rsp + 0x64]
lea r8, [rbp + 0xf8]
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.14005d1e0
mov qword [rbp - 0x80], rax
mov rsi, rax
test rax, rax
je 0x14005ed58
mov r8d, dword [rsp + 0x58]
mov edx, r8d
mov r14d, dword [rsp + 0x60]
mov r12d, dword [rbp + 0xf8]
mov r11d, r12d
imul r11d, dword [rsp + 0x64]
imul edx, r14d
cmp byte [rsp + 0x50], 0
mov dword [rbp - 0x4c], r11d
movsxd r9, edx
mov qword [rbp - 0x68], r9
movsxd r15, r11d
jne 0x14005e812
cmp byte [rbp + 0x100], 0
je 0x14005e9a1
mov r10d, r13d
and r10d, 0xf8f8f8
cmp r13d, 0xffffffff
cmove r10d, r13d
xor r13d, r13d
mov dword [rsp + 0x54], r10d
mov r8d, r13d
test r11d, r11d
jle 0x14005e8c1
cmp r11d, 0x10
jb 0x14005e8c1
mov ecx, r11d
and ecx, 0x8000000f
jge 0x14005e854
dec ecx
or ecx, 0xfffffff0
inc ecx
movdqa xmm2, xmmword [0x14011c7d0]
mov eax, r11d
sub eax, ecx
mov rcx, r13
movsxd r9, eax
lea rax, [rsi + 0x20]
nop dword [rax + rax]
movdqu xmm0, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
add r8d, 0x10
movdqa xmm1, xmm2
add rcx, 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
movdqu xmm0, xmmword [rax - 0x30]
andps xmm0, xmm2
movdqu xmmword [rax - 0x30], xmm0
cmp rcx, r9
jl 0x14005e870
mov r9, qword [rbp - 0x68]
movsxd rax, r8d
cmp rax, r15
jge 0x14005e8df
nop dword [rax]
and dword [rsi + rax*4], 0xf8f8f8
inc rax
cmp rax, r15
jl 0x14005e8d0
mov ecx, r13d
test edx, edx
jle 0x14005e972
cmp edx, 0x10
jb 0x14005e972
mov eax, edx
and eax, 0x8000000f
jge 0x14005e903
dec eax
or eax, 0xfffffff0
inc eax
mov r14, qword [rsp + 0x68]
sub edx, eax
movdqa xmm2, xmmword [0x14011c7d0]
movsxd r8, edx
mov rdx, r13
lea rax, [r14 + 0x20]
nop dword [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 0x14005e920
jmp 0x14005e977
mov r14, qword [rsp + 0x68]
movsxd rax, ecx
cmp rax, r9
jge 0x14005e995
nop
and dword [r14 + rax*4], 0xf8f8f8
inc rax
cmp rax, r9
jl 0x14005e980
mov dword [rsp + 0x54], r10d
mov r8d, dword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
jmp 0x14005e9a4
xor r13d, r13d
mov rdx, qword [rsp + 0x68]
test r9, r9
jle 0x14005e9cd
lea rax, [rdx + 3]
mov rcx, r9
nop word [rax + rax]
mov byte [rax], 0
lea rax, [rax + 4]
sub rcx, 1
jne 0x14005e9c0
mov r10d, dword [rsp + 0x5c]
cmp r10d, 1
jge 0x14005eb39
test r11d, r11d
jle 0x14005e9fd
lea rax, [rsi + 3]
mov rcx, r15
nop dword [rax + rax]
mov byte [rax], 0
lea rax, [rax + 4]
sub rcx, 1
jne 0x14005e9f0
mov dword [rbp + 0x100], r13d
test r11d, r11d
jle 0x14005ed30
mov r14d, dword [rdx]
xor r11d, r11d
mov rax, qword [rbp - 0x80]
mov esi, r11d
mov r10d, dword [rsp + 0x54]
nop
cmp dword [rax + rsi*4], r14d
je 0x14005ea40
test rdi, rdi
je 0x14005ea30
cmp dword [rdi], 0
jne 0x14005ea40
mov byte [rbp + 0x108], 0
cmp r14d, r10d
jne 0x14005eb14
mov ecx, dword [rsp + 0x64]
mov eax, r13d
cdq
mov byte [rbp + 0x108], 0
idiv r12d
sub ecx, eax
cmp dword [rsp + 0x60], ecx
jg 0x14005eb10
mov eax, r13d
mov byte [rbp + 0x108], 0
cdq
idiv r12d
mov eax, r12d
sub eax, edx
cmp r8d, eax
jg 0x14005eb10
mov al, 1
mov r8d, r11d
mov ecx, r13d
test r9, r9
jle 0x14005ed63
mov rdx, rdi
mov byte [rbp + 0x108], al
mov rdi, qword [rsp + 0x68]
mov r10d, r13d
sub rdi, qword [rsp + 0x78]
mov rbx, qword [rbp - 0x80]
mov r9d, dword [rdi + rdx]
movsxd rax, ecx
cmp dword [rbx + rax*4], r9d
mov rbx, qword [rbp - 0x78]
je 0x14005eaca
cmp qword [rsp + 0x78], 0
je 0x14005eac3
cmp dword [rdx], 0
jne 0x14005eaca
cmp r9d, dword [rsp + 0x54]
jne 0x14005eafc
inc r8d
cmp r8d, dword [rsp + 0x58]
jge 0x14005ead8
inc ecx
jmp 0x14005eae3
xor eax, eax
add r10d, r12d
mov r8d, eax
mov ecx, r10d
inc r11
add rdx, 4
cmp r11, qword [rbp - 0x68]
jl 0x14005eaa1
movzx esi, byte [rbp + 0x108]
jmp 0x14005ed66
mov r9, qword [rbp - 0x68]
xor al, al
mov r10d, dword [rsp + 0x54]
xor r11d, r11d
mov byte [rbp + 0x108], al
mov rax, qword [rbp - 0x80]
inc r13d
inc rsi
mov dword [rbp + 0x100], r13d
cmp rsi, r15
jge 0x14005ed30
mov rdi, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x58]
jmp 0x14005ea20
xor r15d, r15d
mov dword [rbp + 0x100], r15d
mov r13d, r15d
test r11d, r11d
jle 0x14005ed30
jmp 0x14005eb56
mov rdi, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x64]
mov eax, r13d
cdq
mov byte [rbp + 0x108], 0
idiv r12d
sub ecx, eax
cmp r14d, ecx
jg 0x14005ed18
mov eax, r13d
mov byte [rbp + 0x108], 0
cdq
idiv r12d
mov eax, r12d
sub eax, edx
cmp r8d, eax
jg 0x14005ed18
mov qword [rbp - 0x30], r15
mov sil, 1
mov r14d, r15d
mov r12d, r13d
test r9, r9
jle 0x14005ed66
mov rax, qword [rsp + 0x68]
mov r15, rdi
sub rax, rdi
mov byte [rbp + 0x108], sil
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x70], r13d
nop
mov edi, dword [r15 + rax]
mov ecx, edi
shr ecx, 0x10
movzx edx, di
movzx r8d, cl
shr dx, 8
cmp r10d, r8d
jle 0x14005ebde
xor r11b, r11b
jmp 0x14005ebe5
movzx r11d, cl
sub r11b, r10b
xor r13d, r13d
movzx r9d, dl
movzx eax, dl
movzx esi, dil
sub al, r10b
cmp r10d, r9d
cmovle r13d, eax
movzx eax, dil
sub al, r10b
xor r10d, r10d
cmp dword [rsp + 0x5c], esi
movzx eax, al
cmovle r10d, eax
mov eax, 0xff
sub eax, r8d
mov dword [rbp - 0x50], r10d
mov r8d, dword [rsp + 0x5c]
cmp r8d, eax
jle 0x14005ec2d
mov r10b, 0xff
jmp 0x14005ec31
lea r10d, [rcx + r8]
mov eax, 0xff
sub eax, r9d
cmp r8d, eax
jle 0x14005ec43
mov r9b, 0xff
jmp 0x14005ec47
lea r9d, [rdx + r8]
mov eax, 0xff
sub eax, esi
cmp r8d, eax
jle 0x14005ec57
mov cl, 0xff
jmp 0x14005ec5b
lea ecx, [rdi + r8]
mov rdx, qword [rbp - 0x80]
movsxd rax, r12d
mov edx, dword [rdx + rax*4]
mov r8d, edx
movzx eax, dx
shr r8d, 0x10
shr ax, 8
cmp r8b, r11b
jb 0x14005ec90
cmp r8b, r10b
ja 0x14005ec90
cmp al, r13b
jb 0x14005ec90
cmp al, r9b
ja 0x14005ec90
cmp dl, byte [rbp - 0x50]
jb 0x14005ec90
cmp dl, cl
jbe 0x14005eca4
cmp qword [rsp + 0x78], 0
je 0x14005ec9e
cmp dword [r15], 0
jne 0x14005eca4
cmp edi, dword [rsp + 0x54]
jne 0x14005eced
inc r14d
cmp r14d, dword [rsp + 0x58]
jge 0x14005ecb3
inc r12d
jmp 0x14005ecca
mov r9d, dword [rbp - 0x70]
xor eax, eax
add r9d, dword [rbp + 0xf8]
mov r14d, eax
mov dword [rbp - 0x70], r9d
mov r12d, r9d
mov rax, qword [rbp - 0x30]
add r15, 4
inc rax
mov qword [rbp - 0x30], rax
cmp rax, qword [rbp - 0x68]
jge 0x14005ed4f
mov r10d, dword [rsp + 0x5c]
mov rax, qword [rbp - 0x40]
jmp 0x14005ebc0
mov r10d, dword [rsp + 0x5c]
xor al, al
mov r13d, dword [rbp + 0x100]
xor r15d, r15d
mov r12d, dword [rbp + 0xf8]
mov r9, qword [rbp - 0x68]
mov r11d, dword [rbp - 0x4c]
mov r14d, dword [rsp + 0x60]
mov byte [rbp + 0x108], al
mov r8d, dword [rsp + 0x58]
inc r13d
mov dword [rbp + 0x100], r13d
cmp r13d, r11d
jl 0x14005eb51
mov rcx, qword [0x140134210]
lea rdx, [0x14011037c]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400b0830
movzx esi, byte [rbp + 0x108]
jmp 0x14005ed66
mov edi, dword [rbp + 0xe8]
xor sil, sil
jmp 0x14005ed76
movzx esi, al
mov edi, dword [rbp + 0x100]
mov r15, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x60]
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
cmp byte [rsp + 0x51], 0
jne 0x14005ed92
mov rcx, r12
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r14, qword [rbp - 0x58]
test r14, r14
je 0x14005edb9
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x14005edb0
mov rdx, rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r14
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x14005edcb
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
test r15, r15
je 0x14005edd8
mov rcx, r15
call fcn.1400d29a8
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14005edea
mov rcx, rax
call fcn.1400d29a8
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x14005e3ff
mov rcx, rax
call fcn.1400d29a8
test sil, sil
jne 0x14005ee0e
mov eax, 1
jmp 0x14005ee8e
mov rcx, qword [rbp - 0x20]
mov esi, dword [rbp + 0xf8]
test rcx, rcx
je 0x14005ee35
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.1400014b0
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14005ee57
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.1400014b0
mov rcx, qword [0x140134210]
lea rdx, [0x1400fb96c]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400b0830
jmp 0x14005ee8e
mov rcx, qword [rbp + 0xe0]
lea r9, [0x1400fb87c]
xor r8d, r8d
call fcn.140050b90
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret