joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40c320
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
push ecx
mov dword [ebp - 0x18], edx
call fcn.004231d0
mov dword [ebp - 0xc], eax
push 0x2c
mov cl, byte [eax]
inc eax
push eax
mov byte [ebp - 1], cl
mov dword [ebp - 0x10], eax
call fcn.00420790
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x40c471
mov byte [ebx], 0
inc ebx
push 0x2c
push ebx
call fcn.00420790
mov esi, eax
add esp, 8
test esi, esi
je 0x40c47a
mov byte [esi], 0
inc esi
push 0x2c
push esi
call fcn.00420790
mov edi, eax
add esp, 8
test edi, edi
je 0x40c385
mov byte [edi], 0
inc edi
movsx ecx, byte [ebp - 1]
add ecx, 0xffffffcf
cmp ecx, 3
ja case.default.0x40c391
jmp dword [ecx*4 + 0x40c490]
mov eax, closesocket
jmp 0x40c3b6
mov eax, closesocket
jmp 0x40c3b6
mov eax, closesocket
jmp 0x40c3b6
mov eax, reloc.WSOCK32.dll_closesocket
jmp 0x40c3b6
xor eax, eax
lea ecx, [ebp - 8]
push ecx
push 0xf003f
push 0
push dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40c47a
push str.dwordhex
push esi
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c401
lea eax, [ebp - 0x14]
push eax
push 0x44de18
push edi
call fcn.0040a6e0
add esp, 0xc
lea eax, [ebp - 0x14]
push 4
push eax
push 4
jmp 0x40c441
push str.string
push esi
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c427
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c418
sub ecx, edx
push ecx
push edi
push 1
jmp 0x40c441
push str.binary
push esi
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c471
push dword [ebp + 8]
push dword [ebp - 0x18]
push 3
push 0
push ebx
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x40c471
push dword [ebp - 0xc]
call fcn.00427f49
add esp, 4
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
neg eax
pop edi
sbb eax, eax
pop esi
inc eax
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0xc]
call fcn.00427f49
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40c39f
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
push ecx
mov dword [ebp - 0x18], edx
call fcn.004231d0
mov dword [ebp - 0xc], eax
push 0x2c
mov cl, byte [eax]
inc eax
push eax
mov byte [ebp - 1], cl
mov dword [ebp - 0x10], eax
call fcn.00420790
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x40c471
mov byte [ebx], 0
inc ebx
push 0x2c
push ebx
call fcn.00420790
mov esi, eax
add esp, 8
test esi, esi
je 0x40c47a
mov byte [esi], 0
inc esi
push 0x2c
push esi
call fcn.00420790
mov edi, eax
add esp, 8
test edi, edi
je 0x40c385
mov byte [edi], 0
inc edi
movsx ecx, byte [ebp - 1]
add ecx, 0xffffffcf
cmp ecx, 3
ja case.default.0x40c391
jmp dword [ecx*4 + 0x40c490]
mov eax, closesocket
jmp 0x40c3b6
mov eax, closesocket
jmp 0x40c3b6
mov eax, closesocket
jmp 0x40c3b6
mov eax, reloc.WSOCK32.dll_closesocket
jmp 0x40c3b6
xor eax, eax
lea ecx, [ebp - 8]
push ecx
push 0xf003f
push 0
push dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40c47a
push str.dwordhex
push esi
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c401
lea eax, [ebp - 0x14]
push eax
push 0x44de18
push edi
call fcn.0040a6e0
add esp, 0xc
lea eax, [ebp - 0x14]
push 4
push eax
push 4
jmp 0x40c441
push str.string
push esi
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c427
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c418
sub ecx, edx
push ecx
push edi
push 1
jmp 0x40c441
push str.binary
push esi
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c471
push dword [ebp + 8]
push dword [ebp - 0x18]
push 3
push 0
push ebx
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x40c471
push dword [ebp - 0xc]
call fcn.00427f49
add esp, 4
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
neg eax
pop edi
sbb eax, eax
pop esi
inc eax
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0xc]
call fcn.00427f49
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40c3a6
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
push ecx
mov dword [ebp - 0x18], edx
call fcn.004231d0
mov dword [ebp - 0xc], eax
push 0x2c
mov cl, byte [eax]
inc eax
push eax
mov byte [ebp - 1], cl
mov dword [ebp - 0x10], eax
call fcn.00420790
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x40c471
mov byte [ebx], 0
inc ebx
push 0x2c
push ebx
call fcn.00420790
mov esi, eax
add esp, 8
test esi, esi
je 0x40c47a
mov byte [esi], 0
inc esi
push 0x2c
push esi
call fcn.00420790
mov edi, eax
add esp, 8
test edi, edi
je 0x40c385
mov byte [edi], 0
inc edi
movsx ecx, byte [ebp - 1]
add ecx, 0xffffffcf
cmp ecx, 3
ja case.default.0x40c391
jmp dword [ecx*4 + 0x40c490]
mov eax, closesocket
jmp 0x40c3b6
mov eax, closesocket
jmp 0x40c3b6
mov eax, closesocket
jmp 0x40c3b6
mov eax, reloc.WSOCK32.dll_closesocket
jmp 0x40c3b6
xor eax, eax
lea ecx, [ebp - 8]
push ecx
push 0xf003f
push 0
push dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40c47a
push str.dwordhex
push esi
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c401
lea eax, [ebp - 0x14]
push eax
push 0x44de18
push edi
call fcn.0040a6e0
add esp, 0xc
lea eax, [ebp - 0x14]
push 4
push eax
push 4
jmp 0x40c441
push str.string
push esi
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c427
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c418
sub ecx, edx
push ecx
push edi
push 1
jmp 0x40c441
push str.binary
push esi
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c471
push dword [ebp + 8]
push dword [ebp - 0x18]
push 3
push 0
push ebx
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x40c471
push dword [ebp - 0xc]
call fcn.00427f49
add esp, 4
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
neg eax
pop edi
sbb eax, eax
pop esi
inc eax
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0xc]
call fcn.00427f49
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40c3ad
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
push ecx
mov dword [ebp - 0x18], edx
call fcn.004231d0
mov dword [ebp - 0xc], eax
push 0x2c
mov cl, byte [eax]
inc eax
push eax
mov byte [ebp - 1], cl
mov dword [ebp - 0x10], eax
call fcn.00420790
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x40c471
mov byte [ebx], 0
inc ebx
push 0x2c
push ebx
call fcn.00420790
mov esi, eax
add esp, 8
test esi, esi
je 0x40c47a
mov byte [esi], 0
inc esi
push 0x2c
push esi
call fcn.00420790
mov edi, eax
add esp, 8
test edi, edi
je 0x40c385
mov byte [edi], 0
inc edi
movsx ecx, byte [ebp - 1]
add ecx, 0xffffffcf
cmp ecx, 3
ja case.default.0x40c391
jmp dword [ecx*4 + 0x40c490]
mov eax, closesocket
jmp 0x40c3b6
mov eax, closesocket
jmp 0x40c3b6
mov eax, closesocket
jmp 0x40c3b6
mov eax, reloc.WSOCK32.dll_closesocket
jmp 0x40c3b6
xor eax, eax
lea ecx, [ebp - 8]
push ecx
push 0xf003f
push 0
push dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40c47a
push str.dwordhex
push esi
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c401
lea eax, [ebp - 0x14]
push eax
push 0x44de18
push edi
call fcn.0040a6e0
add esp, 0xc
lea eax, [ebp - 0x14]
push 4
push eax
push 4
jmp 0x40c441
push str.string
push esi
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c427
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c418
sub ecx, edx
push ecx
push edi
push 1
jmp 0x40c441
push str.binary
push esi
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c471
push dword [ebp + 8]
push dword [ebp - 0x18]
push 3
push 0
push ebx
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x40c471
push dword [ebp - 0xc]
call fcn.00427f49
add esp, 4
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
neg eax
pop edi
sbb eax, eax
pop esi
inc eax
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0xc]
call fcn.00427f49
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40c7c0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44141d
mov eax, dword fs:[0]
push eax
sub esp, 0x164
mov eax, dword [0x452040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x170], ecx
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x28]
push eax
call fcn.004086c0
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x14]
mov eax, edx
mov ecx, dword [ebp - 0x18]
sub eax, ecx
cmp eax, 2
jb 0x40c836
lea eax, [ecx + 2]
cmp edx, 0xf
mov dword [ebp - 0x18], eax
mov edx, 0x2a5c
lea eax, [ebp - 0x28]
cmova eax, dword [ebp - 0x28]
mov word [eax + ecx], dx
mov byte [eax + ecx + 2], 0
jmp 0x40c854
push 2
push 0x448bfc
mov byte [ebp - 0x16c], 0
lea ecx, [ebp - 0x28]
push dword [ebp - 0x16c]
push 2
call fcn.0040fb80
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x168]
lea eax, [ebp - 0x28]
cmova eax, dword [ebp - 0x28]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x40c94b
mov bl, byte [ebp + 0xc]
mov edi, dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov ecx, 0x448c00
lea eax, [ebp - 0x13c]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c8b0
test dl, dl
je 0x40c8ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c8b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c890
xor eax, eax
jmp 0x40c8b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x40c932
mov ecx, 0x448c08
lea eax, [ebp - 0x13c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c8e4
test dl, dl
je 0x40c8e0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c8e4
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c8c4
xor eax, eax
jmp 0x40c8e9
sbb eax, eax
or eax, 1
test eax, eax
je 0x40c932
test bl, bl
je 0x40c975
mov eax, dword [ebp - 0x170]
add eax, 8
cmp dword [eax + 0x14], 0xf
jbe 0x40c906
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.00427e70
add esp, 8
test eax, eax
je 0x40c932
lea eax, [ebp - 0x13c]
push str.R32.EXE
push eax
call fcn.00427e70
add esp, 8
test eax, eax
jne 0x40c975
lea eax, [ebp - 0x168]
push eax
push esi
call edi
test eax, eax
jne 0x40c881
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov bl, 1
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x40c98a
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c980
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c9aa
jmp 0x40c980
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
xor bl, bl
jmp 0x40c94d
push ecx
push edx
call fcn.0041f367
add esp, 8
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041f127
mov esp, ebp
pop ebp
ret 8
call fcn.00429c4f
int3
Function at 0x40c9b0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
lea eax, [ebp - 4]
push esi
push edi
push eax
push 0x17
push 0
mov edi, ecx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
js 0x40ca08
push 0x459be8
push dword [ebp - 4]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
test eax, eax
je 0x40ca08
lea eax, [ebp - 8]
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
test eax, eax
js 0x40ca01
mov eax, dword [ebp - 8]
push dword [ebp - 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov edx, 0x459be8
jmp 0x40ca0a
xor edx, edx
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ca10
sub ecx, esi
lea esi, [edi + 0x54]
push ecx
push edx
mov ecx, esi
call fcn.004087d0
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jae 0x40ca46
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x40ca3e
mov eax, dword [esi]
mov word [eax + ecx], 0x5c
jmp 0x40ca57
push 0x5c
mov byte [ebp - 8], 0
push dword [ebp - 8]
push ecx
mov ecx, esi
call fcn.0040fa40
mov edi, dword [ebp + 8]
mov ecx, edi
cmp dword [edi + 0x14], 0xf
jbe 0x40ca64
mov ecx, dword [edi]
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
sub eax, edx
mov edi, dword [edi + 0x10]
cmp edi, eax
ja 0x40ca9a
cmp dword [esi + 0x14], 0xf
lea eax, [edx + edi]
mov dword [esi + 0x10], eax
jbe 0x40ca81
mov esi, dword [esi]
push edi
add esi, edx
push ecx
push esi
call fcn.00422210
add esp, 0xc
mov byte [esi + edi], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
push edi
push ecx
mov byte [ebp + 8], 0
mov ecx, esi
push dword [ebp + 8]
push edi
call fcn.0040fb80
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
Function at 0x410070
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x28
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
push dword [eax + 8]
mov bh, byte [edx + 0x40]
push dword [edx + 0x1c]
call dword [sym.imp.USER32.dll_UnregisterClassA]
lea eax, [esp + 8]
push eax
mov eax, dword [esi + 8]
push dword [eax + 0x1c]
mov eax, dword [esi + 0xc]
push dword [eax + 8]
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
jne 0x410104
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x14], 4
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 8]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
push esi
push dword [eax + 8]
push dword [ecx + 0x3c]
push dword [ecx + 0x44]
push dword [ecx + 0x38]
push dword [ecx + 0x34]
push dword [ecx + 0x30]
push dword [ecx + 0x2c]
push dword [ecx + 0x24]
push dword [ecx + 0x28]
push dword [ecx + 0x1c]
push dword [ecx + 0x20]
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov bl, byte [esi + 0x20]
push 0
push eax
mov dword [esi + 0x34], eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
xor ecx, ecx
test bl, bl
setne cl
push ecx
push 0xf060
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
movsx eax, bh
push eax
push dword [esi + 0x34]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 0x34]
call dword [sym.imp.USER32.dll_UpdateWindow]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4130d0
Capabilities:
Check os version
Get local ipv4 addresses
Get mac address on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
mov eax, dword [0x452040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
mov eax, edx
push esi
push edi
mov dword [ebp - 0xa8], eax
mov byte [ebx], 0
push dword [eax]
mov dword [ebp - 0xac], ecx
push 0
push ecx
call fcn.00420da0
push 0x178
mov dword [ebp - 0xa0], 0x178
call fcn.00429ee5
mov edi, eax
add esp, 0x10
mov dword [ebp - 0x9c], edi
test edi, edi
je 0x413290
mov esi, dword [sym.imp.IPHLPAPI.DLL_GetAdaptersAddresses]
lea eax, [ebp - 0xa0]
push eax
push edi
push 0
push 0x2f
push 0
call esi
cmp eax, 0x6f
jne 0x41317a
push edi
call fcn.00427f49
push dword [ebp - 0xa0]
call fcn.00429ee5
mov edi, eax
mov dword [ebp - 0x9c], eax
add esp, 8
test edi, edi
je 0x413290
lea eax, [ebp - 0xa0]
push eax
push edi
push 0
push 0x2f
push 0
call esi
test eax, eax
jne 0x413282
mov esi, dword [ebp - 0x9c]
xor edi, edi
mov eax, dword [0x457310]
xor edx, edx
mov dword [ebp - 0xa4], edx
cmp byte [ebx], 0
jne 0x413238
cmp dword [esi + 0x34], 0
je 0x41322d
test eax, eax
jns 0x4131eb
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x88], 2
jne 0x4131de
cmp dword [ebp - 0x94], 6
jb 0x4131de
mov eax, 1
jmp 0x4131e0
xor eax, eax
mov edx, dword [ebp - 0xa4]
mov dword [0x457310], eax
mov ecx, eax
test ecx, ecx
je 0x413228
test byte [esi + 0x38], 0x80
je 0x41320b
cmp dword [esi + 0xb8], 0
je 0x41320b
mov edx, esi
mov byte [ebx], 1
mov dword [ebp - 0xa4], edx
test dword [esi + 0x38], 0x100
je 0x413228
cmp dword [esi + 0xdc], 0
je 0x413228
mov edx, esi
mov byte [ebx], 1
mov dword [ebp - 0xa4], edx
test edi, edi
cmove edi, esi
mov esi, dword [esi + 8]
test esi, esi
jne 0x413197
test edx, edx
cmovne edi, edx
test edi, edi
je 0x413282
mov edx, dword [ebp - 0xa8]
lea eax, [edi + 0x2c]
mov ecx, dword [edi + 0x34]
cmp ecx, dword [edx]
cmovae ecx, dword [edx]
push ecx
push eax
push dword [ebp - 0xac]
mov dword [edx], ecx
call fcn.00422210
push dword [ebp - 0x9c]
call fcn.00427f49
add esp, 0x10
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041f127
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x9c]
call fcn.00427f49
add esp, 4
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041f127
mov esp, ebp
pop ebp
ret
Function at 0x4132b0
Capabilities:
Get mac address on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov edi, edx
mov eax, ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], eax
push dword [edi]
push 0
push eax
call fcn.00420da0
push 0x288
mov dword [ebp - 0xc], 0x288
call fcn.00429ee5
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x41340f
mov esi, dword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
lea eax, [ebp - 0xc]
push eax
push ebx
call esi
cmp eax, 0x6f
jne 0x41331f
push ebx
call fcn.00427f49
push dword [ebp - 0xc]
call fcn.00429ee5
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x41340f
lea eax, [ebp - 0xc]
push eax
push ebx
call esi
test eax, eax
je 0x413341
push ebx
call fcn.00427f49
mov ecx, dword [ebp - 8]
lea eax, [ebp - 1]
push eax
mov edx, edi
call fcn.004130d0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
mov edx, ebx
mov edi, dword [edx + 0x190]
test edi, edi
je 0x413371
lea ecx, [edx + 0x1d8]
lea eax, [ecx + 1]
mov dword [ebp - 0x14], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413360
sub ecx, dword [ebp - 0x14]
jne 0x4133b1
test esi, esi
cmove esi, edx
mov edx, dword [edx]
test edx, edx
jne 0x413345
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 1]
push ecx
mov ecx, dword [ebp - 8]
mov edx, eax
mov edi, dword [eax]
call fcn.004130d0
add esp, 4
mov byte [ebp - 2], al
test al, al
je 0x41339a
cmp byte [ebp - 1], 0
jne 0x4133d4
test esi, esi
jne 0x4133dd
push ebx
call fcn.00427f49
mov al, byte [ebp - 2]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x10]
lea eax, [edx + 0x194]
cmp edi, dword [ecx]
cmovae edi, dword [ecx]
push edi
push eax
push dword [ebp - 8]
mov dword [ecx], edi
call fcn.00422210
push ebx
call fcn.00427f49
add esp, 0x10
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x190]
cmp eax, edi
mov ecx, dword [ebp - 0x10]
cmovae eax, edi
push eax
mov dword [ecx], eax
lea eax, [esi + 0x194]
push eax
push dword [ebp - 8]
call fcn.00422210
push ebx
call fcn.00427f49
add esp, 0x10
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x414ab0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ecx
mov edx, dword [ebp + 8]
push ebx
mov bh, byte [ebp + 0x10]
push esi
push edi
mov esi, ecx
mov edi, 0xffff
xor ecx, ecx
cmp word [edx], di
je 0x414c59
mov eax, edx
lea eax, [eax + 6]
inc ecx
cmp word [eax], di
jne 0x414ad1
mov dword [ebp + 8], ecx
test ecx, ecx
je 0x414c59
xor eax, eax
test bh, bh
je 0x414af1
lea eax, [ecx - 1]
lea eax, [eax + eax*2]
test ecx, ecx
jle 0x414c59
test bh, bh
mov ecx, 0xfffffffa
mov edi, 6
cmove ecx, edi
mov dword [ebp - 4], ecx
lea ecx, [edx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebp + 0x10], ecx
nop dword [eax]
nop dword [eax + eax]
movzx eax, word [ecx - 2]
cmp eax, 3
ja case.default.0x414b2d
jmp dword [eax*4 + 0x414c64]
movzx edi, word [ecx]
test bh, bh
je 0x414b6e
test edi, edi
je case.default.0x414b2d
mov eax, dword [esi + 8]
cmp eax, 2
jb 0x414b64
mov ecx, dword [esi]
mov bl, byte [ecx + eax - 1]
dec eax
push eax
push ecx
lea eax, [ecx + 1]
push eax
call fcn.00422210
mov eax, dword [esi]
add esp, 0xc
mov byte [eax], bl
dec edi
test edi, edi
jg 0x414b43
jmp 0x414c46
test edi, edi
je case.default.0x414b2d
mov eax, dword [esi + 8]
cmp eax, 2
jb 0x414b9a
mov ecx, dword [esi]
dec eax
push eax
mov bl, byte [ecx]
lea eax, [ecx + 1]
push eax
push ecx
call fcn.00422210
mov ecx, dword [esi + 8]
add esp, 0xc
mov eax, dword [esi]
mov byte [ecx + eax - 1], bl
dec edi
test edi, edi
jg 0x414b76
jmp 0x414c46
movzx edi, word [ecx]
test bh, bh
je 0x414bde
test edi, edi
je case.default.0x414b2d
mov eax, dword [esi + 8]
cmp eax, 2
jb 0x414bd7
mov ecx, dword [esi]
dec eax
push eax
mov bl, byte [ecx]
lea eax, [ecx + 1]
push eax
push ecx
call fcn.00422210
mov ecx, dword [esi + 8]
add esp, 0xc
mov eax, dword [esi]
mov byte [ecx + eax - 1], bl
dec edi
test edi, edi
jg 0x414bb3
jmp 0x414c46
test edi, edi
je case.default.0x414b2d
mov eax, dword [esi + 8]
cmp eax, 2
jb 0x414c03
mov ecx, dword [esi]
mov bl, byte [ecx + eax - 1]
dec eax
push eax
push ecx
lea eax, [ecx + 1]
push eax
call fcn.00422210
mov eax, dword [esi]
add esp, 0xc
mov byte [eax], bl
dec edi
test edi, edi
jg 0x414be2
jmp 0x414c46
mov eax, dword [ebp + 0x10]
xor edx, edx
movzx eax, word [eax]
div dword [esi + 8]
mov eax, dword [ebp + 0x10]
mov ecx, edx
xor edx, edx
movzx eax, word [eax + 2]
div dword [esi + 8]
mov eax, dword [esi]
add ecx, eax
mov al, byte [eax + edx]
mov bl, byte [ecx]
mov byte [ecx], al
mov eax, dword [esi]
mov byte [edx + eax], bl
jmp 0x414c46
mov eax, dword [ebp + 0x10]
xor edx, edx
movzx eax, word [eax]
div dword [esi + 8]
mov eax, dword [esi]
xor byte [eax + edx], 1
mov ecx, dword [ebp + 0x10]
add ecx, dword [ebp - 4]
sub dword [ebp + 8], 1
mov dword [ebp + 0x10], ecx
jne 0x414b20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc