Function at 0x1400578f0
Capabilities:
Authenticate hmac
Delete file
Encode data using xor
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x9d8]
sub rsp, 0xab0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x140187440]
xor rax, rsp
mov qword [rbp + 0x990], rax
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x138], rcx
xor edi, edi
mov dword [rsp + 0x44], edi
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx], rdi
mov qword [rcx + 8], rdi
mov qword [rcx + 0x10], rdi
mov dword [rsp + 0x44], 1
mov qword [rbp + 0x5d0], rdi
mov qword [rbp + 0x5b0], rdi
mov qword [rbp + 0x598], rdi
mov qword [rbp + 0x5d8], rdi
mov qword [rbp + 0x588], rdi
mov qword [rbp + 0x5c8], rdi
mov qword [rbp + 0x5b8], rdi
mov qword [rbp + 0x5a8], rdi
mov qword [rbp + 0x590], rdi
mov qword [rbp + 0x5c0], rdi
mov qword [rbp + 0x5a0], rdi
mov r13d, edi
mov byte [rsp + 0x48], r13b
movups xmm0, xmmword [0x1400ec978]
movups xmmword [rbp + 0x6d8], xmm0
movsd xmm0, qword [0x1400ec988]
movsd qword [rbp + 0x6e8], xmm0
mov eax, dword [0x1400ec990]
mov dword [rbp + 0x6f0], eax
movzx eax, byte [0x1400ec994]
mov byte [rbp + 0x6f4], al
mov r8d, edi
mov r15d, dword [0x140187488]
cmp r15d, 2
jl 0x140057b35
movdqa xmm5, xmmword [0x140171d30]
movdqa xmm4, xmmword [0x140171e60]
movdqa xmm6, xmmword [0x140171d60]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp + 0x6d8]
mov edx, dword [rbp - 0x80]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x140057a30
cmp r8d, 0x1d
jge 0x140057b80
movsxd rax, r8d
lea r9, [rbp + 0x6d8]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1d
jl 0x140057b50
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x18], rdi
lea rax, [rbp + 0x6d8]
mov r12, 0xffffffffffffffff
mov r8, r12
inc r8
cmp byte [rax + r8], r13b
jne 0x140057ba0
lea rdx, [rbp + 0x6d8]
lea rcx, [rbp]
call fcn.14003cdd0
nop
mov dword [rsp + 0x44], 3
lea rdx, [rbp]
lea rcx, [rbp + 0x40]
call fcn.140047970
nop
mov r14d, 7
mov dword [rsp + 0x44], r14d
lea rcx, [rbp + 0x40]
cmp qword [rbp + 0x58], r14
cmova rcx, qword [rbp + 0x40]
lea rdx, [rbp + 0x6a0]
call fcn.140092700
cmp eax, 2
jne 0x140057e32
movups xmm0, xmmword [0x1400ec978]
movups xmmword [rbp + 0x20], xmm0
movsd xmm0, qword [0x1400ec988]
movsd qword [rbp + 0x30], xmm0
mov eax, dword [0x1400ec990]
mov dword [rbp + 0x38], eax
movzx eax, byte [0x1400ec994]
mov byte [rbp + 0x3c], al
mov r8d, edi
cmp r15d, 2
jl 0x140057d66
movdqa xmm5, xmmword [0x140171d30]
movdqa xmm4, xmmword [0x140171e60]
movdqa xmm6, xmmword [0x140171d60]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp + 0x20]
mov edx, dword [rbp - 0x80]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x140057c61
cmp r8d, 0x1d
jge 0x140057da0
movsxd rax, r8d
lea r9, [rbp + 0x20]
add r9, rax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1d
jl 0x140057d70
xorps xmm0, xmm0
movups xmmword [rbp + 0x6f8], xmm0
mov qword [rbp + 0x708], rdi
mov qword [rbp + 0x710], rdi
lea rax, [rbp + 0x20]
mov r8, r12
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140057dc0
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x6f8]
call fcn.14003cdd0
nop
mov dword [rsp + 0x44], 0xf
lea rdx, [rbp + 0x6f8]
lea rcx, [rbp + 0x6b8]
call fcn.140047970
mov r14d, 0x1f
mov dword [rsp + 0x44], r14d
lea rcx, [rbp + 0x6b8]
cmp qword [rbp + 0x6d0], 7
cmova rcx, qword [rbp + 0x6b8]
lea rdx, [rbp + 0x6a8]
call fcn.140092700
cmp eax, 8
je 0x140057e32
cmp eax, 0xffffffff
je 0x140057e32
xor bl, bl
jmp 0x140057e34
mov bl, 1
test r14b, 0x10
je 0x140057ea2
and r14d, 0xffffffef
mov dword [rsp + 0x44], r14d
mov rdx, qword [rbp + 0x6d0]
cmp rdx, 7
jbe 0x140057e89
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x6b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057e84
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a440
call fcn.140094048
mov qword [rbp + 0x6c8], rdi
mov qword [rbp + 0x6d0], 7
mov word [rbp + 0x6b8], di
test r14b, 8
je 0x140057f0b
and r14d, 0xfffffff7
mov dword [rsp + 0x44], r14d
mov rdx, qword [rbp + 0x710]
cmp rdx, 0xf
jbe 0x140057ef2
inc rdx
mov rcx, qword [rbp + 0x6f8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057eed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a446
call fcn.140094048
mov qword [rbp + 0x708], rdi
mov qword [rbp + 0x710], 0xf
mov byte [rbp + 0x6f8], 0
test r14b, 4
je 0x140057f6a
and r14d, 0xfffffffb
mov dword [rsp + 0x44], r14d
mov rdx, qword [rbp + 0x58]
cmp rdx, 7
jbe 0x140057f5a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057f55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a44c
call fcn.140094048
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x58], 7
mov word [rbp + 0x40], di
test r14b, 2
je 0x140057fb4
and r14d, 0xfffffffd
mov dword [rsp + 0x44], r14d
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x140057fb4
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057faf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a452
call fcn.140094048
test bl, bl
je 0x140058264
movups xmm0, xmmword [0x1400ec978]
movups xmmword [rbp - 0x30], xmm0
movsd xmm0, qword [0x1400ec988]
movsd qword [rbp - 0x20], xmm0
mov eax, dword [0x1400ec990]
mov dword [rbp - 0x18], eax
movzx eax, byte [0x1400ec994]
mov byte [rbp - 0x14], al
mov r8d, edi
cmp r15d, 2
jl 0x140058125
movdqa xmm5, xmmword [0x140171d30]
movdqa xmm4, xmmword [0x140171e60]
movdqa xmm6, xmmword [0x140171d60]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x30]
mov edx, dword [rbp - 0x80]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x140058020
cmp r8d, 0x1d
jge 0x140058160
movsxd rax, r8d
lea r9, [rbp - 0x30]
add r9, rax
nop
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1d
jl 0x140058130
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], rdi
lea rax, [rbp - 0x30]
mov r8, r12
inc r8
cmp byte [rax + r8], 0
jne 0x140058176
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.14003cdd0
nop
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x730]
call fcn.140047970
nop
lea rcx, [rbp + 0x730]
cmp qword [rbp + 0x748], 7
cmova rcx, qword [rbp + 0x730]
xor edx, edx
call fcn.140092350
test eax, eax
js 0x14005a458
mov rdx, qword [rbp + 0x748]
cmp rdx, 7
jbe 0x14005820b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x730]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058206
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a465
call fcn.140094048
mov qword [rbp + 0x740], rdi
mov qword [rbp + 0x748], 7
mov word [rbp + 0x730], di
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x14005825f
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005825a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a46b
call fcn.140094048
mov byte [rsp + 0x48], 1
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x718], xmm1
mov qword [rbp + 0x728], rdi
mov dword [rbp + 0x580], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jne 0x140059703
lea rax, [rbp + 0x588]
mov qword [rsp + 0x20], rax
lea r9, [0x1400ea278]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1400dba80]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x140059703
lea rax, [rbp + 0x5c8]
mov qword [rsp + 0x20], rax
lea r9, [0x1400dba40]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1400dba70]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x140059703
mov rcx, qword [rbp + 0x5c8]
mov rax, qword [rcx]
mov rdx, qword [rbp + 0x588]
call qword [rax + 0x18]
test eax, eax
jne 0x140059703
lea rax, [rbp + 0x5d0]
mov qword [rsp + 0x20], rax
lea r9, [0x1400ecb58]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1400dba90]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x140059703
mov rcx, qword [rbp + 0x5d0]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [rbp + 0x5b0]
lea rdx, [0x1400dbaa0]
call qword [rax + 0x18]
test eax, eax
jne 0x140059703
mov esi, edi
mov rcx, qword [rbp + 0x5b0]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [rbp + 0x598]
lea edx, [r9 + 1]
call qword [rax + 0x18]
test eax, eax
jne 0x140059703
movzx ebx, byte [rsp + 0x40]
movzx edi, byte [rsp + 0x40]
nop dword [rax]
inc esi
mov dword [rbp - 0x40], esi
mov rcx, qword [rbp + 0x598]
mov rax, qword [rcx]
lea rdx, [rbp + 0x5d8]
mov qword [rsp + 0x20], rdx
lea r9, [0x1400eca88]
xor r8d, r8d
xor edx, edx
call qword [rax + 0x48]
lea rcx, [rbp + 0x640]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
movsd xmm0, qword [str.w_ZQ_R_Aw_VY]
movsd qword [rbp - 0x10], xmm0
mov eax, dword [0x1400ed720]
mov dword [rbp - 8], eax
movzx eax, byte [0x1400ed724]
mov byte [rbp - 4], al
xor r8d, r8d
cmp r15d, 2
jl 0x1400584f3
movdqa xmm4, xmmword [0x140171e60]
movdqa xmm2, xmmword [0x140171d30]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140171d60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
mov eax, dword [str.1111111111111111]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.w_ZQ_R_Aw_VY]
xorps xmm2, xmm0
movd dword [rbp - 0x10], xmm2
movdqa xmm3, xmmword [0x140171d40]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140171d60]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0xc]
xorps xmm2, xmm1
movd dword [rbp - 0xc], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x10]
add r9, rax
nop dword [rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x140058500
lea rax, [rbp + 0x258]
mov qword [rbp + 0x250], rax
mov r8d, 3
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x250]
call fcn.14004bac0
nop
mov rcx, qword [rbp + 0x5d8]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [rbp + 0x640]
mov rdx, qword [rbp + 0x250]
call qword [rax + 0x18]
nop
lea rax, [rbp + 0x258]
mov rcx, qword [rbp + 0x250]
cmp rcx, rax
je 0x14005858c
call fcn.1400a3960
mov r15, qword [rbp + 0x648]
mov ecx, 0x18
call fcn.140093cfc
mov rsi, rax
mov qword [rbp + 0xe8], rax
test rax, rax
je 0x1400585e2
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], rax
mov dword [rsi + 0x10], 1
mov rcx, r15
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsi], rax
test rax, rax
jne 0x1400585dd
test r15, r15
jne 0x14005a471
xor r15d, r15d
jmp 0x1400585e8
xor r15d, r15d
mov esi, r15d
mov qword [rbp + 0x698], rsi
test rsi, rsi
je 0x14005a4a0
mov rcx, qword [rsi]
test rcx, rcx
je 0x140058608
call qword [sym.imp.OLEAUT32.dll_VariantInit]
jmp 0x14005860b
mov eax, r15d
mov r8d, eax
mov rdx, qword [rsi]
xorps xmm0, xmm0
movups xmmword [rbp + 0x658], xmm0
mov qword [rbp + 0x668], r15
mov qword [rbp + 0x670], r15
lea rcx, [rbp + 0x658]
call fcn.14003e4e0
nop
mov eax, dword [0x1400ecd80]
mov dword [rsp + 0x4c], eax
movzx eax, byte [0x1400ecd84]
mov byte [rsp + 0x4c], 0x2e
xor byte [rsp + 0x4d], 0x32
xor byte [rsp + 0x4e], 0x33
xor byte [rsp + 0x4f], 0x34
xor al, 0x35
mov byte [rsp + 0x50], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], r15
mov qword [rbp + 0xa0], r15
lea rax, [rsp + 0x4c]
mov r8, r12
inc r8
cmp byte [rax + r8], 0
jne 0x140058681
lea rdx, [rsp + 0x4c]
lea rcx, [rbp + 0x88]
call fcn.14003cdd0
nop
lea rcx, [rbp + 0x658]
mov rax, qword [rbp + 0x668]
cmp qword [rbp + 0x670], 7
jbe 0x1400586c2
mov rdx, qword [rbp + 0x658]
lea r8, [rdx + rax*2]
jmp 0x1400586cd
lea r8, [rcx + rax*2]
lea rdx, [rbp + 0x658]
lea rcx, [rbp + 0xc8]
call fcn.14005d0b0
mov r15, rax
movups xmm0, xmmword [0x1400ec978]
movups xmmword [rbp + 0x68], xmm0
movsd xmm0, qword [0x1400ec988]
movsd qword [rbp + 0x78], xmm0
mov ecx, dword [0x1400ec990]
mov dword [rbp + 0x80], ecx
movzx ecx, byte [0x1400ec994]
mov byte [rbp + 0x84], cl
xor r10d, r10d
mov r8d, r10d
cmp dword [0x140187488], 2
jl 0x140058855
movdqa xmm5, xmmword [0x140171d30]
movdqa xmm4, xmmword [0x140171e60]
movdqa xmm6, xmmword [0x140171d60]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp + 0x68]
mov edx, dword [rbp - 0x80]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x140058750
cmp r8d, 0x1d
jge 0x140058890
movsxd rax, r8d
lea r9, [rbp + 0x68]
add r9, rax
nop
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1d
jl 0x140058860
xorps xmm0, xmm0
movups xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xb8], r10
mov qword [rbp + 0xc0], r10
lea rax, [rbp + 0x68]
mov r8, r12
nop
inc r8
cmp byte [rax + r8], r10b
jne 0x1400588b0
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0xa8]
call fcn.14003cdd0
nop
mov r9, r15
lea r8, [rbp + 0xa8]
movzx edx, bl
lea rcx, [rbp + 0xf0]
call fcn.14003e610
bts r14d, 8
mov dword [rsp + 0x44], r14d
lea r9, [rbp + 0x88]
lea r8, [rbp + 0xf0]
movzx edx, dil
lea rcx, [rbp + 0x678]
call fcn.14003e610
bts r14d, 9
mov dword [rsp + 0x44], r14d
mov rdx, qword [rbp + 0x108]
cmp rdx, 0xf
jbe 0x140058957
inc rdx
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058951
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a47c
call fcn.140094048
nop
mov rdx, qword [rbp + 0xc0]
cmp rdx, 0xf
jbe 0x140058999
inc rdx
mov rcx, qword [rbp + 0xa8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058993
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a482
call fcn.140094048
nop
mov rdx, qword [rbp + 0xe0]
cmp rdx, 0xf
jbe 0x1400589da
inc rdx
mov rcx, qword [rbp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400589d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a488
call fcn.140094048
xor r14d, r14d
mov qword [rbp + 0xd8], r14
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], r14b
mov rdx, qword [rbp + 0xa0]
cmp rdx, 0xf
jbe 0x140058a37
inc rdx
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058a32
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a48e
call fcn.140094048
lea rcx, [rbp + 0x640]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp + 0x598]
mov rax, qword [rcx]
lea rdx, [rbp + 0x5b8]
mov qword [rsp + 0x20], rdx
lea r9, [0x1400ea2a8]
xor r8d, r8d
xor edx, edx
call qword [rax + 0x40]
test eax, eax
jne 0x140059645
movsd xmm0, qword [0x1400ed6a8]
movsd qword [rbp - 0x50], xmm0
mov eax, dword [0x1400ed6b0]
mov dword [rbp - 0x48], eax
movzx eax, word [0x1400ed6b4]
mov word [rbp - 0x44], ax
movzx eax, byte [0x1400ed6b6]
mov byte [rbp - 0x42], al
mov r8d, r14d
cmp dword [0x140187488], 2
jl 0x140058bab
movdqa xmm4, xmmword [0x140171e60]
movdqa xmm2, xmmword [0x140171d30]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140171d60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
mov eax, dword [str.1111111111111111]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x1400ed6a8]
xorps xmm2, xmm0
movd dword [rbp - 0x50], xmm2
movdqa xmm3, xmmword [0x140171d40]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140171d60]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x4c]
xorps xmm2, xmm1
movd dword [rbp - 0x4c], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x50]
add r9, rax
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xf
jl 0x140058bc0
lea rax, [rbp + 0x368]
mov qword [rbp + 0x360], rax
mov r8d, 3
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x360]
call fcn.14004bac0
nop
mov rcx, qword [rbp + 0x588]
mov rax, qword [rcx]
mov r8, qword [rbp + 0x360]
mov rdx, qword [rbp + 0x5b8]
call qword [rax + 0x18]
mov r14d, eax
lea rax, [rbp + 0x368]
mov rcx, qword [rbp + 0x360]
cmp rcx, rax
je 0x140058c4b
call fcn.1400a3960
test r14d, r14d
jne 0x1400595df
lea rax, [rbp + 0x5a8]
mov qword [rsp + 0x20], rax
lea r9, [0x1400ea2a8]
xor edx, edx
lea r8d, [r14 + 1]
lea rcx, [0x1400ea288]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x1400591a5
mov rcx, qword [rbp + 0x5a8]
mov rax, qword [rcx]
lea r8, [rbp + 0x590]
lea rdx, [0x1400ea298]
call qword [rax]
test eax, eax
jne 0x1400591a5
mov rcx, qword [rbp + 0x590]
mov rax, qword [rcx]
lea edx, [r14 + 1]
call qword [rax + 0x30]
test eax, eax
jne 0x1400591a5
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x600], xmm0
movups xmmword [rbp + 0x610], xmm0
movups xmmword [rbp + 0x620], xmm0
mov qword [rbp + 0x630], rax
movups xmm0, xmmword [str.vids]
movups xmmword [rbp + 0x5e0], xmm0
movups xmm1, xmmword [0x1400dba60]
movups xmmword [rbp + 0x5f0], xmm1
mov rcx, qword [rbp + 0x590]
mov rax, qword [rcx]
lea rdx, [rbp + 0x5e0]
call qword [rax + 0x20]
test eax, eax
jne 0x1400591a5
movsd xmm0, qword [str.bSDYSpJXX_]
movsd qword [rsp + 0x68], xmm0
movzx ecx, word [0x1400ed350]
mov word [rsp + 0x70], cx
movzx eax, byte [0x1400ed352]
mov byte [rsp + 0x68], 0x53
xor byte [rsp + 0x69], 0x32
xor byte [rsp + 0x6a], 0x33
xor byte [rsp + 0x6b], 0x34
xor byte [rsp + 0x6c], 0x35
xor byte [rsp + 0x6d], 0x36
xor byte [rsp + 0x6e], 0x37
xor byte [rsp + 0x6f], 0x38
xor cl, 0x39
mov byte [rsp + 0x70], cl
xor byte [rsp + 0x71], 0x3a
xor al, 0x3b
mov byte [rsp + 0x72], al
lea rax, [rbp + 0x478]
mov qword [rbp + 0x470], rax
lea r8d, [r14 + 3]
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0x470]
call fcn.14004bac0
nop
mov rcx, qword [rbp + 0x588]
mov rax, qword [rcx]
mov r8, qword [rbp + 0x470]
mov rdx, qword [rbp + 0x5a8]
call qword [rax + 0x18]
mov r14d, eax
lea rax, [rbp + 0x478]
mov rcx, qword [rbp + 0x470]
cmp rcx, rax
je 0x140058dcb
call fcn.1400a3960
test r14d, r14d
jne 0x1400595df
lea rax, [rbp + 0x5c0]
mov qword [rsp + 0x20], rax
lea r9, [0x1400ea2a8]
xor edx, edx
lea r8d, [r14 + 1]
lea rcx, [0x1400ea268]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x1400591a5
movsd xmm0, qword [0x1400ed708]
movsd qword [rsp + 0x58], xmm0
movzx ecx, word [0x1400ed710]
mov word [rsp + 0x60], cx
movzx eax, byte [0x1400ed712]
mov byte [rsp + 0x58], 0x4e
xor byte [rsp + 0x59], 0x32
xor byte [rsp + 0x5a], 0x33
xor byte [rsp + 0x5b], 0x34
xor byte [rsp + 0x5c], 0x35
xor byte [rsp + 0x5d], 0x36
xor byte [rsp + 0x5e], 0x37
xor byte [rsp + 0x5f], 0x38
xor cl, 0x39
mov byte [rsp + 0x60], cl
xor byte [rsp + 0x61], 0x3a
xor al, 0x3b
mov byte [rsp + 0x62], al
lea rax, [rbp + 0x148]
mov qword [rbp + 0x140], rax
lea r8d, [r14 + 3]
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x140]
call fcn.14004bac0
nop
mov rcx, qword [rbp + 0x588]
mov rax, qword [rcx]
mov r8, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x5c0]
call qword [rax + 0x18]
mov r14d, eax
lea rax, [rbp + 0x148]
mov rcx, qword [rbp + 0x140]
cmp rcx, rax
je 0x140058eb7
call fcn.1400a3960
test r14d, r14d
jne 0x1400591a5
mov rcx, qword [rbp + 0x5c8]
mov r10, qword [rcx]
mov rax, qword [rbp + 0x5c0]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x5a8]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x5b8]
lea r8, str.vids
lea rdx, [0x1400dbac0]
call qword [r10 + 0x38]
test eax, eax
jne 0x1400591a5
mov rcx, qword [rbp + 0x588]
mov rax, qword [rcx]
lea r8, [rbp + 0x5a0]
lea rdx, [0x1400dba30]
call qword [rax]
test eax, eax
jne 0x1400591a5
mov rcx, qword [rbp + 0x5a0]
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
je 0x140058f50
cmp eax, 1
jne 0x1400591a5
mov rcx, qword [rbp + 0x5a0]
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
jne 0x140058f36
mov rcx, qword [rbp + 0x590]
mov rax, qword [rcx]
xor r8d, r8d
lea rdx, [rbp + 0x580]
call qword [rax + 0x38]
test eax, eax
jne 0x14005919a
cmp dword [rbp + 0x580], eax
je 0x140058f50
mov rcx, qword [rbp + 0x5a0]
mov rax, qword [rcx]
call qword [rax + 0x48]
movsxd rcx, dword [rbp + 0x580]
call fcn.140094160
mov rdx, rax
mov qword [rbp - 0x80], rax
mov rcx, qword [rbp + 0x590]
mov rax, qword [rcx]
mov r8, rdx
lea rdx, [rbp + 0x580]
call qword [rax + 0x38]
test eax, eax
jne 0x1400594de
mov rcx, qword [rbp + 0x590]
mov rax, qword [rcx]
lea rdx, [rbp + 0x5e0]
call qword [rax + 0x28]
test eax, eax
jne 0x1400594de
mov rax, qword [rbp + 0x60c]
cmp rax, qword [0x1400dbab0]
jne 0x1400594de
mov rax, qword [rbp + 0x614]
cmp rax, qword [0x1400dbab8]
jne 0x1400594de
mov r15d, dword [rbp + 0x628]
cmp r15d, 0x58
jb 0x1400594de
mov r13, qword [rbp + 0x630]
test r13, r13
je 0x1400594de
add r15d, 0xffffffd0
xor r14d, r14d
mov dword [rbp + 0x7a6], r14d
mov eax, 0x4d42
mov word [rbp + 0x7a0], ax
mov ecx, dword [rbp + 0x580]
add ecx, 0xe
add ecx, r15d
mov dword [rbp + 0x7a2], ecx
lea eax, [r15 + 0xe]
mov dword [rbp + 0x7aa], eax
lea rdx, [rbp + 0x678]
cmp qword [rbp + 0x690], 0xf
cmova rdx, qword [rbp + 0x678]
mov r8, qword [rbp + 0x688]
inc r8
lea rcx, [rbp + 0x8c0]
call fcn.1400a9530
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov eax, 2
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, eax
mov edx, 0x40000000
lea rcx, [rbp + 0x8c0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x140059434
xor eax, eax
mov dword [rbp + 0x6b0], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x6b0]
lea r8d, [rax + 0xe]
lea rdx, [rbp + 0x7a0]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdx, [r13 + 0x30]
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x6b0]
mov r8d, r15d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
xor r15d, r15d
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x6b0]
mov r8d, dword [rbp + 0x580]
mov r13, qword [rbp - 0x80]
mov rdx, r13
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rbp + 0x628], r15d
je 0x140059151
mov rcx, qword [rbp + 0x630]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [rbp + 0x628], r15d
mov qword [rbp + 0x630], r15
mov rcx, qword [rbp + 0x620]
test rcx, rcx
je 0x14005916a
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp + 0x620], r15
mov rax, qword [rbp + 0x720]
cmp rax, qword [rbp + 0x728]
je 0x14005928b
lea rdx, [rbp + 0x678]
mov rcx, rax
call fcn.14003bf50
add qword [rbp + 0x720], 0x20
jmp 0x1400592a2
cmp eax, 0x80040227
je 0x140058f50
mov rdx, qword [rbp + 0x690]
cmp rdx, 0xf
jbe 0x1400591e6
mov rcx, qword [rbp + 0x678]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400591e1
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a49a
call fcn.140094048
xor edi, edi
mov byte [rbp + 0x678], dil
mov qword [rbp + 0x690], 0xf
mov qword [rbp + 0x688], rdi
mov rdx, qword [rbp + 0x670]
cmp rdx, 7
jbe 0x140059247
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x658]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140059242
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a43a
call fcn.140094048
mov qword [rbp + 0x668], rdi
mov qword [rbp + 0x670], 7
mov word [rbp + 0x658], di
mov eax, r12d
lock xadd dword [rsi + 0x10], eax
cmp eax, 1
jne 0x1400596f1
mov rcx, qword [rsi]
test rcx, rcx
je 0x140059621
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], rdi
jmp 0x140059621
lea r8, [rbp + 0x678]
mov rdx, rax
lea rcx, [rbp + 0x718]
call fcn.1400491e0
nop
cmp dword [rbp - 0x40], 3
jge 0x1400593da
mov rdx, qword [rbp + 0x690]
cmp rdx, 0xf
jbe 0x1400592ed
inc rdx
mov rcx, qword [rbp + 0x678]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400592e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a49a
call fcn.140094048
mov qword [rbp + 0x688], r15
mov qword [rbp + 0x690], 0xf
mov byte [rbp + 0x678], 0
mov rdx, qword [rbp + 0x670]
cmp rdx, 7
jbe 0x14005934c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x658]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059347
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a43a
call fcn.140094048
mov qword [rbp + 0x668], r15
mov qword [rbp + 0x670], 7
mov word [rbp + 0x658], r15w
mov eax, r12d
lock xadd dword [rsi + 0x10], eax
cmp eax, 1
jne 0x1400593a3
mov rcx, qword [rsi]
test rcx, rcx
je 0x140059384
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r15
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x140059396
call fcn.140094048
mov qword [rsi + 8], r15
mov edx, 0x18
mov rcx, rsi
call fcn.140094048
mov rcx, qword [rbp + 0x5b0]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [rbp + 0x598]
lea edx, [r9 + 1]
call qword [rax + 0x18]
test eax, eax
jne 0x1400596ef
mov r14d, dword [rsp + 0x44]
mov esi, dword [rbp - 0x40]
mov r15d, dword [0x140187488]
jmp 0x140058390
lea rcx, [rbp + 0x678]
call fcn.14003beb0
nop
mov rdx, qword [rbp + 0x670]
cmp rdx, 7
jbe 0x14005942d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x658]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059428
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a43a
call fcn.140094048
xor edi, edi
jmp 0x140059247
mov rdx, qword [rbp + 0x690]
cmp rdx, 0xf
jbe 0x140059475
inc rdx
mov rcx, qword [rbp + 0x678]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059470
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a494
call fcn.140094048
xor edi, edi
mov qword [rbp + 0x688], rdi
mov qword [rbp + 0x690], 0xf
mov byte [rbp + 0x678], dil
mov rdx, qword [rbp + 0x670]
cmp rdx, 7
jbe 0x140059580
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x658]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005957b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a434
jmp 0x14005957b
mov rdx, qword [rbp + 0x690]
cmp rdx, 0xf
jbe 0x14005951f
mov rcx, qword [rbp + 0x678]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005951a
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a49a
call fcn.140094048
xor edi, edi
mov qword [rbp + 0x688], rdi
mov qword [rbp + 0x690], 0xf
mov byte [rbp + 0x678], dil
mov rdx, qword [rbp + 0x670]
cmp rdx, 7
jbe 0x140059580
mov rcx, qword [rbp + 0x658]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005957b
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a43a
call fcn.140094048
mov word [rbp + 0x658], di
mov qword [rbp + 0x670], 7
mov qword [rbp + 0x668], rdi
mov eax, r12d
lock xadd dword [rsi + 0x10], eax
cmp eax, 1
jne 0x1400595d6
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400595b7
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], rdi
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400595c9
call fcn.140094048
mov qword [rsi + 8], rdi
mov edx, 0x18
mov rcx, rsi
call fcn.140094048
mov r13, qword [rbp - 0x80]
jmp 0x1400596f1
lea rcx, [rbp + 0x678]
call fcn.14003beb0
nop
lea rcx, [rbp + 0x658]
call fcn.14003e3d0
nop
mov eax, r12d
lock xadd dword [rsi + 0x10], eax
cmp eax, 1
jne 0x1400596ef
mov rcx, qword [rsi]
test rcx, rcx
je 0x14005961f
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
xor edi, edi
mov qword [rsi], rdi
jmp 0x140059621
xor edi, edi
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x140059633
call fcn.140094048
mov qword [rsi + 8], rdi
mov edx, 0x18
mov rcx, rsi
call fcn.140094048
jmp 0x1400596f1
mov rdx, qword [rbp + 0x690]
cmp rdx, 0xf
jbe 0x140059686
inc rdx
mov rcx, qword [rbp + 0x678]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059681
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a49a
call fcn.140094048
xor edi, edi
mov qword [rbp + 0x688], rdi
mov qword [rbp + 0x690], 0xf
mov byte [rbp + 0x678], dil
mov rdx, qword [rbp + 0x670]
cmp rdx, 7
jbe 0x140059247
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x658]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059242
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a43a
jmp 0x140059242
xor edi, edi
test r13, r13
je 0x1400596fe
mov rcx, r13
call fcn.140094048
mov r14d, dword [rsp + 0x44]
mov rcx, qword [rbp + 0x5a0]
test rcx, rcx
je 0x140059715
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x5c0]
test rcx, rcx
je 0x140059727
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x590]
test rcx, rcx
je 0x140059739
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x5a8]
test rcx, rcx
je 0x14005974b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x5b8]
test rcx, rcx
je 0x14005975d
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x5c8]
test rcx, rcx
je 0x14005976f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x588]
test rcx, rcx
je 0x140059781
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x5d8]
test rcx, rcx
je 0x140059793
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x598]
test rcx, rcx
je 0x1400597a5
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x5b0]
test rcx, rcx
je 0x1400597b7
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x5d0]
test rcx, rcx
je 0x1400597c9
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
mov r15, qword [rbp + 0x718]
mov r13, qword [rbp + 0x720]
cmp r15, r13
je 0x14005a100
movzx ebx, byte [rsp + 0x40]
lea rsi, vtable.ATL::CImage.0
mov rdx, r15
lea rcx, [rbp + 0x6f8]
call fcn.14003bf50
nop
mov byte [rsp + 0x40], 0x2e
mov byte [rbp + 0x6a0], 0x5c
mov eax, dword [0x1400eca48]
mov dword [rbp + 0x6a8], eax
movzx eax, byte [0x1400eca4c]
mov byte [rbp + 0x6a8], 0x2e
xor byte [rbp + 0x6a9], 0x32
xor byte [rbp + 0x6aa], 0x33
xor byte [rbp + 0x6ab], 0x34
xor al, 0x35
mov byte [rbp + 0x6ac], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], rdi
lea rax, [rbp + 0x6a8]
mov r8, r12
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140059860
lea rdx, [rbp + 0x6a8]
lea rcx, [rbp - 0x70]
call fcn.14003cdd0
nop
lea r8, [rbp + 0x6a0]
lea rdx, [rbp + 0x6f8]
lea rcx, [rbp - 0x30]
call fcn.140049ef0
nop
mov rdx, qword [rax + 8]
sub rdx, 0x20
lea r8, [rsp + 0x40]
lea rcx, [rbp + 0x20]
call fcn.140049ef0
nop
mov r9, qword [rax]
mov r8, r9
cmp qword [r9 + 0x18], 0xf
jbe 0x1400598ba
mov r8, qword [r9]
mov r9, qword [r9 + 0x10]
xor edx, edx
lea rcx, [rbp - 0x70]
call fcn.14003d320
xorps xmm0, xmm0
movups xmmword [rbp + 0x6b8], xmm0
mov qword [rbp + 0x6c8], rdi
mov qword [rbp + 0x6d0], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x6b8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x6c8], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts r14d, 7
mov dword [rsp + 0x44], r14d
lea rcx, [rbp + 0x20]
call fcn.140046ba0
nop
lea rcx, [rbp - 0x30]
call fcn.140046ba0
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x14005995e
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059959
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a4ab
call fcn.140094048
xorps xmm0, xmm0
movups xmmword [rbp + 0x750], xmm0
movups xmmword [rbp + 0x760], xmm0
movups xmmword [rbp + 0x770], xmm0
movups xmmword [rbp + 0x780], xmm0
movups xmmword [rbp + 0x790], xmm0
mov qword [rbp + 0x750], rsi
mov qword [rbp + 0x758], rdi
mov qword [rbp + 0x760], rdi
mov qword [rbp + 0x768], 0
mov qword [rbp + 0x770], 0
mov word [rbp + 0x778], 0
mov qword [rbp + 0x77c], 0xffffffffffffffff
mov qword [rbp + 0x788], rdi
mov dword [rbp + 0x790], edi
mov qword [rbp + 0x798], rdi
call fcn.14003dee0
mov rdi, rax
lea rcx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc dword [rdi + 0x30]
lea rcx, [rdi + 8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
lea rdx, [rbp + 0x6f8]
cmp qword [rbp + 0x710], 0xf
jbe 0x140059a14
mov rdx, qword [rbp + 0x6f8]
mov rcx, rdx
jmp 0x140059a1b
lea rcx, [rbp + 0x6f8]
mov r8, qword [rbp + 0x708]
add r8, rcx
lea rcx, [rbp - 0x70]
call fcn.14005d5d0
cmp qword [rax + 0x18], 7
jbe 0x140059a38
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x750]
call fcn.14004f430
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x140059a87
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059a82
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a4b1
call fcn.140094048
lea rdx, [rbp + 0x6b8]
cmp qword [rbp + 0x6d0], 0xf
jbe 0x140059aa4
mov rdx, qword [rbp + 0x6b8]
mov rcx, rdx
jmp 0x140059aab
lea rcx, [rbp + 0x6b8]
mov r8, qword [rbp + 0x6c8]
add r8, rcx
lea rcx, [rbp - 0x70]
call fcn.14005d5d0
cmp qword [rax + 0x18], 7
jbe 0x140059ac8
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x750]
call fcn.14004fd70
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x140059b17
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059b12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a4b7
call fcn.140094048
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x7b0]
call fcn.1400cbce0
lea rdx, [rbp + 0x6b8]
cmp qword [rbp + 0x6d0], 0xf
cmova rdx, qword [rbp + 0x6b8]
mov r8d, 0x21
lea rcx, [rbp + 0x7b0]
call fcn.140046830
mov rax, qword [rbp + 0x7b0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x7b0], rax
mov rax, qword [rbp + 0x7b0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x7ac], edx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x6d8], xmm0
mov qword [rbp + 0x6e8], rax
xor esi, esi
mov qword [rbp + 0x40], rsi
mov word [rbp + 0x48], 1
movaps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp - 0x30], xmm0
mov rax, qword [rbp + 0x7b0]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x7f8]
mov qword [rbp - 0x50], rax
test rax, rax
sete byte [rbp - 0x48]
mov byte [rbp - 0x47], sil
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp + 0x20], xmm0
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x6d8]
call fcn.140047a90
nop
mov byte [rsp + 0x40], 0x5c
mov r8, qword [rbp + 0x6e0]
mov rdx, qword [rbp + 0x6d8]
sub r8, rdx
lea rcx, [rbp + 0x110]
call fcn.14003abd0
mov rdi, rax
movzx eax, word [0x1400eca50]
mov word [rbp + 0x6a0], ax
cmp byte [0x1400eca51], sil
je 0x140059c38
mov byte [rbp + 0x6a0], 0x20
xor byte [rbp + 0x6a1], 0x32
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rsi
lea rax, [rbp + 0x6a0]
mov r8, r12
inc r8
cmp byte [rax + r8], 0
jne 0x140059c51
lea rdx, [rbp + 0x6a0]
lea rcx, [rbp - 0x30]
call fcn.14003cdd0
nop
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x6b8]
lea rcx, [rbp + 0x20]
call fcn.140049ef0
nop
mov r9, qword [rax + 8]
lea r8, [r9 - 0x20]
cmp qword [r9 - 8], 0xf
jbe 0x140059c95
mov r8, qword [r9 - 0x20]
mov r9, qword [r9 - 0x10]
xor edx, edx
lea rcx, [rbp - 0x30]
call fcn.14003d320
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r14d, 0x40
mov dword [rsp + 0x44], r14d
mov r9, rdi
lea r8, [rbp]
movzx edx, bl
lea rcx, [rbp - 0x70]
call fcn.14003e610
or r14d, 0x20
mov dword [rsp + 0x44], r14d
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
je 0x140059d14
movups xmm0, xmmword [rbp - 0x70]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x60]
movups xmmword [rdx + 0x10], xmm1
mov edx, 0xf
mov byte [rbp - 0x70], 0
add qword [rax + 8], 0x20
jmp 0x140059d24
lea r8, [rbp - 0x70]
mov rcx, rax
call fcn.140048f50
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x140059d5c
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059d56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a4bd
call fcn.140094048
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x140059d98
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059d92
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a4c3
call fcn.140094048
nop
lea rcx, [rbp + 0x20]
call fcn.140046ba0
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x140059ddd
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059dd8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a4c9
call fcn.140094048
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140059e2e
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059e29
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a4cf
call fcn.140094048
lea rcx, [rbp + 0x7c0]
call fcn.140046730
test rax, rax
jne 0x140059e7e
mov rax, qword [rbp + 0x7b0]
movsxd rcx, dword [rax + 4]
mov eax, 6
cmp qword [rbp + rcx + 0x7f8], 0
mov edx, 2
cmovne eax, edx
or eax, dword [rbp + rcx + 0x7c0]
and eax, 0x17
mov dword [rbp + rcx + 0x7c0], eax
and eax, dword [rbp + rcx + 0x7c4]
jne 0x14005a4d5
lea rcx, [rbp + 0x6f8]
cmp qword [rbp + 0x710], 0xf
cmova rcx, qword [rbp + 0x6f8]
call fcn.1400a4338
test eax, eax
je 0x140059ebb
lea rcx, [rbp + 0x6f8]
cmp qword [rbp + 0x710], 0xf
cmova rcx, qword [rbp + 0x6f8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
lea rcx, [rbp + 0x6b8]
cmp qword [rbp + 0x6d0], 0xf
cmova rcx, qword [rbp + 0x6b8]
call fcn.1400a4338
test eax, eax
je 0x140059ef9
lea rcx, [rbp + 0x6b8]
cmp qword [rbp + 0x6d0], 0xf
cmova rcx, qword [rbp + 0x6b8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
nop
mov rcx, qword [rbp + 0x6d8]
test rcx, rcx
je 0x140059f4b
mov rdx, qword [rbp + 0x6e8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059f34
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a52d
call fcn.140094048
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x6d8], xmm0
mov qword [rbp + 0x6e8], rsi
mov rax, qword [rbp + 0x7b0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x7b0], rax
mov rax, qword [rbp + 0x7b0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x7ac], edx
lea rcx, [rbp + 0x7c0]
call fcn.140045610
mov rax, qword [rbp + 0x7b0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x7b0], rax
mov rax, qword [rbp + 0x7b0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x7ac], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x860], rax
lea rcx, [rbp + 0x860]
call fcn.140092d4c
nop
lea rax, vtable.ATL::CImage.0
mov qword [rbp + 0x750], rax
mov rcx, qword [rbp + 0x758]
test rcx, rcx
je 0x14005a023
mov qword [rbp + 0x758], rsi
mov qword [rbp + 0x760], rsi
mov qword [rbp + 0x768], rsi
mov qword [rbp + 0x770], rsi
mov qword [rbp + 0x77c], 0xffffffffffffffff
mov word [rbp + 0x778], 0
call qword [sym.imp.GDI32.dll_DeleteObject]
call fcn.14003dee0
mov rdi, rax
lea rcx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub dword [rdi + 0x30], 1
jne 0x14005a062
lea rcx, [rdi + 8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [rdi]
test rcx, rcx
je 0x14005a053
call qword [sym.imp.gdiplus.dll_GdiplusShutdown]
xor eax, eax
mov qword [rdi], rax
lea rcx, [rdi + 8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rdi + 8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov rdx, qword [rbp + 0x6d0]
cmp rdx, 0xf
jbe 0x14005a0af
inc rdx
mov rcx, qword [rbp + 0x6b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005a0a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a533
call fcn.140094048
nop
mov rdx, qword [rbp + 0x710]
cmp rdx, 0xf
jbe 0x14005a0f0
inc rdx
mov rcx, qword [rbp + 0x6f8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005a0eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a539
call fcn.140094048
add r15, 0x20
cmp r15, r13
je 0x14005a100
xor edi, edi
jmp 0x1400597eb
cmp byte [rsp + 0x48], 0
je 0x14005a3e9
movups xmm0, xmmword [0x1400ec978]
movups xmmword [rbp + 0x6d8], xmm0
movsd xmm0, qword [0x1400ec988]
movsd qword [rbp + 0x6e8], xmm0
mov eax, dword [0x1400ec990]
mov dword [rbp + 0x6f0], eax
movzx eax, byte [0x1400ec994]
mov byte [rbp + 0x6f4], al
xor ebx, ebx
mov r8d, ebx
cmp dword [0x140187488], 2
jl 0x14005a295
movdqa xmm5, xmmword [0x140171d30]
movdqa xmm4, xmmword [0x140171e60]
movdqa xmm6, xmmword [0x140171d60]
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp + 0x6d8]
mov edx, dword [rbp - 0x80]
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140171e30]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x14005a190
cmp r8d, 0x1d
jge 0x14005a2e0
movsxd rax, r8d
lea r9, [rbp + 0x6d8]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1d
jl 0x14005a2b0
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rbx
lea rax, [rbp + 0x6d8]
inc r12
cmp byte [rax + r12], bl
jne 0x14005a2f6
mov r8, r12
lea rdx, [rbp + 0x6d8]
lea rcx, [rbp]
call fcn.14003cdd0
nop
lea rdx, [rbp]
lea rcx, [rbp - 0x70]
call fcn.140047970
nop
mov qword [rbp + 0x730], rbx
lea rax, [0x140188100]
mov qword [rbp + 0x738], rax
mov qword [rbp + 0x6a8], rbx
lea r8, [rbp + 0x730]
lea rdx, [rbp + 0x6a8]
lea rcx, [rbp - 0x70]
call fcn.140050420
cmp dword [rbp + 0x730], 0
jne 0x14005a53f
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x14005a3a1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005a39c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a54c
call fcn.140094048
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], bx
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x14005a3e9
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005a3e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a42e
call fcn.140094048
nop
lea rcx, [rbp + 0x718]
call fcn.140046ba0
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x990]
xor rcx, rsp
call fcn.140093a30
lea r11, [rsp + 0xab0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400a344c
nop
call fcn.1400a344c
int3
call fcn.1400a344c
nop
call fcn.1400a344c
nop
call fcn.1400a344c
nop
call fcn.1400a344c
nop
call fcn.1400a344c
nop
lea rcx, str.create_directory_p_:_invalid_argument
call fcn.140050350
nop
call fcn.1400a344c
nop
call fcn.1400a344c
nop
mov ecx, 0x8007000e
call fcn.140094c40
nop
call fcn.1400a344c
nop
call fcn.1400a344c
nop
call fcn.1400a344c
nop
call fcn.1400a344c
nop
call fcn.1400a344c
int3
call fcn.1400a344c
nop
mov ecx, 0x8007000e
call fcn.140094c40
nop
call fcn.1400a344c
nop
call fcn.1400a344c
int3
call fcn.1400a344c
nop
call fcn.1400a344c
nop
call fcn.1400a344c
nop
call fcn.1400a344c
nop
call fcn.1400a344c
int3
test al, 4
je 0x14005a4e2
lea rbx, str.ios_base::badbit_set
jmp 0x14005a4f6
test dl, al
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rbp + 0x730]
call fcn.14003e8b0
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x110]
call fcn.14003f2e0
lea rdx, [0x140184638]
lea rcx, [rbp + 0x110]
call fcn.140096024
nop
call fcn.1400a344c
nop
call fcn.1400a344c
nop
call fcn.1400a344c
nop
lea rcx, str.remove_all_p_:_invalid_argument
call fcn.140050350
nop
call fcn.1400a344c
int3