joyce8/EMBER2024-capa huggingface dataset:
Function at 0x48ee80
Capabilities:
Hash data using sha1

Disassembly:
push esi
mov esi, dword [esp + 8]
push 0x60
push 0
push esi
call fcn.004463e0
add esp, 0xc
mov dword [esi], 0x67452301
mov dword [esi + 4], 0xefcdab89
mov dword [esi + 8], 0x98badcfe
mov dword [esi + 0xc], 0x10325476
mov dword [esi + 0x10], 0xc3d2e1f0
mov eax, 1
pop esi
ret

Function at 0x48eec0
Capabilities:
Hash data using sha224

Disassembly:
push esi
mov esi, dword [esp + 8]
push 0x70
push 0
push esi
call fcn.004463e0
add esp, 0xc
mov dword [esi], 0xc1059ed8
mov dword [esi + 4], 0x367cd507
mov dword [esi + 8], 0x3070dd17
mov dword [esi + 0xc], 0xf70e5939
mov dword [esi + 0x10], 0xffc00b31
mov dword [esi + 0x14], 0x68581511
mov dword [esi + 0x18], 0x64f98fa7
mov dword [esi + 0x1c], 0xbefa4fa4
mov dword [esi + 0x6c], 0x1c
mov eax, 1
pop esi
ret

Function at 0x48ef20
Capabilities:
Hash data using sha256

Disassembly:
push esi
mov esi, dword [esp + 8]
push 0x70
push 0
push esi
call fcn.004463e0
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
mov dword [esi + 0x6c], 0x20
mov eax, 1
pop esi
ret

Function at 0x48f360
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 0x48f400
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 0x49e480
Capabilities:
Encode data using base64

Disassembly:
mov ecx, dword [esp + 4]
push ebp
push edi
mov edi, dword [esp + 0x14]
xor ebp, ebp
test edi, edi
jle 0x49e563
push esi
mov esi, dword [esp + 0x14]
inc esi
lea ebx, [ebx]
movzx edx, byte [esi - 1]
cmp edi, 3
jl 0x49e4fd
movzx eax, byte [esi]
shl edx, 8
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 8
or edx, eax
mov eax, edx
shr eax, 0x12
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx], al
mov eax, edx
shr eax, 0xc
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx + 1], al
mov eax, edx
shr eax, 6
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx + 2], al
and edx, 0x3f
mov dl, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx + 3], dl
jmp 0x49e54e
shl edx, 0x10
cmp edi, 2
jne 0x49e50d
movzx eax, byte [esi]
shl eax, 8
or edx, eax
mov eax, edx
shr eax, 0x12
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx], al
mov eax, edx
shr eax, 0xc
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx + 1], al
cmp edi, 1
jne 0x49e53a
lea edx, [edi + 0x3c]
jmp 0x49e547
shr edx, 6
and edx, 0x3f
movzx edx, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx + 2], dl
mov byte [ecx + 3], 0x3d
sub edi, 3
add ecx, 4
add ebp, 4
add esi, 3
test edi, edi
jg 0x49e4a0
pop esi
pop edi
mov eax, ebp
mov byte [ecx], 0
pop ebp
ret
Function at 0x4a0960
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x20
call fcn.0044a310
mov eax, dword [0x547e80]
xor eax, esp
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
push ebx
mov ebx, dword [esp + 0x2c]
dec ebx
push edi
mov edi, dword [esp + 0x38]
mov dword [esp + 8], ecx
lea ecx, [ebx - 0x29]
mov dword [esp + 0xc], edx
cmp edi, ecx
jle 0x4a09c3
push 0x2d
push str..crypto_rsa_rsa_oaep.c
push 0x6e
push 0x79
push 4
call fcn.00468730
add esp, 0x14
pop edi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00446098
add esp, 0x20
ret
cmp ebx, 0x29
jge 0x4a09f0
push 0x33
push str..crypto_rsa_rsa_oaep.c
push 0x78
push 0x79
push 4
call fcn.00468730
add esp, 0x14
pop edi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00446098
add esp, 0x20
ret
push ebp
push esi
push 0
mov byte [eax], 0
lea esi, [eax + 1]
lea ebp, [eax + 0x15]
call fcn.00475b80
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x1c]
push 0
push ebp
push edx
push eax
call fcn.00474e20
add esp, 0x18
test eax, eax
je 0x4a0a89
mov ecx, ebx
sub ecx, edi
sub ecx, 0x29
push ecx
lea edx, [ebp + 0x14]
push 0
push edx
call fcn.004463e0
mov ecx, dword [esp + 0x1c]
mov eax, ebp
sub eax, edi
add eax, ebx
push edi
mov byte [eax - 0x15], 1
push ecx
add eax, 0xffffffec
push eax
call fcn.00443e60
push 0x14
push esi
call fcn.004633f0
add esp, 0x20
test eax, eax
jle 0x4a0a89
push 0x49
add ebx, 0xffffffec
push str..crypto_rsa_rsa_oaep.c
push ebx
call fcn.00469db0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x14], edi
test edi, edi
jne 0x4a0a9e
push 0x4c
push str..crypto_rsa_rsa_oaep.c
push 0x41
push 0x79
push 4
call fcn.00468730
add esp, 0x14
pop esi
pop ebp
pop edi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00446098
add esp, 0x20
ret
push 0x14
push esi
push ebx
push edi
call fcn.004a0930
add esp, 0x10
test eax, eax
js 0x4a0a89
test ebx, ebx
jle 0x4a0ac9
mov eax, ebp
sub edi, ebp
mov ecx, ebx
lea esp, [esp]
mov dl, byte [edi + eax]
xor byte [eax], dl
inc eax
dec ecx
jne 0x4a0ac0
call fcn.00475b80
push eax
push ebx
push ebp
lea eax, [esp + 0x24]
push 0x14
push eax
call fcn.004a07b0
add esp, 0x14
test eax, eax
js 0x4a0a89
lea ecx, [esp + 0x18]
lea edi, [esp + 0x19]
lea ebp, [esp + 0x1a]
lea edx, [esp + 0x1b]
sub ecx, esi
sub edi, esi
sub ebp, esi
sub edx, esi
lea ebx, [esp + 0x1c]
sub ebx, esi
mov eax, esi
mov dword [esp + 0x10], ebx
mov esi, 4
lea ecx, [ecx]
movzx ebx, byte [ecx + eax]
xor byte [eax], bl
movzx ebx, byte [edi + eax]
xor byte [eax + 1], bl
movzx ebx, byte [eax + ebp]
xor byte [eax + 2], bl
movzx ebx, byte [edx + eax]
xor byte [eax + 3], bl
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx + eax]
xor byte [eax + 4], bl
add eax, 5
dec esi
jne 0x4a0b10
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00469f50
mov ecx, dword [esp + 0x30]
add esp, 4
lea eax, [esi + 1]
pop esi
pop ebp
pop edi
pop ebx
xor ecx, esp
call fcn.00446098
add esp, 0x20
ret
Function at 0x4a17d0
Capabilities:
Check for software breakpoints

Disassembly:
push esi
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x18], esi
jne 0x4a189c
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0x6a
je 0x4a17f1
cmp al, 0x6b
jne 0x4a189c
lea edx, [ecx + 1]
cmp al, 0x6b
jne 0x4a185d
add esi, 0xfffffffd
xor ecx, ecx
test esi, esi
jle 0x4a1811
mov al, byte [edx]
inc edx
cmp al, 0xba
je 0x4a1811
cmp al, 0xbb
jne 0x4a183a
inc ecx
cmp ecx, esi
jl 0x4a1801
sub esi, ecx
test ecx, ecx
jne 0x4a1860
push 0x8a
push str..crypto_rsa_rsa_x931.c
push 0x8a
push 0x80
push 4
call fcn.00468730
add esp, 0x14
or eax, 0xffffffff
pop esi
ret
push 0x81
push str..crypto_rsa_rsa_x931.c
push 0x8a
push 0x80
push 4
call fcn.00468730
add esp, 0x14
or eax, 0xffffffff
pop esi
ret
add esi, 0xfffffffe
cmp byte [esi + edx], 0xcc
je 0x4a1889
push 0x93
push str..crypto_rsa_rsa_x931.c
push 0x8b
push 0x80
push 4
call fcn.00468730
add esp, 0x14
or eax, 0xffffffff
pop esi
ret
mov eax, dword [esp + 8]
push esi
push edx
push eax
call fcn.00443e60
add esp, 0xc
mov eax, esi
pop esi
ret
push 0x72
push str..crypto_rsa_rsa_x931.c
push 0x89
push 0x80
push 4
call fcn.00468730
add esp, 0x14
or eax, 0xffffffff
pop esi
ret
Function at 0x4a5660
Capabilities:
Encode data using xor

Disassembly:
push edi
mov edi, dword [esp + 8]
cmp dword [edi + 0x10c], 0xffffffff
jne 0x4a5672
xor eax, eax
pop edi
ret
push ebx
push esi
push edi
call fcn.00463ba0
mov ebx, dword [esp + 0x18]
mov esi, eax
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [eax], esi
test ebx, ebx
je 0x4a571e
mov eax, dword [edi + 0x10c]
push ebp
cmp eax, esi
jne 0x4a56be
test esi, esi
jle 0x4a56fd
mov ecx, ebx
lea eax, [edi + 0x8c]
mov ebp, esi
lea ebx, [ebx]
mov dl, byte [eax + 0x60]
xor dl, byte [eax]
inc eax
mov byte [ecx], dl
inc ecx
dec ebp
jne 0x4a56b0
jmp 0x4a56fd
mov ecx, esi
sub ecx, eax
mov byte [eax + edi + 0xec], 0x80
cmp ecx, 1
jle 0x4a56e3
dec ecx
push ecx
lea eax, [eax + edi + 0xed]
push 0
push eax
call fcn.004463e0
add esp, 0xc
test esi, esi
jle 0x4a56fd
mov ecx, ebx
lea eax, [edi + 0xac]
mov ebp, esi
mov dl, byte [eax + 0x40]
xor dl, byte [eax]
inc eax
mov byte [ecx], dl
inc ecx
dec ebp
jne 0x4a56f1
push esi
push ebx
push ebx
push edi
call fcn.00475c70
add esp, 0x10
pop ebp
test eax, eax
jne 0x4a571e
push esi
push ebx
call fcn.004e56d0
add esp, 8
pop esi
pop ebx
xor eax, eax
pop edi
ret
pop esi
pop ebx
mov eax, 1
pop edi
ret
Function at 0x4adbb0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xa0
call fcn.0044a310
mov eax, dword [0x547e80]
xor eax, esp
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xa8]
push ebp
mov ebp, dword [esp + 0xa8]
push esi
mov esi, ecx
test eax, eax
je 0x4add3a
push ebx
dec eax
push edi
lea edi, [ebp + 0xc]
shr eax, 3
add ebp, 0x14
inc eax
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 1]
movzx ebx, byte [esi]
movzx ecx, byte [esi + 2]
movzx edx, byte [esi + 3]
shl eax, 8
or ebx, eax
movzx eax, byte [esi + 4]
shl ecx, 0x10
or ebx, ecx
movzx ecx, byte [esi + 5]
shl edx, 0x18
or ebx, edx
movzx edx, byte [esi + 6]
shl ecx, 8
or eax, ecx
movzx ecx, byte [esi + 7]
shl edx, 0x10
or eax, edx
mov dl, byte [edi]
shl ecx, 0x18
or eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
mov al, byte [ebp]
and dl, 0xdf
and al, 0xbf
or dl, 0x40
or al, 0x20
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebx
add esi, 8
mov byte [edi], dl
mov byte [ebp], al
call fcn.0046f980
lea ecx, [esp + 0x30]
push ecx
push edi
call fcn.0046fa50
push 1
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x38]
push eax
call fcn.004e6c40
push ebp
call fcn.0046f980
lea ecx, [esp + 0x48]
push ecx
push ebp
call fcn.0046fa50
push 1
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x48]
push eax
call fcn.004e6c40
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0x40]
mov edx, dword [esp + 0x58]
xor dword [esp + 0x40], edx
xor ecx, ebx
xor ebx, dword [esp + 0x54]
mov dword [esp + 0x44], eax
mov eax, edi
mov byte [eax], bl
mov edx, ebx
shr edx, 8
mov byte [eax + 1], dl
mov edx, ebx
shr edx, 0x10
mov byte [eax + 2], dl
mov edx, dword [esp + 0x44]
shr ebx, 0x18
mov byte [eax + 3], bl
mov ebx, edx
add esp, 0x30
mov byte [eax + 4], dl
shr ebx, 8
mov byte [eax + 5], bl
mov ebx, edx
shr edx, 0x18
shr ebx, 0x10
mov byte [eax + 6], bl
mov byte [eax + 7], dl
mov eax, ebp
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 + 0x10]
mov edx, ecx
shr edx, 8
mov byte [eax + 4], cl
mov byte [eax + 5], dl
mov edx, ecx
shr edx, 0x10
shr ecx, 0x18
dec dword [esp + 0x18]
mov byte [eax + 6], dl
mov byte [eax + 7], cl
jne 0x4adbf3
pop edi
pop ebx
mov ecx, dword [esp + 0xa4]
pop esi
pop ebp
xor ecx, esp
call fcn.00446098
add esp, 0xa0
ret
Function at 0x4afc30
Capabilities:
Encode data using xor

Disassembly:
mov eax, 8
call fcn.0044a310
xor ecx, ecx
push ebx
mov ebx, dword [esp + 0x18]
push esi
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x160]
push edi
mov dword [esp + 0x18], eax
mov dword [esi], ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], ecx
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], ecx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x16c], ecx
mov dword [esi + 0x168], ecx
cmp ebx, 0xc
jne 0x4afca5
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
mov byte [esi + 0xf], 1
lea edi, [ebx - 0xb]
jmp 0x4afd74
mov eax, ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
cmp ebx, 0x10
jb 0x4afd22
mov ecx, dword [esp + 0x1c]
shr eax, 4
mov edi, ecx
mov dword [esp + 0x20], eax
shl eax, 4
sub edi, esi
add ecx, eax
mov dword [esp + 0x1c], ecx
push ebp
lea ecx, [ecx]
lea ecx, [edi + esi + 2]
mov eax, esi
mov ebp, 4
jmp 0x4afce0
movzx edx, byte [edi + eax]
xor byte [eax], dl
movzx edx, byte [ecx - 1]
xor byte [eax + 1], dl
movzx edx, byte [ecx]
xor byte [eax + 2], dl
movzx edx, byte [ecx + 1]
xor byte [eax + 3], dl
add eax, 4
add ecx, 4
dec ebp
jne 0x4afce0
lea eax, [esi + 0x60]
push eax
push esi
call dword [esp + 0x24]
add esp, 8
add edi, 0x10
sub ebx, 0x10
dec dword [esp + 0x24]
jne 0x4afcd0
mov eax, dword [esp + 0x10]
xor ecx, ecx
pop ebp
cmp ebx, ecx
je 0x4afd4b
jbe 0x4afd3b
mov ecx, dword [esp + 0x1c]
mov eax, esi
sub ecx, esi
mov edi, ebx
mov dl, byte [eax + ecx]
xor byte [eax], dl
inc eax
dec edi
jne 0x4afd32
lea eax, [esi + 0x60]
push eax
push esi
call dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add esp, 8
mov ecx, dword [esp + 0x10]
shld ecx, eax, 3
add eax, eax
bswap ecx
xor dword [esi + 8], ecx
add eax, eax
lea ecx, [esi + 0x60]
add eax, eax
push ecx
bswap eax
xor dword [esi + 0xc], eax
push esi
call dword [esp + 0x20]
mov edi, dword [esi + 0xc]
add esp, 8
bswap edi
mov edx, dword [esi + 0x174]
mov ecx, dword [esi + 0x170]
push edx
lea eax, [esi + 0x20]
push eax
push esi
call ecx
add esp, 0xc
inc edi
bswap edi
mov dword [esi + 0xc], edi
pop edi
pop esi
pop ebx
add esp, 8
ret
Function at 0x4afda0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 4
call fcn.0044a310
push esi
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 0x38]
or ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x164]
mov edx, dword [esi + 0x160]
mov dword [esp + 0xc], eax
je 0x4afdcf
mov eax, 0xfffffffe
pop esi
pop ecx
ret
push ebx
mov ebx, dword [esp + 0x18]
xor eax, eax
mov ecx, ebx
add ecx, dword [esi + 0x30]
adc eax, dword [esi + 0x34]
cmp eax, 0x20000000
ja 0x4afe80
jb 0x4afdf3
test ecx, ecx
jne 0x4afe80
push ebp
mov ebp, dword [esp + 0x18]
push edi
mov edi, dword [esi + 0x16c]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], eax
test edi, edi
je 0x4afe36
lea esp, [esp]
test ebx, ebx
je 0x4afe25
mov al, byte [ebp]
xor byte [edi + esi + 0x40], al
inc edi
inc ebp
dec ebx
and edi, 0xf
jne 0x4afe10
jmp 0x4afe29
test edi, edi
jne 0x4afe72
lea ecx, [esi + 0x60]
push ecx
lea eax, [esi + 0x40]
push eax
call edx
add esp, 8
mov eax, ebx
and eax, 0xfffffff0
mov dword [esp + 0x10], eax
je 0x4afe5a
push eax
push ebp
lea ecx, [esi + 0x60]
push ecx
lea edx, [esi + 0x40]
push edx
call dword [esp + 0x28]
mov eax, dword [esp + 0x20]
add esp, 0x10
add ebp, eax
sub ebx, eax
test ebx, ebx
je 0x4afe72
xor eax, eax
mov edi, ebx
test ebx, ebx
je 0x4afe72
mov cl, byte [eax + ebp]
xor byte [esi + eax + 0x40], cl
inc eax
cmp eax, ebx
jb 0x4afe66
mov dword [esi + 0x16c], edi
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
pop ecx
ret
pop ebx
or eax, 0xffffffff
pop esi
pop ecx
ret
Function at 0x4b0360
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xc
call fcn.0044a310
push esi
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 0x164]
mov eax, dword [esi + 0x174]
mov edx, dword [esi + 0x160]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], eax
xor eax, eax
add ecx, dword [esi + 0x38]
mov dword [esp + 4], edx
adc eax, dword [esi + 0x3c]
cmp eax, 0xf
ja 0x4b0550
jb 0x4b03ad
cmp ecx, 0xffffffe0
ja 0x4b0550
cmp dword [esi + 0x16c], 0
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], eax
je 0x4b03d3
lea eax, [esi + 0x60]
push eax
lea ecx, [esi + 0x40]
push ecx
call edx
add esp, 8
mov dword [esi + 0x16c], 0
push ebx
mov ebx, dword [esi + 0x168]
push ebp
mov ebp, dword [esi + 0xc]
push edi
mov edi, dword [esp + 0x28]
bswap ebp
test ebx, ebx
je 0x4b0430
lea esp, [esp]
cmp dword [esp + 0x2c], 0
je 0x4b0419
mov al, byte [ebx + esi + 0x10]
mov ecx, dword [esp + 0x24]
xor al, byte [ecx]
dec dword [esp + 0x2c]
mov byte [edi], al
xor byte [ebx + esi + 0x40], al
inc ecx
inc ebx
inc edi
and ebx, 0xf
mov dword [esp + 0x24], ecx
jne 0x4b03f0
jmp 0x4b0421
test ebx, ebx
jne 0x4b0540
lea edx, [esi + 0x60]
push edx
lea eax, [esi + 0x40]
push eax
call dword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xc00
jb 0x4b04a0
mov eax, 0xaaaaaaab
mul ecx
shr edx, 0xb
mov dword [esp + 0x10], edx
lea ebx, [ebx]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
push esi
push ecx
push 0xc0
push edi
push edx
call dword [esp + 0x44]
add ebp, 0xc0
mov eax, ebp
bswap eax
push 0xc00
mov dword [esi + 0xc], eax
push edi
lea eax, [esi + 0x60]
push eax
lea eax, [esi + 0x40]
push eax
call dword [esp + 0x38]
mov eax, 0xc00
add dword [esp + 0x48], eax
sub dword [esp + 0x50], eax
add esp, 0x24
add edi, eax
dec dword [esp + 0x10]
jne 0x4b0450
mov ecx, dword [esp + 0x2c]
mov eax, ecx
and eax, 0xfffffff0
mov dword [esp + 0x10], eax
je 0x4b04f3
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
push esi
push ecx
shr eax, 4
push eax
push edi
push edx
mov dword [esp + 0x2c], eax
call dword [esp + 0x44]
add ebp, dword [esp + 0x2c]
lea ecx, [esi + 0x60]
mov eax, ebp
bswap eax
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x24]
add dword [esp + 0x38], eax
sub dword [esp + 0x40], eax
push eax
push edi
push ecx
lea edx, [esi + 0x40]
push edx
call dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
add esp, 0x24
add edi, dword [esp + 0x10]
test ecx, ecx
je 0x4b0540
mov eax, dword [esp + 0x20]
mov edx, dword [esi + 0x170]
push eax
lea ecx, [esi + 0x10]
push ecx
push esi
call edx
mov edx, dword [esp + 0x30]
inc ebp
bswap ebp
add esp, 0xc
mov dword [esi + 0xc], ebp
lea ecx, [ebx + edi]
sub edx, edi
jmp 0x4b0520
movzx ebp, byte [edx + ecx]
movzx eax, byte [esi + ebx + 0x10]
mov edi, dword [esp + 0x2c]
xor eax, ebp
mov byte [ecx], al
xor byte [esi + ebx + 0x40], al
dec edi
inc ebx
inc ecx
mov dword [esp + 0x2c], edi
test edi, edi
jne 0x4b0520
pop edi
pop ebp
mov dword [esi + 0x168], ebx
pop ebx
xor eax, eax
pop esi
add esp, 0xc
ret
or eax, 0xffffffff
pop esi
add esp, 0xc
ret
Function at 0x4b0560
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10
call fcn.0044a310
push esi
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x164]
mov eax, dword [esi + 0x174]
mov edx, dword [esi + 0x160]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
xor eax, eax
add ecx, dword [esi + 0x38]
mov dword [esp + 8], edx
adc eax, dword [esi + 0x3c]
cmp eax, 0xf
ja 0x4b074e
jb 0x4b05ad
cmp ecx, 0xffffffe0
ja 0x4b074e
cmp dword [esi + 0x16c], 0
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], eax
je 0x4b05d3
lea eax, [esi + 0x60]
push eax
lea ecx, [esi + 0x40]
push ecx
call edx
add esp, 8
mov dword [esi + 0x16c], 0
mov eax, dword [esi + 0xc]
push ebx
mov ebx, dword [esi + 0x168]
push ebp
mov ebp, dword [esp + 0x28]
bswap eax
push edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x24], eax
test ebx, ebx
je 0x4b062c
cmp dword [esp + 0x30], 0
je 0x4b0615
mov al, byte [edi]
mov dl, byte [ebx + esi + 0x10]
dec dword [esp + 0x30]
xor dl, al
mov byte [ebp], dl
xor byte [ebx + esi + 0x40], al
inc ebx
inc edi
inc ebp
and ebx, 0xf
jne 0x4b05f1
jmp 0x4b061d
test ebx, ebx
jne 0x4b073e
lea eax, [esi + 0x60]
push eax
lea ecx, [esi + 0x40]
push ecx
call dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x30]
cmp edx, 0xc00
jb 0x4b069c
mov eax, 0xaaaaaaab
mul edx
shr edx, 0xb
mov dword [esp + 0x14], edx
push 0xc00
push edi
lea eax, [esi + 0x60]
push eax
lea eax, [esi + 0x40]
push eax
call dword [esp + 0x28]
mov edx, dword [esp + 0x20]
push esi
push edx
push 0xc0
push ebp
push edi
call dword [esp + 0x58]
mov eax, dword [esp + 0x48]
sub dword [esp + 0x54], 0xc00
add eax, 0xc0
mov dword [esp + 0x48], eax
add esp, 0x24
bswap eax
add ebp, 0xc00
add edi, 0xc00
dec dword [esp + 0x14]
mov dword [esi + 0xc], eax
jne 0x4b0646
mov edx, dword [esp + 0x30]
mov ecx, edx
and ecx, 0xfffffff0
mov dword [esp + 0x1c], ecx
je 0x4b06f3
mov eax, ecx
push ecx
shr eax, 4
mov dword [esp + 0x18], eax
push edi
lea eax, [esi + 0x60]
push eax
lea ecx, [esi + 0x40]
push ecx
call dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push esi
push edx
push eax
push ebp
push edi
call dword [esp + 0x58]
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x38]
add esp, 0x24
mov dword [esp + 0x24], eax
bswap eax
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x1c]
add ebp, eax
add edi, eax
sub dword [esp + 0x30], eax
mov edx, dword [esp + 0x30]
test edx, edx
je 0x4b073e
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x170]
push ecx
lea edx, [esi + 0x10]
push edx
push esi
call eax
mov eax, dword [esp + 0x30]
inc eax
bswap eax
add esp, 0xc
mov dword [esi + 0xc], eax
lea eax, [ebx + ebp]
sub edi, ebp
jmp 0x4b0720
mov cl, byte [edi + eax]
mov dl, byte [esi + ebx + 0x10]
mov ebp, dword [esp + 0x30]
xor byte [esi + ebx + 0x40], cl
xor dl, cl
dec ebp
mov byte [eax], dl
inc ebx
inc eax
mov dword [esp + 0x30], ebp
test ebp, ebp
jne 0x4b0720
pop edi
pop ebp
mov dword [esi + 0x168], ebx
pop ebx
xor eax, eax
pop esi
add esp, 0x10
ret
or eax, 0xffffffff
pop esi
add esp, 0x10
ret