joyce8/EMBER2024-capa huggingface dataset:
Function at 0x410d81
Capabilities:
Delete file
Delete registry value
Query or enumerate registry key

Disassembly:
sub esp, 0x44c
mov eax, dword [0x48b068]
xor eax, esp
mov dword [esp + 0x444], eax
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x400
push eax
lea eax, [esp + 0x54]
xor ebx, ebx
mov edi, SysStringLen
mov dword [esp + 0x34], ebx
push eax
mov edx, str.LocalFileName
mov dword [esp + 0x20], edi
xor ecx, ecx
mov byte [esp + 0x34], bl
call fcn.004108e2
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
pop ecx
pop ecx
test eax, eax
je 0x410de3
cmp dword [esp + 0x14], ebx
je 0x410de3
lea eax, [esp + 0x50]
push eax
call esi
lea ecx, [esp + 0x50]
call fcn.00410833
test eax, eax
je 0x410e02
lea edx, [esp + 0x50]
mov ecx, edx
call fcn.00411450
lea eax, [esp + 0x50]
push eax
call esi
call fcn.00410eb1
push ebx
mov edx, str.PreDownldStatus
xor ecx, ecx
call fcn.00410a87
pop ecx
push 0x80
lea eax, [esp + 0x54]
mov dword [esp + 0x20], edi
push eax
push ebx
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
mov esi, ebx
call edi
test eax, eax
jne 0x410e98
mov ebp, 0x20019
push ebp
lea eax, [esp + 0x54]
inc esi
push eax
lea ecx, [esp + 0x20]
call fcn.0041732b
test eax, eax
jne 0x410e83
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x50]
push ebp
push eax
mov dword [esp + 0x54], ebx
mov byte [esp + 0x50], bl
call fcn.0041732b
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x38], ecx
test eax, eax
jne 0x410e83
push str.VersionXmlURL
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push 0x80
lea eax, [esp + 0x54]
push eax
push esi
push dword [esp + 0x28]
call edi
test eax, eax
je 0x410e38
mov ecx, dword [esp + 0x454]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00439b80
add esp, 0x44c
ret
Function at 0x411245
Capabilities:
Check os version

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0xa0
mov eax, dword [0x48b068]
xor eax, ebp
mov dword [ebp + 0x74], eax
push esi
mov esi, 0x9c
lea eax, [ebp - 0x28]
push esi
push 0
push eax
call fcn.0043c110
add esp, 0xc
mov dword [ebp - 0x28], esi
mov esi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
lea eax, [ebp - 0x28]
push eax
call esi
test eax, eax
jne 0x411293
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0x94
push eax
call esi
test eax, eax
je 0x4112af
cmp dword [ebp - 0x18], 2
jne 0x4112ac
cmp dword [ebp - 0x24], 6
jae 0x4112ac
cmp dword [ebp - 0x24], 4
jb 0x4112ac
call fcn.00411039
jmp 0x4112af
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x74]
xor ecx, ebp
pop esi
call fcn.00439b80
add ebp, 0x78
leave
ret

Function at 0x411450
Capabilities:
Get common file path
Parse url

Disassembly:
sub esp, 0x644
mov eax, dword [0x48b068]
xor eax, esp
mov dword [esp + 0x640], eax
push ebx
push ebp
push esi
push edi
push 0x3c
pop ebp
xor ebx, ebx
lea eax, [esp + 0x10]
push ebp
push ebx
push eax
mov edi, edx
mov byte [esp + 0x15c], bl
mov esi, ecx
call fcn.0043c110
add esp, 0xc
mov dword [esp + 0x10], ebp
lea eax, [esp + 0x250]
mov dword [esp + 0x40], 0x400
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x10]
push eax
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
mov ebp, 0x104
test eax, eax
je 0x4114f6
push 0x100
lea eax, [esp + 0x154]
push eax
push ebp
lea eax, [esp + 0x58]
push eax
push ebx
push ebx
push ebx
lea eax, [esp + 0x26c]
push ebx
push eax
call fcn.00444bc9
lea eax, [esp + 0x70]
push 0x4772e0
push eax
call fcn.0043c3b0
add esp, 0x2c
test eax, eax
je 0x411531
cmp byte [esi], bl
je 0x41151d
mov al, byte [esi]
cmp al, 0x20
je 0x411504
cmp al, 9
jne 0x41150f
push esi
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
jmp 0x4114fa
imul ebx, ebx, 0x1f
movsx eax, al
add ebx, eax
inc esi
cmp byte [esi], 0
jne 0x4114fa
push ebx
lea eax, [esp + 0x50]
push str.jupdate__x
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push edi
push ebp
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x4c]
push eax
push edi
call esi
lea eax, [esp + 0x150]
push eax
push edi
call esi
mov ecx, dword [esp + 0x650]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00439b80
add esp, 0x644
ret
Function at 0x41367e
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x390]
sub esp, 0x410
mov eax, dword [0x48b068]
xor eax, ebp
mov dword [ebp + 0x38c], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x78]
mov dword [ebp - 0x7c], 0x400
push eax
push 1
xor ebx, ebx
mov edi, ecx
push ebx
push str.SOFTWAREJavaSoftJava_UpdatePolicy
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x41374c
lea eax, [ebp - 0x7c]
mov byte [ebp - 0x74], bl
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x80]
push eax
push ebx
push str.TransferJobID
push dword [ebp - 0x78]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x78]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x7c], ebx
jbe 0x41374c
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x41374c
lea eax, [ebp - 0x74]
push eax
call fcn.00441ed0
pop ecx
lea esi, [eax + 1]
cmp esi, 0x3fffffff
jg 0x41372c
lea eax, [esi + esi]
call fcn.0043a600
mov ecx, esp
lea edx, [ebp - 0x74]
push 3
push esi
call fcn.00401ee7
mov ebx, eax
push edi
push ebx
call dword [sym.imp.ole32.dll_CLSIDFromString]
push 0x10
push 0x4664d0
push edi
call fcn.0043c644
add esp, 0xc
test eax, eax
je 0x41374c
xor eax, eax
jmp 0x413751
mov eax, 0x80004005
lea esp, [ebp - 0x8c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x38c]
xor ecx, ebp
call fcn.00439b80
add ebp, 0x390
leave
ret

Function at 0x4149d4
Capabilities:
Encrypt data using dpapi

Disassembly:
push 0x54
mov eax, 0x460361
call fcn.0043a499
mov esi, ecx
mov dword [ebp - 0x48], esi
push 5
xor eax, eax
mov dword [ebp - 0x48], esi
pop ecx
inc eax
mov dword [ebp - 0x54], 4
cmp dword [ebp + 0xc], eax
xorps xmm0, xmm0
mov dword [ebp - 0x50], edx
cmove eax, ecx
movlpd qword [ebp - 0x4c], xmm0
lea ecx, [ebp - 0x4c]
xor edi, edi
push ecx
push eax
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.CRYPT32.dll_CryptProtectData]
test eax, eax
je 0x414a4b
push ecx
push dword [ebp - 0x4c]
mov ecx, esi
call fcn.00411578
push dword [ebp - 0x4c]
push dword [ebp - 0x48]
push dword [esi]
call fcn.0043bb90
add esp, 0xc
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, esi
call fcn.0043a443
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push eax
lea ecx, [ebp - 0x2c]
call fcn.0041497a
push eax
mov edx, str.encryption_failed__sysError
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x44]
call fcn.00406ca5
add esp, 0xc
push eax
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 1
call fcn.00408087
push 0x488b70
lea eax, [ebp - 0x60]
push eax
call fcn.0043d85d
int3
Function at 0x414a8b
Capabilities:
Encrypt data using dpapi

Disassembly:
push 0x50
mov eax, 0x460396
call fcn.0043a499
mov esi, ecx
mov dword [ebp - 0x44], esi
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x44], esi
xorps xmm0, xmm0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x48]
push eax
push 1
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x50]
mov dword [ebp - 0x4c], edx
push eax
movlpd qword [ebp - 0x48], xmm0
call dword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
je 0x414af6
push ecx
push dword [ebp - 0x48]
mov ecx, esi
call fcn.00411578
push dword [ebp - 0x48]
push dword [ebp - 0x44]
push dword [esi]
call fcn.0043bb90
add esp, 0xc
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, esi
call fcn.0043a443
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push eax
lea ecx, [ebp - 0x28]
call fcn.0041497a
push eax
mov edx, str.decryption_failed__sysError
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x40]
call fcn.00406ca5
add esp, 0xc
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 1
call fcn.00408087
push 0x488b70
lea eax, [ebp - 0x5c]
push eax
call fcn.0043d85d
int3
Function at 0x414b99
Capabilities:
Encode data using base64 via winapi

Disassembly:
push 0xa0
mov eax, 0x460409
call fcn.0043a499
mov eax, edx
mov dword [ebp - 0x94], eax
mov esi, ecx
mov dword [ebp - 0x90], esi
xor ebx, ebx
mov dword [ebp - 0x90], esi
cmp dword [ebp + 8], ebx
jne 0x414bd6
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], 0xf
mov byte [esi], bl
jmp 0x414cc2
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x90], ebx
push ecx
push ebx
push 0x40000001
push dword [ebp + 8]
push eax
call dword [sym.imp.CRYPT32.dll_CryptBinaryToStringA]
test eax, eax
je 0x414cca
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], bl
push ebx
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x90]
call fcn.0040e762
cmp dword [ebp - 0x18], 0x10
lea ecx, [ebp - 0x90]
push ecx
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
push 0x40000001
push dword [ebp + 8]
push dword [ebp - 0x94]
call dword [sym.imp.CRYPT32.dll_CryptBinaryToStringA]
test eax, eax
jne 0x414c8e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push eax
lea ecx, [ebp - 0x74]
call fcn.0041497a
push eax
mov edx, str.binary2string__phase2__failed__sysError
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8c]
call fcn.00406ca5
add esp, 0xc
push eax
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 4
call fcn.00408087
push 0x488b70
lea eax, [ebp - 0xac]
jmp 0x414d09
push ebx
push dword [ebp - 0x90]
lea ecx, [ebp - 0x2c]
call fcn.0040e762
mov byte [ebp - 0x94], bl
lea eax, [ebp - 0x2c]
push dword [ebp - 0x94]
mov ecx, esi
mov dword [esi + 0x10], ebx
push eax
mov dword [esi + 0x14], ebx
call fcn.00406c4c
lea ecx, [ebp - 0x2c]
call fcn.00406b80
mov eax, esi
call fcn.0043a443
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push eax
lea ecx, [ebp - 0x44]
call fcn.0041497a
push eax
mov edx, str.binary2string__phase1__failed__sysError
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x5c]
call fcn.00406ca5
add esp, 0xc
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 1
call fcn.00408087
push 0x488b70
lea eax, [ebp - 0xa0]
push eax
call fcn.0043d85d
int3
Function at 0x414d10
Capabilities:
Decode data using base64 via winapi

Disassembly:
push 0x8c
mov eax, 0x460459
call fcn.0043a499
mov ebx, edx
mov edi, ecx
mov dword [ebp - 0x74], edi
xor esi, esi
mov dword [ebp - 0x74], edi
cmp dword [ebx + 0x10], esi
jne 0x414d3d
mov dword [edi], esi
mov dword [edi + 4], esi
mov dword [edi + 8], esi
jmp 0x414dfd
cmp dword [ebx + 0x14], 0x10
mov eax, ebx
mov dword [ebp - 0x74], esi
jb 0x414d4a
mov eax, dword [ebx]
push esi
push esi
lea ecx, [ebp - 0x74]
push ecx
push esi
push 1
push dword [ebx + 0x10]
push eax
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0x414e05
push ecx
push dword [ebp - 0x74]
lea ecx, [ebp - 0x80]
call fcn.00411578
mov dword [ebp - 4], 2
cmp dword [ebx + 0x14], 0x10
mov eax, dword [ebx + 0x10]
jb 0x414d83
mov ebx, dword [ebx]
push esi
push esi
lea ecx, [ebp - 0x74]
push ecx
push dword [ebp - 0x80]
push 1
push eax
push ebx
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x414ddc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
push eax
lea ecx, [ebp - 0x58]
call fcn.0041497a
push eax
mov edx, str.string2binary__phase2__failed__sysError
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x70]
call fcn.00406ca5
add esp, 0xc
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.00408087
push 0x488b70
lea eax, [ebp - 0x98]
jmp 0x414e44
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x74]
mov ecx, eax
call fcn.00414eba
lea eax, [ebp - 0x80]
mov ecx, edi
push eax
call fcn.00414e8d
lea ecx, [ebp - 0x80]
call fcn.004115b2
mov eax, edi
call fcn.0043a443
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
push eax
lea ecx, [ebp - 0x28]
call fcn.0041497a
push eax
mov edx, str.string2binary__phase1__failed__sysError
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x40]
call fcn.00406ca5
add esp, 0xc
push eax
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 1
call fcn.00408087
push 0x488b70
lea eax, [ebp - 0x8c]
push eax
call fcn.0043d85d
int3
Function at 0x416b45
Capabilities:
Create process on windows

Disassembly:
push 0x24
mov eax, 0x460932
call fcn.0043a499
mov esi, ecx
cmp dword [0x48e67c], 1
jg 0x416b9a
lea eax, [esi + 0x30]
mov edx, str.Executor.exec__:
push eax
lea ecx, [ebp - 0x28]
call fcn.004137b0
pop ecx
and dword [ebp - 4], 0
mov ecx, 0x48e67c
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.00417dda
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00406b80
push 0x44
pop ebx
push ebx
lea edi, [esi + 0x70]
push 0
push edi
call fcn.0043c110
add esp, 0xc
mov dword [edi], ebx
lea ebx, [esi + 0x60]
push 0x10
push 0
push ebx
call fcn.0043c110
add esp, 0xc
cmp dword [esi + 0xb4], 1
jne 0x416bde
or dword [esi + 0x9c], 1
xor eax, eax
mov word [esi + 0xa0], ax
mov dword [esi + 0x54], 0x8000000
cmp byte [esi + 0xc1], 0
je 0x416bee
mov ecx, esi
call fcn.0041702c
lea ecx, [esi + 0x30]
cmp dword [ecx + 0x14], 0x10
mov edx, ecx
jb 0x416bfb
mov edx, dword [ecx]
mov eax, dword [ecx + 0x10]
add eax, edx
cmp dword [ecx + 0x14], 0x10
jb 0x416c08
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.00411617
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 1
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 0x29], 0
call fcn.00412710
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x416c41
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.004115b2
mov al, bl
call fcn.0043a443
ret
Function at 0x41e2d7
Capabilities:
Check http status code

Disassembly:
push 0x84
mov eax, 0x461bff
call fcn.0043a499
mov edi, ecx
push ecx
push 0x13
call fcn.0041dd9f
mov esi, eax
cmp esi, 0xc8
je 0x41e39c
cmp esi, 0xce
je 0x41e39c
cmp esi, 0x193
jne 0x41e35e
push 0x472e86
lea ecx, [ebp - 0x2c]
call fcn.004069c2
and dword [ebp - 4], 0
lea eax, [ebp - 0x2c]
push eax
push 0x14
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
call fcn.0041dedc
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00406b80
push ecx
push str.Export_Denied
lea ecx, [ebp - 0x44]
call fcn.0041a971
cmp eax, 0xffffffff
jne 0x41e3a2
or dword [ebp - 4], eax
lea ecx, [ebp - 0x44]
call fcn.00406999
push esi
lea ecx, [ebp - 0x90]
call fcn.0041c080
mov edx, eax
push 0x2ce
push str.HttpConnection::Response::checkStatus
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_NetUtils.cpp
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 4
call fcn.00404614
push eax
lea ecx, [ebp - 0x70]
call fcn.0041ecb5
mov dword [esp], 0x488fa0
jmp 0x41e3da
call fcn.0043a443
ret
lea ecx, [ebp - 0x90]
call fcn.0041c112
mov edx, eax
push 0x2cb
push str.HttpConnection::Response::checkStatus
push str.c:_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u281_880_install_src_windows_common_NetUtils.cpp
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 3
call fcn.00404614
push eax
lea ecx, [ebp - 0x70]
call fcn.0041ecee
mov dword [esp], 0x489070
lea eax, [ebp - 0x70]
push eax
call fcn.0043d85d
int3

Function at 0x41e64f
Capabilities:
Parse url

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x48b068]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x3c
pop ebx
push ebx
lea eax, [ebp - 0x58]
mov esi, edx
push 0
push eax
mov edi, ecx
call fcn.0043c110
mov dword [ebp - 0x58], ebx
add esp, 0xc
xor ebx, ebx
inc ebx
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x44], ebx
jb 0x41e689
mov edi, dword [edi]
lea eax, [ebp - 0x58]
push eax
push 0
push 0
push edi
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
jne 0x41e6a0
xor al, al
jmp 0x41e6de
mov eax, dword [ebp - 0x4c]
push 3
pop ecx
sub eax, ecx
je 0x41e6b7
sub eax, 1
je 0x41e6b3
mov dword [esi], ebx
jmp 0x41e6bd
mov dword [esi], ecx
jmp 0x41e6bd
mov dword [esi], 2
push dword [ebp - 0x44]
lea ecx, [ebp - 0x1c]
push dword [ebp - 0x48]
call fcn.00417205
push eax
lea ecx, [esi + 4]
call fcn.00409fe5
lea ecx, [ebp - 0x1c]
call fcn.00406b80
mov al, bl
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00439b80
leave
ret
Function at 0x420e41
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push pe_nt_image_headers32
mov eax, 0x46208a
call fcn.0043a499
mov edi, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x6c], eax
call fcn.00420e23
mov ebx, eax
test ebx, ebx
je 0x420f2f
mov esi, dword [sym.imp.KERNEL32.dll_LoadResource]
push ebx
push dword [edi + 0x38]
call esi
test eax, eax
jne 0x420ee7
push str.cannot_load_resource
lea ecx, [ebp - 0x2c]
call fcn.004069c2
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 4
push eax
lea eax, [ebp - 0x68]
mov ecx, edi
push eax
call fcn.00420d65
push eax
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 5
call fcn.004174ff
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.0042adad
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 0x420f9c
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
cmp dword [edi + 0x34], 6
mov esi, eax
jne 0x420f16
mov ecx, dword [edi + 0x18]
and ecx, 0xf
jbe 0x420f0c
movzx eax, word [esi]
lea esi, [esi + eax*2]
add esi, 2
sub ecx, 1
jne 0x420efe
movzx eax, word [esi]
add eax, eax
add esi, 2
jmp 0x420f20
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.0043a443
ret 4
push str.cannot_find_resource
lea ecx, [ebp - 0x2c]
call fcn.004069c2
and dword [ebp - 4], 0
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x68]
mov ecx, edi
push eax
call fcn.00420d65
push eax
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 1
call fcn.004174ff
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.0042adad
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.00404614
push eax
lea ecx, [ebp - 0x50]
call fcn.0041ec43
lea eax, [ebp - 0x50]
mov dword [esp], 0x488fdc
push eax
call fcn.0043d85d
int3

Function at 0x42411b
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.0043c110
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 0x42599b
Capabilities:
Check if file exists
Get file attributes

Disassembly:
cmp dword [ecx + 0x14], 0x10
jb 0x4259a3
mov ecx, dword [ecx]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
setne al
ret
Function at 0x4259b1
Capabilities:
Check if file exists
Get file attributes

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

Function at 0x425cab
Capabilities:
Get file version info

Disassembly:
push 0xe8
mov eax, 0x462e06
call fcn.0043a499
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.00407be2
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 0x425cf2
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 0x425db7
push edi
push eax
mov ecx, edi
call fcn.00414eba
mov eax, dword [edi + 4]
mov ecx, esi
sub eax, dword [edi]
cmp dword [esi + 0x14], 0x10
jb 0x425d1f
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 0x425dad
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.00404614
push eax
push str.System_error
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push 0x478c28
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x40], esp
push esi
call fcn.00407bc8
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 6
call fcn.004088ff
mov byte [ebp - 4], 7
push str.GetFileVersionInfo_
mov ecx, eax
call fcn.0040be06
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.0040be1a
mov ecx, eax
call fcn.0040be06
push eax
lea ecx, [ebp - 0x50]
call fcn.0042adad
mov byte [ebp - 4], 9
jmp 0x425e2d
mov eax, esi
call fcn.0043a443
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.00404614
push eax
push str.System_error
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push 0x478c28
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x40], esp
push esi
call fcn.00407bc8
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 2
call fcn.004088ff
mov byte [ebp - 4], 3
push str.GetFileVersionInfoSize_
mov ecx, eax
call fcn.0040be06
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0040be1a
mov ecx, eax
call fcn.0040be06
push eax
lea ecx, [ebp - 0x5c]
call fcn.0042adad
mov byte [ebp - 4], 5
mov edx, eax
lea ecx, [ebp - 0x38]
call fcn.0041ec43
lea eax, [ebp - 0x38]
mov dword [esp], 0x488fdc
push eax
call fcn.0043d85d
int3