joyce8/EMBER2024-capa huggingface dataset:
Function at 0x426c54
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0xac]
sub esp, 0xac
push 0xffffffffffffffff
push 0x46323f
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x48b068]
xor eax, ebp
mov dword [ebp + 0xa8], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x24], ebx
mov esi, dword [ebp + 0xb4]
lea ecx, [ebp + 0x78]
mov edi, dword [ebp + 0xb8]
mov eax, dword [ebp + 0xbc]
mov dword [ebp - 0x20], esi
push edi
mov dword [ebp - 0x20], eax
call fcn.00426372
xor eax, eax
mov dword [ebp - 4], eax
cmp dword [ebp + 0x88], eax
je 0x426cf1
push eax
lea eax, [ebp + 0x78]
push eax
push ebx
lea ecx, [ebp + 0x3c]
call fcn.004265df
push dword [ebp - 0x20]
lea ecx, [ebp + 0x90]
mov byte [ebp - 4], 1
push ecx
push esi
mov ecx, eax
call fcn.00426c54
lea ecx, [ebp + 0x3c]
call fcn.00426677
jmp 0x426d69
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], edx
mov byte [ebp - 4], 2
mov eax, edx
sub eax, ecx
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp ecx, edx
cmove ecx, eax
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x426d1a
mov eax, dword [edi]
lea edx, [ebp - 0x1c]
push edx
push ecx
push dword [ebp - 0x20]
push 0
push eax
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ebx, eax
cmp ebx, 0xea
je 0x426da3
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
jne 0x426dc0
test ebx, ebx
jne 0x426dc4
test ecx, ecx
jne 0x426da6
lea eax, [ebp - 0x18]
push eax
push ecx
mov ecx, eax
call fcn.00414eba
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
call fcn.00414e8d
lea ecx, [ebp - 0x18]
call fcn.004115b2
lea ecx, [ebp + 0x90]
call fcn.00406b80
lea ecx, [ebp + 0x78]
call fcn.00406b80
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xa8]
xor ecx, ebp
call fcn.00439b80
add ebp, 0xac
leave
ret 0xc
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
push eax
push ecx
mov ecx, eax
call fcn.00414eba
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x24]
jmp 0x426d02
test ebx, ebx
je 0x426d4a
push str.query_value
lea ecx, [ebp + 0x60]
call fcn.004069c2
lea ecx, [ebp]
call fcn.0040a00e
mov ecx, dword [ebp - 0x24]
push eax
push edi
lea eax, [ebp + 0x60]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp + 0x48]
push eax
call fcn.004276d1
push eax
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 5
call fcn.004174ff
push str.System_error
push ebx
mov byte [ebp - 4], 6
lea eax, [ebp - 0xd4]
push dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [ebp - 0x30]
push eax
call fcn.0042adad
mov edx, eax
push 0x12b
push str.Registry::getValue
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_Registry.cpp
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 7
call fcn.00404614
push eax
lea ecx, [ebp + 0x18]
call fcn.0041ec43
lea eax, [ebp + 0x18]
mov dword [esp], 0x488fdc
push eax
call fcn.0043d85d
int3
Function at 0x42758e
Capabilities:
Delete registry value

Disassembly:
push 0x104
mov eax, 0x4633fc
call fcn.0043a499
mov ebx, ecx
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x40]
push esi
call fcn.00426372
cmp dword [ebp - 0x30], 0
je 0x42762c
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x78]
push 0
or eax, 0x2001f
push eax
lea eax, [ebp - 0x40]
push eax
push dword [ebx]
call fcn.004263a4
mov edi, dword [ebp - 0x70]
add esp, 0x10
mov esi, dword [ebp - 0x78]
test edi, edi
je 0x4275dc
mov al, byte [ebp - 0x74]
jmp 0x427611
push 0x48d66c
lea eax, [ebp - 0x28]
push eax
mov al, byte [ebp - 0x74]
push ecx
push ecx
mov ecx, esp
mov byte [ecx + 4], al
lea eax, [ebp - 0x40]
push eax
mov dword [ecx], esi
lea ecx, [ebp - 0x64]
push ebx
call fcn.00426540
mov ecx, eax
call fcn.0042758e
lea ecx, [ebp - 0x64]
mov edi, eax
call fcn.00426677
xor eax, eax
mov dword [ebp - 4], 1
test al, al
je 0x4276b7
push esi
call fcn.0042ab05
pop ecx
jmp 0x4276b7
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x427636
mov eax, dword [esi]
push eax
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov edi, eax
test edi, edi
jne 0x4276b7
cmp dword [0x48e67c], eax
jg 0x4276b7
push ecx
push ecx
lea ecx, [ebp - 0x110]
call fcn.0040a898
mov edx, str.Deleted__
lea ecx, [ebp - 0x110]
call fcn.0040c4c7
sub esp, 0x18
mov ecx, ebx
mov eax, esp
push esi
push eax
call fcn.00426856
lea ecx, [ebp - 0x110]
call fcn.0040be1a
mov esi, eax
mov edx, str.__value
mov ecx, esi
call fcn.0040c4c7
push esi
push str.Registry::deleteValue
push 0x1d2
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_Registry.cpp
push edi
mov ecx, 0x48e67c
call fcn.004089d8
lea ecx, [ebp - 0x110]
call fcn.0040898c
lea ecx, [ebp - 0x28]
call fcn.00406b80
lea ecx, [ebp - 0x40]
call fcn.00406b80
mov eax, edi
call fcn.0043a443
ret 8
Function at 0x42c56c
Capabilities:
Write file on windows

Disassembly:
push 0xe8
mov eax, 0x46455d
call fcn.0043a499
mov esi, ecx
mov ebx, dword [ebp + 8]
and dword [ebp - 4], 0
push ecx
push ecx
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xf4], 0x47b7b4
call fcn.0040a898
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xec]
mov eax, dword [ebp - 0xec]
push 0
mov eax, dword [eax + 4]
add ecx, eax
push dword [ecx + 0xc]
mov dword [ecx + 0x10], 6
call fcn.00408788
mov dword [ebp - 4], 2
lea eax, [ebp - 0xf4]
push dword [esi + 4]
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x34], 1
mov dword [ebp - 0x30], eax
call fcn.004314ad
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xe8]
call fcn.0040b5f9
mov ecx, ebx
mov byte [ebp - 4], 3
call fcn.0042eedb
cmp dword [ebp - 0x18], 0
jne 0x42c616
mov esi, 0x477418
push esi
call fcn.00441ed0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00406baa
push ecx
push ecx
mov edx, ebx
lea ecx, [ebp - 0x3c]
call fcn.0042ee02
pop ecx
pop ecx
mov cl, byte [eax + 4]
mov edi, dword [eax]
mov byte [eax + 4], 0
mov dword [ebp - 0x44], edi
mov byte [ebp - 0x40], cl
mov byte [ebp - 4], 4
cmp byte [ebp - 0x38], 0
je 0x42c650
cmp dword [ebp - 0x3c], 0
mov byte [ebp - 0x38], 0
je 0x42c650
push dword [ebp - 0x3c]
call fcn.004436cd
pop ecx
mov edx, ebx
test edi, edi
jne 0x42c6c9
lea ecx, [ebp - 0x34]
call fcn.0042edbb
mov cl, byte [eax + 4]
mov ebx, dword [eax]
mov byte [ebp - 0x29], cl
mov byte [eax + 4], 0
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x38], cl
mov byte [ebp - 4], 5
cmp byte [ebp - 0x30], 0
je 0x42c68d
cmp dword [ebp - 0x34], 0xffffffff
mov byte [ebp - 0x30], 0
je 0x42c68d
push dword [ebp - 0x34]
call fcn.00445ec0
pop ecx
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov esi, dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
push 0x132
push esi
push eax
push ebx
call fcn.00446762
add esp, 0xc
mov edx, esi
mov ecx, eax
call fcn.0042d879
cmp byte [ebp - 0x29], 0
pop ecx
je 0x42c735
cmp ebx, 0xffffffff
je 0x42c735
push ebx
call fcn.00445ec0
pop ecx
jmp 0x42c735
lea eax, [ebp - 0x44]
push eax
push ecx
lea ecx, [ebp - 0x34]
call fcn.0042ee2d
pop ecx
pop ecx
mov bl, byte [eax + 4]
mov esi, dword [eax]
mov byte [eax + 4], 0
mov dword [ebp - 0x3c], esi
mov byte [ebp - 0x38], bl
mov byte [ebp - 4], 6
cmp byte [ebp - 0x30], 0
je 0x42c704
cmp dword [ebp - 0x34], 0
mov byte [ebp - 0x30], 0
je 0x42c704
push dword [ebp - 0x34]
call fcn.004436cd
pop ecx
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push esi
cmovae eax, dword [ebp - 0x28]
push 1
push dword [ebp - 0x18]
push eax
call fcn.00443cdc
add esp, 0x10
cmp eax, 1
jne 0x42c761
test bl, bl
je 0x42c732
test esi, esi
je 0x42c732
push esi
call fcn.004436cd
pop ecx
mov edi, dword [ebp - 0x44]
cmp byte [ebp - 0x40], 0
je 0x42c746
test edi, edi
je 0x42c746
push edi
call fcn.004436cd
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00406b80
lea ecx, [ebp - 0xec]
call fcn.0040898c
call fcn.0043a443
ret 4
push 0x132
lea ecx, [ebp - 0x54]
call fcn.0040d141
push 0x488c88
lea eax, [ebp - 0x54]
push eax
call fcn.0043d85d
int3
Function at 0x42df7d
Capabilities:
Read file on windows

Disassembly:
push 0x2c
mov eax, 0x4648e4
call fcn.0043a465
mov eax, edx
mov edi, ecx
mov dword [ebp - 0x14], edi
push ecx
mov edx, 0x47b7d4
mov ecx, eax
call fcn.00430d0f
mov esi, eax
mov ecx, esi
call fcn.0042f0cc
pop ecx
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x18], 1
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 1
push eax
push 0x100001
mov ecx, eax
call fcn.0041727b
push esi
mov ebx, 0x100000
push ebx
push 1
push dword [ebp - 0x28]
call fcn.004442d2
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp eax, ebx
ja 0x42e058
push esi
call fcn.0044a173
pop ecx
test eax, eax
je 0x42dffd
push 0x133
jmp 0x42e05d
push esi
call fcn.0044a147
pop ecx
test eax, eax
jne 0x42e00f
push 0x13b
jmp 0x42e05d
mov ebx, dword [ebp - 0x28]
mov ecx, ebx
mov edx, dword [ebp - 0x10]
call fcn.0042df49
mov ecx, dword [ebp - 0x10]
and dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
lea eax, [ebx + ecx]
cmp ebx, eax
je 0x42e03d
push ecx
push ebx
mov ecx, edi
call fcn.00406baa
lea ecx, [ebp - 0x28]
call fcn.004115b2
test esi, esi
je 0x42e050
push esi
call fcn.004436cd
pop ecx
mov eax, edi
call fcn.0043a42e
ret
push 0xc8
lea ecx, [ebp - 0x38]
call fcn.0040d141
push 0x488c88
lea eax, [ebp - 0x38]
push eax
call fcn.0043d85d
int3
Function at 0x42eedb
Capabilities:
Create directory

Disassembly:
push ebp
lea ebp, [esp - 0x80]
sub esp, 0x80
push 0xffffffffffffffff
push 0x464bb1
mov eax, dword fs:[0]
push eax
sub esp, 0xc
mov eax, dword [0x48b068]
xor eax, ebp
mov dword [ebp + 0x7c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [ecx + 0x30], 0
je 0x42f060
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
lea edx, [ebp - 0x18]
mov dword [ebp - 4], eax
call fcn.0042e994
mov edi, dword [ebp - 0x14]
mov eax, edi
mov ebx, dword [ebp - 0x18]
sub eax, ebx
push 0x18
cdq
pop ecx
idiv ecx
imul esi, eax, 0x18
add esi, ebx
jmp 0x42ef51
push esi
lea ecx, [esi - 0x18]
call fcn.00409fe5
add esi, 0x18
cmp esi, edi
jne 0x42ef45
add edi, 0xffffffe8
mov ecx, edi
call fcn.00406b80
mov dword [ebp - 0x14], edi
cmp ebx, edi
je 0x42f03b
and dword [ebp + 0x74], 0
lea ecx, [ebp + 0x64]
and dword [ebp + 0x78], 0
lea esi, [ebx + 0x18]
push ebx
call fcn.00407be2
mov byte [ebp - 4], 1
jmp 0x42f02b
push esi
mov edx, 0x478d30
lea ecx, [ebp + 0x18]
call fcn.004137b0
pop ecx
mov byte [ebp - 4], 2
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x42efa4
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp + 0x64]
call fcn.00406bf3
lea ecx, [ebp + 0x18]
mov byte [ebp - 4], 1
call fcn.00406b80
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp + 0x30]
call fcn.0042e884
mov byte [ebp - 4], 3
lea ecx, [ebp]
cmp dword [ebp + 0x5c], 8
lea eax, [ebp + 0x48]
push ecx
cmovae eax, dword [ebp + 0x48]
push eax
call fcn.0044b180
pop ecx
pop ecx
cmp eax, 0xffffffff
jne 0x42f014
cmp dword [ebp + 0x5c], 8
lea eax, [ebp + 0x48]
cmovae eax, dword [ebp + 0x48]
push eax
call fcn.0044a748
pop ecx
cmp eax, 0xffffffff
jne 0x42f014
call fcn.00441fd4
push 0x137
push 0x11
pop ecx
mov edx, dword [eax]
call fcn.0042d879
pop ecx
lea ecx, [ebp + 0x48]
mov byte [ebp - 4], 1
call fcn.0041603d
lea ecx, [ebp + 0x30]
call fcn.00406b80
add esi, 0x18
cmp esi, edi
jne 0x42ef87
lea ecx, [ebp + 0x64]
call fcn.00406b80
lea ecx, [ebp - 0x18]
call fcn.0040e920
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x7c]
xor ecx, ebp
call fcn.00439b80
sub ebp, 0xffffff80
leave
ret
push str.canonicalized_file_name_expected
lea ecx, [ebp - 0x18]
call fcn.00413f75
push 0x488cf0
lea eax, [ebp - 0x18]
push eax
call fcn.0043d85d
int3
Function at 0x4313b7
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x23c]
sub esp, 0x23c
push 0xffffffffffffffff
push 0x4650c4
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x48b068]
xor eax, ebp
mov dword [ebp + 0x238], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
lea eax, [ebp + 0x30]
mov dword [ebp - 0x10], edi
push eax
xor ebx, ebx
push ebx
push ebx
push 0x2c
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x431491
lea eax, [ebp + 0x30]
push eax
lea ecx, [ebp]
call fcn.004178df
mov esi, eax
mov dword [ebp - 4], ebx
mov ebx, str.OracleJavajava.settings.cfg
push ebx
call fcn.00442ef8
pop ecx
push eax
push ebx
mov ecx, esi
call fcn.00417973
xor ecx, ecx
mov byte [ebp - 0x10], cl
push dword [ebp - 0x10]
mov dword [ebp + 0x28], ecx
mov dword [ebp + 0x2c], ecx
lea ecx, [ebp + 0x18]
push eax
call fcn.0041613e
lea edx, [ebp + 0x18]
mov byte [ebp - 4], 1
mov ecx, edi
call fcn.00430af7
lea ecx, [ebp + 0x18]
call fcn.0041603d
lea ecx, [ebp]
call fcn.0041603d
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x238]
xor ecx, ebp
call fcn.00439b80
add ebp, 0x23c
leave
ret
push 0xc8
lea ecx, [ebp - 0x20]
call fcn.0040d141
push 0x488c88
lea eax, [ebp - 0x20]
push eax
call fcn.0043d85d
int3

Function at 0x433ee5
Capabilities:
Read file on windows

Disassembly:
push ecx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1c]
mov ebx, ecx
push edi
mov edi, dword [esp + 0x24]
mov ebp, SysReAllocString
test edi, edi
jl 0x433f68
jg 0x433f11
test esi, esi
je 0x433f68
test edi, edi
jg 0x433f11
jl 0x433f0d
cmp esi, ebp
jae 0x433f11
mov eax, esi
jmp 0x433f13
mov eax, ebp
and dword [esp + 0x20], 0
cmp dword [esp + 0x18], 0xffffffff
je 0x433f59
push 0
lea ecx, [esp + 0x24]
push ecx
push eax
push ebx
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x433f43
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x433f63
jmp 0x433f59
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x433f54
add ebx, eax
cdq
sub esi, eax
sbb edi, edx
jmp 0x433ef9
cmp eax, 0xffffffff
jne 0x433f63
call fcn.00441fd4
cmp dword [eax], 4
je 0x433ef9
or eax, 0xffffffff
jmp 0x433f6a
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
Function at 0x452017
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.00451e8d
Function at 0x1000112f
Capabilities:
Create process on windows
Extract resource via kernel32 functions
Get common file path
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x168
push ebx
push esi
push edi
push 0xa
push 0x66
xor esi, esi
push dword [0x10003298]
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
cmp edi, esi
je 0x10001255
push edi
push dword [0x10003298]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push edi
mov dword [ebp - 8], eax
push dword [0x10003298]
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, esi
je 0x10001255
cmp dword [ebp - 8], esi
je 0x10001255
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
cmp eax, esi
mov dword [ebp - 0xc], eax
je 0x10001255
lea eax, [ebp - 0x168]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x168]
push eax
push esi
lea eax, [ebp - 0x168]
push 0x100030d0
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
push esi
push esi
push 2
push esi
push 1
lea eax, [ebp - 0x168]
pop ebx
push ebx
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x10001255
lea eax, [ebp - 0x10]
push esi
push eax
mov dword [ebp - 0x10], esi
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], eax
call edi
cmp dword [ebp - 4], ebx
jne 0x10001255
lea eax, [ebp - 0x64]
push 0x44
push eax
call dword [sym.imp.KERNEL32.dll_RtlZeroMemory]
lea eax, [ebp - 0x20]
mov dword [ebp - 0x64], 0x44
push eax
lea eax, [ebp - 0x64]
push eax
push esi
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x168]
push esi
push eax
push esi
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x34], si
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
cmp eax, ebx
mov dword [ebp - 4], eax
jne 0x10001255
push dword [ebp - 0x1c]
call edi
push dword [ebp - 0x20]
call edi
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret

Function at 0x1000125d
Capabilities:
Check mutex on windows

Disassembly:
push esi
push edi
push 0x1000322c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
sub esi, 0xb7
neg esi
sbb esi, esi
inc esi
test edi, edi
je 0x1000128e
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
pop edi
pop esi
ret
Function at 0x10001334
Capabilities:
Check for time delay via gettickcount
Get disk information

Disassembly:
push ecx
push ecx
push ebx
push ebp
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x14], eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, 0x1388
push ebp
mov dword [esp + 0x14], eax
push dword [0x100032a4]
call edi
mov ebx, 0x102
cmp eax, ebx
jne 0x1000139c
call esi
cmp eax, dword [esp + 0x10]
jb 0x10001397
sub eax, dword [esp + 0x10]
cmp eax, 0x6ddd00
ja 0x10001397
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
cmp eax, dword [esp + 0x14]
jne 0x10001397
push ebp
push dword [0x100032a4]
call edi
jmp 0x10001369
push 1
pop eax
jmp 0x1000139e
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
ret
Function at 0x100013a5
Capabilities:
Check if file exists
Copy file
Enumerate files on windows
Enumerate files recursively
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x350
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
push edi
push 0
mov dword [ebp - 4], 1
push dword [0x100032a4]
call ebx
cmp eax, 0x102
je 0x100013d6
xor eax, eax
jmp 0x100015b8
cmp dword [ebp + 8], 0x100
jae 0x100013fe
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x10c]
push 0x10003100
push eax
call esi
mov al, byte [ebp + 8]
add byte [ebp - 0x10c], al
jmp 0x10001410
push dword [ebp + 8]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x10c]
push eax
call esi
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x210]
push eax
call esi
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendA]
lea eax, [ebp - 0x10c]
push 0x100030fc
push eax
call edi
lea eax, [ebp - 0x350]
push eax
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [ebp + 8], eax
jne 0x10001458
push 1
pop eax
jmp 0x100015b8
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x10c]
push eax
call esi
lea eax, [ebp - 0x324]
push 0x100030f8
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1000158e
lea eax, [ebp - 0x324]
push 0x100030f4
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1000158e
test byte [ebp - 0x350], 0x10
je 0x100014f3
push 0x14
push dword [0x100032a4]
call ebx
cmp eax, 0x102
jne 0x100015a8
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x210]
push eax
call esi
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x210]
push eax
call edi
lea eax, [ebp - 0x210]
push eax
call fcn.100013a5
test eax, eax
je 0x100015a8
jmp 0x1000158e
lea eax, [ebp - 0x324]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
test eax, eax
mov dword [ebp - 8], eax
je 0x1000157d
push 0x100030ec
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1000156a
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x210]
push eax
call esi
lea eax, [ebp - 0x210]
push 0x100030d4
push eax
call edi
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1000158e
lea eax, [ebp - 0x210]
push 1
push eax
push 0x1000310c
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 0x210]
push 7
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0x100030e4
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1000157d
nop
push 0x14
push dword [0x100032a4]
call ebx
cmp eax, 0x102
jne 0x100015a8
lea eax, [ebp - 0x350]
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, 1
jne 0x100015ac
jmp 0x10001468
and dword [ebp - 4], 0
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 4
Function at 0x100016d2
Capabilities:
Create thread
Resume thread
Terminate thread

Disassembly:
push esi
xor esi, esi
push esi
push 4
push esi
push 0x100015bf
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xfffffffffffffff1
push eax
mov dword [0x100032a0], eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
test eax, eax
je 0x10001709
push dword [0x100032a0]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
cmp eax, 0xffffffff
jne 0x1000171c
push esi
push dword [0x100032a0]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov dword [0x100032a0], esi
pop esi
ret
Function at 0x1002a6b0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x100bc008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
cmp dword [esi + 0x38], 0
je 0x1002a76c
cmp byte [esi + 0x3d], 0
je 0x1002a76c
mov eax, dword [esi]
push edi
push 0xffffffffffffffff
call dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x1002a75a
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [esi + 0x40]
push eax
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet___char___char___char___const]
sub eax, 0
je 0x1002a721
sub eax, 1
je 0x1002a725
sub eax, 2
jne 0x1002a75a
mov byte [esi + 0x3d], al
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009cb56
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x3d], 0
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x1002a743
push dword [esi + 0x4c]
push edi
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x1002a75a
cmp byte [esi + 0x3d], 0
pop edi
sete al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009cb56
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009cb56
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov al, 1
xor ecx, ebp
pop esi
call fcn.1009cb56
mov esp, ebp
pop ebp
ret