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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
cmp dword [ebp + 8], 0
push ebx
push esi
push edi
jne 0x420874
xor bl, bl
jmp 0x4209c6
and dword [ebp - 0xc], 0
lea eax, [ebp - 4]
mov esi, dword [sym.imp.system.dll_public:_static_class_Ref_class_String____cdecl_String::create_void_]
lea edi, [ebp - 0x20]
push eax
mov dword [ebp - 0x1e], 0xb50088fb
mov dword [ebp - 0x1a], 0x474cd23
mov word [ebp - 0x20], 0x4ccf
mov byte [ebp - 0x16], 0xe8
call esi
mov bl, 0x70
mov bh, 0xbf
pop ecx
mov byte [ebp - 8], bl
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x10]
push dword [ebp - 8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
lea ecx, [ebp - 4]
call fcn.00401929
lea ecx, [ebp - 0x10]
call fcn.00401871
add bh, bl
inc edi
mov bl, byte [edi]
xor bl, bh
mov byte [ebp - 8], bl
jne 0x4208a7
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0xc]
call fcn.00401929
lea ecx, [ebp - 4]
call fcn.00401871
and dword [ebp - 0x10], 0
lea eax, [ebp - 4]
push eax
mov dword [ebp - 0x1c], 0xc33b8914
lea edi, [ebp - 0x20]
mov dword [ebp - 0x20], 0x7dc958b2
call esi
mov bl, 0x65
mov bh, 0xd7
pop ecx
mov byte [ebp - 8], bl
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x14]
push dword [ebp - 8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
lea ecx, [ebp - 4]
call fcn.00401929
lea ecx, [ebp - 0x14]
call fcn.00401871
add bh, bl
inc edi
mov bl, byte [edi]
xor bl, bh
mov byte [ebp - 8], bl
jne 0x42090a
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x10]
call fcn.00401929
lea ecx, [ebp - 4]
call fcn.00401871
mov esi, dword [ebp - 0xc]
mov ebx, dword [ebp + 8]
push ecx
mov eax, esp
mov dword [eax], esi
test esi, esi
je 0x420969
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x10]
push ecx
mov eax, esp
mov dword [eax], edi
test edi, edi
je 0x420985
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, edi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebx]
lea ecx, [ebp - 0x14]
push ecx
mov ecx, ebx
call dword [eax + 4]
lea ecx, [ebp - 0x14]
cmp dword [eax], 0
setne bl
call fcn.00401871
test edi, edi
je 0x4209b2
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, edi
mov eax, dword [ecx]
call dword [eax + 8]
test esi, esi
je 0x4209c6
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 4]
add ecx, 4
add ecx, esi
mov edx, dword [ecx]
call dword [edx + 8]
lea ecx, [ebp + 8]
call fcn.00401871
pop edi
pop esi
mov al, bl
pop ebx
leave
ret
Function at 0x429a93
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
lea eax, [ebp - 4]
mov dword [ebp - 0x23], 0x67cc53bd
xor edi, edi
mov dword [ebp - 0x1f], 0xb42a8fe6
push eax
mov dword [ebp - 0x14], edi
lea esi, [ebp - 0x24]
mov byte [ebp - 0x24], 0x1c
call dword [sym.imp.system.dll_public:_static_class_Ref_class_String____cdecl_String::create_void_]
mov bl, 0x6c
mov bh, 0x70
pop ecx
mov byte [ebp - 0x10], bl
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x18]
push dword [ebp - 0x10]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
lea ecx, [ebp - 4]
call fcn.00401929
lea ecx, [ebp - 0x18]
call fcn.00401871
add bh, bl
inc esi
mov bl, byte [esi]
xor bl, bh
mov byte [ebp - 0x10], bl
jne 0x429ac8
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x14]
call fcn.00401929
lea ecx, [ebp - 4]
call fcn.00401871
lea edx, [ebp - 8]
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x18]
mov dword [ebp - 6], 0x55a30c9e
mov word [ebp - 8], 0xfd59
mov word [ebp - 2], 0xecc
call fcn.0041a883
push eax
lea ecx, [ebp - 0x10]
call fcn.00401929
lea ecx, [ebp - 0x18]
call fcn.00401871
lea edx, [ebp - 0x24]
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x18]
mov word [ebp - 0x20], 0xe8f
mov word [ebp - 0x1d], 0x9c52
mov dword [ebp - 0x24], 0xf44ba534
mov byte [ebp - 0x1e], 0xb7
call fcn.0042b3ea
push eax
lea ecx, [ebp - 4]
call fcn.00401929
lea ecx, [ebp - 0x18]
call fcn.00401871
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
push ecx
mov eax, esp
mov dword [eax], edi
test edi, edi
je 0x429b8f
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, edi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
push ecx
mov eax, esp
mov dword [eax], esi
test esi, esi
je 0x429bab
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebx]
lea ecx, [ebp - 0xc]
push ecx
mov ecx, ebx
call dword [eax + 4]
cmp dword [ebp - 0xc], 0
jne 0x429bfd
mov ebx, dword [ebp + 8]
push ecx
mov eax, esp
push ecx
mov ecx, esp
and dword [eax], 0
mov eax, dword [ebp - 4]
mov dword [ecx], eax
test eax, eax
je 0x429be1
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebx]
lea ecx, [ebp - 0x18]
push ecx
mov ecx, ebx
call dword [eax + 4]
push eax
lea ecx, [ebp - 4]
call fcn.00401929
lea ecx, [ebp - 0x18]
call fcn.00401871
push ecx
lea eax, [ebp - 0xc]
mov ecx, esp
push eax
call fcn.0040203d
call fcn.004299d9
pop ecx
lea ecx, [ebp - 0xc]
mov bl, al
call fcn.00401871
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x429c2e
mov edx, dword [ecx + 4]
add ecx, 4
add ecx, dword [edx + 4]
mov eax, dword [ecx]
call dword [eax + 8]
test edi, edi
je 0x429c42
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, edi
mov eax, dword [ecx]
call dword [eax + 8]
test esi, esi
je 0x429c56
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, esi
mov eax, dword [ecx]
call dword [eax + 8]
lea ecx, [ebp + 8]
call fcn.00401871
pop edi
pop esi
mov al, bl
pop ebx
leave
ret
Function at 0x429d16
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
and dword [ebp - 0x1c], 0
lea eax, [ebp - 8]
push ebx
push esi
push eax
mov word [ebp - 4], 0x71d4
lea esi, [ebp - 4]
mov byte [ebp - 2], 0x79
call dword [sym.imp.system.dll_public:_static_class_Ref_class_String____cdecl_String::create_void_]
mov bl, 0x70
mov bh, 0xa4
pop ecx
mov byte [ebp - 0x18], bl
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x24]
push dword [ebp - 0x18]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
lea ecx, [ebp - 8]
call fcn.00401929
lea ecx, [ebp - 0x24]
call fcn.00401871
add bh, bl
inc esi
mov bl, byte [esi]
xor bl, bh
mov byte [ebp - 0x18], bl
jne 0x429d41
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00401929
lea ecx, [ebp - 8]
call fcn.00401871
and dword [ebp - 0x18], 0
lea edx, [ebp - 0xc]
mov ebx, 0x1c3d
mov dword [ebp - 0xc], 0xefef40d8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.0041ac1f
push eax
lea ecx, [ebp - 0x18]
call fcn.00401929
lea ecx, [ebp - 0x28]
call fcn.00401871
and dword [ebp - 0x14], 0
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x2c]
mov word [ebp - 0x32], 0x30b2
mov word [ebp - 0x2f], 0xfe4e
mov word [ebp - 0x34], 0x1377
mov byte [ebp - 0x30], 0xd1
mov byte [ebp - 0x2d], 0xfe
call fcn.0041af21
push eax
lea ecx, [ebp - 0x14]
call fcn.00401929
lea ecx, [ebp - 0x2c]
call fcn.00401871
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp + 8]
push ecx
mov ecx, esp
mov dword [ecx], eax
test eax, eax
je 0x429e09
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x14]
push ecx
mov ecx, esp
mov dword [ecx], eax
test eax, eax
je 0x429e25
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi]
lea ecx, [ebp - 0x20]
push ecx
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x429e4a
mov eax, dword [ecx]
lea edx, [ebp - 0x1c]
push edx
call dword [eax + 0x90]
test al, al
je 0x429e4a
mov dword [ebp - 0x10], ebx
mov esi, dword [ebp - 0x10]
lea ecx, [ebp - 0x20]
call fcn.00401871
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x429e6c
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x429e83
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x429e98
mov edx, dword [ecx + 4]
add ecx, 4
add ecx, dword [edx + 4]
mov edx, dword [ecx]
call dword [edx + 8]
lea ecx, [ebp + 8]
call fcn.00401871
mov eax, esi
pop esi
pop ebx
leave
ret
Function at 0x42a36c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
lea eax, [ebp - 4]
mov word [ebp - 0x19], 0x21d9
xor edi, edi
mov dword [ebp - 0x20], 0x7fc428b1
push eax
mov dword [ebp - 0x10], edi
lea esi, [ebp - 0x20]
mov word [ebp - 0x1c], 0x950a
mov byte [ebp - 0x1a], 0x32
call dword [sym.imp.system.dll_public:_static_class_Ref_class_String____cdecl_String::create_void_]
mov bl, 0x6c
mov bh, 0xdd
pop ecx
mov byte [ebp - 0xc], bl
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x14]
push dword [ebp - 0xc]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
lea ecx, [ebp - 4]
call fcn.00401929
lea ecx, [ebp - 0x14]
call fcn.00401871
add bh, bl
inc esi
mov bl, byte [esi]
xor bl, bh
mov byte [ebp - 0xc], bl
jne 0x42a3a6
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x10]
call fcn.00401929
lea ecx, [ebp - 4]
call fcn.00401871
lea edx, [ebp - 4]
mov dword [ebp - 0xc], edi
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0xefef40d8
call fcn.0041ac1f
push eax
lea ecx, [ebp - 0xc]
call fcn.00401929
lea ecx, [ebp - 0x14]
call fcn.00401871
lea edx, [ebp - 0x20]
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x14]
mov word [ebp - 0x1c], 0xe8f
mov word [ebp - 0x19], 0x9c52
mov dword [ebp - 0x20], 0xf44ba534
mov byte [ebp - 0x1a], 0xb7
call fcn.0042b3ea
push eax
lea ecx, [ebp - 4]
call fcn.00401929
lea ecx, [ebp - 0x14]
call fcn.00401871
mov edi, dword [ebp - 0xc]
mov ebx, dword [ebp + 8]
push ecx
mov eax, esp
mov dword [eax], edi
test edi, edi
je 0x42a461
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, edi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x10]
push ecx
mov eax, esp
mov dword [eax], esi
test esi, esi
je 0x42a47d
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebx]
lea ecx, [ebp - 8]
push ecx
mov ecx, ebx
call dword [eax + 4]
cmp dword [ebp - 8], 0
jne 0x42a4cf
mov ebx, dword [ebp + 8]
push ecx
mov eax, esp
push ecx
mov ecx, esp
and dword [eax], 0
mov eax, dword [ebp - 4]
mov dword [ecx], eax
test eax, eax
je 0x42a4b3
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebx]
lea ecx, [ebp - 0x14]
push ecx
mov ecx, ebx
call dword [eax + 4]
push eax
lea ecx, [ebp - 4]
call fcn.00401929
lea ecx, [ebp - 0x14]
call fcn.00401871
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.0040203d
call fcn.004299d9
pop ecx
lea ecx, [ebp - 8]
mov bl, al
call fcn.00401871
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x42a500
mov edx, dword [ecx + 4]
add ecx, 4
add ecx, dword [edx + 4]
mov eax, dword [ecx]
call dword [eax + 8]
test edi, edi
je 0x42a514
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, edi
mov eax, dword [ecx]
call dword [eax + 8]
test esi, esi
je 0x42a528
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, esi
mov eax, dword [ecx]
call dword [eax + 8]
lea ecx, [ebp + 8]
call fcn.00401871
pop edi
pop esi
mov al, bl
pop ebx
leave
ret
Function at 0x42ea5a
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
test eax, eax
je 0x42eae2
xor ecx, ecx
mov dword [eax + 8], 0xf3bcc908
mov dword [eax + 0x48], ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x6a09e667
mov dword [eax + 0x10], 0x84caa73b
mov dword [eax + 0x14], 0xbb67ae85
mov dword [eax + 0x18], 0xfe94f82b
mov dword [eax + 0x1c], 0x3c6ef372
mov dword [eax + 0x20], 0x5f1d36f1
mov dword [eax + 0x24], 0xa54ff53a
mov dword [eax + 0x28], 0xade682d1
mov dword [eax + 0x2c], 0x510e527f
mov dword [eax + 0x30], 0x2b3e6c1f
mov dword [eax + 0x34], 0x9b05688c
mov dword [eax + 0x38], 0xfb41bd6b
mov dword [eax + 0x3c], 0x1f83d9ab
mov dword [eax + 0x40], 0x137e2179
mov dword [eax + 0x44], 0x5be0cd19
xor eax, eax
pop ebp
ret
push 0xb1
mov ecx, str.md___NULL
call fcn.0042de7d
int3
Function at 0x430705
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
test eax, eax
je 0x430755
xor ecx, ecx
mov dword [eax + 8], 0x6a09e667
mov dword [eax + 0x28], ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0xbb67ae85
mov dword [eax + 0x10], 0x3c6ef372
mov dword [eax + 0x14], 0xa54ff53a
mov dword [eax + 0x18], 0x510e527f
mov dword [eax + 0x1c], 0x9b05688c
mov dword [eax + 0x20], 0x1f83d9ab
mov dword [eax + 0x24], 0x5be0cd19
xor eax, eax
pop ebp
ret
push 0xd0
mov ecx, str.md___NULL
call fcn.0042de7d
int3
Function at 0x430dc5
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
test eax, eax
je 0x430e00
xor ecx, ecx
mov dword [eax + 8], 0x67452301
mov dword [eax + 0xc], 0xefcdab89
mov dword [eax + 0x10], 0x98badcfe
mov dword [eax + 0x14], 0x10325476
mov dword [eax + 0x18], 0xc3d2e1f0
mov dword [eax + 0x1c], ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
xor eax, eax
pop ebp
ret
push 0xa7
mov ecx, str.md___NULL
call fcn.0042de7d
int3

Function at 0x4316ba
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
test eax, eax
je 0x4316ee
xor ecx, ecx
mov dword [eax + 8], 0x67452301
mov dword [eax + 0xc], 0xefcdab89
mov dword [eax + 0x10], 0x98badcfe
mov dword [eax + 0x14], 0x10325476
mov dword [eax + 0x18], ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
xor eax, eax
pop ebp
ret
push 0xeb
mov ecx, str.md___NULL
call fcn.0042de7d
int3
Function at 0x43ac4a
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, dword [sym.imp.lib.stdc.dll_fopen]
mov ebx, edx
push 0x45c57c
push str._dev_urandom
mov dword [ebp - 4], ecx
call edi
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x43ac84
push 0x45c57c
push str._dev_random
call edi
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x43acb4
xor edi, edi
push edi
push 3
push edi
push esi
call dword [sym.imp.lib.stdc.dll_setvbuf]
add esp, 0x10
test eax, eax
jne 0x43acaa
push esi
push ebx
push 1
push dword [ebp - 4]
call dword [sym.imp.lib.stdc.dll_fread]
add esp, 0x10
mov edi, eax
push esi
call dword [sym.imp.lib.stdc.dll_fclose]
pop ecx
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret

Function at 0x43acb9
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push esi
mov esi, dword [sym.imp.lib.stdc.dll_clockTicks]
push edi
mov edi, edx
mov dword [ebp - 0x10], ecx
call esi
cmp eax, 0x64
jl 0x43ad71
call esi
cmp eax, 0x2710
jg 0x43ad71
and dword [ebp - 8], 0
mov eax, edi
and dword [ebp - 4], 0
mov dword [ebp - 0x20], eax
test edi, edi
je 0x43ad73
mov esi, dword [sym.imp.lib.stdc.dll_clock]
push ebx
dec edi
xor ebx, ebx
push 8
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 4]
pop eax
mov dword [ebp - 0xc], ebx
dec eax
mov dword [ebp - 0x18], eax
call esi
mov dword [ebp - 0x14], eax
call esi
mov ebx, dword [ebp - 0x14]
cmp ebx, eax
jne 0x43ad29
xor edi, 1
call esi
cmp ebx, eax
je 0x43ad1d
mov dword [ebp - 4], edi
call esi
mov ebx, eax
call esi
cmp ebx, eax
jne 0x43ad45
mov edi, dword [ebp - 8]
xor edi, 1
call esi
cmp ebx, eax
je 0x43ad36
mov dword [ebp - 8], edi
mov edi, dword [ebp - 4]
cmp edi, dword [ebp - 8]
je 0x43ad0f
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
add ebx, ebx
or ebx, edi
mov dword [ebp - 0xc], ebx
test eax, eax
jne 0x43ad0b
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x1c]
mov byte [eax], bl
inc eax
mov dword [ebp - 0x10], eax
test edi, edi
jne 0x43acfc
mov eax, dword [ebp - 0x20]
pop ebx
jmp 0x43ad73
xor eax, eax
pop edi
pop esi
leave
ret
Function at 0x43bdc3
Capabilities:
Encrypt data using aes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x10c0
call fcn.004460c0
push esi
push edi
mov esi, 0x457304
mov eax, 0x10a0
lea ecx, [esp + 0x28]
mov byte [ecx], 0
inc ecx
sub eax, 1
jne 0x43bde3
lea eax, [esp + 0x28]
push eax
push 0
push dword [esi - 4]
push esi
call fcn.0043adb0
add esp, 0x10
test eax, eax
jne 0x43bec7
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc]
push eax
lea edi, [esi + 0x20]
push edi
call fcn.0043b2ab
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.0043b803
add esp, 0x18
lea edx, [esp + 8]
xor ecx, ecx
mov eax, dword [edx + ecx*4]
cmp eax, dword [esi + ecx*4 + 0x30]
jne 0x43bec4
inc ecx
cmp ecx, 4
jne 0x43be37
lea edx, [esp + 0x18]
xor ecx, ecx
mov eax, dword [edx + ecx*4]
cmp eax, dword [edi + ecx*4]
jne 0x43bec4
inc ecx
cmp ecx, 4
jne 0x43be50
xor eax, eax
lea edi, [esp + 8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, 0x3e8
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc]
push eax
push eax
call fcn.0043b2ab
add esp, 0xc
sub edi, 1
jne 0x43be6d
mov edi, 0x3e8
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc]
push eax
push eax
call fcn.0043b803
add esp, 0xc
sub edi, 1
jne 0x43be8a
xor eax, eax
cmp byte [esp + eax + 8], 0
jne 0x43bec4
inc eax
cmp eax, 0x10
jl 0x43bea4
add esi, 0x44
cmp esi, 0x4573d0
jl 0x43bdda
xor eax, eax
jmp 0x43bec7
push 5
pop eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x44286a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
and dword [ebp - 0xc], 0
lea eax, [ebp - 4]
push ebx
push esi
push eax
mov dword [ebp - 0x17], 0x6e66cdf
lea esi, [ebp - 0x18]
mov byte [ebp - 0x18], 0x3e
call dword [sym.imp.system.dll_public:_static_class_Ref_class_String____cdecl_String::create_void_]
mov bl, 0x42
mov bh, 0x7c
pop ecx
mov byte [ebp - 8], bl
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x10]
push dword [ebp - 8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
lea ecx, [ebp - 4]
call fcn.00401929
lea ecx, [ebp - 0x10]
call fcn.00401871
add bh, bl
inc esi
mov bl, byte [esi]
xor bl, bh
mov byte [ebp - 8], bl
jne 0x442896
push edi
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0xc]
call fcn.00401929
lea ecx, [ebp - 4]
call fcn.00401871
mov esi, dword [ebp - 0xc]
mov ecx, esi
push 0
mov eax, dword [esi]
call dword [eax + 0xd4]
mov edi, eax
push edi
call dword [sym.imp.lib.syslog.dll_public:_static_unsigned_int___cdecl_SysLogFilter::reg_char_const__]
push edi
mov ebx, eax
call fcn.00416ddd
pop ecx
pop ecx
pop edi
test esi, esi
je 0x44290e
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 4]
add ecx, 4
add ecx, esi
mov eax, dword [ecx]
call dword [eax + 8]
pop esi
mov eax, ebx
pop ebx
leave
ret
Function at 0x44299a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
and dword [0x4741bc], 0
lea eax, [ebp - 4]
push ebx
push esi
push eax
mov dword [ebp - 0x1c], 0xdcc610ad
lea esi, [ebp - 0x1c]
mov dword [ebp - 0x13], 0x92f457d6
mov dword [ebp - 0x18], 0x70d2270f
mov byte [ebp - 0x14], 0xf8
mov byte [ebp - 0xf], 0x62
call dword [sym.imp.system.dll_public:_static_class_Ref_class_String____cdecl_String::create_void_]
mov bl, 0x53
mov bh, 0xfe
pop ecx
mov byte [ebp - 8], bl
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xc]
push dword [ebp - 8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
lea ecx, [ebp - 4]
call fcn.00401929
lea ecx, [ebp - 0xc]
call fcn.00401871
add bh, bl
inc esi
mov bl, byte [esi]
xor bl, bh
mov byte [ebp - 8], bl
jne 0x4429db
lea eax, [ebp - 4]
mov esi, 0x4741bc
push eax
mov ecx, esi
call fcn.00401929
lea ecx, [ebp - 4]
call fcn.00401871
mov eax, esi
pop esi
pop ebx
leave
ret 4

Function at 0x442a27
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
and dword [0x4741c8], 0
lea eax, [ebp - 4]
push ebx
push esi
push eax
mov dword [ebp - 0x23], 0x3276b0e9
lea esi, [ebp - 0x28]
mov word [ebp - 0x17], 0xb833
mov word [ebp - 0x14], 0xb58d
mov word [ebp - 0x11], 0xae2
mov dword [ebp - 0x1c], 0xf645acbe
mov word [ebp - 0x28], 0x65f
mov word [ebp - 0x25], 0x1a5f
mov word [ebp - 0x1f], 0x47f5
mov byte [ebp - 0x15], 0x5b
mov byte [ebp - 0x12], 0x54
mov byte [ebp - 0x26], 0xeb
mov byte [ebp - 0x18], 0x9d
mov byte [ebp - 0x1d], 0x6d
call dword [sym.imp.system.dll_public:_static_class_Ref_class_String____cdecl_String::create_void_]
mov bl, 0x53
mov bh, 0xc
pop ecx
mov byte [ebp - 8], bl
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xc]
push dword [ebp - 8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
lea ecx, [ebp - 4]
call fcn.00401929
lea ecx, [ebp - 0xc]
call fcn.00401871
add bh, bl
inc esi
mov bl, byte [esi]
xor bl, bh
mov byte [ebp - 8], bl
jne 0x442a91
lea eax, [ebp - 4]
mov esi, 0x4741c8
push eax
mov ecx, esi
call fcn.00401929
lea ecx, [ebp - 4]
call fcn.00401871
mov eax, esi
pop esi
pop ebx
leave
ret 4
Function at 0x8f2f10
Capabilities:
Get disk information

Disassembly:
push 0xffffffffffffffff
push 0x9079fb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push ebp
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov esi, dword [esp + 0x2c]
xor ebp, ebp
mov dword [esp + 0x10], eax
xor ebx, ebx
mov eax, 1
mov ecx, ebx
shl eax, cl
mov ecx, dword [esp + 0x10]
test ecx, eax
je 0x8f3002
lea edx, [ebx + 0x41]
lea eax, [esp + 0x14]
push edx
push str._c:_
push eax
call fcn.008f6dff
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x8f3002
lea edx, [esp + 0x14]
push edx
push str.Mounting__s_n
call fcn.008ee6e0
lea eax, [esp + 0x1c]
lea edi, [esi + 0x1048]
push eax
push edi
mov word [esp + 0x28], bp
call fcn.008f720b
push 0x10
call fcn.008f71d3
add esp, 0x14
mov dword [esp + 0x2c], eax
cmp eax, ebp
mov dword [esp + 0x24], ebp
je 0x8f2fc5
mov cx, word [edi]
push ecx
mov ecx, eax
call fcn.008e31c0
jmp 0x8f2fc7
xor eax, eax
push esi
mov dword [esp + 0x28], 0xffffffff
mov dword [esi], eax
call fcn.008f2b80
mov edi, dword [esi]
add esp, 4
cmp edi, ebp
je 0x8f2ff0
mov ecx, edi
call fcn.008e32c0
push edi
call fcn.008f71c8
add esp, 4
mov edx, dword [esi + 0x1024]
push ebp
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x8f3021
inc ebx
cmp ebx, 0x20
jb 0x8f2f3e
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret
Function at 0x8f61b0
Capabilities:
Acquire debug privileges

Disassembly:
push ecx
lea eax, [esp]
mov dword [esp], 0
push eax
push 0x20
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp]
push 1
push str.SeBackupPrivilege
push ecx
call fcn.008f6140
mov edx, dword [esp + 0xc]
push 1
push str.SeDebugPrivilege
push edx
call fcn.008f6140
mov eax, dword [esp + 0x18]
push 1
push str.SeRestorePrivilege
push eax
call fcn.008f6140
mov ecx, dword [esp + 0x24]
push 1
push str.SeSecurityPrivilege
push ecx
call fcn.008f6140
mov edx, dword [esp + 0x30]
add esp, 0x30
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
pop ecx
ret

Function at 0x8f6bfa
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push esi
lea eax, [ebp - 4]
push eax
push 0x20019
xor esi, esi
push esi
push str.CLSIDADB880A6_D8FF_11CF_9377_00AA003B7A11InprocServer32
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x8f6c50
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
mov dword [ebp - 8], 0x104
push esi
push esi
push 0x90887c
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x8f6c43
inc esi
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
jmp 0x8f6c52
xor eax, eax
pop esi
leave
ret 4