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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100d74ed
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x48
push esi
mov esi, dword [ebx + 8]
push edi
mov edi, esi
cmp dword [esi + 0x14], 0xf
jbe 0x1001a9ce
mov edi, dword [esi]
xor ecx, ecx
mov edx, 0x811c9dc5
cmp dword [esi + 0x10], ecx
jbe 0x1001a9f2
nop word [eax + eax]
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [esi + 0x10]
jb 0x1001a9e0
push edx
push esi
lea eax, [ebp - 0x34]
push eax
call fcn.1001b250
mov ecx, dword [0x1015e6e8]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, dword [0x1015e6e8]
jne 0x1001aa1a
xor al, al
jmp 0x1001ab65
push esi
lea eax, [ebp - 0x3c]
push eax
call fcn.1001ade0
mov esi, dword [ebx + 0xc]
push 8
mov eax, dword [eax]
mov edi, dword [esi + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x10]
add eax, edi
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x11]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x30], eax
call fcn.100d5120
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x58]
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x58], eax
mov eax, ecx
mov dword [ebp - 4], 0
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 1
cmp edi, dword [ebp - 0x18]
je 0x1001ab26
mov edx, dword [ebp - 0x48]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
dec ecx
mov esi, dword [ebp - 0x50]
and ecx, edi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x24], eax
lea eax, [edx + 1]
cmp esi, eax
ja 0x1001aac0
push ecx
lea ecx, [ebp - 0x58]
call fcn.1001b2f0
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
lea eax, [esi - 1]
and ecx, eax
lea eax, [esi - 1]
mov dword [ebp - 0x4c], ecx
add ecx, edx
and eax, ecx
mov dword [ebp - 0x20], ecx
lea ecx, [eax*4]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x1c], ecx
cmp dword [ecx + eax], 0
jne 0x1001ab01
push 0x18
call fcn.100d5120
mov ecx, dword [ebp - 0x54]
add esp, 4
mov edx, dword [ebp - 0x1c]
mov dword [edx + ecx], eax
mov esi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
push dword [ebp - 0x24]
lea ecx, [esi - 1]
and ecx, dword [ebp - 0x20]
mov ecx, dword [eax + ecx*4]
call fcn.1001abf0
mov edx, dword [ebp - 0x48]
inc edi
mov esi, dword [ebx + 0xc]
inc edx
mov dword [ebp - 0x48], edx
cmp edi, dword [ebp - 0x18]
jne 0x1001aa98
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 4], 2
mov ecx, dword [ecx + 0x44]
test ecx, ecx
jne 0x1001ab3d
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
mov eax, dword [ecx]
lea edx, [ebp - 0x58]
push edx
call dword [eax + 8]
lea ecx, [ebp - 0x58]
call fcn.1001ace0
mov eax, dword [ebp - 0x58]
push 8
push eax
mov dword [ebp - 0x58], 0
call fcn.100d5584
add esp, 8
mov al, 1
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
Function at 0x1001ade0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100d7515
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
mov ebx, dword [ebp + 0xc]
mov edx, ebx
push esi
push edi
cmp dword [ebx + 0x14], 0xf
mov edi, dword [ebx + 0x10]
jbe 0x1001ae0e
mov edx, dword [ebx]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x1001ae31
nop dword [eax]
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x1001ae20
push esi
push ebx
lea eax, [ebp - 0x18]
push eax
call fcn.1001b250
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x1001ae5f
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov byte [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [0x1015e6ec], 0x38e38e3
jne 0x1001ae76
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
mov dword [ebp - 0x20], 0x1015e6e8
mov dword [ebp - 4], 0
push 0x48
mov dword [ebp - 0x1c], 0
call fcn.100d5120
mov edi, eax
add esp, 4
mov dword [ebp - 0x1c], edi
lea ecx, [edi + 8]
push ebx
call fcn.1001abf0
mov dword [edi + 0x44], 0
mov dword [ebp - 4], 1
mov edx, dword [0x1015e6ec]
mov ebx, dword [0x1015e700]
vmovss xmm1, dword [0x1015e6e4]
vxorps xmm0, xmm0, xmm0
lea eax, [edx + 1]
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x1014f480]
vcvtsd2ss xmm2, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
mov eax, ebx
shr eax, 0x1f
vcvtsi2sd xmm0, xmm0, ebx
vaddsd xmm0, xmm0, qword [eax*8 + 0x1014f480]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm2, xmm0
vcomiss xmm0, xmm1
jbe 0x1001af78
vdivss xmm0, xmm2, xmm1
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [ebp - 0x18], xmm0
fld qword [ebp - 0x18]
vxorpd xmm0, xmm0, xmm0
fstp qword [ebp - 0x18]
vroundsd xmm0, xmm0, qword [ebp - 0x18], 2
vmovsd qword [ebp - 0x18], xmm0
fld qword [ebp - 0x18]
fstp qword [ebp - 0x18]
vmovsd xmm0, qword [ebp - 0x18]
vcvtpd2ps xmm0, xmm0
call fcn.100d65b0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x1001af5a
cmp ebx, 0x200
jae 0x1001af58
shl ebx, 3
cmp ebx, ecx
jae 0x1001af5a
mov ebx, ecx
push ebx
call fcn.1001b060
push esi
lea eax, [edi + 8]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.1001b250
mov edx, dword [0x1015e6ec]
mov ecx, dword [eax]
jmp 0x1001af7b
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ecx + 4]
inc edx
mov dword [0x1015e6ec], edx
mov dword [edi], ecx
mov dword [edi + 4], ebx
mov dword [ebx], edi
mov dword [ecx + 4], edi
and esi, dword [0x1015e6fc]
mov eax, dword [0x1015e6f0]
mov edx, dword [eax + esi*8]
cmp edx, dword [0x1015e6e8]
jne 0x1001afaa
mov dword [eax + esi*8], edi
jmp 0x1001afb9
cmp edx, ecx
jne 0x1001afb3
mov dword [eax + esi*8], edi
jmp 0x1001afbd
cmp dword [eax + esi*8 + 4], ebx
jne 0x1001afbd
mov dword [eax + esi*8 + 4], edi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword [eax], edi
pop edi
pop esi
mov byte [eax + 4], 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x1001e0a0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100d7551
push eax
mov dword fs:[0], esp
mov eax, dword fs:[0x2c]
mov edx, dword [0x10162de0]
push ebx
sub esp, 0x24
mov edx, dword [eax + edx*4]
mov eax, dword [0x10163344]
push esi
mov esi, ecx
cmp eax, dword [edx + 4]
jle 0x1001e203
push 0x10163344
call fcn.100d50bc
add esp, 4
cmp dword [0x10163344], 0xffffffff
jne 0x1001e203
mov dword [ebp - 4], 0
mov ecx, 8
vmovdqu ymm1, ymmword [0x1014fce0]
vmovdqu ymm2, ymmword [0x1014fc40]
vmovdqu ymm3, ymmword [0x10150520]
mov dword [ebp - 0x2f], 0x6e484073
mov dword [ebp - 0x2b], 0x57414d55
vpmovsxbd ymm0, qword [ebp - 0x2f]
vpxor ymm0, ymm0, ymm1
vpshufb ymm0, ymm0, ymm2
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymm3
vextracti128 xmm0, ymm0, 0
mov dword [ebp - 0x27], 0x405c4963
mov dword [ebp - 0x23], 0x100525e
vmovq qword [ebp - 0x2f], xmm0
lea eax, [ecx + 0x1e]
xor byte [ebp + ecx - 0x2f], al
inc ecx
cmp ecx, 0xe
jb 0x1001e171
mov dword [ebp - 0x1f], 0x637f4b5a
mov eax, 8
mov dword [ebp - 0x1b], 0x60415043
vpmovsxbd ymm0, qword [ebp - 0x1f]
vpxor ymm0, ymm0, ymm1
vpshufb ymm0, ymm0, ymm2
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymm3
vextracti128 xmm0, ymm0, 0
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x17], 0x5d415348
mov word [ebp - 0x13], 0x53
mov byte [ebp - 0x11], 1
vmovq qword [ebp - 0x1f], xmm0
nop dword [eax + eax]
lea ecx, [eax + 0x1e]
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 0xd
jb 0x1001e1d0
lea eax, [ebp - 0x2f]
mov byte [ebp - 0x11], 0
push eax
lea eax, [ebp - 0x1f]
push eax
vzeroupper
call fcn.1000f3e0
push 0x10163344
mov dword [0x10163360], eax
call fcn.100d506b
add esp, 4
mov eax, dword [0x10163360]
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax + esi]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
Function at 0x1001e220
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100d7571
push eax
mov dword fs:[0], esp
mov eax, dword fs:[0x2c]
mov edx, dword [0x10162de0]
push ebx
sub esp, 0x1c
mov edx, dword [eax + edx*4]
mov eax, dword [0x10163354]
push esi
mov esi, ecx
cmp eax, dword [edx + 4]
jle 0x1001e343
push 0x10163354
call fcn.100d50bc
add esp, 4
cmp dword [0x10163354], 0xffffffff
jne 0x1001e343
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x18], 0x79576251
mov dword [ebp - 0x14], 0x100170f
lea eax, [ecx + 0x3c]
xor byte [ebp + ecx - 0x18], al
inc ecx
cmp ecx, 6
jb 0x1001e2a3
mov dword [ebp - 0x27], 0x637f4b5a
mov ecx, 8
mov dword [ebp - 0x23], 0x75415043
vpmovsxbd ymm1, qword [ebp - 0x27]
vpxor ymm0, ymm1, ymmword [0x1014fce0]
vpshufb ymm0, ymm0, ymmword [0x1014fc40]
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymmword [0x10150520]
vextracti128 xmm0, ymm0, 0
mov byte [ebp - 0x11], 0
mov dword [ebp - 0x1f], 0x4c51464a
mov word [ebp - 0x1b], 0x58
mov byte [ebp - 0x19], 1
vmovq qword [ebp - 0x27], xmm0
nop dword [eax]
lea eax, [ecx + 0x1e]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xd
jb 0x1001e310
lea eax, [ebp - 0x18]
mov byte [ebp - 0x19], 0
push eax
lea eax, [ebp - 0x27]
push eax
vzeroupper
call fcn.1000f3e0
push 0x10163354
mov dword [0x1016333c], eax
call fcn.100d506b
add esp, 4
mov eax, dword [0x1016333c]
mov ecx, dword [ebx + 8]
mov dword [eax + esi], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
Function at 0x1001e6c0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d75d1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x20
push esi
mov eax, ecx
mov byte [ebp - 0x11], 0
push edi
mov dword [ebp - 0x18], eax
call fcn.1001e0a0
mov ecx, dword [0x101632c4]
push eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov edi, eax
test edi, edi
je 0x1001e839
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10162de0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1016335c]
cmp eax, dword [ecx + 4]
jle 0x1001e80b
push 0x1016335c
call fcn.100d50bc
add esp, 4
cmp dword [0x1016335c], 0xffffffff
jne 0x1001e80b
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x20], 0x79576251
mov dword [ebp - 0x1c], 0x100170f
mov al, cl
add al, 0x3c
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 6
jb 0x1001e768
mov dword [ebp - 0x2f], 0x637f4b5a
mov ecx, 8
mov dword [ebp - 0x2b], 0x75415043
vpmovsxbd ymm1, qword [ebp - 0x2f]
vpxor ymm0, ymm1, ymmword [0x1014fce0]
vpshufb ymm0, ymm0, ymmword [0x1014fc40]
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymmword [0x10150520]
vextracti128 xmm0, ymm0, 0
mov byte [ebp - 0x19], 0
mov dword [ebp - 0x27], 0x4c51464a
mov word [ebp - 0x23], 0x58
mov byte [ebp - 0x21], 1
vmovq qword [ebp - 0x2f], xmm0
nop
mov al, cl
add al, 0x1e
xor byte [ebp + ecx - 0x2f], al
inc ecx
cmp ecx, 0xd
jb 0x1001e7d0
lea eax, [ebp - 0x20]
mov byte [ebp - 0x21], 0
push eax
lea eax, [ebp - 0x2f]
push eax
vzeroupper
call fcn.1000f3e0
push 0x1016335c
mov dword [0x10163324], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100d506b
add esp, 4
mov eax, dword [0x10163324]
mov ecx, edi
push 0x46
mov esi, dword [eax + edi]
call fcn.1001e220
mov ecx, dword [ebp - 0x18]
push 0
push dword [ebx + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6a4]
call eax
push esi
mov ecx, edi
mov byte [ebp - 0x11], al
call fcn.1001e220
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0x11]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
Function at 0x1001f0f0
Capabilities:
Log keystrokes via polling

Disassembly:
push ecx
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10162de0]
push esi
push edi
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101d30a4]
cmp eax, dword [ecx + 4]
jle 0x1001f146
push 0x101d30a4
call fcn.100d50bc
add esp, 4
cmp dword [0x101d30a4], 0xffffffff
jne 0x1001f146
push 0x101d30a4
mov dword [0x101d309c], 0
mov dword [0x101d3098], 0x1015d0d4
call fcn.100d506b
add esp, 4
mov eax, dword [0x101d3098]
mov eax, dword [eax]
test eax, eax
jne 0x1001f158
mov dword [0x101d309c], eax
jmp 0x1001f172
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x101d309c], eax
jne 0x1001f2b0
cmp dword [0x101632e0], 3
jne 0x1001f188
cmp byte [0x1016330e], 0
jne 0x1001f2b0
mov esi, dword [0x1015dfe8]
mov ecx, esi
call fcn.10018ac0
mov ecx, esi
mov eax, dword [eax]
mov eax, dword [eax + 0x71c]
call eax
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vaddss xmm0, xmm0, xmm0
vucomiss xmm0, dword [0x1014e724]
lahf
test ah, 0x44
jnp 0x1001f2aa
cmp dword [0x101632e0], 3
jne 0x1001f2aa
mov eax, dword [0x10163270]
mov esi, 0x41
cmp eax, 0x15c
jg 0x1001f21c
je case.0x1001f1f2.304
sub eax, 0xab
cmp eax, 0x9e
ja case.0x1001f1f2.173
movzx eax, byte [eax + 0x1001f2d4]
jmp dword [eax*4 + 0x1001f2b8]
mov esi, 0x51
jmp case.0x1001f1f2.173
mov esi, 0x4e
jmp case.0x1001f1f2.173
mov esi, 0x55
jmp case.0x1001f1f2.173
mov esi, 0x25
jmp case.0x1001f1f2.173
mov esi, 0x34
jmp case.0x1001f1f2.173
cmp eax, 0x1bf
jg 0x1001f244
je case.0x1001f1f2.329
sub eax, 0x15d
je 0x1001f236
sub eax, 6
jne case.0x1001f1f2.173
lea esi, [eax + 9]
jmp case.0x1001f1f2.173
mov esi, 0x1a
jmp case.0x1001f1f2.173
mov esi, 0x31
jmp case.0x1001f1f2.173
cmp eax, 0x288
je 0x1001f259
cmp eax, 0x49d
jne case.0x1001f1f2.173
mov esi, 0x1c
jmp case.0x1001f1f2.173
mov esi, 0xc
mov ecx, dword [0x101632c4]
push dword [0x10163264]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x1001f2aa
cmp dword [0x10163270], 0x290
jne 0x1001f29a
mov ecx, edi
call fcn.1000cb40
cmp dword [eax], 0
jge 0x1001f2b0
mov ecx, edi
call fcn.1000c1f0
test al, 1
jne 0x1001f2b0
mov ecx, edi
call fcn.10010ff0
cmp esi, eax
setle al
pop edi
pop esi
pop ecx
ret
xor al, al
pop edi
pop esi
pop ecx
ret
pop edi
mov al, 1
pop esi
pop ecx
ret
Function at 0x1001fb10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
cmp byte [ecx + 0xe2], 0
mov dword [ebp - 0xc], ecx
je 0x1001fc8c
vmovdqu ymm4, ymmword [0x1014fc60]
vmovdqu ymm5, ymmword [0x1014ff60]
vmovdqu ymm3, ymmword [0x10150540]
push ebx
push esi
mov ebx, 0xe600
lea edx, [ecx + 0x20]
push edi
xor eax, eax
mov dword [ebp - 8], ebx
mov dword [ebp - 4], edx
vpmovzxwd ymm1, xmmword [edx - 0x20]
vmovd xmm0, eax
vpbroadcastd ymm0, xmm0
vpaddd ymm0, ymm0, ymm5
vpxor ymm0, ymm0, ymm1
vpshufb ymm0, ymm0, ymm3
vpermq ymm0, ymm0, 0xd8
vextracti128 xmm0, ymm0, 0
vmovdqu xmmword [edx - 0x20], xmm0
vpmovzxwd ymm1, xmmword [edx - 0x10]
lea ecx, [ebx - 0x17]
add eax, 0x20
vmovd xmm0, ecx
vpbroadcastd ymm0, xmm0
vpaddd ymm0, ymm0, ymm4
vpxor ymm0, ymm0, ymm1
vpshufb ymm0, ymm0, ymm3
vpermq ymm0, ymm0, 0xd8
vextracti128 xmm0, ymm0, 0
vmovdqu xmmword [edx - 0x10], xmm0
vpmovzxwd ymm1, xmmword [edx]
lea ecx, [ebx - 0xf]
vmovd xmm0, ecx
vpbroadcastd ymm0, xmm0
vpaddd ymm0, ymm0, ymm4
vpxor ymm0, ymm0, ymm1
vpshufb ymm0, ymm0, ymm3
vpermq ymm0, ymm0, 0xd8
vextracti128 xmm0, ymm0, 0
vmovdqu xmmword [edx], xmm0
vpmovzxwd ymm2, xmmword [edx + 0x10]
lea ecx, [ebx - 7]
lea edx, [ebx - 6]
mov dword [ebp - 0x10], ecx
vmovd xmm0, ecx
vpinsrd xmm0, xmm0, edx, 1
lea esi, [ebx - 5]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 4]
lea edi, [ebx - 4]
vpinsrd xmm0, xmm0, esi, 2
vpinsrd xmm1, xmm0, edi, 3
add ebx, 0xfffffffd
vmovd xmm0, ebx
mov ebx, dword [ebp - 8]
lea ecx, [ebx - 2]
vpinsrd xmm0, xmm0, ecx, 1
lea ecx, [ebx - 1]
vpinsrd xmm0, xmm0, ecx, 2
vpinsrd xmm0, xmm0, ebx, 3
vinsertf128 ymm0, ymm1, xmm0, 1
vpxor ymm0, ymm0, ymm2
vpshufb ymm0, ymm0, ymm3
vpermq ymm0, ymm0, 0xd8
vextracti128 xmm0, ymm0, 0
add ebx, 0x20
vmovdqu xmmword [edx + 0x10], xmm0
add edx, 0x40
mov dword [ebp - 8], ebx
mov dword [ebp - 4], edx
cmp ebx, 0xe660
jb 0x1001fb51
mov edx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
cmp eax, 0x70
jae 0x1001fc85
lea ecx, [eax - 0x1a1f]
xor word [edx + eax*2], cx
inc eax
cmp eax, 0x70
jb 0x1001fc75
mov byte [edx + 0xe2], 0
vzeroupper
mov esp, ebp
pop ebp
ret

Function at 0x10029220
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov dword [ebp - 4], 0
mov ebx, dword fs:[0x30]
mov ebx, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x14]
mov ebx, dword [ebx]
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 4]
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x10029250
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
mov ebx, ecx
mov eax, edx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
push esi
mov eax, dword [ebx + 0x3c]
xor esi, esi
add eax, 0x78
add eax, ebx
mov dword [ebp - 0x1c], eax
push edi
mov edx, dword [eax]
mov eax, dword [edx + ebx + 0x24]
add edx, ebx
add eax, ebx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0xc], eax
mov edi, dword [edx + 0x1c]
mov eax, dword [edx + 0x20]
add edi, ebx
add eax, ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], eax
test ecx, 0xffff0000
jne 0x100292bf
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x10]
movzx esi, ax
cmp esi, ecx
jb 0x10029347
mov eax, dword [edx + 0x14]
add eax, ecx
cmp esi, eax
ja 0x10029347
sub esi, ecx
mov esi, dword [edi + esi*4]
add esi, ebx
jmp 0x1002931c
mov eax, dword [edx + 0x18]
xor edi, edi
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1002931c
nop dword [eax + eax]
mov eax, dword [ebp - 8]
mov eax, dword [eax + edi*4]
add eax, ebx
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x100292f8
test dl, dl
je 0x100292f4
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x100292f8
add ecx, 2
add eax, 2
test dl, dl
jne 0x100292d8
xor eax, eax
jmp 0x100292fd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10029310
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
add esi, ebx
mov ecx, dword [ebp - 4]
inc edi
cmp edi, dword [ebp - 0x14]
jb 0x100292d0
mov edx, dword [ebp - 0x18]
cmp esi, edx
jb 0x10029400
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 4]
add eax, edx
cmp esi, eax
jae 0x10029400
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov edi, eax
add esp, 4
mov dword [ebp - 8], edi
test edi, edi
jne 0x10029350
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x2e
push edi
xor esi, esi
call dword [sym.imp.VCRUNTIME140.dll_strchr]
vmovdqa xmm0, xmmword [0x1014f8d0]
mov ebx, eax
mov word [ebp - 0x1e], 0x100
add esp, 8
lea ecx, [ebp - 0x2e]
vmovdqu xmmword [ebp - 0x2e], xmm0
mov byte [ebx], 0
call fcn.1000bb70
mov edx, eax
call fcn.10029220
mov ecx, eax
call fcn.10029250
mov dword [ebp - 0x1c], eax
push dword [ebp - 8]
call dword [ebp - 0x1c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
test ecx, ecx
jne 0x100293e6
mov dword [ebp - 0x2a], 0x45417052
lea ecx, [ebp - 0x2a]
mov dword [ebp - 0x26], 0x57464a6e
mov dword [ebp - 0x22], 0x68515547
mov word [ebp - 0x1e], 0x100
vzeroupper
call fcn.1000bc50
mov edx, eax
call fcn.10029220
mov ecx, eax
call fcn.10029250
mov dword [ebp - 0x1c], eax
push dword [ebp - 8]
call dword [ebp - 0x1c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x100293f3
lea edx, [ebx + 1]
vzeroupper
call fcn.10029250
mov esi, eax
push edi
vzeroupper
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x10029410
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
lea ecx, [ebp - 0x1e]
mov dword [ebp - 0x1e], 0x45417052
mov dword [ebp - 0x1a], 0x57464a6e
mov dword [ebp - 0x16], 0x68515547
mov word [ebp - 0x12], 0x100
call fcn.1000bc50
mov edx, eax
call fcn.10029220
mov ecx, eax
call fcn.10029250
mov dword [ebp - 4], eax
push dword [ebp + 8]
call dword [ebp - 4]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x10029497
mov edx, dword [ebp + 0xc]
vzeroupper
call fcn.10029250
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10029497
mov edx, dword [ebp + 0x10]
test edx, edx
jle 0x10029487
lea ecx, [ebp + 0x10]
mov eax, dword [ecx + 4]
lea ecx, [ecx + 4]
mov dword [ebp - 4], eax
push dword [ebp - 4]
sub edx, 1
jne 0x10029476
call dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
vzeroupper
mov esp, ebp
pop ebp
ret
xor eax, eax
vzeroupper
mov esp, ebp
pop ebp
ret

Function at 0x100294a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 0x19], 0x52537a53
xor ecx, ecx
mov dword [ebp - 0x15], 0x67414443
mov dword [ebp - 0x11], 0x7f5f49
mov byte [ebp - 0xd], 1
lea eax, [ecx + 0x1e]
xor byte [ebp + ecx - 0x19], al
inc ecx
cmp ecx, 0xb
jb 0x100294c1
mov byte [ebp - 0xd], 0
xor ecx, ecx
mov dword [ebp - 0xc], 0x73654c4b
mov dword [ebp - 8], 0x410a1111
mov dword [ebp - 4], 0x1004b4a
nop dword [eax]
lea eax, [ecx + 0x1e]
xor byte [ebp + ecx - 0xc], al
inc ecx
cmp ecx, 0xa
jb 0x100294f0
push 0
push edx
push dword [ebp + 8]
lea eax, [ebp - 0x19]
mov byte [ebp - 1], 0
push 0x10
push 4
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.10029410
add esp, 0x1c
mov esp, ebp
pop ebp
ret