joyce8/EMBER2024-capa huggingface dataset:
Function at 0x48d710
Capabilities:
Hash data using sha224

Disassembly:
mov eax, dword [esp + 4]
xor ecx, ecx
mov dword [eax], 0xc1059ed8
mov dword [eax + 4], 0xcbbb9d5d
mov dword [eax + 8], 0x367cd507
mov dword [eax + 0xc], 0x629a292a
mov dword [eax + 0x10], 0x3070dd17
mov dword [eax + 0x14], 0x9159015a
mov dword [eax + 0x18], 0xf70e5939
mov dword [eax + 0x1c], 0x152fecd8
mov dword [eax + 0x20], 0xffc00b31
mov dword [eax + 0x24], 0x67332667
mov dword [eax + 0x28], 0x68581511
mov dword [eax + 0x2c], 0x8eb44a87
mov dword [eax + 0x30], 0x64f98fa7
mov dword [eax + 0x34], 0xdb0c2e0d
mov dword [eax + 0x38], 0xbefa4fa4
mov dword [eax + 0x3c], 0x47b5481d
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ecx
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], ecx
mov dword [eax + 0xd0], ecx
mov dword [eax + 0xd4], 0x30
lea eax, [ecx + 1]
ret

Function at 0x48d7b0
Capabilities:
Hash data using sha256

Disassembly:
mov eax, dword [esp + 4]
xor ecx, ecx
mov dword [eax], 0xf3bcc908
mov dword [eax + 4], 0x6a09e667
mov dword [eax + 8], 0x84caa73b
mov dword [eax + 0xc], 0xbb67ae85
mov dword [eax + 0x10], 0xfe94f82b
mov dword [eax + 0x14], 0x3c6ef372
mov dword [eax + 0x18], 0x5f1d36f1
mov dword [eax + 0x1c], 0xa54ff53a
mov dword [eax + 0x20], 0xade682d1
mov dword [eax + 0x24], 0x510e527f
mov dword [eax + 0x28], 0x2b3e6c1f
mov dword [eax + 0x2c], 0x9b05688c
mov dword [eax + 0x30], 0xfb41bd6b
mov dword [eax + 0x34], 0x1f83d9ab
mov dword [eax + 0x38], 0x137e2179
mov dword [eax + 0x3c], 0x5be0cd19
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ecx
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], ecx
mov dword [eax + 0xd0], ecx
mov dword [eax + 0xd4], 0x40
lea eax, [ecx + 1]
ret
Function at 0x4934c0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 4
call fcn.00551a10
push ebp
mov ebp, dword [esp + 0x18]
push esi
push edi
mov edi, dword [esp + 0x14]
mov eax, dword [edi]
inc ebp
cmp eax, 0x302
jge 0x4934f6
cmp eax, 0x100
je 0x4934f6
mov esi, dword [esp + 0x18]
cmp ebp, dword [esi + 4]
jbe 0x493515
pop edi
pop esi
xor eax, eax
pop ebp
pop ecx
ret
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
lea esi, [edx + ebp]
cmp esi, ecx
ja 0x4934ef
add dword [eax + 0xc], edx
add dword [eax + 0x10], edx
sub ecx, edx
mov dword [eax + 4], ecx
mov esi, eax
test dword [edi + 0x100], 0x200
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
push ebx
movzx ebx, byte [eax + ecx - 1]
je 0x493568
cmp dword [edi + 0x88], 0
jne 0x493568
mov edx, dword [edi + 0x58]
push 8
add edx, 8
push 0x5b4c50
push edx
call fcn.0040b2f0
add esp, 0xc
test eax, eax
jne 0x49355b
test bl, 1
jne 0x49355b
mov eax, dword [edi + 0x58]
or dword [eax], 8
mov eax, dword [edi + 0x58]
test byte [eax], 8
je 0x493568
test ebx, ebx
je 0x493568
dec ebx
mov ecx, dword [edi + 0x80]
mov edx, dword [ecx]
push edx
call fcn.0040ad80
add esp, 4
test eax, 0x200000
je 0x493593
or eax, 0xffffffff
sub eax, ebx
add dword [esi + 4], eax
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
pop ecx
ret
mov edi, dword [esi + 4]
lea eax, [ebx + ebp]
mov esi, edi
sub esi, eax
xor esi, eax
mov ecx, edi
xor ecx, eax
or esi, ecx
xor esi, edi
shr esi, 0x1f
mov ecx, 0xff
lea eax, [edi - 1]
dec esi
mov dword [esp + 0x18], ecx
cmp eax, ecx
jae 0x4935c1
mov ecx, eax
mov dword [esp + 0x18], eax
xor ebp, ebp
test ecx, ecx
je 0x493617
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
mov ecx, ebx
shr ecx, 0x1f
lea edx, [eax + edi - 1]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], edx
nop
mov edx, ebx
sub edx, ebp
shr edx, 0x1f
mov eax, ebp
shr eax, 0x1f
xor dl, al
xor cl, al
or dl, cl
mov ecx, dword [esp + 0x10]
xor dl, cl
dec dl
movzx eax, dl
mov edx, dword [esp + 0x24]
movzx edx, byte [edx]
dec dword [esp + 0x24]
xor edx, ebx
and eax, edx
not eax
inc ebp
and esi, eax
cmp ebp, dword [esp + 0x18]
jb 0x4935e0
mov edx, dword [esp + 0x1c]
not esi
and esi, 0xff
lea ecx, [esi - 1]
shr ecx, 0x1f
not esi
shr esi, 0x1f
and ecx, esi
neg ecx
lea eax, [ebx + 1]
and eax, ecx
sub edi, eax
shl eax, 8
or dword [edx], eax
pop ebx
mov dword [edx + 4], edi
mov eax, ecx
pop edi
and eax, 1
not ecx
pop esi
or eax, ecx
pop ebp
pop ecx
ret
Function at 0x493650
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xa4
call fcn.00551a10
mov eax, dword [0x5ea6f0]
xor eax, esp
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
push ebx
mov ebx, dword [esp + 0xb8]
push ebp
push esi
mov esi, dword [ecx + 4]
push edi
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x1c], esi
sub esi, edi
xor ebp, ebp
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebp
cmp ebx, edi
jae 0x4936ba
push str.orig_len___md_size
push 0xf8
push str.._ssl_s3_cbc.c
call fcn.0040b2c0
add esp, 0xc
cmp edi, 0x40
jbe 0x4936d6
push str.md_size___EVP_MAX_MD_SIZE
push 0xf9
push str.._ssl_s3_cbc.c
call fcn.0040b2c0
add esp, 0xc
lea ecx, [esp + 0x30]
neg ecx
and ecx, 0x3f
lea edx, [edi + 0x100]
lea ecx, [esp + ecx + 0x30]
mov dword [esp + 0x20], ecx
cmp ebx, edx
jbe 0x493700
mov eax, ebx
sub eax, edi
sub eax, 0x100
mov dword [esp + 0x14], eax
mov ebp, eax
mov eax, edi
and eax, 0xfffffffe
shl eax, 0x17
sub eax, ebp
add eax, esi
xor edx, edx
div edi
push edi
push 0
push ecx
mov ebx, edx
mov dword [esp + 0x30], ebx
call fcn.00550bc0
mov ecx, dword [esp + 0x20]
add esp, 0xc
xor esi, esi
cmp ecx, dword [esp + 0xc4]
jae 0x4937e0
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, ebx
shr eax, 0x1f
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xbc]
mov eax, dword [eax + 0xc]
shr edx, 0x1f
sub ecx, ebx
sub ebx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], eax
jmp 0x493778
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
add ebx, ecx
shr ebx, 0x1f
xor bl, dl
mov eax, ebp
shr eax, 0x1f
xor dl, al
or bl, dl
mov dl, byte [esp + 0x2c]
xor bl, al
dec bl
mov byte [esp + 0x13], bl
mov ebx, ecx
shr ebx, 0x1f
xor bl, dl
xor dl, al
or bl, dl
mov edx, dword [esp + 0x18]
mov dl, byte [edx + ebp]
xor al, bl
dec al
not al
and al, dl
and al, byte [esp + 0x13]
mov edx, dword [esp + 0x20]
or byte [esi + edx], al
inc esi
mov eax, esi
sub eax, edi
xor eax, edi
mov ebx, esi
xor ebx, edi
or eax, ebx
xor eax, esi
shr eax, 0x1f
neg eax
inc ebp
and esi, eax
inc ecx
cmp ebp, dword [esp + 0xc4]
jb 0x493770
mov ebx, dword [esp + 0x24]
jmp 0x4937e4
mov edx, dword [esp + 0x20]
xor esi, esi
test edi, edi
je 0x49381d
lea ebx, [ebx]
mov ecx, ebx
xor ecx, 0x20
mov al, byte [ecx + edx]
mov cl, byte [ebx + edx]
mov eax, dword [esp + 0x28]
mov byte [eax + esi], cl
inc ebx
mov ecx, ebx
sub ecx, edi
xor ecx, edi
mov eax, ebx
xor eax, edi
or ecx, eax
xor ecx, ebx
shr ecx, 0x1f
neg ecx
inc esi
and ebx, ecx
cmp esi, edi
jb 0x4937f0
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00550759
add esp, 0xa4
ret
Function at 0x49db00
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, 0x2c
call fcn.00551a10
mov eax, dword [0x5ea6f0]
xor eax, esp
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
push ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
push ebp
mov dword [esp + 0xc], eax
push esi
mov esi, dword [eax]
push edi
mov edi, dword [esp + 0x50]
movzx edx, byte [edi + 1]
movzx ebx, byte [edi + 5]
lea eax, [edi + 1]
mov dword [esp + 0x28], ecx
movzx ecx, byte [edi]
shl edx, 8
or ecx, edx
movzx edx, byte [eax + 1]
shl edx, 0x10
or ecx, edx
movzx edx, byte [eax + 2]
mov ebp, dword [esp + 0x48]
shl edx, 0x18
or ecx, edx
movzx edx, byte [eax + 3]
shl ebx, 8
or edx, ebx
movzx ebx, byte [eax + 6]
mov dword [esp + 0x2c], eax
movzx eax, byte [eax + 5]
shl ebx, 8
or ebx, eax
mov eax, ecx
shr eax, 8
shl ebx, 0x10
or edx, ebx
mov byte [esp + 0x31], al
mov eax, ecx
mov ebx, ecx
mov byte [esp + 0x30], cl
shr eax, 0x10
shr ecx, 0x18
mov byte [esp + 0x32], al
mov byte [esp + 0x33], cl
mov ecx, edx
mov eax, edx
mov dword [esp + 0x24], edx
mov byte [esp + 0x34], dl
shr ecx, 8
shr eax, 0x10
shr edx, 0x18
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ebx
mov byte [esp + 0x35], cl
mov byte [esp + 0x36], al
mov byte [esp + 0x37], dl
test ebp, ebp
je 0x49dcd2
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x40]
sub eax, ebp
mov dword [esp + 0x10], eax
dec dword [esp + 0x18]
test esi, esi
jne 0x49dc4b
mov ecx, dword [esp + 0x28]
push ecx
lea edx, [esp + 0x24]
push edx
call fcn.0049d0f0
mov ebx, dword [esp + 0x28]
mov eax, ebx
shr eax, 8
mov byte [esp + 0x39], al
mov eax, dword [esp + 0x2c]
mov ecx, ebx
shr ecx, 0x10
mov edx, ebx
shr edx, 0x18
mov byte [esp + 0x3a], cl
mov byte [esp + 0x3b], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x3c], al
shr eax, 0x18
shr ecx, 8
shr edx, 0x10
add esp, 8
inc dword [esp + 0x1c]
mov byte [esp + 0x37], al
mov eax, dword [esp + 0x10]
mov byte [esp + 0x30], bl
mov byte [esp + 0x35], cl
mov byte [esp + 0x36], dl
mov cl, byte [esp + esi + 0x30]
xor cl, byte [ebp]
inc esi
mov byte [eax + ebp], cl
inc ebp
and esi, 7
cmp dword [esp + 0x18], 0
jne 0x49dbe5
cmp dword [esp + 0x1c], 0
je 0x49dcb9
mov eax, dword [esp + 0x2c]
mov byte [edi], bl
mov edx, ebx
shr edx, 8
mov byte [eax], dl
mov ecx, ebx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, dword [esp + 0x24]
shr ebx, 0x18
mov byte [eax + 2], bl
mov byte [eax + 3], cl
mov edx, ecx
shr edx, 8
mov byte [eax + 4], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 5], dl
shr ecx, 0x18
mov byte [eax + 6], cl
mov eax, dword [esp + 0x14]
pop edi
mov dword [eax], esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.00550759
add esp, 0x2c
ret
mov ecx, dword [esp + 0x14]
pop edi
mov dword [ecx], esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.00550759
add esp, 0x2c
ret
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
pop edi
mov dword [edx], esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00550759
add esp, 0x2c
ret
Function at 0x49dcf0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov eax, dword [esp + 8]
push ebx
push esi
push edi
mov edi, dword [esp + 0x10]
mov byte [edi], 0
cmp eax, 0x80
jle 0x49dd0a
mov eax, 0x80
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x49dd1a
cmp ecx, 0x400
jle 0x49dd1f
mov ecx, 0x400
test eax, eax
jle 0x49dd3a
mov esi, dword [esp + 0x18]
push ebp
mov edx, edi
sub esi, edi
mov ebp, eax
mov edi, edi
mov bl, byte [esi + edx]
mov byte [edx], bl
inc edx
dec ebp
jne 0x49dd30
pop ebp
movzx edx, byte [edi + eax - 1]
cmp eax, 0x80
jge 0x49dd6e
mov esi, edi
sub esi, eax
lea ebx, [ebx]
movzx ebx, byte [esi + eax]
add ebx, edx
and ebx, 0xff
movzx edx, byte [ebx + 0x5b72b8]
mov byte [eax + edi], dl
inc eax
cmp eax, 0x80
jl 0x49dd50
lea edx, [ecx + 7]
neg ecx
sar edx, 3
mov eax, 0x80
and ecx, 7
sub eax, edx
lea esi, [eax + edi]
mov ebx, 0xff
sar ebx, cl
movzx ecx, byte [esi]
and ebx, ecx
movzx ecx, byte [ebx + 0x5b72b8]
mov byte [esi], cl
test eax, eax
je 0x49ddb4
lea esp, [esp]
movzx ebx, byte [esi + edx - 1]
dec esi
xor ebx, ecx
dec eax
movzx ecx, byte [ebx + 0x5b72b8]
mov byte [esi], cl
jne 0x49dda0
lea ecx, [edi + 0xfc]
lea eax, [edi + 0x7e]
mov edx, 0x40
movzx esi, byte [eax + 1]
movzx edi, byte [eax]
shl esi, 8
or esi, edi
and esi, 0xffff
mov dword [ecx], esi
sub ecx, 4
sub eax, 2
dec edx
jne 0x49ddc2
pop edi
pop esi
pop ebx
ret
Function at 0x49eb80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, 0x2c
call fcn.00551a10
mov eax, dword [0x5ea6f0]
xor eax, esp
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
push ebx
mov dword [esp + 0x18], eax
push ebp
mov dword [esp + 0xc], edx
push esi
push edi
mov edi, dword [esp + 0x50]
movzx edx, byte [edi + 1]
movzx ebx, byte [edi + 5]
lea eax, [edi + 1]
mov dword [esp + 0x28], ecx
movzx ecx, byte [edi]
shl edx, 0x10
shl ecx, 0x18
or ecx, edx
movzx edx, byte [eax + 1]
shl edx, 8
or ecx, edx
movzx edx, byte [eax + 2]
or ecx, edx
movzx edx, byte [eax + 3]
mov dword [esp + 0x2c], eax
shl ebx, 0x10
shl edx, 0x18
or edx, ebx
movzx ebx, byte [eax + 5]
movzx eax, byte [eax + 6]
mov ebp, dword [esp + 0x54]
shl ebx, 8
or ebx, eax
mov esi, dword [ebp]
mov eax, ecx
shr eax, 0x18
mov byte [esp + 0x30], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x31], al
or edx, ebx
mov eax, ecx
shr eax, 8
mov byte [esp + 0x32], al
mov eax, edx
shr eax, 0x18
mov byte [esp + 0x34], al
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x35], al
mov eax, edx
shr eax, 8
cmp dword [esp + 0x48], 0
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov byte [esp + 0x33], cl
mov byte [esp + 0x36], al
mov byte [esp + 0x37], dl
je 0x49ed52
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x40]
sub ebx, ebp
dec dword [esp + 0x14]
test esi, esi
jne 0x49eccb
mov ecx, dword [esp + 0x28]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.0049deb0
mov ecx, dword [esp + 0x24]
mov eax, ecx
shr eax, 0x18
mov byte [esp + 0x38], al
mov edx, ecx
shr edx, 0x10
mov eax, ecx
shr eax, 8
mov byte [esp + 0x3a], al
mov byte [esp + 0x39], dl
mov edx, dword [esp + 0x28]
mov eax, edx
shr eax, 0x18
mov byte [esp + 0x3c], al
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x3d], al
mov eax, edx
shr eax, 8
add esp, 8
inc dword [esp + 0x10]
mov byte [esp + 0x33], cl
mov byte [esp + 0x36], al
mov byte [esp + 0x37], dl
mov al, byte [esp + esi + 0x30]
xor al, byte [ebp]
inc esi
mov byte [ebx + ebp], al
inc ebp
and esi, 7
cmp dword [esp + 0x14], 0
jne 0x49ec67
cmp dword [esp + 0x10], 0
je 0x49ed39
mov eax, ecx
mov ebx, ecx
shr eax, 0x18
mov byte [edi], al
mov eax, dword [esp + 0x2c]
shr ebx, 0x10
mov byte [eax], bl
mov ebx, ecx
shr ebx, 8
mov byte [eax + 1], bl
mov byte [eax + 2], cl
mov ecx, edx
shr ecx, 0x18
mov byte [eax + 3], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 4], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 5], cl
mov byte [eax + 6], dl
mov edx, dword [esp + 0x18]
pop edi
mov dword [edx], esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.00550759
add esp, 0x2c
ret
mov eax, dword [esp + 0x18]
pop edi
mov dword [eax], esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.00550759
add esp, 0x2c
ret
mov ecx, dword [esp + 0x38]
pop edi
mov dword [ebp], esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00550759
add esp, 0x2c
ret
Function at 0x49ef70
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push ebp
push esi
push edi
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax]
mov edx, dword [esp + 0x18]
shl ecx, 8
mov dword [edx], ecx
movzx ecx, byte [eax + 1]
or dword [edx], ecx
movzx ecx, byte [eax + 2]
shl ecx, 8
mov dword [edx + 4], ecx
movzx ecx, byte [eax + 3]
or dword [edx + 4], ecx
movzx esi, byte [eax + 4]
shl esi, 8
mov dword [edx + 8], esi
movzx esi, byte [eax + 5]
or dword [edx + 8], esi
movzx esi, byte [eax + 6]
lea ecx, [edx + 8]
shl esi, 8
mov dword [edx + 0xc], esi
movzx esi, byte [eax + 7]
or dword [edx + 0xc], esi
movzx esi, byte [eax + 8]
shl esi, 8
mov dword [edx + 0x10], esi
movzx esi, byte [eax + 9]
or dword [edx + 0x10], esi
movzx esi, byte [eax + 0xa]
shl esi, 8
mov dword [edx + 0x14], esi
movzx esi, byte [eax + 0xb]
or dword [edx + 0x14], esi
movzx esi, byte [eax + 0xc]
shl esi, 8
mov dword [edx + 0x18], esi
movzx esi, byte [eax + 0xd]
or dword [edx + 0x18], esi
movzx esi, byte [eax + 0xe]
shl esi, 8
mov dword [edx + 0x1c], esi
movzx eax, byte [eax + 0xf]
or eax, esi
mov dword [edx + 0x1c], eax
lea eax, [edx + 0x20]
xor ebx, ebx
jmp 0x49f010
mov esi, dword [ecx]
mov edi, dword [ecx - 4]
mov edx, esi
shr edx, 7
mov ebp, edi
shl ebp, 9
or edx, ebp
and edx, 0xffff
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov ebp, edx
shr ebp, 7
shl esi, 9
or ebp, esi
and ebp, 0xffff
mov dword [eax + 4], ebp
mov esi, dword [ecx + 8]
shl edx, 9
mov ebp, esi
shr ebp, 7
or edx, ebp
and edx, 0xffff
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov ebp, edx
shr ebp, 7
shl esi, 9
or ebp, esi
and ebp, 0xffff
mov dword [eax + 0xc], ebp
mov esi, dword [ecx + 0x10]
mov ebp, esi
shr ebp, 7
shl edx, 9
or edx, ebp
and edx, 0xffff
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 0x14]
mov ebp, edx
shr ebp, 7
shl esi, 9
or ebp, esi
and ebp, 0xffff
mov dword [eax + 0x14], ebp
mov esi, dword [ecx - 8]
cmp ebx, 5
jge 0x49f0d3
mov ebp, esi
shl edx, 9
shr ebp, 7
shl esi, 9
shr edi, 7
or edx, ebp
or esi, edi
and edx, 0xffff
and esi, 0xffff
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], esi
inc ebx
add eax, 0x20
add ecx, 0x20
cmp ebx, 6
jl 0x49f010
pop edi
pop esi
pop ebp
pop ebx
ret
Function at 0x49f240
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, 8
call fcn.00551a10
mov eax, dword [esp + 0xc]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax]
shl edx, 8
or ecx, edx
movzx edx, byte [eax + 2]
shl edx, 0x10
or ecx, edx
movzx edx, byte [eax + 3]
shl edx, 0x18
or ecx, edx
movzx edx, byte [eax + 4]
mov dword [esp], ecx
movzx ecx, byte [eax + 7]
push esi
movzx esi, byte [eax + 5]
movzx eax, byte [eax + 6]
shl ecx, 8
shl esi, 8
or ecx, eax
or edx, esi
shl ecx, 0x10
or ecx, edx
cmp dword [esp + 0x24], 0
mov dword [esp + 8], ecx
pop esi
je 0x49f2b6
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
push edx
push eax
lea ecx, [esp + 0xc]
push ecx
call fcn.004d7940
jmp 0x49f2cf
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
lea edx, [esp + 0xc]
push edx
call fcn.004d7a70
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov byte [eax], cl
mov edx, ecx
shr edx, 8
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 2], dl
shr ecx, 0x18
mov byte [eax + 3], cl
mov ecx, dword [esp + 0x14]
mov edx, ecx
shr edx, 8
mov byte [eax + 4], cl
mov byte [eax + 5], dl
mov edx, ecx
shr edx, 0x10
add esp, 0x10
shr ecx, 0x18
mov byte [eax + 6], dl
mov byte [eax + 7], cl
add esp, 8
ret
Function at 0x49fe70
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, 0x2c
call fcn.00551a10
mov eax, dword [0x5ea6f0]
xor eax, esp
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
push ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
push ebp
mov dword [esp + 0xc], eax
push esi
mov esi, dword [eax]
push edi
mov edi, dword [esp + 0x50]
movzx edx, byte [edi + 1]
movzx ebx, byte [edi + 5]
lea eax, [edi + 1]
mov dword [esp + 0x28], ecx
movzx ecx, byte [edi]
shl edx, 8
or ecx, edx
movzx edx, byte [eax + 1]
shl edx, 0x10
or ecx, edx
movzx edx, byte [eax + 2]
mov ebp, dword [esp + 0x48]
shl edx, 0x18
or ecx, edx
movzx edx, byte [eax + 3]
shl ebx, 8
or edx, ebx
movzx ebx, byte [eax + 6]
mov dword [esp + 0x2c], eax
movzx eax, byte [eax + 5]
shl ebx, 8
or ebx, eax
mov eax, ecx
shr eax, 8
shl ebx, 0x10
or edx, ebx
mov byte [esp + 0x31], al
mov eax, ecx
mov ebx, ecx
mov byte [esp + 0x30], cl
shr eax, 0x10
shr ecx, 0x18
mov byte [esp + 0x32], al
mov byte [esp + 0x33], cl
mov ecx, edx
mov eax, edx
mov dword [esp + 0x24], edx
mov byte [esp + 0x34], dl
shr ecx, 8
shr eax, 0x10
shr edx, 0x18
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ebx
mov byte [esp + 0x35], cl
mov byte [esp + 0x36], al
mov byte [esp + 0x37], dl
test ebp, ebp
je 0x4a0044
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x40]
sub eax, ebp
mov dword [esp + 0x10], eax
dec dword [esp + 0x18]
test esi, esi
jne 0x49ffbd
mov ecx, dword [esp + 0x28]
push 1
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.004d7800
mov ebx, dword [esp + 0x2c]
mov eax, ebx
shr eax, 8
mov byte [esp + 0x3d], al
mov eax, dword [esp + 0x30]
mov ecx, ebx
shr ecx, 0x10
mov edx, ebx
shr edx, 0x18
mov byte [esp + 0x3e], cl
mov byte [esp + 0x3f], dl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x40], al
shr eax, 0x18
shr ecx, 8
shr edx, 0x10
add esp, 0xc
inc dword [esp + 0x1c]
mov byte [esp + 0x37], al
mov eax, dword [esp + 0x10]
mov byte [esp + 0x30], bl
mov byte [esp + 0x35], cl
mov byte [esp + 0x36], dl
mov cl, byte [esp + esi + 0x30]
xor cl, byte [ebp]
inc esi
mov byte [eax + ebp], cl
inc ebp
and esi, 7
cmp dword [esp + 0x18], 0
jne 0x49ff55
cmp dword [esp + 0x1c], 0
je 0x4a002b
mov eax, dword [esp + 0x2c]
mov byte [edi], bl
mov edx, ebx
shr edx, 8
mov byte [eax], dl
mov ecx, ebx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, dword [esp + 0x24]
shr ebx, 0x18
mov byte [eax + 2], bl
mov byte [eax + 3], cl
mov edx, ecx
shr edx, 8
mov byte [eax + 4], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 5], dl
shr ecx, 0x18
mov byte [eax + 6], cl
mov eax, dword [esp + 0x14]
pop edi
mov dword [eax], esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.00550759
add esp, 0x2c
ret
mov ecx, dword [esp + 0x14]
pop edi
mov dword [ecx], esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.00550759
add esp, 0x2c
ret
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
pop edi
mov dword [edx], esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00550759
add esp, 0x2c
ret
Function at 0x4a3630
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xc
call fcn.00551a10
push ebp
push esi
push edi
mov edi, dword [esp + 0x58]
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x10]
push ecx
xor ebp, ebp
push ebp
xor esi, esi
call fcn.0045bbb0
add esp, 0xc
test eax, eax
je 0x4a368a
lea esp, [esp]
mov edx, dword [esp + 0xc]
shl edx, 0xa
test dword [esp + 0x1c], edx
je 0x4a366e
inc esi
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x10]
push edx
inc ebp
push ebp
call fcn.0045bbb0
add esp, 0xc
test eax, eax
jne 0x4a3660
test esi, esi
jne 0x4a36ae
push 0x10a
push str.._ssl_t1_enc.c
push 0x44
push 0x11c
push 0x14
call fcn.004082c0
add esp, 0x14
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0xc
ret
mov eax, dword [esp + 0x4c]
cdq
idiv esi
push ebx
mov ebx, eax
cmp esi, 1
jne 0x4a36c5
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x4c]
push edi
push 0
push eax
call fcn.00550bc0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
push 0
mov dword [esp + 0x30], 0
call fcn.0045bbb0
add esp, 0x18
test eax, eax
je 0x4a37a5
lea ebx, [ebx]
mov eax, dword [esp + 0x10]
shl eax, 0xa
test dword [esp + 0x20], eax
je 0x4a3781
mov esi, dword [esp + 0x14]
test esi, esi
je 0x4a37b2
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push edi
push edx
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x70]
push eax
and edx, 1
push ecx
mov ecx, dword [esp + 0x54]
add edx, ebx
push edx
mov edx, dword [esp + 0x60]
push ebp
call fcn.004a3220
add esp, 0x30
test eax, eax
je 0x4a37d0
add ebp, ebx
test edi, edi
jle 0x4a3781
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
sub ecx, eax
mov esi, edi
mov dl, byte [ecx + eax]
xor byte [eax], dl
inc eax
dec esi
jne 0x4a3778
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x14]
inc eax
push edx
push eax
mov dword [esp + 0x24], eax
call fcn.0045bbb0
add esp, 0xc
test eax, eax
jne 0x4a3700
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xc
ret
push 0x115
push str.._ssl_t1_enc.c
push 0x146
push 0x11c
push 0x14
call fcn.004082c0
add esp, 0x14
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0xc
ret