joyce8/EMBER2024-capa huggingface dataset:
Function at 0x46b07c
Capabilities:
Get graphical window text

Disassembly:
push ebx
push esi
add esp, 0xfffffefc
mov esi, edx
mov ebx, eax
cmp byte [ebx + 0xac], 0
je 0x46b0e6
mov eax, ebx
call fcn.0046d3d8
test al, al
jne 0x46b0e6
push pe_nt_image_headers32
lea eax, [esp + 4]
push eax
mov eax, dword [ebx + 0x30]
push eax
call sub.user32.dll_GetWindowTextA
mov ecx, eax
mov edx, esp
mov eax, esi
call fcn.00404e4c
mov eax, dword [esi]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x100]
test eax, eax
je 0x46b0d3
sub eax, 4
mov eax, dword [eax]
test eax, eax
jne 0x46b0f3
mov eax, esi
mov edx, dword [ebx + 0x8c]
call fcn.00404db0
jmp 0x46b0f3
mov eax, esi
mov edx, dword [ebx + 0x8c]
call fcn.00404db0
add esp, 0x104
pop esi
pop ebx
ret

Function at 0x46c4fc
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
mov ebx, eax
mov esi, dword [ebx + 0x84]
test esi, esi
je 0x46c56a
mov eax, esi
call fcn.00455f68
test al, al
je 0x46c56a
mov eax, dword [ebx + 0x84]
call fcn.00455bb8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x46c56a
mov eax, dword [ebx + 0x84]
mov edx, dword [eax]
call dword [edx + 0xf0]
test al, al
je 0x46c55e
push 0
mov eax, dword [ebx + 0x84]
call fcn.00455bb8
push eax
call sub.user32.dll_ShowWindow
xor edx, edx
mov eax, dword [ebx + 0x84]
call fcn.0044db08
jmp 0x46c56a
mov cl, 1
mov edx, dword [ebx + 0x74]
mov eax, ebx
call fcn.0046c338
pop esi
pop ebx
ret

Function at 0x470f7c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov ebx, dword [ebp - 4]
inc ebx
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ecx, esi
mov edx, ebx
call fcn.0042bb68
cmp ebx, dword [ebp - 8]
jge 0x470fdf
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ecx, esi
mov edx, ebx
call fcn.0042bf7c
mov edi, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ecx, esi
mov edx, ebx
call fcn.0042bf7c
xor edi, eax
push edi
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ecx, esi
mov edx, ebx
call fcn.0042bfa8
add ebx, 2
cmp ebx, dword [ebp - 8]
jl 0x470fa5
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
ret

Function at 0x470fe8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov esi, eax
mov ebx, dword [ebp - 4]
inc ebx
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ecx, ebx
mov edx, esi
call fcn.0042bb68
cmp ebx, dword [ebp - 8]
jge 0x47104b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ecx, ebx
mov edx, esi
call fcn.0042bf7c
mov edi, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ecx, ebx
mov edx, esi
call fcn.0042bf7c
xor edi, eax
push edi
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ecx, ebx
mov edx, esi
call fcn.0042bfa8
add ebx, 2
cmp ebx, dword [ebp - 8]
jl 0x471011
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
ret
Function at 0x4871bc
Capabilities:
Get hostname

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
mov ebx, eax
lea eax, [ebp - 0xc]
mov edx, dword [0x4080ec]
call fcn.004059ec
xor eax, eax
push ebp
push 0x48735d
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x503ee4], 0
jne 0x487217
mov ecx, dword [0x50a348]
mov dl, 1
mov eax, dword [0x408718]
call fcn.0040dee8
call fcn.00404690
lea eax, [ebp - 0x28]
xor ecx, ecx
mov edx, 0x10
call fcn.00403678
mov eax, ebx
call fcn.004056a4
mov dword [ebp - 0x24], eax
mov esi, 0x48736c
lea edi, [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x38]
mov dword [ebp - 0xc], eax
lea eax, [ebp - 8]
call fcn.00406bcc
xor eax, eax
mov dword [ebp - 4], eax
mov eax, ebx
call fcn.004056b4
test eax, eax
jle 0x487300
mov dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x48]
push eax
call sub.kernel32.dll_GetComputerNameA
test eax, eax
je 0x4872ec
lea eax, [ebp - 0x4c]
lea edx, [ebp - 0x48]
mov ecx, 0x10
call fcn.00404fcc
mov edi, dword [ebp - 0x4c]
test edi, edi
je 0x487292
sub edi, 4
mov edi, dword [edi]
lea eax, [ebp - 0x50]
mov edx, ebx
call fcn.00404fe4
mov esi, dword [ebp - 0x50]
test esi, esi
je 0x4872a8
sub esi, 4
mov esi, dword [esi]
push esi
lea eax, [ebp - 0x54]
mov edx, ebx
call fcn.00404fe4
mov eax, dword [ebp - 0x54]
call fcn.004051ec
push eax
push edi
lea eax, [ebp - 0x58]
lea edx, [ebp - 0x48]
mov ecx, 0x10
call fcn.00404fcc
mov eax, dword [ebp - 0x58]
call fcn.004051ec
push eax
push 1
push 0x400
call sub.kernel32.dll_CompareStringA_1
sub eax, 2
test eax, eax
sete al
jmp 0x4872ee
xor eax, eax
test al, al
je 0x4872f9
mov ebx, 0x15
jmp 0x487305
mov ebx, 0x10
jmp 0x487305
mov ebx, 0x15
lea eax, [ebp - 0xc]
push eax
push 1
lea eax, [ebp - 0x28]
push eax
push ebx
push 0
mov eax, dword [ebp - 0x10]
push eax
call dword [0x503ee4]
call fcn.0048703c
mov eax, dword [ebp - 4]
call fcn.0048703c
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
call fcn.00406be4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x487364
lea eax, [ebp - 0x58]
mov edx, 4
call fcn.00404d80
lea eax, [ebp - 0xc]
mov edx, dword [0x4080ec]
call fcn.00405abc
ret
Function at 0x49bce4
Capabilities:
Check for software breakpoints

Disassembly:
push ebx
mov ebx, eax
cmp dword [ebx + 0x14], 0xca
jne 0x49bd12
mov eax, ebx
call fcn.0049c798
cmp dword [ebx + 0x40], 0
je 0x49bd0b
mov dword [ebx + 0x14], 0xcf
mov eax, 1
pop ebx
ret
mov dword [ebx + 0x14], 0xcb
cmp dword [ebx + 0x14], 0xcb
jne 0x49bd83
mov edx, dword [ebx + 0x1b4]
cmp dword [edx + 0x10], 0
je 0x49bd75
cmp dword [ebx + 8], 0
je 0x49bd34
mov eax, ebx
mov edx, dword [eax + 8]
call dword [edx]
mov eax, ebx
mov edx, dword [eax + 0x1b4]
call dword [edx]
test eax, eax
jne 0x49bd46
xor eax, eax
pop ebx
ret
cmp eax, 2
je 0x49bd75
cmp dword [ebx + 8], 0
je 0x49bd27
cmp eax, 3
je 0x49bd59
dec eax
jne 0x49bd27
mov edx, dword [ebx + 8]
inc dword [edx + 4]
mov ecx, dword [edx + 4]
mov eax, dword [ebx + 8]
cmp ecx, dword [eax + 8]
jl 0x49bd27
mov edx, dword [ebx + 0x140]
add dword [eax + 8], edx
jmp 0x49bd27
mov ecx, dword [ebx + 0x90]
mov dword [ebx + 0x98], ecx
jmp 0x49bda1
cmp dword [ebx + 0x14], 0xcc
je 0x49bda1
mov eax, dword [ebx]
mov dword [eax + 0x14], 0x14
mov edx, dword [ebx + 0x14]
mov dword [eax + 0x18], edx
mov eax, ebx
mov edx, dword [eax]
call dword [edx]
mov eax, ebx
call fcn.0049bdac
pop ebx
ret
Function at 0x4b0fd0
Capabilities:
Encode data using base64

Disassembly:
push ebx
push esi
push edi
push ebp
push ecx
mov dword [esp], ecx
mov esi, eax
mov ebp, edx
xor ebx, ebx
xor edi, edi
mov eax, dword [esp]
mov ecx, 3
cdq
idiv ecx
test eax, eax
jle 0x4b106a
movzx edx, byte [esi + ebx]
shr edx, 2
movzx edx, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_e23Z_]
mov byte [ebp + edi], dl
movzx edx, byte [esi + ebx]
and dl, 3
movzx edx, dl
shl edx, 4
movzx ecx, byte [esi + ebx + 1]
shr ecx, 4
add edx, ecx
movzx edx, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_e23Z_]
push edx
pop edx
mov byte [ebp + edi + 1], dl
movzx edx, byte [esi + ebx + 1]
and dl, 0xf
movzx edx, dl
add edx, edx
add edx, edx
movzx ecx, byte [esi + ebx + 2]
shr ecx, 6
add edx, ecx
movzx edx, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_e23Z_]
push edx
pop edx
mov byte [ebp + edi + 2], dl
movzx edx, byte [esi + ebx + 2]
and dl, 0x3f
movzx edx, dl
movzx edx, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_e23Z_]
mov byte [ebp + edi + 3], dl
add edi, 4
add ebx, 3
dec eax
jne 0x4b0fef
mov eax, dword [esp]
mov ecx, 3
cdq
idiv ecx
dec edx
je 0x4b1080
dec edx
je 0x4b10b5
jmp 0x4b1106
movzx eax, byte [esi + ebx]
shr eax, 2
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_e23Z_]
mov byte [ebp + edi], al
movzx eax, byte [esi + ebx]
and al, 3
movzx eax, al
shl eax, 4
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_e23Z_]
mov byte [ebp + edi + 1], al
mov byte [ebp + edi + 2], 0x3d
mov byte [ebp + edi + 3], 0x3d
jmp 0x4b1106
movzx eax, byte [esi + ebx]
shr eax, 2
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_e23Z_]
mov byte [ebp + edi], al
movzx eax, byte [esi + ebx]
and al, 3
movzx eax, al
shl eax, 4
movzx edx, byte [esi + ebx + 1]
shr edx, 4
add eax, edx
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_e23Z_]
mov byte [ebp + edi + 1], al
movzx eax, byte [esi + ebx + 1]
and al, 0xf
movzx eax, al
add eax, eax
add eax, eax
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_e23Z_]
mov byte [ebp + edi + 2], al
mov byte [ebp + edi + 3], 0x3d
mov eax, dword [esp]
add eax, 2
mov ecx, 3
cdq
idiv ecx
add eax, eax
add eax, eax
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x4b1168
Capabilities:
Encode data using base64

Disassembly:
push esi
push edi
push ebp
add esp, 0xfffffff0
mov dword [esp], ecx
mov edi, eax
mov dword [esp + 8], edx
xor esi, esi
xor ebp, ebp
xor eax, eax
mov edx, dword [esp]
test edx, edx
jns 0x4b1187
add edx, 3
sar edx, 2
test edx, edx
jle 0x4b1295
mov dword [esp + 0xc], edx
mov edx, 4
lea eax, [esp + 4]
movzx ecx, byte [edi + esi]
cmp ecx, 0x3d
jg 0x4b11bc
je 0x4b11ff
sub ecx, 0x2b
je 0x4b11f5
sub ecx, 4
je 0x4b11fa
dec ecx
sub ecx, 0xa
jb 0x4b11e7
jmp 0x4b1202
add ecx, 0xffffffbf
sub ecx, 0x1a
jb 0x4b11ce
add ecx, 0xfffffffa
sub ecx, 0x1a
jb 0x4b11d9
jmp 0x4b1202
movzx ecx, byte [edi + esi]
sub cl, 0x41
mov byte [eax], cl
jmp 0x4b1202
movzx ecx, byte [edi + esi]
sub cl, 0x61
add cl, 0x1a
mov byte [eax], cl
jmp 0x4b1202
movzx ecx, byte [edi + esi]
sub cl, 0x30
add cl, 0x34
mov byte [eax], cl
jmp 0x4b1202
mov byte [eax], 0x3e
jmp 0x4b1202
mov byte [eax], 0x3f
jmp 0x4b1202
mov byte [eax], 0xff
inc esi
inc eax
dec edx
jne 0x4b119f
movzx eax, byte [esp + 4]
add eax, eax
add eax, eax
movzx edx, byte [esp + 5]
shr edx, 4
or al, dl
mov edx, dword [esp + 8]
mov byte [edx + ebp], al
lea eax, [ebp + 1]
movzx edx, byte [esp + 6]
cmp dl, 0xff
je 0x4b1253
cmp byte [esp + 7], 0xff
jne 0x4b1253
movzx eax, byte [esp + 5]
shl eax, 4
movzx edx, dl
shr edx, 2
or al, dl
mov edx, dword [esp + 8]
mov byte [edx + ebp + 1], al
lea eax, [ebp + 2]
inc ebp
jmp 0x4b128a
cmp dl, 0xff
je 0x4b128a
movzx eax, byte [esp + 5]
shl eax, 4
movzx edx, dl
shr edx, 2
or al, dl
mov edx, dword [esp + 8]
mov byte [edx + ebp + 1], al
mov eax, dword [esp + 8]
movzx edx, byte [esp + 6]
shl edx, 6
or dl, byte [esp + 7]
mov byte [eax + ebp + 2], dl
lea eax, [ebp + 3]
add ebp, 2
inc ebp
dec dword [esp + 0xc]
jne 0x4b1196
add esp, 0x10
pop ebp
pop edi
pop esi
ret

Function at 0x4b1ee0
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
mov esi, ecx
test esi, esi
jbe 0x4b1f01
mov ecx, 1
mov ebx, edx
add ebx, ecx
dec ebx
movzx ebx, byte [ebx]
mov edi, eax
add edi, ecx
dec edi
xor byte [edi], bl
inc ecx
dec esi
jne 0x4b1eee
pop edi
pop esi
pop ebx
ret
Function at 0x4b4108
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
push ecx
xor ebp, ebp
mov ebx, 0x50fe04
mov eax, ebp
shr eax, 1
and eax, 0xff
mov dword [esp], eax
mov esi, ebp
and esi, 1
mov eax, ebp
and eax, 0x200
shr eax, 8
or esi, eax
mov edx, dword [esi*4 + 0x50534c]
mov eax, dword [esi*4 + 0x50538c]
xor eax, dword [esp]
call fcn.004b40ac
mov edi, eax
shl edi, 0x18
mov eax, edi
call fcn.004b40e8
mov dword [ebx], eax
mov edx, dword [esi*4 + 0x50535c]
mov eax, dword [esi*4 + 0x50539c]
xor eax, dword [esp]
call fcn.004b40ac
mov edi, eax
shl edi, 0x10
mov eax, edi
call fcn.004b40e8
mov dword [ebx + 0x1000], eax
mov edx, dword [esi*4 + 0x50536c]
mov eax, dword [esi*4 + 0x5053ac]
xor eax, dword [esp]
call fcn.004b40ac
mov edi, eax
shl edi, 8
mov eax, edi
call fcn.004b40e8
mov dword [ebx + 0x2000], eax
mov edx, dword [esi*4 + 0x50537c]
mov eax, dword [esi*4 + 0x5053bc]
xor eax, dword [esp]
call fcn.004b40ac
mov edi, eax
mov eax, edi
call fcn.004b40e8
mov dword [ebx + 0x3000], eax
inc ebp
add ebx, 4
cmp ebp, 0x400
jne 0x4b4114
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x4b426c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push ebx
push esi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
lea eax, [edx + eax*4 + 0x4c]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
xor ecx, ecx
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jne 0x4b42a6
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, 3
xor edx, edx
div ecx
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + edx*4]
xor edx, edx
mov eax, dword [ebp - 0x18]
add eax, edx
and eax, 3
mov ebx, dword [ebp - 8]
lea eax, [ebx + eax*2]
movzx ebx, word [eax]
and bx, 1
movzx ebx, bx
mov esi, dword [ecx]
add esi, esi
or esi, ebx
mov dword [ecx], esi
movzx esi, word [eax]
shr esi, 1
xor bx, 1
shl ebx, 0xf
or si, bx
mov word [eax], si
inc edx
cmp edx, 4
jne 0x4b42d3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xf
jne 0x4b42bf
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 8
jne 0x4b4282
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4b94bc
Capabilities:
Encrypt data using des

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff74
mov byte [esp + 8], cl
mov dword [esp + 4], edx
mov dword [esp], eax
mov ecx, 0x38
mov esi, str.80_
lea eax, [esp + 0x1c]
movzx edi, byte [esi]
mov edx, edi
and edx, 0x80000007
jns 0x4b94f1
dec edx
or edx, 0xfffffff8
inc edx
test edi, edi
jns 0x4b94f8
add edi, 7
sar edi, 3
mov ebx, dword [esp]
movzx ebx, byte [ebx + edi]
and bl, byte [edx + 0x506f98]
setne dl
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x4b94df
xor eax, eax
mov dword [esp + 0x14], eax
mov esi, 0x506f88
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
xor ecx, ecx
lea eax, [esp + 0x54]
movzx edi, byte [esi]
add edi, ecx
cmp edi, 0x1c
jge 0x4b9546
movzx edx, byte [esp + edi + 0x1c]
mov byte [eax], dl
movzx edx, byte [esp + edi + 0x38]
mov byte [eax + 0x1c], dl
jmp 0x4b9554
movzx edx, byte [esp + edi]
mov byte [eax], dl
movzx edx, byte [esp + edi + 0x1c]
mov byte [eax + 0x1c], dl
inc ecx
inc eax
cmp ecx, 0x1c
jne 0x4b952b
lea eax, [esp + 9]
xor ecx, ecx
mov edx, 8
call fcn.00403678
xor ecx, ecx
mov ebp, 0x506f58
movzx eax, byte [ebp]
cmp byte [esp + eax + 0x54], 0
je 0x4b95a1
mov eax, ecx
mov ebx, 6
cdq
idiv ebx
mov edi, eax
mov eax, ecx
mov ebx, 6
cdq
idiv ebx
movzx eax, byte [edx + 0x506f98]
shr eax, 2
or byte [esp + edi + 9], al
inc ecx
inc ebp
cmp ecx, 0x30
jne 0x4b9572
cmp byte [esp + 8], 0
je 0x4b9604
movzx eax, byte [esp + 9]
shl eax, 0x18
movzx edx, byte [esp + 0xb]
shl edx, 0x10
or eax, edx
movzx edx, byte [esp + 0xd]
shl edx, 8
or eax, edx
movzx edx, byte [esp + 0xf]
or eax, edx
mov edx, dword [esp + 0x18]
mov dword [edx], eax
movzx eax, byte [esp + 0xa]
shl eax, 0x18
movzx edx, byte [esp + 0xc]
shl edx, 0x10
or eax, edx
movzx edx, byte [esp + 0xe]
shl edx, 8
or eax, edx
movzx edx, byte [esp + 0x10]
or eax, edx
mov edx, dword [esp + 0x18]
mov dword [edx + 4], eax
jmp 0x4b966f
movzx edx, byte [esp + 9]
shl edx, 0x18
movzx ecx, byte [esp + 0xb]
shl ecx, 0x10
or edx, ecx
movzx ecx, byte [esp + 0xd]
shl ecx, 8
or edx, ecx
movzx ecx, byte [esp + 0xf]
or edx, ecx
mov eax, dword [esp + 0x14]
add eax, eax
mov ecx, eax
inc ecx
mov ebx, 0x1f
sub ebx, ecx
mov ecx, dword [esp + 4]
mov dword [ecx + ebx*4], edx
movzx edx, byte [esp + 0xa]
shl edx, 0x18
movzx ecx, byte [esp + 0xc]
shl ecx, 0x10
or edx, ecx
movzx ecx, byte [esp + 0xe]
shl ecx, 8
or edx, ecx
movzx ecx, byte [esp + 0x10]
or edx, ecx
mov ecx, 0x1f
sub ecx, eax
mov eax, dword [esp + 4]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x14]
add dword [esp + 0x18], 8
inc esi
cmp dword [esp + 0x14], 0x10
jne 0x4b9525
mov eax, dword [esp + 4]
movzx edx, byte [esp + 8]
mov byte [eax + 0x80], dl
add esp, 0x8c
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x4b96a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff5c
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
movzx edx, byte [ebp + 8]
mov byte [eax], dl
mov edx, ebx
mov eax, 0x10
call fcn.004b9270
mov edx, eax
mov eax, 4
call fcn.004b9278
mov edx, dword [ebp - 4]
mov dword [edx + 4], eax
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x24], str.UUUU
mov eax, dword [ebp - 4]
add eax, 8
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ecx]
mov ecx, esi
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0xc], esi
mov edi, dword [ebp - 8]
mov edi, dword [edi + 8]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], esi
mov edi, dword [ebp - 8]
mov edi, dword [edi + 0xc]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], esi
mov esi, 8
mov edi, ecx
shl edi, 0xb
xor edx, edi
add dword [ebp - 0xc], edx
add ecx, ebx
mov edi, ebx
shr edi, 2
xor ecx, edi
add dword [ebp - 0x10], ecx
add ebx, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
shl edi, 8
xor ebx, edi
add dword [ebp - 0x14], ebx
mov edi, dword [ebp - 0x10]
add dword [ebp - 0xc], edi
mov edi, dword [ebp - 0x10]
shr edi, 0x10
xor dword [ebp - 0xc], edi
mov edi, dword [ebp - 0xc]
add dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x14]
add dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x14]
shl edi, 0xa
xor dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x10]
add dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x18]
add dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x18]
shr edi, 4
xor dword [ebp - 0x14], edi
add edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
add dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x1c]
shl edi, 8
xor dword [ebp - 0x18], edi
add ecx, dword [ebp - 0x18]
add dword [ebp - 0x1c], edx
mov edi, edx
shr edi, 9
xor dword [ebp - 0x1c], edi
add ebx, dword [ebp - 0x1c]
add edx, ecx
dec esi
jne 0x4b9721
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov edx, dword [ebp - 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x14]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x1c]
mov dword [eax + 0x1c], edx
add eax, 0x20
add dword [ebp - 0x24], 4
dec dword [ebp - 0x20]
jne 0x4b96ef
cmp byte [ebp + 8], 0
jne 0x4b9850
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
dec eax
test eax, eax
jl 0x4b9825
inc eax
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 4]
add edx, 8
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
dec ecx
sub ecx, dword [ebp - 0x20]
mov ebx, dword [edx]
mov dword [ebp + ecx*8 - 0xa4], ebx
mov ebx, dword [edx + 4]
mov dword [ebp + ecx*8 - 0xa0], ebx
inc dword [ebp - 0x20]
add edx, 8
dec eax
jne 0x4b97ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
dec eax
test eax, eax
jl 0x4b9850
inc eax
lea edx, [ebp - 0xa4]
mov ebx, dword [ebp - 4]
add ebx, 8
mov ecx, dword [edx]
mov dword [ebx], ecx
mov ecx, dword [edx + 4]
mov dword [ebx + 4], ecx
add ebx, 8
add edx, 8
dec eax
jne 0x4b983d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4b99a8
Capabilities:
Encode data using xor
Encrypt data using des

Disassembly:
push ebx
push esi
push edi
add esp, 0xfffffff4
mov dword [esp], edx
mov edi, eax
mov ebx, 0x506fa0
lea esi, [esp + 4]
lea ecx, [esp + 8]
mov edx, esi
mov eax, dword [esp]
call fcn.004b985c
lea edx, [esp + 8]
mov eax, esi
call fcn.004b98ac
mov edx, edi
mov ecx, 8
mov eax, dword [esp + 8]
shr eax, 4
mov edi, dword [esp + 8]
shl edi, 0x1c
or eax, edi
xor eax, dword [edx]
add edx, 4
mov edi, eax
and edi, 0x3f
mov edi, dword [ebx + edi*4 + 0x600]
xor dword [esi], edi
mov edi, eax
shr edi, 8
and edi, 0x3f
mov edi, dword [ebx + edi*4 + 0x400]
xor dword [esi], edi
mov edi, eax
shr edi, 0x10
and edi, 0x3f
mov edi, dword [ebx + edi*4 + 0x200]
xor dword [esi], edi
shr eax, 0x18
and eax, 0x3f
mov eax, dword [ebx + eax*4]
xor dword [esi], eax
mov eax, dword [esp + 8]
xor eax, dword [edx]
add edx, 4
mov edi, eax
and edi, 0x3f
mov edi, dword [ebx + edi*4 + 0x700]
xor dword [esi], edi
mov edi, eax
shr edi, 8
and edi, 0x3f
mov edi, dword [ebx + edi*4 + 0x500]
xor dword [esi], edi
mov edi, eax
shr edi, 0x10
and edi, 0x3f
mov edi, dword [ebx + edi*4 + 0x300]
xor dword [esi], edi
shr eax, 0x18
and eax, 0x3f
mov eax, dword [ebx + eax*4 + 0x100]
xor dword [esi], eax
mov eax, dword [esi]
shr eax, 4
mov edi, dword [esi]
shl edi, 0x1c
or eax, edi
xor eax, dword [edx]
add edx, 4
mov edi, eax
and edi, 0x3f
mov edi, dword [ebx + edi*4 + 0x600]
xor dword [esp + 8], edi
mov edi, eax
shr edi, 8
and edi, 0x3f
mov edi, dword [ebx + edi*4 + 0x400]
xor dword [esp + 8], edi
mov edi, eax
shr edi, 0x10
and edi, 0x3f
mov edi, dword [ebx + edi*4 + 0x200]
xor dword [esp + 8], edi
shr eax, 0x18
and eax, 0x3f
mov eax, dword [ebx + eax*4]
xor dword [esp + 8], eax
mov eax, dword [esi]
xor eax, dword [edx]
add edx, 4
mov edi, eax
and edi, 0x3f
mov edi, dword [ebx + edi*4 + 0x700]
xor dword [esp + 8], edi
mov edi, eax
shr edi, 8
and edi, 0x3f
mov edi, dword [ebx + edi*4 + 0x500]
xor dword [esp + 8], edi
mov edi, eax
shr edi, 0x10
and edi, 0x3f
mov edi, dword [ebx + edi*4 + 0x300]
xor dword [esp + 8], edi
shr eax, 0x18
and eax, 0x3f
mov eax, dword [ebx + eax*4 + 0x100]
xor dword [esp + 8], eax
dec ecx
jne 0x4b99dc
lea edx, [esp + 8]
mov eax, esi
call fcn.004b9928
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [esi]
call fcn.004b9888
add esp, 0xc
pop edi
pop esi
pop ebx
ret

Function at 0x4b9bdc
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
push esi
push edi
add esp, 0xfffffee8
mov ebx, eax
mov edx, esp
mov eax, ebx
mov ecx, 0x118
call fcn.00403140
xor eax, eax
mov dword [esp], eax
mov esi, 0x506e10
lea edi, [esp + 4]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], 0x55555555
mov dword [esp + 0x10c], 0x55555555
mov dword [esp + 0x110], 0x55555555
mov dword [esp + 0x114], 0x55555555
mov edx, ebx
mov eax, esp
mov ecx, 0x118
call fcn.00403140
add esp, 0x118
pop edi
pop esi
pop ebx
ret