joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40a9b0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
push eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
movzx ebx, byte [edx]
test bl, bl
je 0x40ac22
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
dec edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
test esi, esi
je 0x40a9ec
cmp edx, esi
jae 0x40ac22
test edi, edi
je 0x40ac22
movzx ebp, bl
test bl, bl
js 0x40aa20
inc edx
lea ebx, [eax + 2]
mov word [eax], bp
mov ecx, ebx
sub ecx, eax
sar ecx, 1
sub edi, ecx
mov eax, ebx
mov bh, byte [edx]
mov bl, bh
test bh, bh
jne 0x40a9e0
jmp 0x40ac22
mov ecx, ebp
and ecx, 0xffffffe0
cmp ecx, 0xc0
jne 0x40aa62
cmp bl, 0xc2
jb 0x40aa0c
mov bh, byte [edx + 1]
movzx ecx, bh
mov esi, ecx
and esi, 0xffffffc0
cmp esi, 0x80
jne 0x40aac0
shl ebp, 6
add edx, 2
and ecx, 0x3f
add ecx, ebp
add ecx, 0xffffd000
lea ebx, [eax + 2]
mov word [eax], cx
mov esi, dword [esp + 0x24]
jmp 0x40aa02
mov ecx, ebp
and ecx, 0xfffffff0
cmp ecx, 0xe0
jne 0x40aa8c
movzx ecx, byte [edx + 1]
cmp bl, 0xed
je 0x40aaca
cmp ebp, 0xe0
jne 0x40aad8
mov ebx, ecx
add bl, 0x40
cmp bl, 0xe0
jae 0x40aad8
jmp 0x40aacf
mov ecx, ebp
and ecx, 0xfffffff8
cmp ecx, 0xf0
jne 0x40abf9
cmp bl, 0xf4
ja 0x40aa0c
movzx ecx, byte [edx + 1]
je 0x40ab2a
cmp ebp, 0xf0
jne 0x40ab2f
mov bh, cl
add bh, 0x40
cmp bh, 0xd0
jb 0x40aacf
jmp 0x40ab2f
inc edx
mov esi, dword [esp + 0x24]
jmp 0x40aa0e
cmp cl, 0x9f
jbe 0x40aad8
mov esi, dword [esp + 0x24]
jmp 0x40aa0c
mov esi, ecx
not esi
or esi, 0xc0
add esi, ecx
cmp esi, 0x7f
jne 0x40ac00
mov bh, byte [edx + 2]
movzx esi, bh
mov dword [esp], esi
and esi, 0xffffffc0
cmp esi, 0x80
jne 0x40ac0a
shl ebp, 0xc
and ecx, 0x3f
shl ecx, 6
or ecx, ebp
add edx, 3
mov esi, dword [esp]
and esi, 0x3f
or esi, ecx
lea ebx, [eax + 2]
mov word [eax], si
mov esi, dword [esp + 0x24]
jmp 0x40aa02
cmp cl, 0x8f
ja 0x40aacf
mov esi, ecx
and esi, 0xffffffc0
cmp esi, 0x80
jne 0x40ac00
mov bh, byte [edx + 2]
movzx ebp, bh
mov esi, ebp
and esi, 0xffffffc0
cmp esi, 0x80
jne 0x40ac0a
mov bh, byte [edx + 3]
movzx esi, bh
mov dword [esp], esi
and esi, 0xffffffc0
cmp esi, 0x80
jne 0x40ac16
and bl, 7
movzx esi, bl
shl esi, 0x12
shl ecx, 0xc
mov ebx, ecx
and ebx, 0x3f000
or ebx, esi
and ebp, 0x3f
shl ebp, 6
or ebp, ebx
add edx, 4
mov esi, ebp
and esi, 0x1ff800
cmp esi, 0xd800
je 0x40aacf
mov ebx, dword [esp]
and ebx, 0x3f
or ebx, ebp
cmp ebx, 0x10000
jb 0x40aacf
cmp edi, 2
mov esi, dword [esp + 0x24]
jb 0x40abf9
add ebp, 0xf0000
shr ebp, 0xa
and ebp, 0x3ff
or ebp, 0xd800
mov word [eax], bp
xor ebx, 0x2000
or ecx, 0x3ff
and ecx, ebx
or ecx, 0xdc00
lea ebx, [eax + 4]
mov word [eax + 2], cx
jmp 0x40aa02
mov ebx, eax
jmp 0x40aa02
inc edx
mov esi, dword [esp + 0x24]
jmp 0x40aa0c
add edx, 2
mov esi, dword [esp + 0x24]
jmp 0x40aa0e
add edx, 3
mov esi, dword [esp + 0x24]
jmp 0x40aa0e
mov word [eax], 0
sub eax, dword [esp + 0x18]
sar eax, 1
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x40bac0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x434
mov ebp, dword [esp + 0x460]
mov ebx, dword [esp + 0x448]
mov dword [esp + 0x34], 0xba26b87a
mov dword [esp + 0x38], 0xbe24bc31
mov dword [esp + 0x3c], 0xb22db023
mov dword [esp + 0x40], 0xb66ab412
mov dword [esp + 0x44], 0xaa77a862
mov dword [esp + 0x48], 0xae4dac7b
mov dword [esp + 0x4c], 0xa216a077
mov dword [esp + 0x50], 0xa63ba43a
mov dword [esp + 0x54], 0x9a069803
mov dword [esp + 0x58], 0x9e0e9c0c
mov dword [esp + 0x5c], 0x922f907f
mov dword [esp + 0x60], 0x96759427
mov dword [esp + 0x64], 0x8a598846
mov dword [esp + 0x68], 0x8e5d8c55
mov dword [esp + 0x6c], 0x82618044
mov dword [esp + 0x70], 0x861c8434
mov dword [esp + 0x74], 0x7aaf7819
mov dword [esp + 0x78], 0x7eb67caf
mov dword [esp + 0x7c], 0x72f9709f
mov dword [esp + 0x80], 0x76a174a5
mov dword [esp + 0x84], 0x6a8968ae
mov dword [esp + 0x88], 0x6efd6caa
mov dword [esp + 0x8c], 0x62fd60ff
mov dword [esp + 0x90], 0x66d264c6
mov dword [esp + 0x94], 0x5afb58c2
mov dword [esp + 0x98], 0x5ec45ce0
mov dword [esp + 0x9c], 0x528e50cb
mov dword [esp + 0xa0], 0x56865486
mov dword [esp + 0xa4], 0x4a974880
mov dword [esp + 0xa8], 0x4e9b4c98
mov dword [esp + 0xac], 0x429940af
mov dword [esp + 0xb0], 0x46fd44f8
mov dword [esp + 0xb4], 0x3a8438f3
mov dword [esp + 0xb8], 0x3ee13c87
mov dword [esp + 0xbc], 0x32ad30df
mov dword [esp + 0xc0], 0x36ae34aa
mov dword [esp + 0xc4], 0x2ac92892
mov dword [esp + 0xc8], 0x2e882cec
mov dword [esp + 0xcc], 0x22ba208c
mov dword [esp + 0xd0], 0x26fc24bc
mov dword [esp + 0xd4], 0x1ada18c7
mov dword [esp + 0xd8], 0x1e8f1c83
mov dword [esp + 0xdc], 0x128c1080
mov dword [esp + 0xe0], 0x16ca14b6
mov dword [esp + 0xe4], 0xad808c6
mov dword [esp + 0xe8], 0xed30cc2
mov dword [esp + 0xec], 0x2df00df
mov dword [esp + 0xf0], 0x6db04d3
mov dword [esp + 0xf4], 0xfa19f8d7
mov dword [esp + 0xf8], 0xfe5cfc48
mov dword [esp + 0xfc], 0xf250f059
mov dword [esp + 0x100], 0xf66cf461
mov dword [esp + 0x104], 0xea3ce828
mov dword [esp + 0x108], 0xee3aec38
mov dword [esp + 0x10c], 0xe232e031
mov dword [esp + 0x110], 0xe6e5e435
mov eax, dword [0x4457d8]
xor ecx, ecx
nop
nop
mov edx, ecx
add dl, 0x3f
xor dl, byte [esp + ecx + 0x34]
add dl, 8
mov byte [esp + ecx + 0x34], dl
inc ecx
cmp ecx, 0xe0
jne 0x40bd10
lea edi, [esp + 0x34]
push 0
push 0
push 0
push 0
push edi
call eax
mov esi, eax
xor eax, eax
test esi, esi
setne al
mov eax, dword [eax*4 + 0x43fb10]
mov ecx, 0xc47b3b98
xor ecx, dword [0x43fb18]
add eax, ecx
inc eax
jmp eax
Function at 0x40c350
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x238
mov dword [esp + 0x38], 0x4ed24c36
mov dword [esp + 0x3c], 0x42d840c5
mov dword [esp + 0x40], 0x46d944df
mov dword [esp + 0x44], 0x7a267826
mov dword [esp + 0x48], 0x7e237c2e
mov dword [esp + 0x4c], 0x7251702f
mov dword [esp + 0x50], 0x7602742b
mov dword [esp + 0x54], 0x6af768ee
mov dword [esp + 0x58], 0x6ef26c0f
mov dword [esp + 0x5c], 0x62f260f8
mov dword [esp + 0x60], 0x661b6443
mov dword [esp + 0x64], 0x9ab99813
mov dword [esp + 0x68], 0x9ecd9cca
mov dword [esp + 0x6c], 0x92c190c1
mov dword [esp + 0x70], 0x96b594d8
mov dword [esp + 0x74], 0x8a1088e0
mov dword [esp + 0x78], 0x8edb8c15
mov dword [esp + 0x7c], 0x82ca80db
mov dword [esp + 0x80], 0x860d84a3
mov dword [esp + 0x84], 0xbaedb8d1
mov dword [esp + 0x88], 0xbe9dbce2
mov dword [esp + 0x8c], 0xb221b0fe
mov dword [esp + 0x90], 0xb629b423
mov dword [esp + 0x94], 0xaadea8d2
mov dword [esp + 0x98], 0xaecfacce
mov dword [esp + 0x9c], 0xa238a0d4
mov dword [esp + 0xa0], 0xa6faa437
mov dword [esp + 0xa4], 0xda8ad8f2
mov dword [esp + 0xa8], 0xde83dc8c
mov dword [esp + 0xac], 0xd287d08c
mov dword [esp + 0xb0], 0xd68dd4f3
mov dword [esp + 0xb4], 0xcab1c8ac
mov dword [esp + 0xb8], 0xceb0ccbf
mov dword [esp + 0xbc], 0xc29dc0b3
mov dword [esp + 0xc0], 0xc659c4e3
mov dword [esp + 0xc4], 0xfa62f85e
mov dword [esp + 0xc8], 0xfeddfc9e
mov dword [esp + 0xcc], 0xf294f0b8
mov dword [esp + 0xd0], 0xf66ef490
mov dword [esp + 0xd4], 0xeab0e868
mov dword [esp + 0xd8], 0xeeaeeccb
mov dword [esp + 0xdc], 0xe273e077
mov dword [esp + 0xe0], 0xe678e47c
mov dword [esp + 0xe4], 0x1a461882
mov dword [esp + 0xe8], 0x1e4c1c4a
mov dword [esp + 0xec], 0x124f1056
mov dword [esp + 0xf0], 0x164b1443
mov dword [esp + 0xf4], 0xa570847
mov dword [esp + 0xf8], 0xe2d0c5b
mov dword [esp + 0xfc], 0x260007c
mov dword [esp + 0x100], 0x6640465
mov dword [esp + 0x104], 0x3aa03895
mov dword [esp + 0x108], 0x3e683c64
mov dword [esp + 0x10c], 0x3266306c
mov dword [esp + 0x110], 0x3666346d
mov dword [esp + 0x114], 0x2a292861
mov eax, dword [0x4457d8]
mov ecx, 0x3ebeabc9
mov edx, 0x7d7d5792
nop
nop
nop
nop
nop
mov esi, ecx
xor esi, 0xf6
mov ebx, edx
and ebx, 0x12
sub ebx, esi
xor bl, byte [esp + ecx - 0x3ebeab91]
add bl, 0x68
mov byte [esp + ecx - 0x3ebeab91], bl
inc ecx
add edx, 2
cmp ecx, 0x3ebeaca9
jne 0x40c5a0
lea ecx, [esp + 0x38]
push 0
push 0
push 0
push 0
push ecx
call eax
mov esi, eax
xor eax, eax
test esi, esi
setne al
mov eax, dword [eax*4 + 0x43fcf0]
mov ecx, 0xaf552b64
xor ecx, dword [str.pfPey7]
add eax, ecx
inc eax
jmp eax
Function at 0x414780
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x420
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 8]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
cmp word [esi + edi + 2], 0
lea edi, [edi + 2]
jne 0x4147a0
mov eax, edi
sar eax, 1
mov dword [esp + 0xe4], eax
cmp eax, 0xfffffff2
jge 0x4147c2
mov eax, 0xffffffff
jmp 0x4147c5
lea eax, [edi + 0x1c]
push eax
call fcn.004082a0
add esp, 4
mov ebx, eax
mov dword [esp + 0x29c], 0xdc87dab5
mov dword [esp + 0x2a0], 0xd0acdebc
mov dword [esp + 0x2a4], 0xd4f3d2a5
mov dword [esp + 0x2a8], 0xe8b2d683
mov dword [esp + 0x2ac], 0xec98ea9b
mov dword [esp + 0x2b0], 0xe090ee94
mov dword [esp + 0x2b4], 0xe4e3e29f
xor eax, eax
nop
mov ecx, eax
add cl, 0x51
xor cl, byte [esp + eax + 0x29c]
add cl, 0x78
mov byte [esp + eax + 0x29c], cl
inc eax
cmp eax, 0x1c
jne 0x414820
movzx ecx, word [esi]
mov eax, ebx
test cx, cx
je 0x414861
add esi, 2
mov eax, ebx
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x414850
mov word [eax], 0
movzx ecx, word [esp + 0x29c]
test cx, cx
je 0x414891
lea edx, [esp + 0x29e]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x414880
mov word [eax], 0
lea eax, [esp + 0x118]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.0043a400
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44080c]
Function at 0x418f10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x190
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x10], 0x920b90c0
mov dword [esp + 0x14], 0x960a9400
mov dword [esp + 0x18], 0x8a898809
mov eax, 0x59
mov ecx, 0xa7
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x97]
lea esi, [edx + edx]
not esi
add esi, edx
and esi, ecx
or edx, ecx
add edx, eax
or edx, esi
add dl, 0xc8
mov byte [esp + ecx - 0x97], dl
dec eax
inc ecx
cmp eax, 0x4d
jne 0x418f50
mov dword [esp + 0x3c], 0x2950097
mov dword [esp + 0x40], 0x6950497
mov dword [esp + 0x44], 0x7a26784d
mov dword [esp + 0x48], 0x7ee17c24
mov dword [esp + 0x4c], 0x72d270e0
mov dword [esp + 0x50], 0x76e974d2
mov dword [esp + 0x54], 0x6af668ef
mov dword [esp + 0x58], 0x6ef96cf8
mov dword [esp + 0x5c], 0x62616025
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xb7
xor cl, byte [esp + eax + 0x3c]
add cl, 0x48
mov byte [esp + eax + 0x3c], cl
mov ecx, eax
and ecx, 0x36
mov edx, eax
or edx, 0xb34002b6
add edx, ecx
and eax, 1
or edx, 1
add eax, edx
add eax, 0x4cbffd4a
cmp eax, 0x24
jb 0x418fd0
movzx ecx, word [esp + 0x3c]
lea eax, [esp + 0x14c]
test cx, cx
je 0x419031
lea edx, [esp + 0x3e]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x419020
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x419061
lea edx, [ebx + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x419050
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x419091
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x419080
mov word [eax], 0
mov eax, dword [edi]
mov dword [esp], eax
mov dword [esp + 0x3c], 0x6065679b
mov byte [esp + 0x40], 0x85
xor edx, edx
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx + 0x3c]
lea edi, [edx + 0x595c7ec9]
mov dword [esp + 0xc], edi
mov eax, 0x26a38136
sub eax, edx
or eax, ebx
mov esi, 0x36
sub esi, edx
mov ecx, ebx
and ecx, esi
xor ecx, eax
and ecx, edi
mov edi, ecx
and edi, 0xdd
mov eax, ecx
and eax, 2
or ecx, 2
imul ecx, eax
xor eax, 2
imul eax, edi
add ecx, eax
mov eax, ecx
not eax
and eax, dword [esp + 0xc]
and ecx, esi
sub eax, ecx
add al, bl
add al, 0xb8
mov byte [esp + edx + 0x3c], al
mov eax, edx
and eax, 1
xor edx, 1
lea edx, [edx + eax*2]
cmp edx, 5
jb 0x4190b0
movzx eax, byte [esp + 0x3c]
test al, al
je 0x41913d
lea ecx, [esp + 0x3d]
mov edx, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x419130
jmp 0x419140
mov edx, dword [esp]
mov ebx, edx
mov byte [edx], 0
lea eax, [esp + 0x144]
lea ecx, [esp + 0x148]
lea edx, [esp + 0x2c]
lea esi, [esp + 0x14c]
push eax
push ecx
push edx
push esi
call fcn.0040b0f0
add esp, 0x10
movzx eax, al
mov eax, dword [eax*4 + 0x440b4c]
mov ecx, 0x9802b371
xor ecx, dword [0x440b54]
add eax, ecx
inc eax
jmp eax
Function at 0x420af0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get disk information

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov dword [esp], 0x35783317
mov dword [esp + 4], 0x395b3759
mov dword [esp + 8], 0x3d503b5b
mov dword [esp + 0xc], 0x21b03f7f
mov dword [esp + 0x10], 0x256023b2
mov dword [esp + 0x14], 0x29bc2747
mov dword [esp + 0x18], 0x2d092b4b
lea eax, [esp + 0x1c]
mov word [esp + 0x1c], 0x2f2e
mov ecx, 0xc201ef22
mov edx, 0x3dfe10dd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x3dfe10de]
mov edi, ecx
and edi, 0x4200a67f
xor edi, esi
mov ebx, edx
and ebx, 0x7ffeb6ff
or ebx, edi
lea edi, [ebx + ebx]
xor edi, 0xfe
lea ebx, [ebx*2 + 1]
and ebx, ecx
lea ebp, [edx - 0x3dfe1000]
and ebp, edi
add ebx, esi
sub ebx, ebp
add bl, 0xf0
mov byte [esp + ecx + 0x3dfe10de], bl
inc ecx
dec edx
cmp ecx, 0xc201ef40
jne 0x420b50
lea ebp, [esp + 0x6e]
mov edx, esp
mov edi, ebp
mov ecx, 7
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x8a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x4c]
push edi
push 0
push 0
push 0xe
push ebp
push 0
call dword [0x446b2c]
xor ecx, ecx
cmp eax, 0xc0000023
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x441438]
Function at 0x424853
Capabilities:
Encode data using xor

Disassembly:
mov dword [esp + 0x4c], 0x152ae30c
mov dword [esp + 0x50], 0x17133609
mov dword [esp + 0x54], 0x31c1838
mov dword [esp + 0x58], 0x10171d3c
mov dword [esp + 0x5c], 0xf22392f
mov dword [esp + 0x60], 0x8253d24
mov dword [esp + 0x64], 0xd103513
mov dword [esp + 0x68], 0xf1360f2a
mov dword [esp + 0x6c], 0xc9d9dddb
mov dword [esp + 0x70], 0xf9cabed8
mov dword [esp + 0x74], 0x84b3dad8
mov eax, 0x9e
movzx edx, byte [edi]
lea ecx, [eax - 0x771ad000]
or ecx, edx
and edx, eax
not ecx
or ecx, edx
lea edx, [ecx + 0xf7]
not ecx
and ecx, 1
xor edx, 1
lea ecx, [edx + ecx*2]
mov byte [edi], cl
inc edi
dec eax
cmp eax, 0x72
jne case.default.0x424905
lea ebx, [esp + 0x4c]
lea eax, [esp + 0x40]
lea ecx, [esp + 0x30]
push 0
push 0x2b
push ebx
push eax
call fcn.004372c0
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
xor eax, eax
cmp edi, ebp
sete al
mov dword [esp + 0x28], ebp
jmp dword [eax*4 + 0x441bdc]

Function at 0x424f14
Capabilities:
Encode data using xor

Disassembly:
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x424f20
sub eax, esi
cmp eax, 0xffffffd9
jge 0x424f40
mov eax, 0xffffffff
jmp 0x424f43
add eax, 0x26
push eax
call fcn.004082a0
add esp, 4
mov ebp, eax
mov dword [esp + 0x72], 0x10bc1eb1
mov dword [esp + 0x76], 0x14ad12ae
mov dword [esp + 0x7a], 0x68ae16b3
mov dword [esp + 0x7e], 0x6cc76ace
mov dword [esp + 0x82], 0x60d06ece
mov dword [esp + 0x86], 0x64c562df
mov dword [esp + 0x8a], 0x78c066dc
mov dword [esp + 0x8e], 0x7ccd7a07
mov dword [esp + 0x92], 0x70d97ed9
mov word [esp + 0x96], 0x7271
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
and edx, 0xb
xor edx, 0x4b
mov ecx, eax
and ecx, 0x34
sub ecx, edx
xor cl, byte [esp + eax + 0x72]
add cl, 0x58
mov byte [esp + eax + 0x72], cl
inc eax
cmp eax, 0x26
jne 0x424fc0
movzx ecx, word [esi]
mov eax, ebp
test cx, cx
je 0x425011
mov edx, esi
add edx, 2
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425000
mov word [eax], 0
movzx ecx, word [esp + 0x72]
test cx, cx
je 0x425041
lea edx, [esp + 0x74]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425030
mov word [eax], 0
jmp dword [0x441c4c]

Function at 0x42504c
Capabilities:
Copy file

Disassembly:
push esi
call fcn.004082b0
add esp, 4
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x441c54]

Function at 0x425066
Capabilities:
Copy file
Encode data using xor

Disassembly:
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x441c54]

Function at 0x425387
Capabilities:
Encode data using xor

Disassembly:
xor eax, eax
cmp ebx, ebp
sete al
jmp dword [eax*4 + 0x441cc4]
Function at 0x4260c8
Capabilities:
Encode data using xor

Disassembly:
mov dword [esp + 6], 0x1e841c5f
mov dword [esp + 0xa], 0x1272108c
mov dword [esp + 0xe], 0x1687148c
mov dword [esp + 0x12], 0xa090873
mov eax, 0xf22e703
nop
nop
nop
movzx ecx, byte [esp + eax - 0xf22e6fd]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xe8
mov byte [esp + eax - 0xf22e6fd], cl
inc eax
cmp eax, 0xf22e713
jne 0x4260f0
lea ebp, [esp + 0xa2]
lea eax, [esp + 6]
mov ecx, 4
mov edi, ebp
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xb2]
lea eax, [esp + 0x16]
xor edx, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 6], 0x46dc4487
mov dword [esp + 0xa], 0x7a9a78d4
mov dword [esp + 0xe], 0x7eef7ce4
mov dword [esp + 0x12], 0x72b2709b
mov dword [esp + 0x16], 0x76eb7492
mov dword [esp + 0x1a], 0x6afb6896
mov dword [esp + 0x1e], 0x6e6d6ce2
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
xor eax, 0xefb14064
mov ecx, edx
or ecx, 0x1b
and ecx, eax
mov eax, edx
and eax, 4
xor eax, ecx
add ecx, ecx
xor eax, 0x64
sub eax, ecx
xor al, byte [esp + edx + 6]
mov cl, 0x27
sub cl, al
mov byte [esp + edx + 6], cl
inc edx
cmp edx, 0x1c
jne 0x426180
lea edx, [esp + 0xc8]
lea eax, [esp + 6]
mov edi, edx
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xe4]
lea esi, [esp + 0x22]
xor eax, eax
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 6], 0x9b73995c
mov dword [esp + 0xa], 0x9f7d9d6f
mov dword [esp + 0xe], 0xa350a14f
mov dword [esp + 0x12], 0xa776a540
mov dword [esp + 0x16], 0xab68a97c
lea ebx, [esp + 0x1a]
mov word [esp + 0x1a], 0xadac
nop
nop
nop
mov ecx, eax
add cl, 0x58
xor cl, byte [esp + eax + 6]
add cl, 0x40
mov byte [esp + eax + 6], cl
inc eax
cmp eax, 0x16
jne 0x426210
lea esi, [esp + 0xb2]
lea eax, [esp + 6]
mov ecx, 5
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xc6]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], esi
nop
nop

Function at 0x427073
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov ebx, dword [edi]
test eax, eax
setns al
cmp ebx, 0x100000
setb cl
and cl, al
movzx eax, cl
mov edi, dword [ebp - 0x34]
jmp dword [eax*4 + 0x441fe4]
Function at 0x42759c
Capabilities:
Encode data using xor

Disassembly:
push eax
sub esp, 0x3c
mov dword [ebp - 0x14], esp
sub esp, 0x40
mov eax, esp
push eax
mov dword [ebp - 0x1c], esp
mov dword [eax], 0xe5a5e3c7
mov dword [eax + 4], 0xe978e776
mov dword [eax + 8], 0xed8debae
mov dword [eax + 0xc], 0x1171ef7a
mov dword [eax + 0x10], 0x15681337
mov dword [eax + 0x14], 0x19771758
mov dword [eax + 0x18], 0x1d791b8e
mov dword [eax + 0x1c], 0x1611f8e
mov dword [eax + 0x20], 0x52f0366
mov dword [eax + 0x24], 0x974072d
mov dword [eax + 0x28], 0xd690b99
mov dword [eax + 0x2c], 0x31a30f9d
mov dword [eax + 0x30], 0x355b335b
mov dword [eax + 0x34], 0x39163758
mov dword [eax + 0x38], 0x3d513ba2
mov dword [ebp - 0x10], eax
mov dword [eax + 0x3c], 0x21203f52
xor ecx, ecx
mov eax, dword [ebp - 0x10]
movzx edi, byte [eax + ecx]
mov ebx, ecx
and ebx, 0x30
mov eax, ecx
and eax, 2
mov esi, eax
xor esi, 2
imul esi, ebx
or ebx, 2
imul ebx, eax
add ebx, esi
mov eax, ecx
xor eax, 0xeed3ee72
mov esi, ebx
and esi, eax
xor eax, ebx
lea eax, [eax + esi*2]
mov ebx, eax
and ebx, edi
mov edx, ebx
or edx, 0xfd
inc edx
mov esi, ebx
and esi, 0xfffffffd
imul esi, edx
mov edx, ebx
and edx, 2
or ebx, 2
imul ebx, edx
sub esi, ebx
add eax, edi
add eax, esi
add al, 0x70
mov edx, dword [ebp - 0x10]
mov byte [edx + ecx], al
mov eax, ecx
not eax
or eax, 1
add eax, ecx
lea eax, [eax*2 + 2]
mov edx, eax
and edx, ecx
or eax, ecx
xor eax, 1
add eax, edx
mov ecx, eax
cmp eax, 0x40
jb 0x427620
mov esi, dword [ebp - 0x10]
mov eax, esi
mov edx, dword [ebp - 0x14]
mov edi, edx
mov ecx, 0x10
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x40
add esi, 0x40
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
push dword [ebp - 0x1c]
push 0
push 0
push 0x1f
push edx
push 0
call dword [0x446b2c]
jmp case.0x425133.175
Function at 0x4284d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
cmp edi, 0x24
ja 0x42852a
cmp edi, 1
je 0x42852a
mov ebp, dword [esp + 0x34]
mov ebx, ebp
jmp 0x428501
inc ebx
movzx eax, byte [ebx]
movzx ecx, al
lea edx, [ecx - 9]
cmp edx, 5
jb 0x428500
cmp ecx, 0x20
je 0x428500
cmp ecx, 0x2b
mov edx, edi
je 0x428520
cmp ecx, 0x2d
jne 0x42853f
cmp al, 0x2b
sete byte [esp + 3]
inc ebx
jmp 0x428544
xor edi, edi
test eax, eax
je 0x4286fd
mov dword [eax], 0x16
jmp 0x4286fd
mov byte [esp + 3], 1
test edx, edx
mov dword [esp + 4], ebp
jle 0x42856d
cmp edx, 0x10
jne 0x428585
cmp byte [ebx], 0x30
jne 0x428566
movzx eax, byte [ebx + 1]
and al, 0xdf
xor ecx, ecx
cmp al, 0x58
sete cl
lea ebx, [ebx + ecx*2]
mov edi, 0x10
jmp 0x428587
xor eax, eax
xor ecx, ecx
cmp byte [ebx], 0x30
setne al
sete cl
add ebx, ecx
lea edi, [eax*2 + 8]
jmp 0x428587
mov edi, edx
movzx ecx, byte [esp + 3]
mov eax, SysReAllocString
mov dword [esp + 0x14], ecx
sub eax, ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
xor edx, edx
div edi
mov dword [esp + 0x18], eax
xor ebp, ebp
xor esi, esi
mov edx, edi
mov dword [esp + 0x1c], edi
inc ebx
jmp 0x4285e0
mov ebp, ecx
mov edi, 0
mov eax, dword [esp + 0x40]
test eax, eax
je 0x428698
mov esi, edi
mov dword [eax], 0x22
mov dword [esp + 4], ebx
inc ebx
mov edi, ebp
movsx eax, byte [ebx - 1]
lea ebp, [eax - 0x30]
cmp ebp, 0xa
jb 0x428607
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x19
ja 0x4286c8
or al, 0x20
movsx ebp, al
add ebp, 0xffffffa9
cmp ebp, edx
jge 0x4286c8
mov eax, edi
mov ecx, dword [esp + 8]
xor eax, ecx
or eax, esi
je 0x4285c0
mov dword [esp + 0x10], ebx
mov eax, edi
mov ecx, edx
mul edx
mov dword [esp + 4], eax
xor eax, eax
cmp dword [esp + 0x18], edi
mov edi, 0
sbb edi, esi
setae bl
jae 0x428650
xor edx, edx
mov esi, dword [esp + 8]
jmp 0x428659
imul esi, ecx
add edx, esi
mov esi, dword [esp + 4]
mov ecx, ebp
sar ecx, 0x1f
mov edi, dword [esp + 8]
sub edi, ebp
sbb eax, ecx
add ebp, esi
adc ecx, edx
cmp edi, esi
mov edi, ecx
mov ecx, dword [esp + 8]
sbb eax, edx
setae al
jae 0x42867d
xor edi, edi
mov ebp, ecx
and bl, al
mov eax, dword [esp + 0x40]
test eax, eax
mov edx, dword [esp + 0x1c]
je 0x4286ad
test bl, bl
jne 0x4286ad
mov ebx, dword [esp + 0x10]
jmp 0x4285d3
mov dword [esp + 0xc], 0x22
mov dword [esp + 4], ebx
mov ebp, ecx
xor esi, esi
jmp 0x4285b5
mov esi, edi
test bl, bl
jne 0x4286bb
mov dword [esp + 0xc], 0x22
mov ebx, dword [esp + 0x10]
mov dword [esp + 4], ebx
jmp 0x4285b5
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4286d6
mov ecx, dword [esp + 4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
test ecx, ecx
mov eax, dword [esp + 0xc]
je 0x4286e4
mov eax, dword [ecx]
cmp eax, 0x22
jne 0x4286f4
mov edi, SysReAllocString
sub edi, dword [esp + 0x14]
jmp 0x4286fd
cmp byte [esp + 3], 0
jne 0x4286fd
neg edi
mov eax, edi
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret