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

Disassembly:
mov eax, 0x14
call fcn.10022920
mov eax, dword [esp + 0x2c]
push esi
mov esi, dword [eax]
test esi, esi
jns 0x10119670
mov dword [eax], 0xffffffff
pop esi
add esp, 0x14
ret
push ebx
mov ebx, dword [esp + 0x24]
push ebp
mov ebp, dword [esp + 0x24]
push edi
mov edi, dword [esp + 0x30]
test esi, esi
je 0x1011969c
mov ecx, dword [esp + 0x38]
test edi, edi
je 0x1011969c
mov al, byte [esi + ecx]
dec edi
xor al, byte [ebp]
inc esi
mov byte [ebx], al
inc ebp
inc ebx
and esi, 0xf
jne 0x10119687
mov edx, dword [esp + 0x40]
cmp edi, 0x10
jb 0x10119735
mov ecx, dword [esp + 0x38]
mov eax, ebx
sub eax, ecx
mov dword [esp + 0x14], eax
mov eax, ebp
sub eax, ecx
mov dword [esp + 0x18], eax
mov eax, edi
shr eax, 4
mov dword [esp + 0x10], eax
shl eax, 4
add ebx, eax
add ebp, eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x18]
jmp 0x101196e4
mov ecx, dword [esp + 0x38]
push dword [esp + 0x34]
push ecx
push ecx
call edx
add esp, 0xc
cmp esi, 0x10
jae 0x10119717
mov eax, dword [esp + 0x38]
mov edx, 0xf
sub edx, esi
add eax, esi
shr edx, 2
inc edx
mov ecx, dword [eax + ebp]
lea eax, [eax + 4]
xor ecx, dword [eax - 4]
mov dword [ebx + eax - 4], ecx
sub edx, 1
jne 0x10119705
mov edx, dword [esp + 0x40]
sub edi, 0x10
add ebx, 0x10
add ebp, 0x10
xor esi, esi
sub dword [esp + 0x10], 1
jne 0x101196e0
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
test edi, edi
je 0x10119767
push dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
push eax
push eax
call edx
mov eax, dword [esp + 0x44]
add esp, 0xc
sub ebp, eax
sub ebx, eax
lea ecx, [esi + eax]
add esi, edi
mov al, byte [ecx + ebp]
lea ecx, [ecx + 1]
xor al, byte [ecx - 1]
mov byte [ecx + ebx - 1], al
sub edi, 1
jne 0x10119755
mov eax, dword [esp + 0x3c]
pop edi
pop ebp
pop ebx
mov dword [eax], esi
pop esi
add esp, 0x14
ret
Function at 0x10119c10
Capabilities:
Encode data using xor

Disassembly:
mov eax, 4
call fcn.10022920
push ebp
mov ebp, dword [esp + 0xc]
mov eax, dword [ebp + 0x38]
or eax, dword [ebp + 0x3c]
je 0x10119c2f
mov eax, 0xfffffffe
pop ebp
pop ecx
ret
push esi
mov esi, dword [esp + 0x18]
xor ecx, ecx
mov eax, esi
add eax, dword [ebp + 0x30]
adc ecx, dword [ebp + 0x34]
cmp ecx, 0x20000000
ja 0x10119cf9
jb 0x10119c54
test eax, eax
jne 0x10119cf9
push ebx
mov ebx, dword [esp + 0x18]
push edi
mov edi, dword [ebp + 0x16c]
mov dword [ebp + 0x34], ecx
lea ecx, [ebp + 0x40]
mov dword [ebp + 0x30], eax
test edi, edi
je 0x10119ca5
nop dword [eax]
test esi, esi
je 0x10119c8a
mov al, byte [ebx]
lea ecx, [ebp + 0x40]
xor byte [ecx + edi], al
inc ebx
inc edi
mov dword [esp + 0x18], ecx
dec esi
and edi, 0xf
jne 0x10119c70
jmp 0x10119c92
mov dword [esp + 0x18], ecx
test edi, edi
jne 0x10119ceb
lea eax, [ebp + 0x60]
push eax
push ecx
call fcn.1011b320
mov ecx, dword [esp + 0x20]
add esp, 8
jmp 0x10119ca9
mov dword [esp + 0x18], ecx
mov eax, esi
lea edx, [ebp + 0x60]
and eax, 0xfffffff0
mov dword [esp + 0x10], eax
je 0x10119ccb
push eax
push ebx
push edx
push ecx
call fcn.1011b0f0
add ebx, dword [esp + 0x20]
add esp, 0x10
sub esi, dword [esp + 0x10]
test esi, esi
je 0x10119ceb
xor ecx, ecx
mov edi, esi
test esi, esi
je 0x10119ceb
mov edx, dword [esp + 0x18]
nop dword [eax + eax]
mov al, byte [ecx + ebx]
xor byte [edx + ecx], al
inc ecx
cmp ecx, esi
jb 0x10119ce0
mov dword [ebp + 0x16c], edi
xor eax, eax
pop edi
pop ebx
pop esi
pop ebp
pop ecx
ret
pop esi
or eax, 0xffffffff
pop ebp
pop ecx
ret
Function at 0x1011aec0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10
call fcn.10022920
push ebx
mov ebx, dword [esp + 0x20]
push esi
mov esi, dword [esp + 0x1c]
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x16c], 0
mov dword [esi + 0x168], 0
cmp ebx, 0xc
jne 0x1011af2c
mov eax, dword [esp + 0x20]
mov ebx, 1
movq xmm0, qword [eax]
movq qword [esi], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
mov dword [esi + 0xc], 0x1000000
jmp 0x1011b069
mov dword [esi + 0x40], 0
lea edx, [esi + 0x60]
mov dword [esi + 0x44], 0
mov dword [esi + 0x48], 0
mov dword [esp + 0x14], ebx
mov dword [esi + 0x4c], 0
mov dword [esp + 0xc], edx
push ebp
mov ebp, dword [esp + 0x24]
push edi
lea edi, [esi + 0x40]
cmp ebx, 0x10
jb 0x1011afcf
mov eax, ebx
lea ecx, [esi + 0x41]
shr eax, 4
mov esi, edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], eax
mov eax, ecx
lea edx, [ebp + 1]
mov edi, 4
nop dword [eax]
movzx ecx, byte [edx - 1]
lea edx, [edx + 4]
xor byte [eax - 1], cl
lea eax, [eax + 4]
movzx ecx, byte [edx - 4]
xor byte [eax - 4], cl
movzx ecx, byte [edx - 3]
xor byte [eax - 3], cl
movzx ecx, byte [edx - 2]
xor byte [eax - 2], cl
sub edi, 1
jne 0x1011af80
push dword [esp + 0x14]
push esi
call fcn.1011b320
mov ecx, dword [esp + 0x20]
add esp, 8
add ebp, 0x10
sub ebx, 0x10
sub dword [esp + 0x2c], 1
jne 0x1011af73
mov esi, dword [esp + 0x24]
lea edi, [esi + 0x40]
lea edx, [esi + 0x60]
test ebx, ebx
je 0x1011aff5
xor ecx, ecx
test ebx, ebx
je 0x1011afeb
nop dword [eax]
mov al, byte [ecx + ebp]
xor byte [edi + ecx], al
inc ecx
cmp ecx, ebx
jb 0x1011afe0
push edx
push edi
call fcn.1011b320
add esp, 8
mov edx, dword [esp + 0x1c]
xor ebx, ebx
shld ebx, edx, 3
xor byte [esi + 0x4b], bl
mov eax, ebx
shl edx, 3
xor byte [esi + 0x4f], dl
mov ecx, edx
shrd ecx, eax, 0x18
xor byte [esi + 0x4c], cl
mov ecx, edx
shrd ecx, eax, 0x10
mov eax, edx
xor byte [esi + 0x4d], cl
shrd eax, ebx, 8
xor byte [esi + 0x4e], al
lea eax, [esi + 0x60]
push eax
push edi
call fcn.1011b320
movzx ebx, byte [esi + 0x4c]
add esp, 8
movzx eax, byte [esi + 0x4d]
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 0x4e]
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 0x4f]
shl ebx, 8
or ebx, eax
mov eax, dword [edi]
mov dword [esi], eax
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x4c]
pop edi
mov dword [esi + 0xc], eax
pop ebp
mov dword [esi + 0x40], 0
lea eax, [esi + 0x20]
mov dword [esi + 0x44], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 0
push dword [esi + 0x174]
push eax
mov eax, dword [esi + 0x170]
push esi
call eax
inc ebx
add esp, 0xc
mov eax, ebx
mov byte [esi + 0xf], bl
shr eax, 0x18
mov byte [esi + 0xc], al
mov eax, ebx
shr eax, 0x10
mov byte [esi + 0xd], al
mov eax, ebx
shr eax, 8
mov byte [esi + 0xe], al
pop esi
pop ebx
add esp, 0x10
ret
Function at 0x1011f400
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
mov eax, 0x88
call fcn.10022920
mov eax, dword [0x101fd024]
xor eax, esp
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x98]
push edi
mov edi, dword [esp + 0x90]
mov dword [esp + 0x48], 0x61707865
mov eax, dword [ecx]
mov dword [esp + 0x58], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x5c], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x64], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x6c], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x1c]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x74], eax
mov dword [esp + 0x4c], 0x3320646e
mov dword [esp + 0x50], 0x79622d32
mov eax, dword [ecx]
mov dword [esp + 0x78], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x7c], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x80], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x54], 0x6b206574
test eax, eax
je 0x1011f5d7
push ebx
mov ebx, dword [esp + 0x98]
push ebp
push esi
nop
mov esi, 0x40
cmp eax, esi
cmovb esi, eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1011f5f0
add esp, 8
xor eax, eax
test esi, esi
je 0x1011f5aa
cmp esi, 0x40
jb 0x1011f571
lea edx, [edi - 1]
lea ecx, [esp + esi + 0x13]
add edx, esi
cmp edi, ecx
ja 0x1011f504
lea ecx, [esp + 0x14]
cmp edx, ecx
jae 0x1011f571
lea ecx, [ebx - 1]
add ecx, esi
cmp edi, ecx
ja 0x1011f511
cmp edx, ebx
jae 0x1011f571
mov edx, esi
lea ecx, [edi + 0x10]
mov ebp, ebx
and edx, 0xffffffc0
sub ebp, edi
nop dword [eax]
movups xmm0, xmmword [esp + eax + 0x14]
lea ecx, [ecx + 0x40]
movups xmm1, xmmword [ebx + eax]
pxor xmm1, xmm0
movups xmm0, xmmword [esp + eax + 0x24]
movups xmmword [edi + eax], xmm1
movups xmm1, xmmword [ecx + ebp - 0x40]
pxor xmm1, xmm0
movups xmm0, xmmword [esp + eax + 0x34]
movups xmmword [ecx - 0x40], xmm1
movups xmm1, xmmword [ebx + eax + 0x20]
pxor xmm1, xmm0
movups xmm0, xmmword [esp + eax + 0x44]
movups xmmword [ecx - 0x30], xmm1
movups xmm1, xmmword [ebx + eax + 0x30]
add eax, 0x40
pxor xmm1, xmm0
movups xmmword [ecx - 0x20], xmm1
cmp eax, edx
jb 0x1011f520
cmp eax, esi
jae 0x1011f5aa
mov ebp, ebx
lea ecx, [esp + 0x14]
sub ebp, ecx
lea edx, [esp + 0x14]
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x10], ecx
mov ebx, ecx
nop dword [eax + eax]
lea edx, [esp + 0x14]
add edx, eax
inc eax
mov cl, byte [edx + ebp]
xor cl, byte [edx]
mov byte [ebx + edx], cl
cmp eax, esi
jb 0x1011f590
mov ebx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
add ebx, esi
inc dword [esp + 0x84]
sub eax, esi
add edi, esi
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], eax
test eax, eax
jne 0x1011f4c0
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x88]
pop edi
xor ecx, esp
call fcn.10021a20
add esp, 0x88
ret
Function at 0x10122660
Capabilities:
Encode data using xor

Disassembly:
cmp dword [esp + 0x18], 0
je 0x10122674
mov dword [esp + 0x18], fcn.10120e40
jmp fcn.101191a0
mov dword [esp + 0x18], fcn.101200d0
jmp fcn.10118ed0

Function at 0x10124b50
Capabilities:
Hash data using sha1

Disassembly:
push esi
mov esi, dword [esp + 8]
push esi
call fcn.1002d240
add esp, 4
test eax, eax
jne 0x10124b64
pop esi
ret
lea eax, [esi + 0x5c]
pop esi
mov dword [esp + 4], eax
jmp fcn.10043410

Function at 0x1012a2f0
Capabilities:
Hash data using sha256

Disassembly:
push esi
mov esi, dword [esp + 8]
push 0xa8
push 0
lea eax, [esi + 0x40]
push eax
call fcn.10146e60
mov edx, dword [esp + 0x18]
add esp, 0xc
mov dword [esi], 0xf3bcc908
mov dword [esi + 4], 0x6a09e667
mov dword [esi + 8], 0x84caa73b
mov dword [esi + 0xc], 0xbb67ae85
mov dword [esi + 0x10], 0xfe94f82b
mov dword [esi + 0x14], 0x3c6ef372
mov dword [esi + 0x18], 0x5f1d36f1
mov dword [esi + 0x1c], 0xa54ff53a
mov dword [esi + 0x20], 0xade682d1
mov dword [esi + 0x24], 0x510e527f
mov dword [esi + 0x28], 0x2b3e6c1f
mov dword [esi + 0x2c], 0x9b05688c
mov dword [esi + 0x30], 0xfb41bd6b
mov dword [esi + 0x34], 0x1f83d9ab
mov dword [esi + 0x38], 0x137e2179
mov dword [esi + 0x3c], 0x5be0cd19
movzx eax, byte [edx]
mov dword [esi + 0xe4], eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
xor dword [esi], eax
xor dword [esi + 4], ecx
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
xor dword [esi + 8], eax
xor dword [esi + 0xc], ecx
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
xor dword [esi + 0x10], eax
xor dword [esi + 0x14], ecx
mov eax, dword [edx + 0x18]
mov ecx, dword [edx + 0x1c]
xor dword [esi + 0x18], eax
xor dword [esi + 0x1c], ecx
mov eax, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
xor dword [esi + 0x20], eax
xor dword [esi + 0x24], ecx
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
xor dword [esi + 0x28], eax
xor dword [esi + 0x2c], ecx
mov eax, dword [edx + 0x30]
mov ecx, dword [edx + 0x34]
xor dword [esi + 0x30], eax
xor dword [esi + 0x34], ecx
mov eax, dword [edx + 0x38]
mov ecx, dword [edx + 0x3c]
xor dword [esi + 0x38], eax
xor dword [esi + 0x3c], ecx
pop esi
ret

Function at 0x1012c350
Capabilities:
Hash data using sha256

Disassembly:
push esi
mov esi, dword [esp + 8]
push 0x58
push 0
lea eax, [esi + 0x20]
push eax
call fcn.10146e60
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov dword [esi], 0x6a09e667
mov dword [esi + 4], 0xbb67ae85
mov dword [esi + 8], 0x3c6ef372
mov dword [esi + 0xc], 0xa54ff53a
mov dword [esi + 0x10], 0x510e527f
mov dword [esi + 0x14], 0x9b05688c
mov dword [esi + 0x18], 0x1f83d9ab
mov dword [esi + 0x1c], 0x5be0cd19
movzx eax, byte [ecx]
mov dword [esi + 0x74], eax
mov eax, dword [ecx]
xor dword [esi], eax
mov eax, dword [ecx + 4]
xor dword [esi + 4], eax
mov eax, dword [ecx + 8]
xor dword [esi + 8], eax
mov eax, dword [ecx + 0xc]
xor dword [esi + 0xc], eax
mov eax, dword [ecx + 0x10]
xor dword [esi + 0x10], eax
mov eax, dword [ecx + 0x14]
xor dword [esi + 0x14], eax
mov eax, dword [ecx + 0x18]
xor dword [esi + 0x18], eax
mov eax, dword [ecx + 0x1c]
xor dword [esi + 0x1c], eax
pop esi
ret
Function at 0x10136e90
Capabilities:
Encode data using xor

Disassembly:
push esi
push edi
mov edi, dword [esp + 0xc]
cmp dword [edi + 0x84], 0xffffffff
je 0x10136f64
push dword [edi]
call fcn.1003c770
mov esi, eax
add esp, 4
test esi, esi
js 0x10136f64
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10136ec1
mov dword [eax], esi
push ebp
mov ebp, dword [esp + 0x14]
test ebp, ebp
je 0x10136f5b
mov ecx, dword [edi + 0x84]
push ebx
cmp ecx, esi
jne 0x10136efa
test esi, esi
jle 0x10136f39
mov edx, ebp
lea ecx, [edi + 4]
mov ebx, esi
mov al, byte [ecx + 0x60]
lea ecx, [ecx + 1]
xor al, byte [ecx - 1]
lea edx, [edx + 1]
mov byte [edx - 1], al
sub ebx, 1
jne 0x10136ee4
jmp 0x10136f39
mov eax, esi
mov byte [ecx + edi + 0x64], 0x80
sub eax, ecx
cmp eax, 1
jle 0x10136f1a
dec eax
push eax
lea eax, [edi + 0x65]
add eax, ecx
push 0
push eax
call fcn.10146e60
add esp, 0xc
test esi, esi
jle 0x10136f39
mov edx, ebp
lea ecx, [edi + 0x24]
mov ebx, esi
mov al, byte [ecx + 0x40]
lea ecx, [ecx + 1]
xor al, byte [ecx - 1]
lea edx, [edx + 1]
mov byte [edx - 1], al
sub ebx, 1
jne 0x10136f25
push esi
push ebp
push ebp
push dword [edi]
call fcn.1003cf90
add esp, 0x10
pop ebx
test eax, eax
jg 0x10136f5b
push esi
push ebp
call fcn.1003ac40
add esp, 8
xor eax, eax
pop ebp
pop edi
pop esi
ret
pop ebp
pop edi
mov eax, 1
pop esi
ret
pop edi
xor eax, eax
pop esi
ret
Function at 0x10144da0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x14
call fcn.10022920
mov edx, dword [esp + 0x2c]
xor eax, eax
push ebx
mov ebx, dword [esp + 0x1c]
or ecx, 0xffffffff
cmp edx, 1
push esi
setne al
mov esi, dword [ebx]
push edi
mov edi, dword [esp + 0x3c]
add eax, edi
mov dword [esp + 0x1c], esi
cmp eax, esi
jbe 0x10144dd9
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x14
ret
push ebp
cmp edx, 1
je 0x10144ea5
mov ebp, dword [esp + 0x30]
dec ebp
add ebp, esi
cmp dword [esp + 0x44], 0
mov cl, byte [ebp]
movzx edx, cl
mov byte [esp + 0x13], cl
mov dword [esp + 0x14], edx
je 0x10144e13
sub esi, edx
mov eax, 1
sub esi, edi
pop ebp
dec esi
pop edi
mov dword [ebx], esi
pop esi
pop ebx
add esp, 0x14
ret
lea ecx, [edx + eax]
mov ebx, esi
sub ebx, ecx
mov eax, esi
xor ebx, ecx
xor eax, ecx
or ebx, eax
mov eax, 0x100
xor ebx, esi
shr ebx, 0x1f
dec ebx
cmp esi, eax
cmovb eax, esi
xor edi, edi
mov dword [esp + 0x18], eax
test eax, eax
je 0x10144e85
mov esi, edx
mov eax, esi
shr eax, 0x1f
mov dword [esp + 0x1c], eax
mov edx, esi
lea ebp, [ebp - 1]
sub edx, edi
mov ecx, edi
shr edx, 0x1f
inc edi
shr ecx, 0x1f
xor dl, cl
xor al, cl
movzx ecx, byte [ebp + 1]
or dl, al
movzx eax, byte [esp + 0x13]
dec dl
xor ecx, eax
movzx edx, dl
mov eax, dword [esp + 0x1c]
and edx, ecx
not edx
and ebx, edx
cmp edi, dword [esp + 0x18]
jb 0x10144e47
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x40]
lea eax, [edx + 1]
mov edx, dword [esp + 0x3c]
not ebx
movzx ecx, bl
mov ebx, dword [esp + 0x28]
dec ecx
shr ecx, 0x1f
neg ecx
and eax, ecx
sub esi, eax
mov dword [ebx], esi
push dword [esp + 0x48]
push ecx
push edi
push edx
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [esp + 0x48]
push ebx
call fcn.10144a80
add esp, 0x24
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x14
ret
Function at 0x10145370
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x30
call fcn.10022920
mov eax, dword [0x101fd024]
xor eax, esp
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
push ebx
push ebp
mov ebp, dword [esp + 0x44]
push esi
push edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x30]
test eax, eax
je 0x10145482
movups xmm0, xmmword [edi + 0x10]
mov ebx, dword [esp + 0x50]
lea esi, [edi + 0x10]
dec eax
mov dword [esp + 0x10], ebx
movups xmmword [esp + 0x2c], xmm0
and byte [esp + 0x38], 0x7f
lea ecx, [esp + 0x2c]
push 1
mov dword [edi + 0x30], eax
push ecx
psrldq xmm0, 8
movd eax, xmm0
push 0
push 0
and al, 0x7f
mov byte [esp + 0x44], al
mov eax, dword [edi + 0x20]
push 0
push eax
mov dword [esp + 0x30], eax
call fcn.10073900
add esp, 0x18
test eax, eax
je 0x10145482
push dword [esp + 0x10]
lea eax, [esp + 0x14]
push dword [esp + 0x18]
push eax
push ebp
push dword [esp + 0x28]
call fcn.100743b0
add esp, 0x14
test eax, eax
je 0x10145482
push ebx
push ebp
lea eax, [esp + 0x24]
push eax
push edi
call fcn.10145920
add esp, 0x10
test eax, eax
je 0x10145482
lea eax, [esi + 0xf]
xor edx, edx
lea ecx, [esp + 0x1c]
cmp ecx, eax
ja 0x10145453
lea eax, [esp + 0x2b]
cmp eax, esi
jb 0x10145453
mov eax, ecx
sub esi, eax
lea ecx, [esp + 0x1c]
add ecx, edx
inc edx
mov al, byte [esi + ecx]
xor byte [ecx], al
cmp edx, 0x10
jl 0x10145440
jmp 0x10145464
movups xmm1, xmmword [esp + 0x1c]
movups xmm0, xmmword [esi]
pxor xmm1, xmm0
movups xmmword [esp + 0x1c], xmm1
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
or ecx, dword [esp + 0x24]
or eax, dword [esp + 0x28]
or ecx, eax
je 0x10145497
push ebx
push ebp
call fcn.1003ac40
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.10021a20
add esp, 0x30
ret
mov ecx, dword [esp + 0x3c]
mov eax, ebx
mov dword [edi + 0x2c], 0
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10021a20
add esp, 0x30
ret

Function at 0x1015e1b1
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.1015e027
Function at 0x6a6c4f92
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x6adc9014]
mov dword [ebp - 0xc], eax
jmp 0x6a6c5002
jmp 0x6a6c5064
jmp 0x6a6c50c6
jmp 0x6a6c5128
jmp 0x6a6c518a
jmp 0x6a6c51ec
jmp 0x6a6c524e
jmp 0x6a6c52b0
jmp 0x6a6c5312
jmp 0x6a6c5374
jmp 0x6a6c53d6
jmp 0x6a6c5438
jmp 0x6a6c549a
jmp 0x6a6c54fc
jmp 0x6a6c555e
jmp 0x6a6c55c0
jmp 0x6a6c5622
jmp 0x6a6c5684
jmp 0x6a6c56e6
cmp dword [ebp - 0xc], 0
je 0x6a6c745a
mov eax, dword [0x6adc9014]
mov dword [0x6adc900c], eax
jmp 0x6a6c575c
jmp 0x6a6c57be
jmp 0x6a6c5820
jmp 0x6a6c5882
jmp 0x6a6c58e4
jmp 0x6a6c5946
jmp 0x6a6c59a8
jmp 0x6a6c5a0a
jmp 0x6a6c5a6c
jmp 0x6a6c5ace
jmp 0x6a6c5b30
jmp 0x6a6c5b92
jmp 0x6a6c5bf4
jmp 0x6a6c5c56
jmp 0x6a6c5cb8
jmp 0x6a6c5d1a
jmp 0x6a6c5d7c
jmp 0x6a6c5dde
jmp 0x6a6c5e40
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0xc]
add eax, edx
mov dword [0x6adc9008], eax
jmp 0x6a6c5eb2
jmp 0x6a6c5f14
jmp 0x6a6c5f76
jmp 0x6a6c5fd8
jmp 0x6a6c603a
jmp 0x6a6c609c
jmp 0x6a6c60fe
jmp 0x6a6c6160
jmp 0x6a6c61c2
jmp 0x6a6c6224
jmp 0x6a6c6286
jmp 0x6a6c62e8
jmp 0x6a6c634a
jmp 0x6a6c63ac
jmp 0x6a6c640e
jmp 0x6a6c6470
jmp 0x6a6c64d2
jmp 0x6a6c6534
jmp 0x6a6c6596
mov eax, dword [0x6adc9008]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x10], eax
jmp 0x6a6c6603
jmp 0x6a6c6665
jmp 0x6a6c66c7
jmp 0x6a6c6729
jmp 0x6a6c678b
jmp 0x6a6c67ed
jmp 0x6a6c684f
jmp 0x6a6c68b1
jmp 0x6a6c6913
jmp 0x6a6c6975
jmp 0x6a6c69d7
jmp 0x6a6c6a39
jmp 0x6a6c6a9b
jmp 0x6a6c6afd
jmp 0x6a6c6b5f
jmp 0x6a6c6bc1
jmp 0x6a6c6c23
jmp 0x6a6c6c85
jmp 0x6a6c6ce7
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x3000
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
call eax
sub esp, 0x10
mov dword [0x6adc9004], eax
jmp 0x6a6c6d76
jmp 0x6a6c6dd8
jmp 0x6a6c6e3a
jmp 0x6a6c6e9c
jmp 0x6a6c6efe
jmp 0x6a6c6f60
jmp 0x6a6c6fc2
jmp 0x6a6c7024
jmp 0x6a6c7086
jmp 0x6a6c70e8
jmp 0x6a6c714a
jmp 0x6a6c71ac
jmp 0x6a6c720e
jmp 0x6a6c7270
jmp 0x6a6c72d2
jmp 0x6a6c7334
jmp 0x6a6c7396
jmp 0x6a6c73f8
jmp 0x6a6c745a
nop
leave
ret

Function at 0x6a6e1380
Capabilities:
Write file on windows

Disassembly:
push ebx
sub esp, 0x18
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x1b
mov dword [esp + 4], 1
lea ebx, [esp + 0x24]
mov dword [esp], 0x6adc8040
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [esp + 0x20]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_vfprintf
call sub.msvcrt.dll_abort
jmp fcn.6a6e13e0
Function at 0x6a6e13e0
Capabilities:
Allocate or change rwx memory

Disassembly:
push edi
push esi
push ebx
sub esp, 0x30
mov esi, dword [0x6adc9378]
test esi, esi
jle 0x6a6e14cd
mov edi, dword [0x6adc937c]
xor ebx, ebx
lea edx, [edi + 4]
nop
mov ecx, dword [edx]
cmp ecx, eax
ja 0x6a6e1414
mov edi, dword [edx + 4]
add ecx, dword [edi + 8]
cmp eax, ecx
jb 0x6a6e14c6
add ebx, 1
add edx, 0xc
cmp ebx, esi
jne 0x6a6e1400
mov dword [esp], eax
mov esi, eax
call fcn.6a6e1b80
test eax, eax
mov edi, eax
je 0x6a6e150a
mov esi, dword [0x6adc937c]
lea ebx, [ebx + ebx*2]
shl ebx, 2
add esi, ebx
mov dword [esi + 8], eax
mov dword [esi], 0
call fcn.6a6e1c90
add eax, dword [edi + 0xc]
mov dword [esi + 4], eax
lea eax, [esp + 0x14]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], eax
mov eax, dword [0x6adc937c]
mov eax, dword [eax + ebx + 4]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
sub esp, 0xc
test eax, eax
je 0x6a6e14ea
mov eax, dword [esp + 0x28]
lea edx, [eax - 4]
and edx, 0xfffffffb
je 0x6a6e14bf
sub eax, 0x40
and eax, 0xffffffbf
je 0x6a6e14bf
mov eax, dword [esp + 0x20]
add ebx, dword [0x6adc937c]
mov dword [esp + 8], 0x40
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], ebx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub esp, 0x10
test eax, eax
je 0x6a6e14d4
add dword [0x6adc9378], 1
add esp, 0x30
pop ebx
pop esi
pop edi
ret
xor ebx, ebx
jmp 0x6a6e141e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], str.__VirtualProtect_failed_with_code_0x_x
mov dword [esp + 4], eax
call fcn.6a6e1380
mov eax, dword [0x6adc937c]
mov eax, dword [eax + ebx + 4]
mov dword [esp + 8], eax
mov eax, dword [edi + 8]
mov dword [esp], str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov dword [esp + 4], eax
call fcn.6a6e1380
mov dword [esp + 4], esi
mov dword [esp], str.Address__p_has_no_image_section
call fcn.6a6e1380
lea esi, [esi]

Function at 0x6a6e17f0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov dword [esp], 0x6adc9388
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [0x6adc9380]
sub esp, 4
mov ebp, dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test ebx, ebx
je 0x6a6e1845
lea esi, [esi]
mov eax, dword [ebx]
mov dword [esp], eax
call ebp
sub esp, 4
mov esi, eax
call edi
test eax, eax
jne 0x6a6e183e
test esi, esi
je 0x6a6e183e
mov eax, dword [ebx + 4]
mov dword [esp], esi
call eax
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x6a6e1820
mov dword [esp], 0x6adc9388
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
Function at 0x433000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
nop
mov eax, section..rdata
mov ebx, 0x40de38
nop
mov ecx, 0x43eb65ba
nop
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x43304e
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
cmp eax, ebx
nop
nop
nop
nop
nop
nop
jne 0x433024
nop
nop
mov eax, section..data
nop
nop
mov ebx, 0x4304d8
nop
mov ecx, 0x67795127
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x433084
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
add eax, 4
cmp eax, ebx
nop
nop
nop
nop
nop
nop
nop
jne 0x43306c
nop
nop
nop
popal
nop
nop
nop
jmp 0x431219