joyce8/EMBER2024-capa huggingface dataset:
Function at 0x42a3d1
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push pe_nt_image_headers32
mov eax, 0x476d41
call fcn.00448ddd
mov edi, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x6c], eax
call fcn.0042a3b3
mov ebx, eax
test ebx, ebx
je 0x42a4bf
mov esi, dword [sym.imp.kernel32.dll_LoadResource]
push ebx
push dword [edi + 0x38]
call esi
test eax, eax
jne 0x42a477
push str.cannot_load_resource
lea ecx, [ebp - 0x2c]
call fcn.00403e12
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 4
push eax
lea eax, [ebp - 0x68]
mov ecx, edi
push eax
call fcn.0042a2f5
push eax
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 5
call fcn.00426e87
push str.System_error
mov byte [ebp - 4], 6
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push esi
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x84]
call fcn.00435e5f
mov edx, eax
push 0x46
push str.Resource::getPtr
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x78]
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_Resources.cpp
jmp 0x42a52c
push eax
call dword [sym.imp.kernel32.dll_LockResource]
cmp dword [edi + 0x34], 6
mov esi, eax
jne 0x42a4a6
mov ecx, dword [edi + 0x18]
and ecx, 0xf
jbe 0x42a49c
movzx eax, word [esi]
lea esi, [esi + eax*2]
add esi, 2
sub ecx, 1
jne 0x42a48e
movzx eax, word [esi]
add eax, eax
add esi, 2
jmp 0x42a4b0
push ebx
push dword [edi + 0x38]
call dword [sym.imp.kernel32.dll_SizeofResource]
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov eax, esi
call fcn.00448d87
ret 4
push str.cannot_find_resource
lea ecx, [ebp - 0x2c]
call fcn.00403e12
and dword [ebp - 4], 0
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x68]
mov ecx, edi
push eax
call fcn.0042a2f5
push eax
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 1
call fcn.00426e87
push str.System_error
mov byte [ebp - 4], 2
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push dword [sym.imp.kernel32.dll_FindResourceA]
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x78]
call fcn.00435e5f
mov edx, eax
push 0x41
push str.Resource::getPtr
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x84]
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_Resources.cpp
call fcn.00402dde
push eax
lea ecx, [ebp - 0x50]
call fcn.0041e178
lea eax, [ebp - 0x50]
mov dword [esp], 0x4a5da4
push eax
call fcn.0042b58a
int3

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

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

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

Disassembly:
cmp dword [ecx + 0x14], 0x10
jb 0x42a819
mov ecx, dword [ecx]
push ecx
call dword [sym.imp.kernel32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x42a82c
test al, 0x10
je 0x42a82c
mov al, 1
ret
xor al, al
ret
Function at 0x42aed7
Capabilities:
Create directory

Disassembly:
push 0xec
mov eax, 0x477015
call fcn.00448ddd
mov edi, edx
mov esi, ecx
and dword [ebp - 4], 0
lea eax, [ebp + 8]
cmp dword [ebp + 0x1c], 0x10
mov ebx, dword [sym.imp.kernel32.dll_CreateDirectoryA]
cmovae eax, dword [ebp + 8]
push esi
push eax
call ebx
test eax, eax
je 0x42afc1
cmp dword [0x4ac0bc], 0
jg 0x42af9c
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x50], esp
xor ebx, ebx
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00404b39
push ecx
push ecx
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 1
call fcn.00403ead
mov edx, str.Created__
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xf8]
call fcn.00406a2a
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 3
call fcn.00405461
mov esi, eax
mov edx, str.__directory
mov ecx, esi
call fcn.00406a2a
push esi
push str.FileUtils::_anonymous_namespace::createDir
push 0x1ce
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_FileUtils.cpp
push ebx
mov ecx, 0x4ac0bc
call fcn.00402d4b
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], bl
call fcn.0042b58a
test edi, edi
je 0x42afd9
lea edx, [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.0042aa4f
push eax
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.004138d2
lea ecx, [ebp - 0x28]
call fcn.004049c7
jmp 0x42afd9
call dword [sym.imp.kernel32.dll_GetLastError]
mov edi, eax
test esi, esi
jne 0x42afe7
lea ecx, [ebp + 8]
call fcn.0042a811
test al, al
je 0x42afe7
lea ecx, [ebp + 8]
call fcn.004049c7
call fcn.00448d87
ret
push 0x1d7
push str.FileUtils::_anonymous_namespace::createDir
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_FileUtils.cpp
lea ecx, [ebp - 0x5c]
call fcn.00402dde
push eax
push str.System_error
push edi
push ebx
push 0x48fbb8
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x50], esp
push eax
call fcn.00403e50
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 5
call fcn.00402b9d
mov byte [ebp - 4], 6
push str.CreateDirectory_
mov ecx, eax
call fcn.0040544d
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.00405461
mov ecx, eax
call fcn.0040544d
push eax
lea ecx, [ebp - 0x1c]
call fcn.00435e5f
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4c]
call fcn.0041e178
lea eax, [ebp - 0x4c]
mov dword [esp], 0x4a5da4
push eax
call fcn.0042b58a
int3
Function at 0x42b58a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
pushal
call 0x42b599
pop dword [ebp - 0x40]
mov eax, 0x1ea302f8
sub eax, 0x1e604d5f
sub dword [ebp - 0x40], eax
push 0x40
push 0x1000
push 0x4e232
push 0
mov eax, sym.imp.kernel32.dll_VirtualAlloc
add eax, dword [ebp - 0x40]
call dword [eax]
mov ecx, 0x2c8c7d20
sub ecx, 0x2c8c2a43
xor esi, esi
add esi, eax
mov edx, 0x59b4e62e
sub edx, 0x5965402e
add edx, dword [ebp - 0x40]
mov edi, 0x6daaeac
mov ebx, dword [edx]
add dword [ebp - 0x30], edi
xor ebx, edi
xor dword [ebp - 0x2c], 0x55aca72a
mov dword [esi], ebx
xor dword [ebp - 0x14], ebx
add esi, 0x6f38e8b5
add esi, 0x90c7174f
add edx, 0xff9277d3
add edx, 0x6d8831
loop 0x42b5ef
add eax, 0x13e47
mov ebx, eax
add eax, 0x820977ab
sub eax, 0x820977a6
mov ecx, 0x400000
add ecx, dword [ebp - 0x40]
call ebx
leave
ret
Function at 0x42c1be
Capabilities:
Get file version info

Disassembly:
push 0xe8
mov eax, 0x47739b
call fcn.00448ddd
mov esi, ecx
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x44], esi
push eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
call fcn.00404b39
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 - 0x3c], ebx
jb 0x42c205
mov eax, dword [esi]
mov ebx, dword [sym.imp.version.dll_GetFileVersionInfoSizeA]
lea ecx, [ebp - 0x3c]
push ecx
push eax
call ebx
test eax, eax
je 0x42c2ca
push edi
push eax
mov ecx, edi
call fcn.00418eeb
mov eax, dword [edi + 4]
mov ecx, esi
sub eax, dword [edi]
cmp dword [esi + 0x14], 0x10
jb 0x42c232
mov ecx, dword [esi]
push dword [edi]
mov edi, dword [sym.imp.version.dll_GetFileVersionInfoA]
push eax
push dword [ebp - 0x3c]
push ecx
call edi
test eax, eax
jne 0x42c2c0
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 - 0x5c]
call fcn.00402dde
push eax
push str.System_error
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push edi
push 0x48fbb8
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x40], esp
push esi
call fcn.00403e50
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 6
call fcn.00402b9d
mov byte [ebp - 4], 7
push str.GetFileVersionInfo_
mov ecx, eax
call fcn.0040544d
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.00405461
mov ecx, eax
call fcn.0040544d
push eax
lea ecx, [ebp - 0x50]
call fcn.00435e5f
mov byte [ebp - 4], 9
jmp 0x42c340
mov eax, esi
call fcn.00448d87
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 - 0x50]
call fcn.00402dde
push eax
push str.System_error
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push ebx
push 0x48fbb8
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x40], esp
push esi
call fcn.00403e50
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 2
call fcn.00402b9d
mov byte [ebp - 4], 3
push str.GetFileVersionInfoSize_
mov ecx, eax
call fcn.0040544d
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.00405461
mov ecx, eax
call fcn.0040544d
push eax
lea ecx, [ebp - 0x5c]
call fcn.00435e5f
mov byte [ebp - 4], 5
mov edx, eax
lea ecx, [ebp - 0x38]
call fcn.0041e178
lea eax, [ebp - 0x38]
mov dword [esp], 0x4a5da4
push eax
call fcn.0042b58a
int3
Function at 0x42e4cf
Capabilities:
Get common file path

Disassembly:
push 0x2c
mov eax, 0x477829
call fcn.00448ddd
mov esi, ecx
mov dword [ebp - 0x38], esi
push ecx
push 0x104
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x38], esi
call fcn.00410bb9
and dword [ebp - 4], 0
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x34]
sub eax, dword [ebp - 0x34]
push eax
call dword [sym.imp.kernel32.dll_GetTempPathA]
mov ecx, dword [ebp - 0x34]
mov edx, eax
mov eax, dword [ebp - 0x30]
sub eax, ecx
cmp edx, eax
jbe 0x42e532
lea eax, [ebp - 0x34]
push eax
push edx
mov ecx, eax
call fcn.00425854
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x34]
sub eax, dword [ebp - 0x34]
push eax
call dword [sym.imp.kernel32.dll_GetTempPathA]
mov ecx, dword [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x28]
call fcn.00403e12
lea edx, [ebp - 0x28]
mov byte [ebp - 4], 1
mov ecx, esi
call fcn.0042aa4f
lea ecx, [ebp - 0x28]
call fcn.004049c7
lea ecx, [ebp - 0x34]
call fcn.0040c03a
mov eax, esi
call fcn.00448d87
ret

Function at 0x42e5a8
Capabilities:
Get common file path

Disassembly:
push 0x208
mov eax, 0x47786f
call fcn.00448ddd
mov esi, ecx
mov dword [ebp - 0x160], esi
push 0x104
xor ebx, ebx
mov dword [ebp - 0x160], esi
lea eax, [ebp - 0x11c]
push ebx
push eax
call fcn.0044b900
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
push ebx
push ebx
push 0x8023
push ebx
call dword [sym.imp.shell32.dll_SHGetFolderPathA]
mov edi, eax
test edi, edi
jne 0x42e630
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x134]
call fcn.00403e12
lea edx, [ebp - 0x134]
mov dword [ebp - 4], 2
mov ecx, esi
call fcn.0042aa4f
lea ecx, [ebp - 0x134]
call fcn.004049c7
mov eax, esi
call fcn.00448d87
ret
lea ecx, [ebp - 0x214]
call fcn.00402b9d
push edi
push ecx
push 0x489fac
sub esp, 0xc
mov dword [ebp - 4], ebx
push str.__mode
push ecx
push 0x23
push 0x412372
push str.SHGetFolderPath_0x
mov ecx, eax
call fcn.0040544d
mov ecx, eax
call fcn.00412389
mov ecx, eax
call fcn.00413a79
pop ecx
mov ecx, eax
call fcn.0040544d
pop ecx
mov ecx, eax
call fcn.0042eaac
pop ecx
mov ecx, eax
call fcn.0040544d
pop ecx
push eax
lea ecx, [ebp - 0x17c]
call fcn.00433be6
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 - 0x16c]
mov byte [ebp - 4], 1
call fcn.00402dde
push eax
lea ecx, [ebp - 0x15c]
call fcn.0042eabe
lea eax, [ebp - 0x15c]
mov dword [esp], 0x4a60a4
push eax
call fcn.0042b58a
int3
Function at 0x4341d7
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x7c
mov eax, 0x4787fa
call fcn.00448ddd
mov edi, ecx
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x44]
push esi
call fcn.00433c44
xor ebx, ebx
cmp dword [ebp - 0x34], ebx
je 0x43426f
mov eax, dword [edi + 8]
lea ecx, [ebp - 0x84]
push ebx
or eax, 0x20019
push eax
lea eax, [ebp - 0x44]
push eax
push dword [edi]
call fcn.00433c76
mov esi, dword [ebp - 0x84]
add esp, 0x10
cmp dword [ebp - 0x7c], ebx
je 0x434226
mov al, byte [ebp - 0x80]
jmp 0x43425b
push ebx
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x69], bl
push eax
mov al, byte [ebp - 0x80]
push ecx
push ecx
mov ecx, esp
mov byte [ecx + 4], al
lea eax, [ebp - 0x44]
push eax
mov dword [ecx], esi
lea ecx, [ebp - 0x68]
push edi
call fcn.00433e12
mov ecx, eax
call fcn.004341d7
lea ecx, [ebp - 0x68]
mov bl, al
call fcn.0042b58a
mov al, byte [ebp - 0x69]
mov dword [ebp - 4], 1
test al, al
je 0x434296
push esi
call fcn.00436b4f
pop ecx
jmp 0x434296
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x74], ebx
jb 0x43427d
mov esi, dword [esi]
lea eax, [ebp - 0x70]
push eax
push ebx
lea eax, [ebp - 0x74]
push eax
push ebx
push esi
push dword [edi]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x434296
mov bl, 1
lea ecx, [ebp - 0x2c]
call fcn.004049c7
lea ecx, [ebp - 0x44]
call fcn.004049c7
mov al, bl
call fcn.00448d87
ret 8
Function at 0x4345ff
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0xac]
sub esp, 0xac
push 0xffffffffffffffff
push 0x4789b2
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x4a8068]
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.00433c44
xor eax, eax
mov dword [ebp - 4], eax
cmp dword [ebp + 0x88], eax
je 0x43469c
push eax
lea eax, [ebp + 0x78]
push eax
push ebx
lea ecx, [ebp + 0x3c]
call fcn.00433eb1
push dword [ebp - 0x20]
lea ecx, [ebp + 0x90]
mov byte [ebp - 4], 1
push ecx
push esi
mov ecx, eax
call fcn.004345ff
lea ecx, [ebp + 0x3c]
call fcn.0042b58a
jmp 0x434714
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 0x4346c5
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 0x43474e
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
jne 0x43476b
test ebx, ebx
jne 0x43476f
test ecx, ecx
jne 0x434751
lea eax, [ebp - 0x18]
push eax
push ecx
mov ecx, eax
call fcn.00418eeb
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
call fcn.00418ebe
lea ecx, [ebp - 0x18]
call fcn.0040c03a
lea ecx, [ebp + 0x90]
call fcn.004049c7
lea ecx, [ebp + 0x78]
call fcn.004049c7
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.004484c4
add ebp, 0xac
leave
ret 0xc
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
push eax
push ecx
mov ecx, eax
call fcn.00418eeb
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x24]
jmp 0x4346ad
test ebx, ebx
je 0x4346f5
push str.query_value
lea ecx, [ebp + 0x60]
call fcn.00403e12
lea ecx, [ebp]
call fcn.00403e3f
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.0043507c
push eax
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 5
call fcn.00426e87
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.00435e5f
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.00402dde
push eax
lea ecx, [ebp + 0x18]
call fcn.0041e178
lea eax, [ebp + 0x18]
mov dword [esp], 0x4a5da4
push eax
call fcn.0042b58a
int3
Function at 0x434f39
Capabilities:
Delete registry value

Disassembly:
push 0x104
mov eax, 0x478b6f
call fcn.00448ddd
mov ebx, ecx
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x40]
push esi
call fcn.00433c44
cmp dword [ebp - 0x30], 0
je 0x434fd7
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.00433c76
mov edi, dword [ebp - 0x70]
add esp, 0x10
mov esi, dword [ebp - 0x78]
test edi, edi
je 0x434f87
mov al, byte [ebp - 0x74]
jmp 0x434fbc
push 0x4ab119
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.00433e12
mov ecx, eax
call fcn.00434f39
lea ecx, [ebp - 0x64]
mov edi, eax
call fcn.0042b58a
xor eax, eax
mov dword [ebp - 4], 1
test al, al
je 0x435062
push esi
call fcn.00436b4f
pop ecx
jmp 0x435062
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x434fe1
mov eax, dword [esi]
push eax
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov edi, eax
test edi, edi
jne 0x435062
cmp dword [0x4ac0bc], eax
jg 0x435062
push ecx
push ecx
lea ecx, [ebp - 0x110]
call fcn.00403ead
mov edx, str.Deleted__
lea ecx, [ebp - 0x110]
call fcn.00406a2a
sub esp, 0x18
mov ecx, ebx
mov eax, esp
push esi
push eax
call fcn.00434128
lea ecx, [ebp - 0x110]
call fcn.00405461
mov esi, eax
mov edx, str.__value
mov ecx, esi
call fcn.00406a2a
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, 0x4ac0bc
call fcn.00402d4b
lea ecx, [ebp - 0x110]
call fcn.0042b58a
lea ecx, [ebp - 0x28]
call fcn.004049c7
lea ecx, [ebp - 0x40]
call fcn.004049c7
mov eax, edi
call fcn.00448d87
ret 8
Function at 0x4390ad
Capabilities:
Check mutex on windows

Disassembly:
push 0xa4
mov eax, 0x47976c
call fcn.00448da9
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 0x43915f
push edi
push esi
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov dword [ebp - 0x10], eax
test edi, edi
je 0x439158
cmp dword [0x4ac0bc], 1
jg 0x439158
push ecx
push ecx
lea ecx, [ebp - 0xb0]
call fcn.00403ead
mov edx, str.finish_waiting_for_mutex:
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb0]
call fcn.00406a2a
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb0]
call fcn.0040581e
lea eax, [ebp - 0xb0]
mov ecx, 0x4ac0bc
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.00402d4b
lea ecx, [ebp - 0xb0]
call fcn.0042b58a
mov eax, dword [ebp - 0x10]
cmp eax, 0x102
je 0x439161
mov bl, 1
push esi
mov dword [ebp - 4], 3
call fcn.00436a38
pop ecx
mov al, bl
call fcn.00448d72
ret

Function at 0x43fc90
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x23c]
sub esp, 0x23c
push 0xffffffffffffffff
push 0x47aa4c
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x4a8068]
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 0x43fd6a
lea eax, [ebp + 0x30]
push eax
lea ecx, [ebp]
call fcn.0041d1c7
mov esi, eax
mov dword [ebp - 4], ebx
mov ebx, str.OracleJavajava.settings.cfg
push ebx
call fcn.0042b58a
pop ecx
push eax
push ebx
mov ecx, esi
call fcn.0042b58a
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.0041d2a0
lea edx, [ebp + 0x18]
mov byte [ebp - 4], 1
mov ecx, edi
call fcn.0043f3d0
lea ecx, [ebp + 0x18]
call fcn.00419e55
lea ecx, [ebp]
call fcn.00419e55
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.004484c4
add ebp, 0x23c
leave
ret
push 0xc8
lea ecx, [ebp - 0x20]
call fcn.0041241e
push 0x4a5ce4
lea eax, [ebp - 0x20]
push eax
call fcn.0042b58a
int3
Function at 0x6a6c21d0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x1c]
mov esi, eax
push ebx
sub esp, 0x3c
mov byte [ebp - 0x1d], 0
jmp 0x6a6c21f5
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x6a6c2230
cmp byte [ebp - 0x1d], 0
je 0x6a6c2250
mov eax, dword [esi]
lea edx, [ebp - 0x1d]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
mov dword [esp + 4], edx
mov dword [esp], esi
call dword [eax + 0xc]
sub esp, 0x10
mov ebx, eax
test eax, eax
jns 0x6a6c21e8
test byte [0x6a6c5068], 8
jne 0x6a6c2260
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [0x6a6c5068], 8
jne 0x6a6c2260
cmp ebx, 1
mov eax, 0x80004005
cmovbe ebx, eax
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
lea esp, [ebp - 0xc]
xor ebx, ebx
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str.Unexpected_end_of_stream_or_Read_failed_with__08x_n
mov dword [esp + 8], 0x6a6c7578
mov dword [esp + 4], 0x6a6c5068
mov dword [esp], 3
call fcn.6a6c1310
jmp 0x6a6c2239
Function at 0x4026f0
Capabilities:
Get thread local storage value

Disassembly:
push esi
push ebx
sub esp, 0x14
mov dword [esp], 0x40b044
call sym._EnterCriticalSection_4
mov ebx, dword [0x40b03c]
sub esp, 4
test ebx, ebx
je 0x40273b
nop
mov eax, dword [ebx]
mov dword [esp], eax
call sym._TlsGetValue_4
sub esp, 4
mov esi, eax
call sym._GetLastError_0
test eax, eax
jne 0x402734
test esi, esi
je 0x402734
mov eax, dword [ebx + 4]
mov dword [esp], esi
call eax
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x402710
mov dword [esp], 0x40b044
call sym._LeaveCriticalSection_4
sub esp, 4
add esp, 0x14
pop ebx
pop esi
ret

Function at 0x402920
Capabilities:
Write file on windows

Disassembly:
push esi
push ebx
sub esp, 0x14
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x17
lea esi, [esp + 0x24]
lea ebx, [eax + 0x40]
mov dword [esp + 4], 1
mov dword [esp + 0xc], ebx
mov dword [esp], str.Mingw_runtime_failure:_n
call sym._fwrite
mov eax, dword [esp + 0x20]
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._vfprintf
call sym._abort
lea esi, [esi]

Function at 0x402970
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
push edi
mov edi, edx
push esi
mov esi, ecx
push ebx
mov ebx, eax
sub esp, 0x3c
lea eax, [esp + 0x14]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._VirtualQuery_12
sub esp, 0xc
test eax, eax
je 0x402a44
mov eax, dword [esp + 0x28]
cmp eax, 0x40
je 0x4029ae
cmp eax, 4
jne 0x4029d0
test esi, esi
je 0x4029c2
xor eax, eax
movzx ecx, byte [edi + eax]
mov byte [ebx + eax], cl
add eax, 1
cmp eax, esi
jb 0x4029b4
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x20]
lea ebp, [esp + 0x10]
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call sym._VirtualProtect_16
sub esp, 0x10
mov ecx, dword [esp + 0x28]
test esi, esi
je 0x402a0f
xor edx, edx
movzx eax, byte [edi + edx]
mov byte [ebx + edx], al
add edx, 1
cmp edx, esi
jb 0x402a01
cmp ecx, 0x40
je 0x4029c2
cmp ecx, 4
je 0x4029c2
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call sym._VirtualProtect_16
sub esp, 0x10
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x1c
mov dword [esp], str.__VirtualQuery_failed_for__d_bytes_at_address__p
call fcn.00402920
lea esi, [esi]