joyce8/EMBER2024-capa huggingface dataset:
Function at 0x406ca0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
cmp word [0x4708de], 0
movups xmm0, xmmword [0x4708c8]
push esi
mov esi, ecx
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 4], esi
movq xmm0, qword [str.TXDQUSCSE]
movq qword [ebp - 0x10], xmm0
je 0x406deb
xor ecx, ecx
cmp dword [0x47a3e0], 2
jl 0x406dc3
movaps xmm2, xmmword [0x470b20]
mov eax, 0x4708c8
movaps xmm3, xmmword [0x470bb0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov ecx, 8
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x470b50]
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x470b30]
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
paddw xmm1, xmmword [0x470ba0]
movq xmm0, qword [eax]
xorps xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x20], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x470b50]
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [ebp - 0x18]
paddw xmm1, xmmword [0x470ba0]
xorps xmm1, xmm0
movq qword [ebp - 0x18], xmm1
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul eax, eax, 0x3a
sub edx, eax
add edx, 0x32
xor word [ebp + ecx*2 - 0x20], dx
inc ecx
cmp ecx, 0xc
jl 0x406dc3
xorps xmm0, xmm0
lea ecx, [ebp - 0x20]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edx, [ecx + 2]
mov dword [esi + 0x14], 0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406e05
sub ecx, edx
lea eax, [ebp - 0x20]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.004061e0
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x406e30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
movups xmm0, xmmword [0x46f92c]
mov eax, dword [0x46f944]
push esi
mov esi, ecx
mov dword [ebp - 0x10], eax
mov ax, word [0x46f948]
xor ecx, ecx
cmp dword [0x47a3e0], 2
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 4], esi
movq xmm0, qword [0x46f93c]
movq qword [ebp - 0x18], xmm0
mov word [ebp - 0xc], ax
jl 0x406f57
movaps xmm2, xmmword [0x470b20]
mov eax, 0x46f92c
movaps xmm3, xmmword [0x470bb0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov ecx, 8
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x470b50]
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x470b30]
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
paddw xmm1, xmmword [0x470ba0]
movq xmm0, qword [eax]
xorps xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x28], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x470b50]
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [ebp - 0x20]
paddw xmm1, xmmword [0x470ba0]
xorps xmm1, xmm0
movq qword [ebp - 0x20], xmm1
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul eax, eax, 0x3a
sub edx, eax
add edx, 0x32
xor word [ebp + ecx*2 - 0x28], dx
inc ecx
cmp ecx, 0xf
jl 0x406f57
xorps xmm0, xmm0
lea ecx, [ebp - 0x28]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edx, [ecx + 2]
mov dword [esi + 0x14], 0
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406fa0
sub ecx, edx
lea eax, [ebp - 0x28]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.004061e0
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x407000
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
movups xmm0, xmmword [0x470838]
mov eax, dword [0x470858]
push esi
movups xmmword [ebp - 0x30], xmm0
mov esi, ecx
mov dword [ebp - 0x10], eax
movups xmm0, xmmword [0x470848]
mov ax, word [0x47085c]
xor ecx, ecx
cmp dword [0x47a3e0], 2
mov dword [ebp - 4], esi
movups xmmword [ebp - 0x20], xmm0
mov word [ebp - 0xc], ax
jl 0x407150
movaps xmm4, xmmword [0x470b20]
movaps xmm3, xmmword [0x470bb0]
movaps xmm5, xmmword [0x470b50]
movaps xmm6, xmmword [0x470ba0]
nop
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + ecx*2 - 0x30], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x28]
xorps xmm1, xmm0
movq qword [ebp + ecx*2 - 0x28], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x407060
cmp ecx, 0x13
jge 0x407178
nop
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul eax, eax, 0x3a
sub edx, eax
add edx, 0x32
xor word [ebp + ecx*2 - 0x30], dx
inc ecx
cmp ecx, 0x13
jl 0x407150
xorps xmm0, xmm0
lea ecx, [ebp - 0x30]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edx, [ecx + 2]
mov dword [esi + 0x14], 0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407192
sub ecx, edx
lea eax, [ebp - 0x30]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.004061e0
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x4071c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
movups xmm0, xmmword [0x46f994]
push esi
mov esi, ecx
xor ecx, ecx
cmp dword [0x47a3e0], 2
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 4], esi
movups xmm0, xmmword [0x46f9a4]
movups xmmword [ebp - 0x20], xmm0
movq xmm0, qword [0x46f9b4]
movq qword [ebp - 0x10], xmm0
jl 0x407310
movaps xmm4, xmmword [0x470b20]
movaps xmm3, xmmword [0x470bb0]
movaps xmm5, xmmword [0x470b50]
movaps xmm6, xmmword [0x470ba0]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + ecx*2 - 0x30], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x28]
xorps xmm1, xmm0
movq qword [ebp + ecx*2 - 0x28], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x407220
cmp ecx, 0x14
jge 0x407338
nop
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul eax, eax, 0x3a
sub edx, eax
add edx, 0x32
xor word [ebp + ecx*2 - 0x30], dx
inc ecx
cmp ecx, 0x14
jl 0x407310
xorps xmm0, xmm0
lea ecx, [ebp - 0x30]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edx, [ecx + 2]
mov dword [esi + 0x14], 0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407352
sub ecx, edx
lea eax, [ebp - 0x30]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.004061e0
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x407380
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
movups xmm0, xmmword [0x46f8f4]
mov eax, dword [0x46f914]
push esi
movups xmmword [ebp - 0x2c], xmm0
mov esi, ecx
xor ecx, ecx
cmp dword [0x47a3e0], 2
movups xmm0, xmmword [0x46f904]
mov dword [ebp - 4], esi
mov dword [ebp - 0xc], eax
movups xmmword [ebp - 0x1c], xmm0
jl 0x4074d0
movaps xmm4, xmmword [0x470b20]
movaps xmm3, xmmword [0x470bb0]
movaps xmm5, xmmword [0x470b50]
movaps xmm6, xmmword [0x470ba0]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x2c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + ecx*2 - 0x2c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x24]
xorps xmm1, xmm0
movq qword [ebp + ecx*2 - 0x24], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x4073e0
cmp ecx, 0x12
jge 0x4074f8
nop
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul eax, eax, 0x3a
sub edx, eax
add edx, 0x32
xor word [ebp + ecx*2 - 0x2c], dx
inc ecx
cmp ecx, 0x12
jl 0x4074d0
xorps xmm0, xmm0
lea ecx, [ebp - 0x2c]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edx, [ecx + 2]
mov dword [esi + 0x14], 0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407512
sub ecx, edx
lea eax, [ebp - 0x2c]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.004061e0
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x407540
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
movups xmm0, xmmword [str.qVpTBVdz_lSOUZ2o_D]
mov eax, dword [0x4708a8]
push esi
movups xmmword [ebp - 0x30], xmm0
mov esi, ecx
mov dword [ebp - 0x10], eax
movups xmm0, xmmword [0x470898]
mov ax, word [0x4708ac]
xor ecx, ecx
cmp dword [0x47a3e0], 2
mov dword [ebp - 4], esi
movups xmmword [ebp - 0x20], xmm0
mov word [ebp - 0xc], ax
jl 0x407690
movaps xmm4, xmmword [0x470b20]
movaps xmm3, xmmword [0x470bb0]
movaps xmm5, xmmword [0x470b50]
movaps xmm6, xmmword [0x470ba0]
nop
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + ecx*2 - 0x30], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x28]
xorps xmm1, xmm0
movq qword [ebp + ecx*2 - 0x28], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x4075a0
cmp ecx, 0x13
jge 0x4076b8
nop
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul eax, eax, 0x3a
sub edx, eax
add edx, 0x32
xor word [ebp + ecx*2 - 0x30], dx
inc ecx
cmp ecx, 0x13
jl 0x407690
xorps xmm0, xmm0
lea ecx, [ebp - 0x30]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edx, [ecx + 2]
mov dword [esi + 0x14], 0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4076d2
sub ecx, edx
lea eax, [ebp - 0x30]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.004061e0
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x407700
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
movups xmm0, xmmword [0x46f9bc]
mov eax, dword [0x46f9e4]
push esi
movups xmmword [ebp - 0x38], xmm0
mov esi, ecx
mov dword [ebp - 0x10], eax
movups xmm0, xmmword [0x46f9cc]
mov ax, word [0x46f9e8]
xor ecx, ecx
cmp dword [0x47a3e0], 2
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 4], esi
movq xmm0, qword [0x46f9dc]
movq qword [ebp - 0x18], xmm0
mov word [ebp - 0xc], ax
jl 0x407860
movaps xmm4, xmmword [0x470b20]
movaps xmm3, xmmword [0x470bb0]
movaps xmm5, xmmword [0x470b50]
movaps xmm6, xmmword [0x470ba0]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x38]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + ecx*2 - 0x38], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x30]
xorps xmm1, xmm0
movq qword [ebp + ecx*2 - 0x30], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x407770
cmp ecx, 0x17
jge 0x407888
nop
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul eax, eax, 0x3a
sub edx, eax
add edx, 0x32
xor word [ebp + ecx*2 - 0x38], dx
inc ecx
cmp ecx, 0x17
jl 0x407860
xorps xmm0, xmm0
lea ecx, [ebp - 0x38]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edx, [ecx + 2]
mov dword [esi + 0x14], 0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4078a2
sub ecx, edx
lea eax, [ebp - 0x38]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.004061e0
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x4078d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
movups xmm0, xmmword [str.qVpZXRdz_]
mov eax, dword [0x470880]
push esi
movups xmmword [ebp - 0x30], xmm0
mov esi, ecx
mov dword [ebp - 0x10], eax
movups xmm0, xmmword [0x470870]
mov ax, word [0x470884]
xor ecx, ecx
cmp dword [0x47a3e0], 2
mov dword [ebp - 4], esi
movups xmmword [ebp - 0x20], xmm0
mov word [ebp - 0xc], ax
jl 0x407a20
movaps xmm4, xmmword [0x470b20]
movaps xmm3, xmmword [0x470bb0]
movaps xmm5, xmmword [0x470b50]
movaps xmm6, xmmword [0x470ba0]
nop
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + ecx*2 - 0x30], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x28]
xorps xmm1, xmm0
movq qword [ebp + ecx*2 - 0x28], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x407930
cmp ecx, 0x13
jge 0x407a48
nop
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul eax, eax, 0x3a
sub edx, eax
add edx, 0x32
xor word [ebp + ecx*2 - 0x30], dx
inc ecx
cmp ecx, 0x13
jl 0x407a20
xorps xmm0, xmm0
lea ecx, [ebp - 0x30]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edx, [ecx + 2]
mov dword [esi + 0x14], 0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407a62
sub ecx, edx
lea eax, [ebp - 0x30]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.004061e0
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x407a90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
movups xmm0, xmmword [str.qVcZDdz_lSOUZ2o__Ef__qWCYeNUW]
push esi
mov esi, ecx
xor ecx, ecx
cmp dword [0x47a3e0], 2
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 4], esi
movups xmm0, xmmword [0x46f95c]
movups xmmword [ebp - 0x20], xmm0
movq xmm0, qword [0x46f96c]
movq qword [ebp - 0x10], xmm0
jl 0x407be0
movaps xmm4, xmmword [0x470b20]
movaps xmm3, xmmword [0x470bb0]
movaps xmm5, xmmword [0x470b50]
movaps xmm6, xmmword [0x470ba0]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + ecx*2 - 0x30], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x28]
xorps xmm1, xmm0
movq qword [ebp + ecx*2 - 0x28], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x407af0
cmp ecx, 0x14
jge 0x407c08
nop
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul eax, eax, 0x3a
sub edx, eax
add edx, 0x32
xor word [ebp + ecx*2 - 0x30], dx
inc ecx
cmp ecx, 0x14
jl 0x407be0
xorps xmm0, xmm0
lea ecx, [ebp - 0x30]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edx, [ecx + 2]
mov dword [esi + 0x14], 0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407c22
sub ecx, edx
lea eax, [ebp - 0x30]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.004061e0
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x407c50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
movups xmm0, xmmword [0x46f974]
push esi
mov esi, ecx
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 4], esi
movups xmm0, xmmword [0x46f984]
pextrw eax, xmm0, 7
movups xmmword [ebp - 0x18], xmm0
test ax, ax
je 0x407dbf
xor ecx, ecx
cmp dword [0x47a3e0], 2
jl 0x407da0
movaps xmm4, xmmword [0x470b20]
movaps xmm3, xmmword [0x470bb0]
movaps xmm5, xmmword [0x470b50]
movaps xmm6, xmmword [0x470ba0]
nop dword [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + ecx*2 - 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm6
paddw xmm1, xmm0
movq xmm0, qword [ebp + ecx*2 - 0x20]
xorps xmm1, xmm0
movq qword [ebp + ecx*2 - 0x20], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x407cb0
jmp 0x407dbf
mov eax, 0x8d3dcb09
mul ecx
shr edx, 5
imul eax, edx, 0x3a
mov edx, ecx
sub edx, eax
add edx, 0x32
xor word [ebp + ecx*2 - 0x28], dx
inc ecx
cmp ecx, 0x10
jl 0x407da0
xorps xmm0, xmm0
lea ecx, [ebp - 0x28]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edx, [ecx + 2]
mov dword [esi + 0x14], 0
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407de0
sub ecx, edx
lea eax, [ebp - 0x28]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.004061e0
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x409830
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword fs:[0x2c]
push esi
push edi
mov edi, ecx
mov ecx, dword [eax]
mov eax, dword [0x47b55c]
mov dword [ebp - 4], edi
mov dword [ebp - 4], edi
cmp eax, dword [ecx + 4]
jle 0x4098ab
push 0x47b55c
call fcn.004252e5
add esp, 4
cmp dword [0x47b55c], 0xffffffff
jne 0x4098ab
xorps xmm0, xmm0
mov dword [0x47b588], 0
xor eax, eax
mov dword [0x47b58c], 7
movups xmmword [0x47b578], xmm0
push 0x45a790
mov word [0x47b578], ax
call fcn.004256c9
add esp, 4
push 0x47b55c
call fcn.00425294
add esp, 4
mov edx, dword [0x47b58c]
mov ecx, dword [0x47b578]
cmp edx, 7
jbe 0x4098c0
test ecx, ecx
je 0x4098eb
cmp edx, 7
mov eax, 0x47b578
cmova eax, ecx
cmp word [eax], 0
je 0x4098eb
cmp edx, 7
mov eax, 0x47b578
cmova eax, ecx
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4099b7
lea ecx, [ebp - 0x20]
call fcn.0040c090
mov esi, eax
cmp esi, 0x47b578
je 0x409981
mov ecx, dword [0x47b58c]
cmp ecx, 7
jbe 0x409941
mov edx, dword [0x47b578]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x409937
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4099cb
push ecx
push edx
call fcn.004256de
add esp, 8
mov dword [0x47b588], 0
xor eax, eax
mov dword [0x47b58c], 7
mov word [0x47b578], ax
movups xmm0, xmmword [esi]
movups xmmword [0x47b578], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x47b588], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0xc]
cmp ecx, 7
jbe 0x4099b7
mov edx, dword [ebp - 0x20]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4099ad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4099cb
push ecx
push edx
call fcn.004256de
add esp, 8
push 0x47b578
mov ecx, edi
call fcn.004019f0
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.004313ba
int3