joyce8/EMBER2024-capa huggingface dataset:
Function at 0x44d781
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
call fcn.004412cb
xor ebx, ebx
cmp dword [0x47dcac], ebx
mov dword [ebp - 8], eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
jne 0x44d857
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
cmp edi, ebx
je 0x44d937
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxA
push edi
call esi
cmp eax, ebx
je 0x44d937
push eax
call fcn.0044125d
mov dword [esp], 0x4610c0
push edi
mov dword [0x47dcac], eax
call esi
push eax
call fcn.0044125d
mov dword [esp], 0x4610ac
push edi
mov dword [0x47dcb0], eax
call esi
push eax
call fcn.0044125d
mov dword [0x47dcb4], eax
lea eax, [ebp - 0xc]
push eax
call fcn.0043c51f
test eax, eax
pop ecx
pop ecx
je 0x44d825
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0043bf29
add esp, 0x14
cmp dword [ebp - 0xc], 2
jne 0x44d857
push str.GetUserObjectInformationA
push edi
call esi
push eax
call fcn.0044125d
cmp eax, ebx
pop ecx
mov dword [0x47dcbc], eax
je 0x44d857
push str.GetProcessWindowStation
push edi
call esi
push eax
call fcn.0044125d
pop ecx
mov dword [0x47dcb8], eax
mov eax, dword [0x47dcb8]
mov ecx, dword [ebp - 8]
cmp eax, ecx
je 0x44d8dc
cmp dword [0x47dcbc], ecx
je 0x44d8dc
push eax
call fcn.004412d4
push dword [0x47dcbc]
mov esi, eax
call fcn.004412d4
cmp esi, ebx
pop ecx
pop ecx
mov edi, eax
je 0x44d8dc
cmp edi, ebx
je 0x44d8dc
call esi
cmp eax, ebx
je 0x44d8a9
lea ecx, [ebp - 0x14]
push ecx
push 0xc
lea ecx, [ebp - 0x20]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x44d8a9
test byte [ebp - 0x18], 1
jne 0x44d8dc
lea eax, [ebp - 0x10]
push eax
call fcn.0043c556
test eax, eax
pop ecx
je 0x44d8c4
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0043bf29
add esp, 0x14
cmp dword [ebp - 0x10], 4
jb 0x44d8d3
or dword [ebp + 0x10], 0x200000
jmp 0x44d917
or dword [ebp + 0x10], 0x40000
jmp 0x44d917
mov eax, dword [0x47dcb0]
cmp eax, dword [ebp - 8]
je 0x44d917
push eax
call fcn.004412d4
cmp eax, ebx
pop ecx
je 0x44d917
call eax
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x44d917
mov eax, dword [0x47dcb4]
cmp eax, dword [ebp - 8]
je 0x44d917
push eax
call fcn.004412d4
cmp eax, ebx
pop ecx
je 0x44d917
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x47dcac]
call fcn.004412d4
cmp eax, ebx
pop ecx
je 0x44d937
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x44d939
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
Function at 0x40a2a4
Capabilities:
Create process on windows

Disassembly:
push 0x24
mov eax, 0x449ab5
call fcn.00426584
mov esi, ecx
cmp dword [0x46ee28], 1
jg 0x40a2f9
lea eax, [esi + 0x30]
mov edx, str.Executor.exec__:
push eax
lea ecx, [ebp - 0x28]
call fcn.004040f2
pop ecx
and dword [ebp - 4], 0
mov ecx, 0x46ee28
push eax
push str.Executor::startExecution
push 0x93
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_Executor.cpp
push 1
call fcn.0040f042
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00403a8e
push 0x44
pop ebx
push ebx
lea edi, [esi + 0x70]
push 0
push edi
call fcn.00428d20
push 0x10
mov dword [edi], ebx
lea ebx, [esi + 0x60]
push 0
push ebx
call fcn.00428d20
add esp, 0x18
cmp dword [esi + 0xb4], 1
jne 0x40a33a
or dword [esi + 0x9c], 1
xor eax, eax
mov word [esi + 0xa0], ax
mov dword [esi + 0x54], 0x8000000
cmp byte [esi + 0xc1], 0
je 0x40a34a
mov ecx, esi
call fcn.0040a79a
lea ecx, [esi + 0x30]
cmp dword [ecx + 0x14], 0x10
mov edx, ecx
jb 0x40a357
mov edx, dword [ecx]
mov eax, dword [ecx + 0x10]
add eax, edx
cmp dword [ecx + 0x14], 0x10
jb 0x40a364
mov ecx, dword [ecx]
push dword [ebp - 0x2d]
xor edx, edx
push eax
push ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], edx
call fcn.0040ad81
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x18]
mov byte [ebp - 0x29], 0
cmp dword [ebp - 0x14], eax
je 0x40a398
mov byte [eax], 0
inc eax
mov dword [ebp - 0x18], eax
jmp 0x40a3a5
lea ecx, [ebp - 0x29]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040ac03
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x40a3af
mov eax, dword [esi]
push ebx
push edi
push dword [esi + 0x5c]
push dword [esi + 0x58]
push dword [esi + 0x54]
push dword [esi + 0x50]
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
lea ecx, [ebp - 0x1c]
setne bl
call fcn.00406581
mov al, bl
call fcn.0042652e
ret
Function at 0x40aef2
Capabilities:
Check if file exists
Get file attributes

Disassembly:
cmp dword [ecx + 0x14], 0x10
jb 0x40aefa
mov ecx, dword [ecx]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
setne al
ret

Function at 0x40af08
Capabilities:
Check if file exists
Get file attributes

Disassembly:
cmp dword [ecx + 0x14], 0x10
jb 0x40af10
mov ecx, dword [ecx]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x40af23
test al, 0x10
je 0x40af23
mov al, 1
ret
xor al, al
ret

Function at 0x40b1cc
Capabilities:
Check if file exists
Delete file

Disassembly:
push 0x9c
mov eax, 0x449cdc
call fcn.00426550
mov esi, edx
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x40b1e7
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x40b284
cmp dword [0x46ee28], 0
jg 0x40b27c
sub esp, 0x18
xor edi, edi
mov ecx, esp
mov dword [ebp - 0x10], esp
push esi
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], edi
call fcn.00403c2a
push ecx
push ecx
lea ecx, [ebp - 0xa8]
mov dword [ebp - 4], edi
call fcn.00402ff8
mov edx, str.Deleted__
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xa8]
call fcn.00405a4e
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 2
call fcn.00404320
mov esi, eax
mov edx, str.__file
mov ecx, esi
call fcn.00405a4e
push esi
push str.FileUtils::_anonymous_namespace::deleteFileImpl
push 0x25e
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_FileUtils.cpp
push edi
mov ecx, 0x46ee28
call fcn.00406215
lea ecx, [ebp - 0xa8]
call fcn.004025f1
mov al, 1
call fcn.00426519
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x40b27c
cmp eax, 3
je 0x40b27c
xor al, al
jmp 0x40b27e
Function at 0x40b298
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb0
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov edx, edi
call fcn.0040b1cc
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
mov bl, al
mov byte [esp + 0x17], bl
call ebp
test bl, bl
jne 0x40b457
xor ebx, ebx
cmp eax, 5
jne 0x40b44b
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x40b2dc
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push 5
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
jne 0x40b2ff
xor al, al
jmp 0x40b45b
test al, 1
je 0x40b44b
and eax, 0xfffffffe
mov ecx, edi
cmp dword [edi + 0x14], 0x10
jb 0x40b314
mov ecx, dword [edi]
mov esi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push eax
push ecx
call esi
test eax, eax
je 0x40b39b
cmp dword [0x46ee28], ebx
jg 0x40b38f
sub esp, 0x18
mov ecx, esp
push edi
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00403c2a
push ecx
push ecx
lea ecx, [esp + 0x48]
call fcn.00402ff8
mov edx, str.Discarded_R_O_attribute_from__
lea ecx, [esp + 0x40]
call fcn.00405a4e
lea ecx, [esp + 0x40]
call fcn.00404320
mov esi, eax
mov edx, str.__file
mov ecx, esi
call fcn.00405a4e
push esi
push str.FileUtils::deleteFile
push 0x276
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_FileUtils.cpp
push ebx
mov ecx, 0x46ee28
call fcn.00406215
lea ecx, [esp + 0x28]
call fcn.004025f1
mov edx, edi
call fcn.0040b1cc
jmp 0x40b447
cmp dword [0x46ee28], 2
jg 0x40b43b
push str.System_error
call ebp
push eax
push esi
sub esp, 0x18
mov ecx, esp
push edi
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00403c2a
push ecx
push ecx
lea ecx, [esp + 0x54]
call fcn.00402ff8
mov edx, str.Failed_to_discard_R_O_attribute_from__
lea ecx, [esp + 0x4c]
call fcn.00405a4e
lea ecx, [esp + 0x4c]
call fcn.00404320
mov esi, eax
mov edx, str.__file._File_will_not_be_deleted
mov ecx, esi
call fcn.00405a4e
push esi
lea ecx, [esp + 0x2c]
call fcn.0041548f
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
push eax
push str.FileUtils::deleteFile
push 0x27c
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_FileUtils.cpp
push 2
mov ecx, 0x46ee28
call fcn.0040272d
lea eax, [esp + 0x20]
mov dword [esp + 0x1c], vtable.std::exception.0
push eax
call fcn.00427223
pop ecx
lea ecx, [esp + 0x28]
call fcn.004025f1
push 5
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov al, byte [esp + 0x17]
test al, al
jne 0x40b457
call ebp
cmp eax, 2
je 0x40b457
cmp eax, 3
jne 0x40b459
mov bl, 1
mov al, bl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40b463
Capabilities:
Check if file exists
Delete directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa0
push ebx
push esi
mov esi, ecx
mov eax, esi
cmp dword [esi + 0x14], 0x10
jb 0x40b47d
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
setne cl
xor ebx, ebx
mov byte [esp + 0xb], cl
test eax, eax
je 0x40b504
cmp dword [0x46ee28], ebx
jg 0x40b504
sub esp, 0x18
mov ecx, esp
push esi
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00403c2a
push ecx
push ecx
lea ecx, [esp + 0x30]
call fcn.00402ff8
mov edx, str.Deleted__
lea ecx, [esp + 0x28]
call fcn.00405a4e
lea ecx, [esp + 0x28]
call fcn.00404320
mov esi, eax
mov edx, str.__directory
mov ecx, esi
call fcn.00405a4e
push esi
push str.FileUtils::deleteDirectory
push 0x291
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_FileUtils.cpp
push ebx
mov ecx, 0x46ee28
call fcn.00406215
lea ecx, [esp + 0x10]
call fcn.004025f1
mov cl, byte [esp + 0xb]
test cl, cl
jne 0x40b518
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x40b518
cmp eax, 3
jne 0x40b51a
mov bl, 1
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40b53d
Capabilities:
Get file version info

Disassembly:
push 0xe4
mov eax, 0x449d43
call fcn.00426584
mov esi, ecx
mov dword [ebp - 0x38], esi
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x40], esi
push eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
call fcn.00403c2a
lea edi, [esi + 0x18]
mov dword [ebp - 4], ebx
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov byte [ebp - 4], 1
mov eax, esi
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x38], ebx
jb 0x40b584
mov eax, dword [esi]
mov ebx, dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeA]
lea ecx, [ebp - 0x38]
push ecx
push eax
call ebx
test eax, eax
je 0x40b649
push edi
push eax
mov ecx, edi
call fcn.00406682
mov eax, dword [edi + 4]
mov ecx, esi
sub eax, dword [edi]
cmp dword [esi + 0x14], 0x10
jb 0x40b5b1
mov ecx, dword [esi]
push dword [edi]
mov edi, dword [sym.imp.VERSION.dll_GetFileVersionInfoA]
push eax
push dword [ebp - 0x38]
push ecx
call edi
test eax, eax
jne 0x40b63f
push 0x46d
push str.VersionResource::VersionResource
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_FileUtils.cpp
lea ecx, [ebp - 0x58]
call fcn.0040263d
push eax
push str.System_error
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push 0x45dc9c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x3c], esp
push esi
call fcn.00402f9b
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 6
call fcn.0040259d
mov byte [ebp - 4], 7
push str.GetFileVersionInfo_
mov ecx, eax
call fcn.0040420a
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.00404320
mov ecx, eax
call fcn.0040420a
push eax
lea ecx, [ebp - 0x4c]
call fcn.0041548f
mov byte [ebp - 4], 9
jmp 0x40b6bf
mov eax, esi
call fcn.0042652e
ret 4
push 0x464
push str.VersionResource::VersionResource
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_FileUtils.cpp
lea ecx, [ebp - 0x4c]
call fcn.0040263d
push eax
push str.System_error
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push 0x45dc9c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x3c], esp
push esi
call fcn.00402f9b
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 2
call fcn.0040259d
mov byte [ebp - 4], 3
push str.GetFileVersionInfoSize_
mov ecx, eax
call fcn.0040420a
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.00404320
mov ecx, eax
call fcn.0040420a
push eax
lea ecx, [ebp - 0x58]
call fcn.0041548f
mov byte [ebp - 4], 5
mov edx, eax
lea ecx, [ebp - 0x34]
call fcn.004065a4
lea eax, [ebp - 0x34]
mov dword [esp], 0x46a1fc
push eax
call fcn.0042906d
int3
Function at 0x40b967
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
mov ebx, ecx
push esi
push edi
cmp dword [ebx + 0x38], 0
je 0x40b98e
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00403556
jmp 0x40ba43
mov eax, dword [ebx + 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 + 0x14], eax
test eax, eax
je 0x40b9b0
mov eax, dword [ebx + 0x30]
mov eax, dword [eax]
jmp 0x40b9b2
xor eax, eax
cdq
mov dword [esp + 0xc], eax
mov ecx, edx
mov dword [esp + 0x10], ecx
test edi, edi
jl 0x40ba37
jg 0x40b9c7
test esi, esi
je 0x40ba37
test ecx, ecx
jl 0x40ba10
jg 0x40b9d1
test eax, eax
je 0x40ba10
cmp edi, ecx
jg 0x40b9e5
jl 0x40b9db
cmp esi, eax
jae 0x40b9e5
mov eax, esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
push eax
push dword [ebp + 8]
push dword [esp + 0x1c]
call fcn.004277d0
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [ebx + 0x30]
add edx, ecx
sub esi, ecx
sbb edi, dword [esp + 0x10]
sub dword [eax], ecx
mov eax, dword [ebx + 0x20]
add dword [eax], ecx
jmp 0x40ba13
mov edx, dword [ebp + 8]
test edi, edi
jl 0x40ba37
jg 0x40ba1d
test esi, esi
je 0x40ba37
cmp dword [ebx + 0x4c], 0
je 0x40ba37
push dword [ebx + 0x4c]
push esi
push 1
push edx
call fcn.0042dda6
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
Function at 0x40ba4c
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
mov edi, ecx
cmp dword [edi + 0x38], 0
je 0x40ba73
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00403632
jmp 0x40bb42
mov eax, dword [edi + 0x1c]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x18], esi
mov eax, dword [eax]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
test eax, eax
je 0x40ba95
mov eax, dword [edi + 0x2c]
mov eax, dword [eax]
jmp 0x40ba97
xor eax, eax
cdq
mov dword [esp + 0xc], eax
mov ecx, edx
mov dword [esp + 0x10], ecx
test ebx, ebx
jl 0x40bb36
jg 0x40bab4
test esi, esi
je 0x40bb36
test ecx, ecx
jl 0x40bb01
jg 0x40babe
test eax, eax
je 0x40bb01
cmp ebx, ecx
jg 0x40bad2
jl 0x40bac8
cmp esi, eax
jae 0x40bad2
mov eax, esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
push eax
push dword [esp + 0x18]
push dword [ebp + 8]
call fcn.004277d0
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [edi + 0x2c]
add edx, ecx
sub esi, ecx
mov dword [esp + 0xc], edx
sbb ebx, dword [esp + 0x10]
sub dword [eax], ecx
mov eax, dword [edi + 0x1c]
add dword [eax], ecx
jmp 0x40bb08
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
test ebx, ebx
jl 0x40bb36
jg 0x40bb12
test esi, esi
je 0x40bb36
cmp dword [edi + 0x4c], 0
je 0x40bb36
mov ecx, edi
call fcn.0040bf8f
push dword [edi + 0x4c]
push esi
push 1
push dword [esp + 0x18]
call fcn.0042e39c
add esp, 0x10
sub esi, eax
sbb ebx, 0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub eax, esi
sbb edx, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x40bfda
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x46c068]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x38], 0
je 0x40c05c
cmp byte [esi + 0x3d], 0
je 0x40c05c
mov eax, dword [esi]
push 0xffffffffffffffff
call dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x40c02e
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 4]
push eax
mov edx, dword [ecx]
lea eax, [ebp - 0x24]
push eax
lea eax, [esi + 0x40]
push eax
call dword [edx + 0x20]
sub eax, 0
je 0x40c032
sub eax, 1
je 0x40c036
dec eax
sub eax, 1
je 0x40c05c
xor al, al
jmp 0x40c05e
mov byte [esi + 0x3d], 0
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x40c053
push dword [esi + 0x4c]
push edi
push 1
push eax
call fcn.0042dda6
add esp, 0x10
cmp edi, eax
jne 0x40c02e
cmp byte [esi + 0x3d], 0
sete al
jmp 0x40c05e
mov al, 1
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00425c6e
leave
ret
Function at 0x40d96b
Capabilities:
Check mutex on windows

Disassembly:
push 0xa4
mov eax, 0x44a2a9
call fcn.00426550
mov edi, ecx
push str.Global_MSIExecute
xor ebx, ebx
push ebx
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov esi, eax
mov byte [ebp - 0x14], 1
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], ebx
test esi, esi
je 0x40da1d
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x10], eax
test edi, edi
je 0x40da16
cmp dword [0x46ee28], 1
jg 0x40da16
push ecx
push ecx
lea ecx, [ebp - 0xb0]
call fcn.00402ff8
mov edx, str.finish_waiting_for_mutex:
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb0]
call fcn.00405a4e
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb0]
call fcn.004047aa
lea eax, [ebp - 0xb0]
mov ecx, 0x46ee28
push eax
push str.msi::waitForInstallationCompletion
push 0x1c8
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_MsiUtils.cpp
push 1
call fcn.00406215
lea ecx, [ebp - 0xb0]
call fcn.004025f1
mov eax, dword [ebp - 0x10]
cmp eax, 0x102
je 0x40da1f
mov bl, 1
push esi
mov dword [ebp - 4], 3
call fcn.00414fe9
pop ecx
mov al, bl
call fcn.00426519
ret

Function at 0x40e4ec
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push 0x24
lea eax, [ebp - 0x24]
push 0
push eax
call fcn.00428d20
add esp, 0xc
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
cmp word [ebp - 0x24], 9
sete al
leave
ret
Function at 0x40ea0b
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x148]
sub esp, 0x148
push 0xffffffffffffffff
push 0x44a69e
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x46c068]
xor eax, ebp
mov dword [ebp + 0x144], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
push 0x104
xor ebx, ebx
mov dword [ebp - 0x10], esi
lea eax, [ebp + 0x40]
push ebx
push eax
call fcn.00428d20
add esp, 0xc
lea eax, [ebp + 0x40]
push eax
push ebx
push ebx
push 0x8023
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov edi, eax
test edi, edi
jne 0x40eac5
lea eax, [ebp + 0x40]
push eax
lea ecx, [ebp + 0x28]
call fcn.00402f5d
lea edx, [ebp + 0x28]
mov dword [ebp - 4], 2
mov ecx, esi
call fcn.0040b164
lea ecx, [ebp + 0x28]
call fcn.00403a8e
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 + 0x144]
xor ecx, ebp
call fcn.00425c6e
add ebp, 0x148
leave
ret
lea ecx, [ebp - 0xc4]
call fcn.0040259d
push edi
push 0x45d848
push ecx
push str.__mode
push 0x23
push ecx
push str.SHGetFolderPath_0x
mov ecx, eax
mov dword [ebp - 4], ebx
call fcn.0040420a
mov ecx, eax
call fcn.0040dfbe
mov ecx, eax
call fcn.0040c167
mov ecx, eax
call fcn.0040420a
mov ecx, eax
call fcn.0040ef29
mov ecx, eax
call fcn.0040420a
push eax
lea ecx, [ebp - 0x2c]
call fcn.00415cf9
mov edx, eax
push 0x1bf
push str.SysInfo::SHGetFolderPathAdapter
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_SysInfo.cpp
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.0040263d
push eax
lea ecx, [ebp]
call fcn.0040ef39
lea eax, [ebp]
mov dword [esp], 0x46a3ec
push eax
call fcn.0042906d
int3
Function at 0x414738
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0xac]
sub esp, 0xac
push 0xffffffffffffffff
push 0x44b3b0
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x46c068]
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.004140ff
and dword [ebp - 4], 0
cmp dword [ebp + 0x88], 0
je 0x4147d5
push ecx
lea eax, [ebp + 0x78]
push eax
push ebx
lea ecx, [ebp + 0x3c]
call fcn.004142cd
push dword [ebp - 0x20]
lea ecx, [ebp + 0x90]
mov byte [ebp - 4], 1
push ecx
push esi
mov ecx, eax
call fcn.00414738
lea ecx, [ebp + 0x3c]
call fcn.0041435b
jmp 0x41484d
xor ecx, ecx
xor edx, edx
and dword [ebp - 0x10], ecx
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 0x4147fe
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 0x414887
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
jne 0x4148a4
test ebx, ebx
jne 0x4148a8
test ecx, ecx
jne 0x41488a
lea eax, [ebp - 0x18]
push eax
push ecx
mov ecx, eax
call fcn.00406682
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
call fcn.00406655
lea ecx, [ebp - 0x18]
call fcn.00406581
lea ecx, [ebp + 0x90]
call fcn.00403a8e
lea ecx, [ebp + 0x78]
call fcn.00403a8e
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.00425c6e
add ebp, 0xac
leave
ret 0xc
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
push eax
push ecx
mov ecx, eax
call fcn.00406682
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x24]
jmp 0x4147e6
test ebx, ebx
je 0x41482e
push str.query_value
lea ecx, [ebp + 0x60]
call fcn.00402f5d
lea ecx, [ebp]
call fcn.00402f8a
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.00414939
push eax
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 5
call fcn.0040df60
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.0041548f
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.0040263d
push eax
lea ecx, [ebp + 0x18]
call fcn.004065a4
lea eax, [ebp + 0x18]
mov dword [esp], 0x46a1fc
push eax
call fcn.0042906d
int3