joyce8/EMBER2024-capa huggingface dataset:
Function at 0x404f20
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d5384
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push esi
push edi
mov eax, dword [0x51f164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], edi
mov dword [edi], vtable.boost::detail::thread_data_base.0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [ebp - 4], 0
lea esi, [edi + 0x14]
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
push 0x20
mov dword [ebp - 0x10], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0049089a
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
push 0
push 0
push 1
push 0
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_CreateEventA]
test eax, eax
je 0x404fff
mov dword [edi + 0x34], eax
mov eax, edi
mov byte [edi + 0x38], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x44]
call fcn.00404dc0
push eax
mov byte [ebp - 4], 4
call fcn.004393e0
int3

Function at 0x406ed0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d55f0
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x51f164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esi], vtable.CryptoPP::FilterWithBufferedInput.0
mov dword [esi + 4], vtable.CryptoPP::FilterWithBufferedInput.1.0
mov dword [ebp - 4], 0
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
cmp eax, ecx
mov edx, dword [esi + 0x34]
mov edi, edx
cmovb ecx, eax
xor al, al
rep stosb byte es:[edi], al
push edx
call fcn.00467f90
mov ecx, dword [esi + 0xc]
add esp, 4
test ecx, ecx
je 0x406f34
mov eax, dword [ecx]
push 1
call dword [eax]
test byte [ebp + 8], 1
je 0x406f45
push 0x48
push esi
call fcn.00490c3c
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
Function at 0x4071d0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d55f0
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x51f164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esi + 0xb4]
mov dword [esi], vtable.CryptoPP::AuthenticatedDecryptionFilter.0
mov dword [esi + 4], vtable.CryptoPP::AuthenticatedDecryptionFilter.1.0
call fcn.00406fc0
lea ecx, [esi + 0x4c]
call fcn.004070d0
mov dword [esi], vtable.CryptoPP::FilterWithBufferedInput.0
mov dword [esi + 4], vtable.CryptoPP::FilterWithBufferedInput.1.0
mov dword [ebp - 4], 0
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
cmp eax, ecx
mov edx, dword [esi + 0x34]
mov edi, edx
cmovb ecx, eax
xor al, al
rep stosb byte es:[edi], al
push edx
call fcn.00467f90
mov ecx, dword [esi + 0xc]
add esp, 4
test ecx, ecx
je 0x407254
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x408a80
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d593a
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x51f164]
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 esi, edx
mov dword [ebp - 0x18], esi
mov ebx, ecx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], 0
mov eax, dword fs:[0x2c]
mov edi, dword [eax]
mov dword [ebp - 0x2c], edi
mov eax, dword [edi + 0xc]
test al, 1
jne 0x408b41
or eax, 1
mov dword [edi + 0xc], eax
mov dword [ebp - 4], 1
call fcn.00478fd0
mov ecx, eax
mov dword [edi + 0x139c], 0xffffffff
mov dword [edi + 0x1c], ecx
lea esi, [edi + 0x20]
mov edx, 1
nop dword [eax]
mov eax, ecx
lea esi, [esi + 4]
shr eax, 0x1e
xor eax, ecx
imul ecx, eax, 0x6c078965
add ecx, edx
inc edx
mov dword [esi - 4], ecx
cmp edx, 0x270
jl 0x408b10
mov eax, dword [edi + 0xc]
mov esi, dword [ebp - 0x18]
mov dword [edi + 0x18], 0x270
test al, 2
jne 0x408b62
or eax, 2
mov dword [edi + 0x10], 0
mov dword [edi + 0xc], eax
mov dword [edi + 0x14], 0x32
xor eax, eax
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 7
mov word [ebx], ax
mov dword [ebp - 4], eax
mov ecx, ebx
push esi
mov dword [ebp - 0x24], 1
call fcn.00430f10
test esi, esi
je 0x408c34
lea ecx, [edi + 0x18]
mov dword [ebp - 0x28], ecx
nop dword [eax + eax]
mov eax, dword [edi + 0x10]
dec esi
mov dword [ebp - 0x18], esi
mov esi, dword [edi + 0x14]
sub esi, eax
mov dword [ebp - 0x14], eax
cmp esi, 0xffffffff
jne 0x408bc3
call fcn.00440080
mov edx, eax
jmp 0x408c0c
lea ebx, [esi + 1]
mov dword [ebp - 0x20], ebx
jmp 0x408bd3
lea ebx, [esi + 1]
xor edi, edi
xor eax, eax
test esi, esi
je 0x408be5
call fcn.00440080
mov edi, eax
or eax, 0xffffffff
xor edx, edx
div ebx
mov ecx, eax
mov ebx, edx
xor edx, edx
mov eax, edi
div dword [ebp - 0x20]
cmp eax, ecx
jb 0x408bff
mov ecx, dword [ebp - 0x28]
cmp ebx, esi
jne 0x408bd0
mov ebx, dword [ebp - 0x1c]
mov eax, edi
mov edi, dword [ebp - 0x2c]
xor edx, edx
div dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov ecx, ebx
movsx ax, byte [edx + eax + str.0123456789abcdefghijklmnopqrstuvwxyzABCDFGHIJKLMNOPQRSTUVWXYZ]
movzx eax, ax
push eax
call fcn.00436950
mov esi, dword [ebp - 0x18]
lea ecx, [edi + 0x18]
test esi, esi
jne 0x408ba0
cmp dword [ebx + 0x14], 8
mov ecx, ebx
jb 0x408c3e
mov ecx, dword [ebx]
mov esi, ebx
jb 0x408c44
mov esi, dword [ebx]
mov eax, dword [ebx + 0x10]
lea eax, [esi + eax*2]
mov esi, ebx
jb 0x408c50
mov esi, dword [ebx]
mov ebx, eax
xor edx, edx
sub ebx, esi
xor edi, edi
inc ebx
shr ebx, 1
cmp esi, eax
cmova ebx, edx
test ebx, ebx
je 0x408c8c
sub ecx, esi
mov dword [ebp - 0x14], ecx
nop dword [eax]
movzx eax, word [esi]
push eax
call fcn.004b1538
mov ecx, dword [ebp - 0x14]
lea esi, [esi + 2]
inc edi
add esp, 4
mov word [ecx + esi - 2], ax
cmp edi, ebx
jne 0x408c70
mov eax, dword [ebp - 0x1c]
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.004905bb
mov esp, ebp
pop ebp
ret
Function at 0x413590
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d67c2
mov eax, dword fs:[0]
push eax
sub esp, 0x230
mov eax, dword [0x51f164]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x238], esi
mov dword [ebp - 4], 0
lea eax, [ebp - 0x218]
push 0x104
mov dword [ebp - 0x23c], esi
push eax
mov dword [ebp - 0x21c], 0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor eax, eax
mov dword [esi + 0x10], 0
lea ecx, [ebp - 0x218]
mov dword [esi + 0x14], 7
mov word [esi], ax
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x413610
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.00436c20
mov dword [ebp - 4], 0
xor eax, eax
mov ecx, 1
mov word [ebp - 0x234], ax
cmp dword [esi + 0x10], ecx
mov eax, esi
mov dword [ebp - 0x21c], 1
cmovb ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 7
jb 0x413672
mov eax, dword [esi]
push ecx
push eax
lea ecx, [ebp - 0x234]
call fcn.00436c20
lea eax, [ebp - 0x234]
mov ecx, esi
push eax
call fcn.004311d0
mov edx, dword [ebp - 0x220]
cmp edx, 8
jb 0x4136c9
mov ecx, dword [ebp - 0x234]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4136bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4136e5
push edx
push ecx
call fcn.00490c3c
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004905bb
mov esp, ebp
pop ebp
ret
call fcn.004b5132
int3
Function at 0x4136f0
Capabilities:
Get session user name

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d6806
mov eax, dword fs:[0]
push eax
sub esp, 0x23c
mov eax, dword [0x51f164]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x230]
mov dword [ebp - 0x230], 0x101
push eax
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
xor eax, eax
mov dword [ebp - 0x21c], 0
mov word [ebp - 0x22c], ax
lea eax, [ebp - 0x214]
mov dword [ebp - 0x218], 7
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x413760
sub eax, edx
lea ecx, [ebp - 0x22c]
sar eax, 1
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.00436c20
mov dword [ebp - 4], 0
lea eax, [ebp - 0x22c]
cmp dword [ebp - 0x218], 8
mov ecx, 0x51fc48
push dword [ebp - 0x21c]
cmovae eax, dword [ebp - 0x22c]
push eax
call fcn.00436c20
cmp dword [ebp - 0x218], 8
lea ecx, [ebp - 0x22c]
mov eax, dword [ebp - 0x21c]
cmovae ecx, dword [ebp - 0x22c]
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x22c]
cmovae ecx, dword [ebp - 0x22c]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x248]
call fcn.0043a4d0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x248]
cmp dword [ebp - 0x234], 0x10
mov ecx, 0x520070
push dword [ebp - 0x238]
cmovae eax, dword [ebp - 0x248]
push eax
call fcn.00431800
mov edx, dword [ebp - 0x234]
cmp edx, 0x10
jb 0x413845
mov ecx, dword [ebp - 0x248]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41383b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4138b5
push edx
push ecx
call fcn.00490c3c
add esp, 8
mov edx, dword [ebp - 0x218]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
cmp edx, 8
jb 0x41389c
mov ecx, dword [ebp - 0x22c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413892
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4138b5
push edx
push ecx
call fcn.00490c3c
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004905bb
mov esp, ebp
pop ebp
ret
call fcn.004b5132
int3
Function at 0x414420
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x78
mov eax, dword [0x51f164]
xor eax, esp
mov dword [esp + 0x74], eax
push esi
mov esi, ecx
mov dword [esp + 0x34], 0x40
push edi
lea eax, [esp + 0x38]
mov dword [esp + 0x30], esi
push eax
mov dword [esp + 0x34], esi
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
call fcn.004914f0
xorps xmm1, xmm1
sub esp, 8
cvtsd2ss xmm1, xmm0
movss xmm0, dword [0x505650]
mulss xmm1, xmm0
mulss xmm1, xmm0
mulss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push 0x4f8208
movsd qword [esp + 0x3c], xmm0
call fcn.00402120
add esp, 0xc
mov dword [esi + 0x10], 0
mov edi, eax
mov dword [esi + 0x14], 0xf
mov ecx, esi
mov byte [esi], 0
push 0
push edi
call fcn.00436e70
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x4144c0
mov eax, dword [esi]
movsd xmm0, qword [esp + 0x30]
lea ecx, [edi + 1]
sub esp, 8
movsd qword [esp], xmm0
push 0x4f8208
push ecx
push eax
call fcn.004020c0
mov ecx, dword [esp + 0x90]
add esp, 0x14
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.004905bb
mov esp, ebp
pop ebp
ret

Function at 0x414500
Capabilities:
List user accounts

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d69b0
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x51f164]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x24], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x18], 0
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x20], 0
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
mov dword [ebp - 0x1c], 0
push eax
xor edi, edi
push 2
push edi
push edi
mov dword [ebp - 0x2c], edi
call dword [sym.imp.NETAPI32.dll_NetUserEnum]
mov ebx, eax
mov dword [ebp - 0x28], ebx
test ebx, ebx
je 0x414581
cmp ebx, 0xea
je 0x414581
mov ecx, dword [ebp - 0x24]
jmp 0x4145fb
mov ecx, dword [ebp - 0x24]
mov esi, ecx
test esi, esi
je 0x41460f
xor ebx, ebx
cmp ebx, dword [ebp - 0x18]
jae 0x4145f8
test esi, esi
je 0x4145f8
mov dword [ebp - 4], 0
mov edx, dword [esi]
mov eax, edx
lea ecx, [eax + 2]
mov dword [ebp - 0x30], ecx
nop word [eax + eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4145b0
sub eax, dword [ebp - 0x30]
sar eax, 1
push eax
lea eax, [ebx + ebx*2]
push edx
lea ecx, [eax*8 + 0x5296c0]
call fcn.00436c20
inc edi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
add esi, 4
mov dword [ebp - 0x2c], edi
inc ebx
jmp 0x414590
mov ebx, dword [ebp - 0x28]
test ecx, ecx
je 0x41460f
mov esi, dword [sym.imp.NETAPI32.dll_NetApiBufferFree]
push ecx
call esi
xor ecx, ecx
mov dword [ebp - 0x24], ecx
jmp 0x414615
mov esi, dword [sym.imp.NETAPI32.dll_NetApiBufferFree]
cmp ebx, 0xea
je 0x414615
test ecx, ecx
je 0x414624
push ecx
call esi
push 7
lea eax, [edi + edi*2]
push 0x4ffa24
lea ecx, [eax*8 + 0x5296c0]
call fcn.00436c20
lea eax, [edi + 1]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004905bb
mov esp, ebp
pop ebp
ret
Function at 0x415920
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d6b98
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x51f164]
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 - 0x48], ecx
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x44], eax
lea eax, [edx + edx*2]
cmp dword [eax*8 + 0x51fde4], 8
lea edx, [eax*8 + 0x51fdd0]
mov ecx, edx
jb 0x41596f
mov ecx, dword [edx]
mov eax, dword [edx + 0x10]
lea eax, [ecx + eax*2]
jb 0x415979
mov edx, dword [edx]
push ecx
push eax
push edx
lea ecx, [ebp - 0x38]
call fcn.0043a4d0
push 0x4fab1c
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0
call fcn.00431940
cmp dword [ebp - 0x24], 0x10
lea ebx, [ebp - 0x38]
cmovae ebx, dword [ebp - 0x38]
push ebx
mov dword [ebp - 0x40], ebx
call dword [sym.imp.SHLWAPI.dll_PathIsNetworkPathA]
test eax, eax
setne byte [ebp - 0x39]
test ebx, ebx
je 0x4159ff
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4159c0
sub ecx, edx
lea ebx, [ecx + 1]
cmp ebx, 0x3fffffff
jg 0x4159ff
lea eax, [ebx + ebx]
call fcn.00491660
mov esi, esp
test esi, esi
je 0x4159ff
push ebx
push esi
push 0xffffffffffffffff
push dword [ebp - 0x40]
xor eax, eax
push eax
push 3
mov word [esi], ax
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb eax, eax
and eax, esi
jmp 0x415a01
xor eax, eax
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x18]
push ecx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov ecx, dword [ebp - 0x18]
test eax, eax
mov edx, dword [ebp - 0x14]
mov eax, ecx
setne bl
or eax, edx
je 0x415a5e
test edx, edx
jl 0x415a5e
jg 0x415a2d
test ecx, ecx
jb 0x415a5e
test bl, bl
je 0x415a5e
mov eax, dword [ebp - 0x20]
sub ecx, eax
mov esi, dword [ebp - 0x1c]
mov bl, byte [ebp - 0x39]
sbb edx, esi
test bl, bl
jne 0x415a54
mov ebx, dword [ebp - 0x44]
add dword [ebx], eax
mov eax, dword [ebp - 0x48]
adc dword [ebx + 4], esi
add dword [eax], ecx
adc dword [eax + 4], edx
jmp 0x415a5e
cmp bl, 1
jne 0x415a5e
add dword [edi], ecx
adc dword [edi + 4], edx
mov edx, dword [ebp - 0x24]
cmp edx, 0x10
jb 0x415a8e
mov ecx, dword [ebp - 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415a84
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415aad
push edx
push ecx
call fcn.00490c3c
add esp, 8
lea esp, [ebp - 0x58]
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.004905bb
mov esp, ebp
pop ebp
ret
call fcn.004b5132
int3
Function at 0x41d950
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d7b41
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x51f164]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x38], edi
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
movq qword [edi], xmm0
mov dword [edi + 8], 0
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [ebp - 4], 0
push 0x104
mov dword [ebp - 0x1c], 1
call fcn.00490c4a
mov esi, eax
mov dword [ebp - 0x14], eax
add esp, 4
test esi, esi
je 0x41d9e1
push 0x104
push 0
push esi
call fcn.004a8980
add esp, 0xc
jmp 0x41d9e6
xor esi, esi
mov dword [ebp - 0x14], esi
push esi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
mov ecx, dword [ebp - 0x14]
xor esi, esi
nop word [eax + eax]
mov al, byte [esi + ecx]
test al, al
je 0x41dab2
mov byte [ebp - 0x18], al
movzx eax, byte [esi + ecx + 1]
mov byte [ebp - 0x17], al
movzx eax, byte [esi + ecx + 2]
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x16], al
lea eax, [ebp - 0x18]
push 3
push eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xf
mov byte [ebp - 0x34], 0
call fcn.00431800
mov dword [ebp - 4], 1
mov eax, dword [edi + 4]
cmp dword [edi + 8], eax
je 0x41da6d
movups xmm0, xmmword [ebp - 0x34]
mov byte [ebp - 0x34], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x24]
movq qword [eax + 0x10], xmm0
mov eax, 0xf
add dword [edi + 4], 0x18
jmp 0x41da7c
lea ecx, [ebp - 0x34]
push ecx
push eax
mov ecx, edi
call fcn.0043b420
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0
cmp eax, 0x10
jb 0x41daaf
mov ecx, dword [ebp - 0x34]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x41daa5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dae4
push edx
push ecx
call fcn.00490c3c
add esp, 8
mov ecx, dword [ebp - 0x14]
add esi, 4
cmp esi, 0x64
jl 0x41da00
push ecx
call fcn.004905cc
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004905bb
mov esp, ebp
pop ebp
ret
call fcn.004b5132
int3
Function at 0x4329d0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x51f164]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, 0xffff
mov esi, ecx
cmp ax, di
jne 0x432a05
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905bb
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x20]
push ebx
mov ecx, dword [eax]
test ecx, ecx
je 0x432a43
mov edx, dword [esi + 0x30]
mov ebx, dword [edx]
lea eax, [ecx + ebx*2]
cmp ecx, eax
jae 0x432a43
lea ecx, [ebx - 1]
mov dword [edx], ecx
mov edx, dword [esi + 0x20]
mov esi, dword [edx]
lea ecx, [esi + 2]
mov dword [edx], ecx
mov word [esi], di
pop ebx
mov ax, di
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905bb
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x4c], 0
je 0x432b0c
mov ebx, dword [esi + 0xc]
lea eax, [esi + 0x3c]
cmp dword [ebx], eax
jne 0x432a6d
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x50]
sub edx, ecx
mov dword [ebx], ecx
mov eax, dword [esi + 0x1c]
sar edx, 1
mov dword [eax], ecx
mov eax, dword [esi + 0x2c]
mov dword [eax], edx
mov ecx, dword [esi + 0x38]
test ecx, ecx
jne 0x432a7a
push dword [esi + 0x4c]
push edi
jmp 0x432ab5
movzx eax, di
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x2c]
mov edx, dword [ecx]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x26]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [esi + 0x40]
push eax
call dword [edx + 0x1c]
test eax, eax
js 0x432b0c
cmp eax, 1
jle 0x432adf
cmp eax, 3
jne 0x432b0c
push dword [esi + 0x4c]
push dword [ebp - 0x28]
call fcn.004b1f82
mov ecx, 0xffff
add esp, 8
cmp ax, cx
movzx eax, di
jne 0x432b11
pop ebx
pop edi
mov eax, ecx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905bb
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [ebp - 0x2c]
lea eax, [ebp - 0x24]
sub ebx, eax
je 0x432afc
push dword [esi + 0x4c]
push ebx
push 1
push eax
call fcn.004b58e2
add esp, 0x10
cmp ebx, eax
jne 0x432b0c
lea eax, [ebp - 0x28]
mov byte [esi + 0x3e], 1
cmp dword [ebp - 0x30], eax
jne 0x432a2d
mov eax, 0xffff
mov ecx, dword [ebp - 4]
pop ebx
pop edi
xor ecx, ebp
pop esi
call fcn.004905bb
mov esp, ebp
pop ebp
ret 4
Function at 0x433f40
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
cmp dword [ecx + 0x38], 0
push ebx
push esi
push edi
mov dword [esp + 0xc], ecx
je 0x434026
mov esi, dword [ebp + 0x10]
mov ebx, esi
mov edx, dword [ebp + 0xc]
mov edi, edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
test esi, esi
jl 0x434015
jg 0x433f80
test edx, edx
je 0x434015
nop dword [eax]
call fcn.00437740
mov esi, eax
mov eax, edx
mov dword [esp + 0x14], eax
test eax, eax
jl 0x433fd4
jg 0x433f97
test esi, esi
je 0x433fd4
cmp ebx, eax
jg 0x433fa7
jl 0x433fa1
cmp edi, esi
jae 0x433fa7
mov esi, edi
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
push esi
push eax
mov eax, dword [ecx + 0x20]
push dword [eax]
call fcn.004a7e80
mov ecx, dword [esp + 0x18]
add esp, 0xc
sub edi, esi
sbb ebx, dword [esp + 0x14]
mov eax, dword [ecx + 0x30]
sub dword [eax], esi
mov eax, dword [ecx + 0x20]
add dword [eax], esi
jmp 0x433ff9
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [ecx]
movzx eax, byte [eax]
push eax
call dword [edx + 0xc]
cmp eax, 0xffffffff
je 0x43400f
mov ecx, dword [esp + 0xc]
add edi, 0xffffffff
mov esi, 1
adc ebx, 0xffffffff
add dword [esp + 0x10], esi
test ebx, ebx
jg 0x433f80
jl 0x43400f
test edi, edi
jne 0x433f80
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
sub edx, edi
mov eax, edx
sbb esi, ebx
mov edx, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ecx + 0x20]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x18], esi
mov eax, dword [eax]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], eax
test eax, eax
je 0x434048
mov eax, dword [ecx + 0x30]
mov eax, dword [eax]
jmp 0x43404a
xor eax, eax
cdq
mov ebx, eax
mov eax, edx
mov dword [esp + 0x14], eax
test edi, edi
jl 0x4340c8
jg 0x43405d
test esi, esi
je 0x4340c8
test eax, eax
jl 0x4340a2
jg 0x434067
test ebx, ebx
je 0x4340a2
cmp edi, eax
jg 0x434077
jl 0x434071
cmp esi, ebx
jae 0x434077
mov ebx, esi
mov dword [esp + 0x14], edi
push ebx
push dword [ebp + 8]
push dword [esp + 0x18]
call fcn.004a7e80
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [ebp + 8]
add edx, ebx
sub esi, ebx
mov eax, dword [ecx + 0x30]
sbb edi, dword [esp + 0x14]
sub dword [eax], ebx
mov eax, dword [ecx + 0x20]
add dword [eax], ebx
jmp 0x4340a5
mov edx, dword [ebp + 8]
test edi, edi
jl 0x4340c8
jg 0x4340af
test esi, esi
je 0x4340c8
mov eax, dword [ecx + 0x4c]
test eax, eax
je 0x4340c8
push eax
push esi
push 1
push edx
call fcn.004b58e2
add esp, 0x10
sub esi, eax
sbb edi, 0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub eax, esi
sbb edx, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc