joyce8/EMBER2024-capa huggingface dataset:
Function at 0x43e676
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x5e2ac5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push esi
mov esi, ecx
mov dword [esp + 4], esi
lea ecx, [esi + 0x9e8]
mov dword [esp + 0x10], 0x28
call fcn.005d1625
lea ecx, [esi + 0x9ac]
mov byte [esp + 0x10], 0x27
call fcn.005d1625
lea ecx, [esi + 0x970]
mov byte [esp + 0x10], 0x26
call fcn.005d133f
lea ecx, [esi + 0x934]
mov byte [esp + 0x10], 0x25
call fcn.005d133f
lea ecx, [esi + 0x8f8]
mov byte [esp + 0x10], 0x24
call fcn.005d133f
lea ecx, [esi + 0x8bc]
mov byte [esp + 0x10], 0x23
call fcn.005d133f
lea ecx, [esi + 0x880]
mov byte [esp + 0x10], 0x22
call fcn.005d1625
lea ecx, [esi + 0x844]
mov byte [esp + 0x10], 0x21
call fcn.005d1625
lea ecx, [esi + 0x808]
mov byte [esp + 0x10], 0x20
call fcn.005d1625
lea ecx, [esi + 0x7cc]
mov byte [esp + 0x10], 0x1f
call fcn.005d151a
lea ecx, [esi + 0x790]
mov byte [esp + 0x10], 0x1e
call fcn.005d133f
lea ecx, [esi + 0x754]
mov byte [esp + 0x10], 0x1d
call fcn.005d133f
mov byte [esp + 0x10], 0x1c
lea ecx, [esi + 0x718]
call fcn.005d133f
lea ecx, [esi + 0x6dc]
mov byte [esp + 0x10], 0x1b
call fcn.005d133f
lea ecx, [esi + 0x6a0]
mov byte [esp + 0x10], 0x1a
call fcn.005d133f
lea ecx, [esi + 0x664]
mov byte [esp + 0x10], 0x19
call fcn.005d133f
lea ecx, [esi + 0x628]
mov byte [esp + 0x10], 0x18
call fcn.005d133f
lea ecx, [esi + 0x5ec]
mov byte [esp + 0x10], 0x17
call fcn.005d133f
lea ecx, [esi + 0x584]
mov byte [esp + 0x10], 0x16
call fcn.00413610
lea ecx, [esi + 0x548]
mov byte [esp + 0x10], 0x15
call fcn.005d133f
lea ecx, [esi + 0x50c]
mov byte [esp + 0x10], 0x14
call fcn.005d133f
lea ecx, [esi + 0x4d0]
mov byte [esp + 0x10], 0x13
call fcn.005d1625
lea ecx, [esi + 0x494]
mov byte [esp + 0x10], 0x12
call fcn.005d1625
lea ecx, [esi + 0x458]
mov byte [esp + 0x10], 0x11
call fcn.005d133f
lea ecx, [esi + 0x41c]
mov byte [esp + 0x10], 0x10
call fcn.005d133f
lea ecx, [esi + 0x3e0]
mov byte [esp + 0x10], 0xf
call fcn.005d133f
lea ecx, [esi + 0x3a4]
mov byte [esp + 0x10], 0xe
call fcn.005d133f
lea ecx, [esi + 0x368]
mov byte [esp + 0x10], 0xd
call fcn.005d133f
lea ecx, [esi + 0x32c]
mov byte [esp + 0x10], 0xc
call fcn.005d151a
lea ecx, [esi + 0x2f0]
mov byte [esp + 0x10], 0xb
call fcn.005d1625
lea ecx, [esi + 0x2b4]
mov byte [esp + 0x10], 0xa
call fcn.005d1625
lea ecx, [esi + 0x278]
mov byte [esp + 0x10], 9
call fcn.005d1625
lea ecx, [esi + 0x23c]
mov byte [esp + 0x10], 8
call fcn.005d133f
lea ecx, [esi + 0x200]
mov byte [esp + 0x10], 7
call fcn.005d1625
lea ecx, [esi + 0x1c4]
mov byte [esp + 0x10], 6
call fcn.005d1625
lea ecx, [esi + 0x188]
mov byte [esp + 0x10], 5
call fcn.005d133f
lea ecx, [esi + 0x14c]
mov byte [esp + 0x10], 4
call fcn.005d133f
lea ecx, [esi + 0x110]
mov byte [esp + 0x10], 3
call fcn.005d133f
lea ecx, [esi + 0xd4]
mov byte [esp + 0x10], 2
call fcn.005d133f
mov byte [esp + 0x10], 1
lea ecx, [esi + 0x98]
call fcn.005d151a
lea ecx, [esi + 0x5c]
mov byte [esp + 0x10], 0
call fcn.005ba1bf
mov ecx, esi
mov dword [esp + 0x10], 0xffffffff
call fcn.005bcb4c
mov ecx, dword [esp + 8]
pop esi
mov dword fs:[0], ecx
add esp, 0x10
ret
Function at 0x44eec0
Capabilities:
Enumerate files on windows

Disassembly:
push 0xffffffffffffffff
push 0x5e49f6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x184
mov eax, dword [esp + 0x198]
push ebx
push ebp
push esi
mov esi, ecx
push edi
test eax, eax
mov dword [esp + 0x18], esi
mov eax, str..exe
je 0x44eefa
mov eax, str..e
mov edi, dword [esp + 0x1a4]
push eax
lea eax, [esp + 0x14]
push edi
push eax
call fcn.005bc6b6
mov eax, dword [eax]
lea ecx, [esp + 0x54]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea ecx, [esp + 0x10]
mov ebx, eax
call fcn.005bc421
mov ebp, dword [esi + 0x134]
cmp ebx, 0xffffffff
mov dword [esp + 0x14], ebp
je 0x44efdb
mov ebp, dword [esp + 0x1ac]
add esi, 0x12c
push 0x649634
lea edx, [esp + 0x20]
push edi
push edx
call fcn.005bc6b6
lea ecx, [esp + 0x80]
lea edx, [esp + 0x10]
push ecx
push eax
push edx
mov dword [esp + 0x1a8], 0
call fcn.005bc6b6
mov ecx, dword [esi + 8]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0x1a4], 1
call fcn.005bb0f8
lea ecx, [esp + 0x10]
mov byte [esp + 0x19c], 0
call fcn.005bc421
lea ecx, [esp + 0x1c]
mov dword [esp + 0x19c], 0xffffffff
call fcn.005bc421
test ebp, ebp
je 0x44efb8
mov dword [ebp], 1
lea eax, [esp + 0x54]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x44ef46
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x1a8], 2
je 0x44f014
mov ecx, dword [esi + 0x134]
lea edx, [esp + 0x20]
sub ecx, ebp
push ecx
push 0x64aafc
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x20]
lea ecx, [esi + 0x12c]
push 1
push eax
push ebp
call fcn.005bb19a
mov ecx, dword [esp + 0x194]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x190
ret 0xc
Function at 0x45b9a0
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5e5f23
push eax
mov dword fs:[0], esp
sub esp, 0x78
push esi
push edi
mov edi, ecx
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
jne 0x45b9dc
pop edi
pop esi
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
add esp, 0x84
ret
xor eax, eax
mov ax, word [0x676294]
push eax
call dword [sym.imp.USER32.dll_GetClipboardData]
mov esi, eax
test esi, esi
jne 0x45ba0d
call dword [sym.imp.USER32.dll_CloseClipboard]
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
add esp, 0x84
ret
push 0x1000
push 0x2002
lea ecx, [esp + 0x10]
call fcn.005d5f49
push 0
push esi
lea ecx, [esp + 0x10]
mov dword [esp + 0x90], 0
call fcn.005d5fcd
push 0
push 0x1000
lea ecx, [esp + 0x10]
push 1
push ecx
lea ecx, [esp + 0x4c]
call fcn.005c4459
push 0
push 0
push 1
push 0
push 0
lea edx, [esp + 0x50]
push 0
push edx
mov ecx, edi
mov byte [esp + 0xa4], 1
call fcn.0045c4a0
lea ecx, [esp + 0x3c]
mov esi, eax
call fcn.005c45bd
lea ecx, [esp + 8]
call fcn.005d606e
call dword [sym.imp.USER32.dll_CloseClipboard]
lea ecx, [esp + 0x3c]
mov byte [esp + 0x88], 0
call fcn.005c4535
lea ecx, [esp + 8]
mov dword [esp + 0x88], 0xffffffff
call fcn.005d5f8f
mov ecx, dword [esp + 0x80]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x84
ret

Function at 0x45bad0
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5e5f48
push eax
mov dword fs:[0], esp
sub esp, 0x14
push esi
mov esi, dword [esp + 0x34]
test esi, esi
je 0x45baf7
mov dword [esi], 0
lea ecx, [esp + 4]
call fcn.005c191d
mov eax, dword [0x6707bc]
mov dword [esp + 4], vtable.CMirrorFile.0
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x28]
push 0
push 0x20
push ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], 0
call fcn.005c5d9d
test eax, eax
je 0x45bb7d
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push esi
push edx
lea ecx, [esp + 0xc]
push eax
push ecx
call fcn.0045bbc0
add esp, 0x10
mov esi, eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x20], 1
call fcn.005bc421
lea ecx, [esp + 4]
mov dword [esp + 0x20], 0xffffffff
call fcn.005c1972
mov eax, esi
pop esi
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret
lea ecx, [esp + 0x14]
mov dword [esp + 0x20], 2
call fcn.005bc421
lea ecx, [esp + 4]
mov dword [esp + 0x20], 0xffffffff
call fcn.005c1972
mov ecx, dword [esp + 0x18]
xor eax, eax
pop esi
mov dword fs:[0], ecx
add esp, 0x20
ret
Function at 0x467530
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x5e6980
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
mov eax, dword [0x6707bc]
push ebx
push ebp
push edi
mov ebp, ecx
mov dword [esp + 0x14], eax
xor edx, edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x38]
mov byte [esp + 0x30], 2
cmp edi, edx
je 0x467573
mov dword [edi], edx
mov ecx, dword [ebp + 0x1bc]
mov dword [esp + 0x38], edx
cmp ecx, edx
mov dword [esp + 0x24], ecx
jle 0x467647
push esi
mov bl, 4
mov eax, dword [ebp + 0x1b8]
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x18]
mov esi, dword [eax + ecx*4]
lea eax, [esp + 0x14]
push edx
push eax
push ebp
mov ecx, esi
call fcn.004617a0
test eax, eax
je 0x46762d
add esi, 4
push 0x6610d8
lea ecx, [esp + 0x28]
push esi
push ecx
call fcn.005bc6b6
lea edx, [esp + 0x14]
mov byte [esp + 0x34], 3
push edx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.005bc650
push 0x65d268
lea ecx, [esp + 0x20]
push eax
push ecx
mov byte [esp + 0x40], bl
call fcn.005bc6b6
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 5
call fcn.005bc839
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], bl
call fcn.005bc421
lea ecx, [esp + 0x20]
mov byte [esp + 0x34], 3
call fcn.005bc421
lea ecx, [esp + 0x24]
mov byte [esp + 0x34], 2
call fcn.005bc421
test edi, edi
je 0x46762d
mov dword [edi], 1
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
inc eax
cmp eax, ecx
mov dword [esp + 0x3c], eax
jl 0x46758c
mov eax, dword [esp + 0x18]
pop esi
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x467659
push eax
call fcn.004ff630
add esp, 4
jmp 0x4676cb
mov edx, dword [esp + 0xc]
mov eax, dword [edx - 8]
test eax, eax
je 0x46770e
lea eax, [esp + 0xc]
lea ecx, [esp + 0x24]
push eax
push 0x662044
push ecx
call fcn.005bc72a
push 0x66202c
lea edx, [esp + 0x3c]
push eax
push edx
mov byte [esp + 0x3c], 6
call fcn.005bc6b6
mov eax, dword [eax]
push 0x24
push eax
mov ecx, 0x6756e0
mov byte [esp + 0x38], 7
call fcn.0043c870
cmp eax, 6
lea ecx, [esp + 0x38]
setne bl
mov byte [esp + 0x30], 6
call fcn.005bc421
lea ecx, [esp + 0x24]
mov byte [esp + 0x30], 2
call fcn.005bc421
test bl, bl
je 0x46770e
lea ecx, [esp + 0x10]
mov byte [esp + 0x30], 1
call fcn.005bc421
lea ecx, [esp + 0xc]
mov byte [esp + 0x30], 0
call fcn.005bc421
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 0xffffffff
call fcn.005bc421
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
add esp, 0x28
ret 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x30], 1
call fcn.005bc421
lea ecx, [esp + 0xc]
mov byte [esp + 0x30], 0
call fcn.005bc421
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 0xffffffff
call fcn.005bc421
mov ecx, dword [esp + 0x28]
pop edi
pop ebp
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x28
ret 4
Function at 0x4690d0
Capabilities:
Encode data using xor

Disassembly:
push ecx
push edi
mov edi, dword [esp + 0x10]
xor eax, eax
xor ecx, ecx
test edi, edi
mov dword [esp + 4], eax
jle 0x469107
push ebx
push esi
mov esi, dword [esp + 0x14]
mov eax, ecx
mov dl, byte [esi]
and eax, 3
mov bl, byte [esp + eax + 0xc]
lea eax, [esp + eax + 0xc]
xor bl, dl
inc ecx
inc esi
cmp ecx, edi
mov byte [eax], bl
jl 0x4690e8
mov eax, dword [esp + 0xc]
pop esi
pop ebx
pop edi
pop ecx
ret
Function at 0x46b010
Capabilities:
Delete file

Disassembly:
push esi
mov esi, ecx
call fcn.00468a40
mov eax, dword [esi + 0x94c]
test eax, eax
je 0x46b040
push 0
lea ecx, [eax + 0x8b4]
call fcn.004b48e0
mov ecx, dword [esi + 0x94c]
add ecx, 0x8b4
call fcn.004b50c0
push 1
mov ecx, esi
call fcn.005cbb4d
mov eax, dword [esi + 0x3f8]
not eax
test al, 1
jne 0x46b0fe
push ebp
push edi
lea edi, [esi + 0xc0]
mov ecx, edi
call fcn.00460cd0
mov ecx, edi
mov ebp, eax
call fcn.00460ce0
mov ecx, 0x676264
mov dword [0x67625c], 0xffffffff
mov dword [0x676260], 0
call fcn.00491ab0
mov ecx, 0x676278
call fcn.00491ab0
mov ecx, esi
mov dword [0x67628c], 0
call fcn.00469ad0
mov ecx, edi
call fcn.00460cd0
xor ecx, ecx
cmp ebp, eax
setne cl
push ecx
mov ecx, esi
call fcn.00468d40
mov eax, dword [esi + 0x944]
test eax, eax
jne 0x46b0ec
mov eax, dword [esi + 0x9fc]
mov edi, 1
cmp eax, edi
jne 0x46b0ec
mov edx, dword [esi + 0x940]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [esi + 0x944], edi
mov ecx, dword [esi + 0x94c]
push 1
mov eax, dword [ecx]
call dword [eax + 0xe0]
pop edi
pop ebp
pop esi
ret
Function at 0x46d490
Capabilities:
Delete file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5e7c30
push eax
mov dword fs:[0], esp
sub esp, 8
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x3f8]
not eax
test al, 1
jne 0x46d5aa
lea edi, [esi + 0xc0]
mov ecx, edi
call fcn.00460c80
cmp eax, 1
jne 0x46d5aa
mov ecx, dword [0x6707bc]
push ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esi + 0x94c]
lea edx, [esp + 0xc]
push edx
add ecx, 0xc0
mov dword [esp + 0x20], 0
call fcn.004fe890
push 0
push 0x662d2c
mov ecx, esi
call fcn.0047ae50
lea ebp, [esi + 0x3fc]
lea ecx, [esp + 0x10]
push ebp
call fcn.005bc196
mov eax, dword [esi + 0x940]
push 1
push eax
mov ecx, edi
mov byte [esp + 0x24], 1
call fcn.00458020
test eax, eax
jne 0x46d558
push eax
push 0x662d0c
mov ecx, esi
call fcn.0047ae50
mov eax, dword [esi + 0x940]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [esi + 0x944], 1
jmp 0x46d57e
mov eax, dword [esp + 0xc]
push 0
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x46d568
push eax
jmp 0x46d56d
push 0x662cf0
mov ecx, esi
call fcn.0047ae50
mov dword [esi + 0x944], 0
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
call fcn.005bc55a
lea ecx, [esp + 0x10]
mov byte [esp + 0x1c], 0
call fcn.005bc421
lea ecx, [esp + 0xc]
mov dword [esp + 0x1c], 0xffffffff
call fcn.005bc421
pop ebp
mov ecx, dword [esp + 0x10]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x14
ret
Function at 0x476500
Capabilities:
Enumerate gui resources

Disassembly:
sub esp, 0x10c
push esi
mov esi, dword [esp + 0x114]
push esi
call fcn.00492700
add esp, 4
test eax, eax
jne 0x476574
lea eax, [esp + 0xc]
push esi
push eax
call fcn.005c20b7
lea ecx, [esp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalAddAtomA]
test ax, ax
je 0x476574
lea edx, [esp + 4]
mov word [esp + 4], ax
push edx
push 0x476580
mov dword [esp + 0x10], 0
call dword [sym.imp.USER32.dll_EnumWindows]
cmp word [esp + 4], 0
jne 0x476569
mov eax, dword [esp + 8]
pop esi
add esp, 0x10c
ret 4
mov eax, dword [esp + 4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteAtom]
xor eax, eax
pop esi
add esp, 0x10c
ret 4
Function at 0x47da38
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x5eb1f8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push esi
mov esi, ecx
push edi
lea edi, [esi + 0x430]
mov ecx, edi
call fcn.005c5506
push 0x6754d8
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push eax
mov ecx, edi
call fcn.005c54af
push 0
lea ecx, [esp + 0x18]
call fcn.005c5207
push edi
lea ecx, [esp + 0x18]
mov dword [esp + 0x34], 0
call fcn.005c4b3b
push 1
push 0x57
lea ecx, [esp + 0x10]
mov edi, eax
call fcn.005b8410
mov eax, dword [eax]
lea edx, [esp + 0xc]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esp + 0x28]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esi + 0x438], ecx
lea ecx, [esp + 8]
mov dword [esi + 0x43c], edx
call fcn.005bc421
push edi
lea ecx, [esp + 0x18]
call fcn.005c4b3b
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 0xffffffff
call fcn.005c5279
mov ecx, dword [esp + 0x28]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x2c
ret
Function at 0x484c40
Capabilities:
Create process on windows

Disassembly:
push 0xffffffffffffffff
push 0x5eb951
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10c
push esi
mov esi, ecx
push edi
push 0x660fd4
lea ecx, [esp + 0xc]
call fcn.005bc48f
mov edi, dword [esp + 0x124]
lea ecx, [esp + 8]
push edi
mov dword [esp + 0x120], 0
call fcn.005bc7fd
push 0x660fd4
lea ecx, [esp + 0xc]
call fcn.005bc7fd
lea eax, [esp + 8]
push 0x649548
push eax
call fcn.00503350
add esp, 8
test eax, eax
jne 0x484d12
lea ecx, [esp + 8]
push 0x649544
push ecx
call fcn.00503350
add esp, 8
test eax, eax
jne 0x484d12
mov edx, dword [esp + 8]
push 1
push eax
push eax
push edx
push str.open
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
cmp eax, 0x20
ja 0x484d87
push edi
lea eax, [esp + 0x10]
push 0x665b14
push eax
call fcn.00503c60
mov eax, dword [eax]
mov byte [esp + 0x128], 2
push eax
call fcn.004ff630
add esp, 0x10
mov byte [esp + 0x11c], 0
lea ecx, [esp + 0xc]
jmp 0x484d82
mov eax, dword [esi + 0x3fc]
push edi
push eax
call fcn.0052d867
add esp, 8
test eax, eax
je 0x484d87
push edi
mov ecx, esi
call fcn.00476500
test eax, eax
je 0x484d3d
push eax
call fcn.00501bf0
add esp, 4
jmp 0x484d87
mov edx, dword [esi + 0x68]
lea ecx, [esp + 0x10]
push 0x104
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [esp + 0x10]
lea ecx, [esp + 0xc]
push eax
call fcn.005bc48f
mov ecx, dword [esp + 8]
push 1
push ecx
push eax
mov ecx, esi
mov byte [esp + 0x128], 1
call fcn.004040b0
mov byte [esp + 0x11c], 0
lea ecx, [esp + 0xc]
call fcn.005bc421
lea ecx, [esp + 8]
mov dword [esp + 0x11c], 0xffffffff
call fcn.005bc421
mov ecx, dword [esp + 0x114]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x118
ret 4

Function at 0x4863a0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov eax, dword [0x6763ac]
test eax, eax
jne 0x486425
mov dword [0x6763ac], 1
xor eax, eax
or cl, 0xff
sub cl, al
mov byte [eax + 0x6762ac], cl
inc eax
cmp eax, 0x100
jl 0x4863b5
push ebx
push esi
xor edx, edx
xor ecx, ecx
push edi
xor esi, esi
mov al, byte [esi + 0x6762ac]
xor ebx, ebx
mov bl, byte [edx + 0x665d7c]
mov edi, eax
and edi, 0xff
add ecx, ebx
add ecx, edi
and ecx, 0x800000ff
jns 0x4863fb
dec ecx
or ecx, 0xffffff00
inc ecx
mov bl, byte [ecx + 0x6762ac]
mov edi, 0x24
mov byte [esi + 0x6762ac], bl
mov byte [ecx + 0x6762ac], al
lea eax, [edx + 1]
xor edx, edx
div edi
inc esi
cmp esi, 0x100
jl 0x4863d1
pop edi
pop esi
pop ebx
ret
Function at 0x4864f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub esp, 0xc
mov eax, dword [esp + 0x18]
push esi
mov esi, dword [esp + 0x18]
push edi
mov cl, byte [eax + 0x100]
mov dl, byte [eax + 0x101]
xor edi, edi
mov byte [esp + 8], cl
test esi, esi
mov byte [esp + 0x20], dl
jle 0x4865e4
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x20]
push ebx
and ecx, 0xff
push ebp
and esi, 0xff
lea edx, [ecx + 1]
and edx, 0x800000ff
jns 0x486544
dec edx
or edx, 0xffffff00
inc edx
mov byte [esp + 0x10], dl
mov ecx, dword [esp + 0x10]
and ecx, 0xff
mov bl, byte [ecx + eax]
mov byte [esp + 0x18], bl
and ebx, 0xff
add ebx, esi
and ebx, 0x800000ff
jns 0x486571
dec ebx
or ebx, 0xffffff00
inc ebx
mov byte [esp + 0x28], bl
mov bl, byte [esp + 0x18]
mov esi, dword [esp + 0x28]
mov byte [esp + 0x14], bl
and esi, 0xff
mov ebp, dword [esp + 0x14]
and ebp, 0xff
mov bl, byte [esi + eax]
mov byte [ecx + eax], bl
mov bl, byte [esp + 0x14]
mov byte [esi + eax], bl
xor ebx, ebx
mov bl, byte [ecx + eax]
add ebx, ebp
and ebx, 0x800000ff
jns 0x4865b5
dec ebx
or ebx, 0xffffff00
inc ebx
mov ebp, dword [esp + 0x20]
mov bl, byte [ebx + eax]
xor byte [edi + ebp], bl
mov ebx, dword [esp + 0x24]
inc edi
cmp edi, ebx
jl 0x486531
mov cl, byte [esp + 0x28]
pop ebp
pop ebx
pop edi
mov byte [eax + 0x100], dl
mov byte [eax + 0x101], cl
pop esi
add esp, 0xc
ret
pop edi
mov byte [eax + 0x100], cl
mov byte [eax + 0x101], dl
pop esi
add esp, 0xc
ret

Function at 0x4886f0
Capabilities:
Query or enumerate registry value

Disassembly:
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
sub esp, 0x10c
lea eax, [esp]
push esi
push eax
push 1
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov esi, eax
test esi, esi
jne 0x488752
mov edx, dword [esp + 4]
lea eax, [esp + 8]
lea ecx, [esp + 0xc]
push eax
push ecx
push esi
push edx
mov dword [esp + 0x18], 0x104
call dword [sym.imp.ADVAPI32.dll_RegQueryValueA]
mov ecx, dword [esp + 0x11c]
lea eax, [esp + 0xc]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [esp + 4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop esi
add esp, 0x10c
ret
Function at 0x488760
Capabilities:
Create process on windows

Disassembly:
sub esp, 0x208
push ebx
mov ebx, dword [esp + 0x214]
push ebp
mov ebp, dword [esp + 0x214]
push esi
push edi
push ebx
push 0
push 0
push ebp
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov esi, eax
cmp esi, 0x20
ja 0x48884e
lea eax, [esp + 0x10]
mov byte [esp + 0x10], 0
push eax
push str..htm
push SysReAllocStringLen
call fcn.004886f0
add esp, 0xc
test eax, eax
jne 0x48884e
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [esp + 0x10]
push str._shellopencommand
push ecx
call edi
lea edx, [esp + 0x10]
lea eax, [esp + 0x10]
push edx
push eax
push SysReAllocStringLen
call fcn.004886f0
add esp, 0xc
test eax, eax
jne 0x48884e
lea ecx, [esp + 0x10]
push 0x6689d8
push ecx
call fcn.0052e8b9
mov esi, eax
add esp, 8
test esi, esi
jne 0x488828
lea edx, [esp + 0x10]
push 0x6689d4
push edx
call fcn.0052da00
mov esi, eax
add esp, 8
test esi, esi
jne 0x488828
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea esi, [esp + eax + 0xf]
jmp 0x48882b
mov byte [esi], 0
push 0x660658
push esi
call edi
push ebp
push esi
call edi
lea ecx, [esp + 0x10]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_WinExec]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret
Function at 0x4914c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5ec888
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push ebp
push esi
mov esi, ecx
push edi
push 0
push 0
mov eax, dword [esi + 0x17b0]
push 0x147
push eax
call ebx
mov ebp, eax
cmp ebp, 0xffffffff
je 0x49168b
mov ecx, 0x6756e0
call fcn.004699d0
mov edi, eax
test edi, edi
je 0x49168b
mov eax, dword [edi + 0x3c]
cmp eax, 1
jne 0x4915e2
mov eax, dword [edi + 0x54]
test eax, eax
je 0x49168b
mov ecx, dword [esi + 0x17b0]
push 0
push ebp
push 0x150
push ecx
call ebx
mov edx, dword [edi + 0x54]
mov ecx, 0x675a20
push edx
mov ebp, eax
call fcn.004f4880
cmp ebp, eax
jne 0x49168b
lea ecx, [esp + 0x10]
call fcn.004918b0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x2c], 0
test eax, eax
jne 0x491595
push eax
push eax
push eax
lea eax, [esp + 0x1c]
push eax
mov ecx, edi
call fcn.0049b470
mov ecx, dword [edi + 0x78]
mov edx, dword [edi + 0x74]
push ecx
lea eax, [esp + 0x14]
push edx
push eax
mov ecx, edi
call fcn.004c6b50
test eax, eax
je 0x4915c4
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x4915c4
push eax
mov ecx, 0x675a04
call fcn.004f4880
lea ecx, [esp + 0x10]
mov ebp, eax
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x10], 0x5f7940
call fcn.00491ab0
jmp 0x491624
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x10], 0x5f7940
call fcn.00491ab0
jmp 0x49168b
cmp eax, 5
jne 0x49168b
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x49168b
mov ecx, dword [esi + 0x17b0]
push 0
push ebp
push 0x150
push ecx
call ebx
mov edx, dword [edi + 0x4c]
mov ecx, 0x675a58
push edx
mov ebp, eax
call fcn.004f4880
cmp ebp, eax
jne 0x49168b
mov ecx, edi
call fcn.0051da80
mov ebp, eax
test ebp, ebp
je 0x49168b
mov eax, dword [esi + 0x17ec]
push 0
push 0
push 0x146
push eax
call ebx
xor edi, edi
mov dword [esp + 0x34], eax
test eax, eax
jle 0x49168b
mov ecx, dword [esi + 0x17ec]
push 0
push edi
push 0x150
push ecx
call ebx
cmp eax, ebp
je 0x491664
mov eax, dword [esp + 0x34]
inc edi
cmp edi, eax
jl 0x491644
jmp 0x49168b
mov edx, dword [esi + 0x17ec]
push 0
push 0
push 0x147
push edx
call ebx
cmp eax, edi
je 0x49168b
mov eax, dword [esi + 0x17ec]
push 0
push edi
push 0x14e
push eax
call ebx
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret 4