Function at 0x1400550b0
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 [0x140104ae0]
xor r12d, r12d
cmp byte [rcx + 1], 1
mov ebx, r12d
mov edi, r9d
mov qword [rbp - 0x20], rax
cmova rbx, qword [0x140104ae8]
mov esi, r8d
mov qword [rbp - 0x18], rbx
mov r14d, edx
mov r13, rcx
test rax, rax
je 0x140055119
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor edx, edx
lea r8, [r12 - 1]
mov rcx, rax
call fcn.1400b1f60
test rbx, rbx
je 0x140055134
xor r9d, r9d
mov byte [rsp + 0x20], 1
xor edx, edx
mov rcx, rbx
lea r8, [r9 - 1]
call fcn.1400b1f60
xor r8d, r8d
mov qword [rbp - 0x70], r12
lea rdx, [rbp - 0x6c]
lea rcx, [rbp - 0x70]
call fcn.1400ae6e0
mov eax, dword [rbp - 0x6c]
mov edx, 0x2e
mov rbx, qword [rbp - 0x70]
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 + 0x60], r12d
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x5c], r12d
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, rax
test rax, rax
je 0x140055200
add rdi, 2
lea rdx, [0x1400e99b0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x1400551e4
lea rdx, [0x1400e99b8]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x1400551e4
lea rdx, [0x1400e99c0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x140055200
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 0x140055212
cmp ax, 9
jne 0x140055218
add rdi, 2
jmp 0x140055203
cmp ax, 0x2a
jne 0x14005548f
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 0x1400553f4
cmp eax, 0x57
je 0x1400553c7
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 0x140055296
add rdi, 8
mov rcx, rdi
call fcn.1400132b0
mov rcx, rdi
test al, al
je 0x140055287
xor edx, edx
lea r8d, [rdx + 0x10]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
mov dword [rsp + 0x5c], eax
jmp 0x14005541c
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
mov dword [rsp + 0x5c], eax
jmp 0x14005541c
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 0x14005537e
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 0x14005532b
mov r9d, SafeArrayAllocDescriptor
nop word [rax + rax]
lea rcx, [0x1400e2230]
movzx eax, r9w
nop dword [rax + rax]
cmp dx, ax
je 0x140055322
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x140055300
movzx edx, word [r8 + 2]
add r8, 2
test dx, dx
jne 0x1400552f0
jmp 0x14005532b
test r8, r8
je 0x14005532b
mov word [r8], r10w
lea rcx, [rbp + 0x50]
call fcn.1400ae440
mov edx, eax
cmp eax, 0xffffffff
jne 0x140055357
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 0x14005541c
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 0x14005541c
mov rcx, rdi
call fcn.1400132b0
mov rcx, rdi
test al, al
je 0x14005539b
xor edx, edx
lea r8d, [rdx + 0x10]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
jmp 0x1400553a1
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
xor ecx, ecx
test eax, eax
mov r10d, ecx
cmovns r10d, eax
mov dword [rsp + 0x60], r10d
cmp r10d, 0xff
jle 0x14005541c
mov r10d, 0xff
mov dword [rsp + 0x60], r10d
jmp 0x14005541c
lea rcx, [rdi + 2]
call fcn.1400132b0
lea rcx, [rdi + 2]
test al, al
je 0x1400553e9
xor edx, edx
lea r8d, [rdx + 0x10]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
mov r15d, eax
jmp 0x14005541c
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
mov r15d, eax
jmp 0x14005541c
lea rcx, [rdi + 2]
call fcn.1400132b0
lea rcx, [rdi + 2]
test al, al
je 0x140055413
xor edx, edx
lea r8d, [rdx + 0x10]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
jmp 0x140055419
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
mov r12d, eax
test rdi, rdi
je 0x140055504
movzx edx, word [rdi]
test dx, dx
je 0x140055504
lea rcx, [0x1400e2230]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x140055464
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x140055440
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x140055431
jmp 0x140055504
lea rsi, [rdi + 2]
mov rdi, rsi
nop dword [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14005547f
cmp ax, 9
jne 0x140055485
add rdi, 2
jmp 0x140055470
cmp ax, 0x2a
je 0x140055222
xor eax, eax
lea r9, [rbp + 0x108]
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 + 0x5c]
mov r13d, r14d
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call fcn.1400ae810
mov qword [rbp - 0x50], rax
mov rdi, rax
test rax, rax
je 0x1400554fd
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rbp - 0x30], rax
mov r14, rax
test rax, rax
jne 0x140055544
cmp byte [rsp + 0x50], al
jne 0x1400554fd
cmp dword [rbp + 0x108], 1
mov rcx, rdi
jne 0x14005553c
call qword [sym.imp.USER32.dll_DestroyIcon]
mov r13, qword [rbp + 0xe0]
mov rax, qword [0x1400ff050]
lea rdx, [0x1400e2294]
test byte [rax + 0x140], 1
jne 0x140055e81
mov rcx, qword [0x140102760]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400b1f60
jmp 0x140055e93
call qword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x1400554fd
xor esi, esi
cmp dword [rbp + 0x108], 1
mov r15d, esi
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x48], rsi
mov qword [rsp + 0x68], rsi
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x28], rsi
jne 0x140055705
lea rdx, [rbp + 0x10]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x1400555be
mov rcx, qword [rbp + 0x20]
lea rax, [rbp + 0x108]
mov dword [rsp + 0x28], 1
lea r9, [rsp + 0x5c]
lea r8, [rsp + 0x64]
mov qword [rsp + 0x20], rax
mov rdx, r14
call fcn.1400542c0
mov rcx, qword [rbp + 0x28]
mov qword [rbp - 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 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 0x1400556d9
lea rdx, [rbp + 0x30]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x1400556d0
mov rcx, qword [rbp + 0x48]
lea r8, [rbp - 0x10]
mov edx, SafeArrayAllocDescriptor
call qword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x1400556bc
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 0x1400556bc
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.GDI32.dll_SelectObject]
mov r12, rax
test rax, rax
je 0x1400556bc
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, 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 - 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 - 0x50], r14
mov rdi, r14
test r14, r14
je 0x1400554fd
mov r15, qword [rbp - 0x80]
mov r14, qword [rbp - 0x30]
lea rax, [rbp + 0x108]
mov dword [rsp + 0x28], 8
lea r9, [rsp + 0x5c]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x64]
mov rdx, r14
mov rcx, rdi
call fcn.1400542c0
mov qword [rsp + 0x70], rax
mov r12, rax
test rax, rax
je 0x140055d4c
mov esi, dword [rbp + 0x100]
mov rcx, r14
sub esi, dword [rbp + 0xf0]
mov edi, dword [rbp + 0xf8]
inc esi
sub edi, dword [rbp + 0xe8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov qword [rbp - 0x80], rax
mov r15, rax
test rax, rax
je 0x140055d4c
mov r8d, esi
lea edx, [rdi + 1]
mov rcx, r14
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rbp - 0x48], rax
test rax, rax
je 0x140055d4c
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x140055d4c
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 qword [rsp + 0x28], r14
mov dword [rsp + 0x20], esi
call qword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
je 0x140055d4c
mov rcx, qword [rbp - 0x48]
lea rax, [rbp + 0x100]
mov dword [rsp + 0x28], 8
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x54]
mov qword [rsp + 0x20], rax
mov rdx, r15
call fcn.1400542c0
mov qword [rsp + 0x68], rax
mov rdi, rax
test rax, rax
je 0x140055d4c
mov r11d, dword [rsp + 0x64]
mov edx, r11d
mov esi, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x54]
mov r9d, r8d
imul r9d, dword [rsp + 0x78]
imul edx, esi
cmp byte [rbp + 0x108], 0
mov dword [rbp - 0x68], r9d
movsxd r10, edx
mov qword [rbp - 0x60], r10
movsxd r15, r9d
jne 0x140055862
cmp byte [rbp + 0x100], 0
je 0x1400559dc
mov r14d, r13d
and r14d, 0xf8f8f8
cmp r13d, 0xffffffff
cmove r14d, r13d
xor r13d, r13d
mov dword [rsp + 0x58], r14d
mov r8d, r13d
test r9d, r9d
jle 0x140055915
cmp r9d, 0x10
jb 0x140055915
mov ecx, r9d
and ecx, 0x8000000f
jge 0x1400558a4
dec ecx
or ecx, 0xfffffff0
inc ecx
movdqa xmm2, xmmword [0x1400efab0]
mov eax, r9d
sub eax, ecx
mov rcx, r13
movsxd r9, eax
lea rax, [rdi + 0x20]
nop dword [rax + 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
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x40]
pand xmm0, xmm2
movdqu xmmword [rax - 0x40], xmm0
movdqu xmm0, xmmword [rax - 0x30]
pand xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
cmp rcx, r9
jl 0x1400558c0
mov r9d, dword [rbp - 0x68]
movsxd rax, r8d
cmp rax, r15
jge 0x14005592f
nop dword [rax]
and dword [rdi + rax*4], 0xf8f8f8
inc rax
cmp rax, r15
jl 0x140055920
mov ecx, r13d
test edx, edx
jle 0x1400559b0
cmp edx, 0x10
jb 0x1400559b0
mov eax, edx
and eax, 0x8000000f
jge 0x14005594b
dec eax
or eax, 0xfffffff0
inc eax
movdqa xmm2, xmmword [0x1400efab0]
sub edx, eax
movsxd r8, edx
lea rax, [r12 + 0x20]
mov rdx, r13
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
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x40]
pand xmm0, xmm2
movdqu xmmword [rax - 0x40], xmm0
movdqu xmm0, xmmword [rax - 0x30]
pand xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
cmp rdx, r8
jl 0x140055960
movsxd rax, ecx
cmp rax, r10
jge 0x1400559d5
nop dword [rax + rax]
and dword [r12 + rax*4], 0xf8f8f8
inc rax
cmp rax, r10
jl 0x1400559c0
mov dword [rsp + 0x58], r14d
mov r8d, dword [rsp + 0x54]
jmp 0x1400559df
xor r13d, r13d
test r10, r10
jle 0x1400559fd
lea rax, [r12 + 3]
mov rcx, r10
nop dword [rax]
mov byte [rax], 0
lea rax, [rax + 4]
sub rcx, 1
jne 0x1400559f0
mov r14d, dword [rsp + 0x60]
cmp r14d, 1
jge 0x140055b4e
test r15, r15
jle 0x140055a2d
lea rax, [rdi + 3]
mov rcx, r15
nop dword [rax + rax]
mov byte [rax], 0
lea rax, [rax + 4]
sub rcx, 1
jne 0x140055a20
mov dword [rbp + 0xf8], r13d
mov r12d, r13d
test r9d, r9d
jle 0x140055d28
mov rax, qword [rsp + 0x70]
mov rsi, r13
mov r9d, dword [rsp + 0x58]
mov r14d, dword [rax]
mov r13, qword [rbp - 0x78]
cmp dword [rdi + rsi*4], r14d
je 0x140055a6f
test r13, r13
je 0x140055a66
cmp dword [r13], 0
jne 0x140055a6f
cmp r14d, r9d
jne 0x140055b2e
mov ecx, dword [rsp + 0x78]
mov eax, r12d
cdq
idiv r8d
sub ecx, eax
cmp dword [rsp + 0x5c], ecx
jg 0x140055b2e
mov eax, r8d
sub eax, edx
cmp r11d, eax
jg 0x140055b2e
xor eax, eax
mov ecx, r12d
mov r8d, eax
mov r11d, eax
test r10, r10
jle 0x140055d6f
mov rdi, qword [rsp + 0x70]
mov r10d, r12d
sub rdi, r13
mov byte [rbp + 0x100], 1
mov rdx, r13
nop dword [rax]
mov rbx, qword [rsp + 0x68]
mov r9d, dword [rdi + rdx]
movsxd rax, ecx
cmp dword [rbx + rax*4], r9d
mov rbx, qword [rbp - 0x70]
je 0x140055ae7
test r13, r13
je 0x140055ae0
cmp dword [rdx], 0
jne 0x140055ae7
cmp r9d, dword [rsp + 0x58]
jne 0x140055b1b
inc r8d
cmp r8d, dword [rsp + 0x64]
jge 0x140055af5
inc ecx
jmp 0x140055b02
xor eax, eax
add r10d, dword [rsp + 0x54]
mov r8d, eax
mov ecx, r10d
inc r11
add rdx, 4
cmp r11, qword [rbp - 0x60]
jl 0x140055ac0
movzx esi, byte [rbp + 0x100]
jmp 0x140055d72
mov r9d, dword [rsp + 0x58]
mov r10, qword [rbp - 0x60]
mov r11d, dword [rsp + 0x64]
mov rdi, qword [rsp + 0x68]
inc r12d
inc rsi
mov dword [rbp + 0xf8], r12d
cmp rsi, r15
jge 0x140055d28
mov r8d, dword [rsp + 0x54]
jmp 0x140055a50
mov dword [rbp + 0xf8], r13d
mov r12d, r13d
test r9d, r9d
jle 0x140055d28
mov ecx, dword [rsp + 0x78]
mov eax, r12d
cdq
idiv r8d
sub ecx, eax
cmp esi, ecx
jg 0x140055d15
mov eax, r8d
sub eax, edx
cmp r11d, eax
jg 0x140055d15
xor r9d, r9d
mov sil, 1
mov r11d, r9d
mov r13d, r9d
mov edi, r12d
test r10, r10
jle 0x140055d72
mov rax, qword [rbp - 0x78]
mov byte [rbp + 0x100], sil
mov rsi, qword [rsp + 0x70]
sub rax, rsi
mov qword [rbp - 0x40], rax
mov r15d, dword [rsi]
mov edx, r15d
shr edx, 0x10
movzx r8d, r15w
shr r8w, 8
movzx eax, dl
sub al, r14b
movzx ecx, dl
movzx eax, al
cmp r14d, ecx
mov dword [rbp + 0x108], 0
cmovle r9d, eax
xor r10d, r10d
movzx eax, r8b
mov dword [rbp - 0x58], r9d
sub al, r14b
movzx r9d, r8b
movzx eax, al
cmp r14d, r9d
movzx r14d, r15b
cmovle r10d, eax
movzx eax, r15b
mov dword [rbp - 0x54], r10d
mov r10d, dword [rsp + 0x60]
sub al, r10b
cmp r10d, r14d
movzx eax, al
mov r10d, dword [rbp + 0x108]
cmovle r10d, eax
mov eax, 0xff
sub eax, ecx
mov dword [rbp + 0x108], r10d
mov ecx, dword [rsp + 0x60]
cmp ecx, eax
jle 0x140055c3e
mov r10b, 0xff
jmp 0x140055c42
lea r10d, [rdx + rcx]
mov eax, 0xff
sub eax, r9d
cmp ecx, eax
jle 0x140055c53
mov r9b, 0xff
jmp 0x140055c57
lea r9d, [r8 + rcx]
mov eax, 0xff
sub eax, r14d
cmp ecx, eax
jle 0x140055c67
mov cl, 0xff
jmp 0x140055c6a
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 - 0x58]
jb 0x140055ca5
cmp r8b, r10b
ja 0x140055ca5
cmp al, byte [rbp - 0x54]
jb 0x140055ca5
cmp al, r9b
ja 0x140055ca5
cmp dl, byte [rbp + 0x108]
jb 0x140055ca5
cmp dl, cl
jbe 0x140055cbd
cmp qword [rbp - 0x78], 0
je 0x140055cb6
mov rax, qword [rbp - 0x40]
cmp dword [rax + rsi], 0
jne 0x140055cbd
cmp r15d, dword [rsp + 0x58]
jne 0x140055cf3
inc r11d
cmp r11d, dword [rsp + 0x64]
jge 0x140055cce
inc edi
xor r9d, r9d
jmp 0x140055cdc
xor r9d, r9d
add r12d, dword [rsp + 0x54]
mov r11d, r9d
mov edi, r12d
inc r13
add rsi, 4
cmp r13, qword [rbp - 0x60]
jge 0x140055d57
mov r14d, dword [rsp + 0x60]
jmp 0x140055bb3
mov r14d, dword [rsp + 0x60]
mov r12d, dword [rbp + 0xf8]
mov r8d, dword [rsp + 0x54]
mov r10, qword [rbp - 0x60]
mov r11d, dword [rsp + 0x64]
mov r9d, dword [rbp - 0x68]
mov esi, dword [rsp + 0x5c]
inc r12d
mov dword [rbp + 0xf8], r12d
cmp r12d, r9d
jl 0x140055b61
mov rcx, qword [0x140102760]
lea rdx, [0x1400e1d2c]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400b1f60
xor sil, sil
jmp 0x140055d72
mov edi, dword [rbp + 0xe8]
xor sil, sil
jmp 0x140055d81
mov edi, dword [rbp + 0xf8]
movzx esi, byte [rbp + 0x100]
mov r12, qword [rsp + 0x70]
mov r15, qword [rbp - 0x80]
jmp 0x140055d86
mov sil, 1
mov r15, qword [rbp - 0x80]
mov r12, qword [rsp + 0x70]
mov edi, dword [rbp + 0xf8]
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 0x140055da3
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.GDI32.dll_DeleteObject]
test r15, r15
je 0x140055dc6
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x140055dbd
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 - 0x48]
test rax, rax
je 0x140055dd8
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
test r12, r12
je 0x140055de6
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x140055df8
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r14, r14
je 0x1400554fd
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test sil, sil
jne 0x140055e19
mov eax, 1
jmp 0x140055e93
mov rcx, qword [rbp - 0x20]
mov esi, dword [rsp + 0x54]
test rcx, rcx
je 0x140055e3e
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.1400014c0
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140055e60
mov eax, edi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
cdq
idiv esi
sub eax, dword [rbp - 0x6c]
add eax, dword [rbp + 0xf0]
movsxd rdx, eax
call fcn.1400014c0
mov rcx, qword [0x140102760]
lea rdx, [0x1400cc6d4]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400b1f60
jmp 0x140055e93
lea r9, [0x1400cc644]
xor r8d, r8d
mov rcx, r13
call fcn.140047870
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret