Function at 0x140063b60
Capabilities:
Encode data using xor
Get file size
Get memory capacity
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x120
mov rax, qword [0x140185220]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov byte [rsp + 0x44], r9b
mov qword [rsp + 0x60], r8
mov r15, rdx
mov rsi, rcx
xor edi, edi
mov dword [rcx + 0x48], edi
mov dword [r8], edi
mov rcx, qword [rcx]
mov qword [rsi], rdi
test rcx, rcx
je 0x140063bad
call fcn.14011460c
mov ebx, 0xfffe
mov ecx, ebx
call fcn.140114b30
mov r13, rax
mov qword [rsp + 0x48], rax
mov r8d, ebx
xor edx, edx
mov rcx, rax
call fcn.140118720
mov qword [rsp + 0x70], r13
mov r12d, edi
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp word [r15 + rcx*2], r12w
jne 0x140063be0
cmp rcx, 2
jbe 0x140063c0b
cmp word [r15], 0x5c
jne 0x140063c0b
lea r14, [r15 + 2]
cmp word [r14], 0x5c
jne 0x140063c0b
lea r8, str._UNC
jmp 0x140063c15
mov r14, r15
lea r8, [0x140163990]
mov ebx, 0x7fff
mov rax, r13
mov edx, ebx
mov rcx, rax
call fcn.14011ca1c
mov r8, r14
mov edx, ebx
mov rcx, r13
call fcn.140125dd0
mov ebx, 3
lea r14d, [rbx + 0x11]
nop dword [rax]
test r12d, r12d
je 0x140063c4e
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 7]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r13, rax
inc r12d
add r14d, 0x32
cmp rax, 0xffffffffffffffff
jne 0x140063c97
cmp r14d, 0x10e
mov r13, qword [rsp + 0x48]
jl 0x140063c40
jmp 0x1400643a9
xorps xmm0, xmm0
movups xmmword [rsp + 0x88], xmm0
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rdi
mov r14, 0xffffffffffffffff
mov r8, r14
nop dword [rax]
inc r8
cmp word [r15 + r8*2], 0
jne 0x140063cc0
mov rdx, r15
lea rcx, [rsp + 0x88]
call fcn.14004c390
nop
lea rdx, [rsp + 0x88]
cmp qword [rsp + 0xa0], 8
setae r11b
mov r10, qword [rsp + 0x88]
cmovae rdx, r10
mov r9, qword [rsp + 0x98]
test r9, r9
je 0x140063d39
lea rcx, [r9 - 1]
mov rax, r14
cmp rcx, rax
cmovb rax, rcx
lea rcx, [rdx + rax*2]
cmp word [rcx], 0x5c
je 0x140063d31
cmp rcx, rdx
je 0x140063d39
sub rcx, 2
cmp word [rcx], 0x5c
jne 0x140063d22
sub rcx, rdx
sar rcx, 1
jmp 0x140063d3c
mov rcx, r14
inc rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xc0], rdi
cmp r9, rcx
jb 0x140064d57
sub r9, rcx
mov r8, r14
cmp r9, r14
cmovb r8, r9
lea rax, [rsp + 0x88]
test r11b, r11b
cmovne rax, r10
lea rdx, [rax + rcx*2]
lea rcx, [rsp + 0xa8]
call fcn.14004c390
lea rcx, [rsi + 0x50]
lea rdx, [rsp + 0xa8]
call fcn.14004c2b0
mov rdx, qword [rsp + 0xc0]
cmp rdx, 8
jb 0x140063de9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xa8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140063de4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d5d
call fcn.14011460c
lea rdx, [rsp + 0x50]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x140063e56
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rsp + 0xa0]
cmp rdx, 8
jb 0x14006438d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140063e4c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d51
call fcn.14011460c
jmp 0x14006438d
mov dword [rsp + 0xd0], 0x40
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0xd4], xmm0
movups xmmword [rsp + 0xe4], xmm0
movups xmmword [rsp + 0xf4], xmm0
mov qword [rsp + 0x104], rax
mov dword [rsp + 0x10c], eax
lea rcx, [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov dword [rsp + 0x40], edi
mov r15, qword [rsp + 0xe0]
shr r15, 2
mov rax, qword [rsp + 0x50]
cmp eax, r15d
cmovb r15d, eax
mov ecx, 0x7a120
cmp dword [rsp + 0x54], 0
cmovne r15d, ecx
cmp r15d, eax
jae 0x1400643d8
lea eax, [r15 + 1]
mov r12d, eax
mov ecx, eax
call fcn.140114b30
mov r14, rax
mov r8d, r12d
xor edx, edx
mov rcx, rax
call fcn.140118720
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x40]
mov r8d, r15d
mov rdx, r14
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140063f9f
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
test r14, r14
je 0x140063f2a
mov rcx, r14
call fcn.14011460c
nop
mov rdx, qword [rsp + 0xa0]
cmp rdx, 8
jb 0x140063f72
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140063f6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d63
call fcn.14011460c
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], 7
mov word [rsp + 0x88], di
mov rcx, qword [rsp + 0x48]
call fcn.14011460c
xor al, al
jmp 0x1400643b5
mov r11d, dword [rsp + 0x40]
cmp r11d, 2
jge 0x140063fb5
mov r12d, 0xbbef
jmp 0x140064194
mov r10, r14
lea r15, [r14 + 2]
mov r8, r15
mov edx, edi
mov r9d, edi
lea eax, [r11 - 2]
test eax, eax
jle 0x140064019
lea r15d, [rax - 1]
shr r15d, 1
inc r15d
nop word [rax + rax]
mov ecx, r9d
movzx eax, word [r10]
lea r10, [r10 + 2]
inc r9d
cmp di, ax
cmovne r9d, ecx
cmp byte [r8], 0
jne 0x140063ffd
inc edx
mov ecx, edx
movzx eax, byte [r8 + 1]
add r8, 2
inc edx
test al, al
cmovne edx, ecx
sub r15, 1
jne 0x140063fe0
lea r15, [r14 + 2]
cmp r9d, dword [rsi + 0x74]
jle 0x14006402f
mov eax, 1
mov r12d, 0xbbef
jmp 0x140064199
movzx ecx, word [r14]
mov r8d, 0xfeff
cmp cx, r8w
jne 0x14006404c
mov eax, ebx
mov r12d, 0xbbef
jmp 0x140064199
mov eax, 0xfffe
cmp cx, ax
jne 0x140064066
mov eax, 4
mov r12d, 0xbbef
jmp 0x140064199
cmp edx, 3
jle 0x14006408d
mov eax, r11d
and eax, 0x80000001
jge 0x14006407c
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x14006408d
mov eax, ebx
mov r12d, 0xbbef
jmp 0x140064199
mov r12d, 0xbbef
cmp r11d, 3
jl 0x140064194
cmp cx, r12w
jne 0x1400640b3
cmp byte [r15], 0xbf
jne 0x1400640b3
mov eax, 5
jmp 0x140064199
mov rcx, r14
mov edx, edi
test r11d, r11d
jle 0x1400640e5
nop dword [rax]
movzx eax, byte [rcx]
cmp al, 0xc0
je 0x140064194
cmp al, 0xc1
je 0x140064194
cmp al, 0xf5
jae 0x140064194
inc rcx
inc edx
cmp edx, r11d
jl 0x1400640c0
mov rcx, r14
xor r9b, r9b
mov r8d, edi
add r11d, 0xfffffffc
test r11d, r11d
jle 0x140064194
nop dword [rax + rax]
movzx edx, byte [rcx]
movzx eax, dl
and al, 0xe0
cmp al, 0xc0
jne 0x140064121
inc rcx
inc r8d
movzx edx, byte [rcx]
movzx eax, dl
and al, 0xc0
cmp al, 0x80
jne 0x140064194
mov r9b, 1
movzx eax, dl
and al, 0xf0
cmp al, 0xe0
jne 0x14006414b
movzx eax, byte [rcx + 1]
and al, 0xc0
cmp al, 0x80
jne 0x140064194
add rcx, 2
add r8d, 2
movzx edx, byte [rcx]
movzx eax, dl
and al, 0xc0
cmp al, 0x80
jne 0x140064194
mov r9b, 1
and dl, 0xf8
cmp dl, 0xf0
jne 0x14006417b
movzx eax, byte [rcx + 1]
and al, 0xc0
cmp al, 0x80
jne 0x140064194
movzx eax, byte [rcx + 2]
and al, 0xc0
cmp al, 0x80
jne 0x140064194
add rcx, 3
add r8d, 3
movzx eax, byte [rcx]
and al, 0xc0
cmp al, 0x80
jne 0x140064194
mov r9b, 1
inc rcx
inc r8d
cmp r8d, r11d
jl 0x140064100
test r9b, r9b
mov eax, 5
jne 0x140064199
mov eax, 2
mov dword [rsi + 0x48], eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
cmp dword [rsp + 0x54], 0
je 0x14006423b
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
test r14, r14
je 0x1400641c6
mov rcx, r14
call fcn.14011460c
nop
mov rdx, qword [rsp + 0xa0]
cmp rdx, 8
jb 0x14006420e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064209
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d63
call fcn.14011460c
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], 7
mov word [rsp + 0x88], di
mov rcx, qword [rsp + 0x48]
call fcn.14011460c
xor al, al
jmp 0x1400643b5
mov ecx, dword [rsi + 0x48]
sub ecx, 1
je 0x1400642db
sub ecx, 1
je 0x1400642db
cmp ecx, 3
je 0x1400642db
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov ecx, eax
call fcn.140114b30
mov r15, rax
mov r8, qword [rsp + 0x58]
xor edx, edx
mov rcx, rax
call fcn.140118720
lea rax, [rsp + 0x78]
cmp rsi, rax
je 0x140064292
mov rcx, qword [rsi]
mov qword [rsi], r15
test rcx, rcx
je 0x14006429f
jmp 0x14006429a
test r15, r15
je 0x14006429f
mov rcx, r15
call fcn.14011460c
cmp qword [rsi], 0
je 0x1400642c8
mov r8d, edi
cmp dword [rsp + 0x40], edi
jbe 0x1400642c8
nop
mov ecx, r8d
movzx edx, byte [r14 + rcx]
mov rax, qword [rsi]
mov byte [rcx + rax], dl
inc r8d
cmp r8d, dword [rsp + 0x40]
jb 0x1400642b0
test r14, r14
je 0x1400642d6
mov rcx, r14
call fcn.14011460c
nop
jmp 0x14006441f
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
test r14, r14
je 0x1400642f3
mov rcx, r14
call fcn.14011460c
nop
mov rdx, qword [rsp + 0xa0]
cmp rdx, 8
jb 0x14006433b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064336
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d63
call fcn.14011460c
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], 7
mov word [rsp + 0x88], di
mov rcx, qword [rsp + 0x48]
call fcn.14011460c
xor al, al
jmp 0x1400643b5
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], 7
mov word [rsp + 0x88], di
mov rcx, qword [rsp + 0x48]
call fcn.14011460c
xor al, al
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.1401145b0
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov r15d, eax
mov ecx, eax
call fcn.140114b30
mov r14, rax
mov r8d, r15d
xor edx, edx
mov rcx, rax
call fcn.140118720
lea rax, [rsp + 0x80]
cmp rsi, rax
je 0x14006440c
mov rcx, qword [rsi]
mov qword [rsi], r14
test rcx, rcx
je 0x140064419
jmp 0x140064414
test r14, r14
je 0x140064419
mov rcx, r14
call fcn.14011460c
mov r12d, 0xbbef
mov rdx, qword [rsi]
test rdx, rdx
je 0x140064cec
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140064cec
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x50]
mov dword [rsi + 8], eax
mov eax, dword [rsi + 0x48]
mov r9d, dword [rsp + 0x40]
test eax, eax
jne 0x140064722
mov rax, qword [rsi]
cmp r9d, 2
jl 0x140064648
mov r14, rax
lea r10, [rax + 2]
mov r8d, edi
mov r11d, edi
lea ecx, [r9 - 2]
test ecx, ecx
jle 0x1400644d9
lea r15d, [rcx - 1]
shr r15d, 1
inc r15d
nop word [rax + rax]
mov edx, r11d
movzx ecx, word [r14]
lea r14, [r14 + 2]
inc r11d
cmp di, cx
cmovne r11d, edx
cmp byte [r10], 0
jne 0x1400644be
inc r8d
mov edx, r8d
movzx ecx, byte [r10 + 1]
add r10, 2
inc r8d
test cl, cl
cmovne r8d, edx
sub r15, 1
jne 0x1400644a0
cmp r11d, dword [rsi + 0x74]
jle 0x1400644e9
mov ebx, 1
jmp 0x14006464d
movzx edx, word [rax]
mov ecx, 0xfeff
cmp dx, cx
je 0x14006464d
mov ecx, 0xfffe
cmp dx, cx
jne 0x14006450e
mov ebx, 4
jmp 0x14006464d
cmp r8d, 3
jle 0x14006452e
mov ecx, r9d
and ecx, 0x80000001
jge 0x140064526
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
je 0x14006464d
cmp r9d, 3
jl 0x140064648
cmp dx, r12w
jne 0x14006454e
cmp byte [rax + 2], 0xbf
jne 0x14006454e
mov ebx, 5
jmp 0x14006464d
mov rdx, rax
mov r8d, edi
test r9d, r9d
jle 0x140064589
nop dword [rax]
movzx ecx, byte [rdx]
cmp cl, 0xc0
je 0x140064648
cmp cl, 0xc1
je 0x140064648
cmp cl, 0xf5
jae 0x140064648
inc rdx
inc r8d
cmp r8d, r9d
jl 0x140064560
xor r10b, r10b
mov r8d, edi
lea r11d, [r9 - 4]
test r11d, r11d
jle 0x140064648
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, dl
and cl, 0xe0
cmp cl, 0xc0
jne 0x1400645c9
inc rax
inc r8d
movzx edx, byte [rax]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x140064648
mov r10b, 1
movzx ecx, dl
and cl, 0xf0
cmp cl, 0xe0
jne 0x1400645f9
movzx ecx, byte [rax + 1]
and cl, 0xc0
cmp cl, 0x80
jne 0x140064648
add rax, 2
add r8d, 2
movzx edx, byte [rax]
movzx ecx, dl
and cl, 0xc0
cmp cl, 0x80
jne 0x140064648
mov r10b, 1
and dl, 0xf8
cmp dl, 0xf0
jne 0x14006462f
movzx ecx, byte [rax + 1]
and cl, 0xc0
cmp cl, 0x80
jne 0x140064648
movzx ecx, byte [rax + 2]
and cl, 0xc0
cmp cl, 0x80
jne 0x140064648
add rax, 3
add r8d, 3
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x140064648
mov r10b, 1
inc rax
inc r8d
cmp r8d, r11d
jl 0x1400645a0
test r10b, r10b
mov ebx, 5
jne 0x14006464d
mov ebx, 2
mov dword [rsi + 0x48], ebx
mov eax, ebx
movzx ecx, byte [rsp + 0x44]
test cl, cl
je 0x140064727
cmp ebx, 1
je 0x140064727
mov dword [rsi + 0x48], 5
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r8, qword [rsi]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd r14, eax
lea r12d, [r14 + 1]
movsxd rcx, r12d
mov eax, 2
mul rcx
mov r15, rax
mov rax, 0xffffffffffffffff
cmovo r15, rax
mov rcx, r15
call fcn.140114b30
mov rbx, rax
mov r8, r15
xor edx, edx
mov rcx, rax
call fcn.140118720
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rbx
mov r9d, dword [rsp + 0x40]
mov r8, qword [rsi]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, r14d
jne 0x140064bd9
cmp r14d, 1
jle 0x140064bc9
mov eax, 0xfeff
cmp word [rbx], ax
jne 0x140064bc9
lea rcx, [rsi + 0x10]
lea eax, [r14 - 1]
movsxd r8, eax
lea rdx, [rbx + 2]
call fcn.14004ca40
mov byte [rsi + 0x70], 1
jmp 0x140064bd9
movzx ecx, byte [rsp + 0x44]
cmp eax, 3
jne 0x14006485f
cmp r9d, 1
jbe 0x140064848
mov rax, qword [rsi]
cmp byte [rax], 0xff
jne 0x140064848
mov r14d, r9d
shr r14, 1
dec r14
add rax, 2
mov qword [rsp + 0x58], rax
mov r12, qword [rsi + 0x28]
cmp r14, r12
ja 0x140064793
lea r13, [rsi + 0x10]
cmp r12, 8
jb 0x14006476f
mov r13, qword [rsi + 0x10]
mov qword [rsi + 0x20], r14
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, rax
mov rcx, r13
call fcn.140118050
mov word [rbx + r13], di
mov byte [rsi + 0x70], 1
jmp 0x14006485a
movabs rbx, 0x7ffffffffffffffe
cmp r14, rbx
ja 0x140064d69
mov rcx, r14
or rcx, 7
cmp rcx, rbx
ja 0x1400647d1
mov rdx, r12
shr rdx, 1
mov rax, rbx
sub rax, rdx
cmp r12, rax
ja 0x1400647d1
lea rax, [rdx + r12]
mov rbx, rcx
cmp rcx, rax
cmovb rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rsi + 0x10]
call fcn.14004b1e0
mov r13, rax
mov qword [rsi + 0x20], r14
mov qword [rsi + 0x28], rbx
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, qword [rsp + 0x58]
mov rcx, rax
call fcn.140118050
mov word [rbx + r13], di
cmp r12, 8
jb 0x14006483e
mov rcx, qword [rsi + 0x10]
lea rdx, [r12*2 + 2]
cmp rdx, 0x1000
jb 0x140064839
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140064d6e
mov rcx, r8
call fcn.14011460c
mov qword [rsi + 0x10], r13
mov byte [rsi + 0x70], 1
jmp 0x14006485a
lea rcx, [rsi + 0x10]
mov r8d, r9d
shr r8, 1
mov rdx, qword [rsi]
call fcn.14004ca40
jmp 0x140064be7
cmp eax, 4
jne 0x140064b1a
mov r10, qword [rsi]
mov r11d, r9d
shr r11d, 3
mov edx, edi
test r11d, r11d
je 0x140064964
cmp r11d, 8
jb 0x140064964
mov r8, rdi
mov ecx, r11d
and ecx, 0x80000007
jge 0x14006489c
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, r11d
sub eax, ecx
movsxd rcx, eax
movdqa xmm4, xmmword [0x140169dd0]
movdqa xmm5, xmmword [0x140169e10]
mov eax, 8
movd xmm3, eax
lea rax, [r10 + 0x20]
movdqu xmm0, xmmword [rax - 0x20]
movdqa xmm1, xmm0
pand xmm1, xmm5
psllq xmm1, xmm3
psrlq xmm0, xmm3
pand xmm0, xmm4
por xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
movdqu xmm0, xmmword [rax - 0x10]
movdqa xmm1, xmm0
pand xmm1, xmm5
psllq xmm1, xmm3
psrlq xmm0, xmm3
pand xmm0, xmm4
por xmm1, xmm0
movdqu xmmword [rax - 0x10], xmm1
movdqu xmm1, xmmword [rax]
movdqa xmm2, xmm1
psrlq xmm2, xmm3
pand xmm2, xmm4
movdqa xmm0, xmm5
pand xmm0, xmm1
psllq xmm0, xmm3
por xmm2, xmm0
movdqu xmmword [rax], xmm2
movdqu xmm0, xmmword [rax + 0x10]
movdqa xmm1, xmm0
pand xmm1, xmm5
psllq xmm1, xmm3
psrlq xmm0, xmm3
pand xmm0, xmm4
por xmm1, xmm0
movdqu xmmword [rax + 0x10], xmm1
add edx, 8
add r8, 8
lea rax, [rax + 0x40]
cmp r8, rcx
jl 0x1400648c1
mov r9d, dword [rsp + 0x40]
movsxd r8, edx
mov ebx, r11d
cmp r8, rbx
jge 0x1400649b0
movabs r9, 0xff00ff00ff00ff
nop dword [rax]
mov rcx, qword [r10 + r8*8]
mov rdx, rcx
shr rdx, 8
mov rax, rcx
shl rax, 8
xor rdx, rax
and rdx, r9
shl rcx, 8
xor rdx, rcx
mov qword [r10 + r8*8], rdx
inc r8
cmp r8, rbx
jl 0x140064980
mov r9d, dword [rsp + 0x40]
lea ecx, [r11*4]
mov edx, r9d
shr rdx, 1
cmp rcx, rdx
jae 0x1400649eb
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r10 + rcx*2]
rol ax, 8
mov word [r10 + rcx*2], ax
inc rcx
cmp rcx, rdx
jl 0x1400649d0
mov r9d, dword [rsp + 0x40]
cmp r9d, 1
jbe 0x140064b03
mov rax, qword [rsi]
cmp byte [rax], 0xff
jne 0x140064b03
mov r14d, r9d
shr r14, 1
dec r14
add rax, 2
mov qword [rsp + 0x58], rax
mov r12, qword [rsi + 0x28]
cmp r14, r12
ja 0x140064a4e
lea r13, [rsi + 0x10]
cmp r12, 8
jb 0x140064a2a
mov r13, qword [rsi + 0x10]
mov qword [rsi + 0x20], r14
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, rax
mov rcx, r13
call fcn.140118050
mov word [rbx + r13], di
mov byte [rsi + 0x70], 1
jmp 0x140064b15
movabs rbx, 0x7ffffffffffffffe
cmp r14, rbx
ja 0x140064d74
mov rcx, r14
or rcx, 7
cmp rcx, rbx
ja 0x140064a8c
mov rdx, r12
shr rdx, 1
mov rax, rbx
sub rax, rdx
cmp r12, rax
ja 0x140064a8c
lea rax, [rdx + r12]
mov rbx, rcx
cmp rcx, rax
cmovb rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rsi + 0x10]
call fcn.14004b1e0
mov r13, rax
mov qword [rsi + 0x20], r14
mov qword [rsi + 0x28], rbx
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, qword [rsp + 0x58]
mov rcx, rax
call fcn.140118050
mov word [rbx + r13], di
cmp r12, 8
jb 0x140064af9
mov rcx, qword [rsi + 0x10]
lea rdx, [r12*2 + 2]
cmp rdx, 0x1000
jb 0x140064af4
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140064d79
mov rcx, r8
call fcn.14011460c
mov qword [rsi + 0x10], r13
mov byte [rsi + 0x70], 1
jmp 0x140064b15
lea rcx, [rsi + 0x10]
mov r8d, r9d
shr r8, 1
mov rdx, qword [rsi]
call fcn.14004ca40
jmp 0x140064be7
cmp eax, 5
je 0x14006466f
cmp eax, 1
jne 0x140064b30
test cl, cl
jne 0x14006466f
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r8, qword [rsi]
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd r15, eax
lea r12d, [r15 + 1]
movsxd rcx, r12d
mov eax, 2
mul rcx
mov r14, rax
mov rax, 0xffffffffffffffff
cmovo r14, rax
mov rcx, r14
call fcn.140114b30
mov rbx, rax
mov r8, r14
xor edx, edx
mov rcx, rax
call fcn.140118720
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rbx
mov r9d, dword [rsp + 0x40]
mov r8, qword [rsi]
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, r15d
jne 0x140064bba
lea rcx, [rsi + 0x10]
mov r8, r15
mov rdx, rbx
call fcn.14004ca40
nop
test rbx, rbx
je 0x140064bc7
mov rcx, rbx
call fcn.14011460c
jmp 0x140064be7
lea rcx, [rsi + 0x10]
mov r8, r14
mov rdx, rbx
call fcn.14004ca40
nop
test rbx, rbx
je 0x140064be7
mov rcx, rbx
call fcn.14011460c
nop
mov eax, dword [rsi + 0x48]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
cmp eax, 1
jne 0x140064c6b
mov rdx, qword [rsp + 0xa0]
cmp rdx, 8
jb 0x140064c3e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064c39
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d51
call fcn.14011460c
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], 7
mov word [rsp + 0x88], di
mov rcx, qword [rsp + 0x48]
call fcn.14011460c
mov al, 1
jmp 0x1400643b5
mov rcx, rsi
call fcn.140065400
movzx ebx, al
mov rdx, qword [rsp + 0xa0]
cmp rdx, 8
jb 0x140064cbe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064cb9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064d51
call fcn.14011460c
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], 7
mov word [rsp + 0x88], di
mov rcx, qword [rsp + 0x48]
call fcn.14011460c
movzx eax, bl
jmp 0x1400643b5
mov rcx, qword [rsi]
mov qword [rsi], rdi
test rcx, rcx
je 0x140064cfc
call fcn.14011460c
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rsp + 0xa0]
cmp rdx, 8
jb 0x14006438d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140063e4c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140063e4c
call fcn.14011c9a4
nop
call fcn.14004e0d0
int3
call fcn.14011c9a4
nop
call fcn.14011c9a4
nop
call fcn.14004b290
call fcn.14011c9a4
nop
call fcn.14004b290
call fcn.14011c9a4
int3