joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4186e5
Capabilities:
Encode data using base64 via winapi

Disassembly:
push 0x6c
mov eax, 0x468c78
call fcn.004525cd
mov eax, dword [ebp + 8]
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
cmp dword [ebp + 0xc], ecx
jne 0x418714
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], ecx
mov byte [edi], cl
jmp 0x41880d
mov esi, dword [sym.imp.CRYPT32.dll_CryptBinaryToStringA]
lea edx, [ebp - 0x68]
push edx
push ecx
mov ebx, 0x40000001
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x68], ecx
push eax
call esi
test eax, eax
jne 0x418772
call dword [sym.imp.kernel32.dll_GetLastError]
push 0
push eax
lea esi, [ebp - 0x64]
call fcn.0044abb0
and dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x48]
push str.binary2string__phase1__failed__sysError
push eax
call fcn.0044abb0
add esp, 0x14
mov byte [ebp - 4], 1
lea esi, [ebp - 0x78]
call fcn.0044abb0
push 0x487694
mov eax, esi
push eax
call fcn.0044abb0
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x2c]
call fcn.00418a90
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x41879f
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x68]
push ecx
push eax
push ebx
push dword [ebp + 0xc]
push dword [ebp - 0x6c]
call esi
test eax, eax
jne 0x4187e1
call dword [sym.imp.kernel32.dll_GetLastError]
push 0
push eax
lea esi, [ebp - 0x48]
call fcn.0044abb0
push eax
lea eax, [ebp - 0x64]
push str.binary2string__phase2__failed__sysError
push eax
mov byte [ebp - 4], 3
call fcn.0044abb0
add esp, 0x14
mov byte [ebp - 4], 4
jmp 0x41875d
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x2c]
call fcn.00418a90
and dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
lea esi, [ebp - 0x2c]
mov byte [edi], 0
call fcn.00403068
push 0
push 1
mov ecx, esi
call fcn.0040321f
mov eax, edi
call fcn.00452650
ret
Function at 0x418815
Capabilities:
Decode data using base64 via winapi

Disassembly:
push 0x98
mov eax, 0x468c28
call fcn.004525cd
mov eax, dword [ebp + 8]
xor ebx, ebx
mov edi, ecx
mov dword [ebp - 0x84], ebx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x88], eax
cmp ecx, ebx
jne 0x41884b
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
jmp 0x418985
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x84], ebx
jb 0x41885b
mov eax, dword [edi]
jmp 0x41885d
mov eax, edi
push ebx
push ebx
lea edx, [ebp - 0x84]
push edx
push ebx
push 1
push ecx
push eax
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x4188b6
call dword [sym.imp.kernel32.dll_GetLastError]
push ebx
push eax
lea esi, [ebp - 0x48]
call fcn.0044abb0
push eax
lea eax, [ebp - 0x80]
push str.string2binary__phase1__failed__sysError
push eax
mov dword [ebp - 4], ebx
call fcn.0044abb0
add esp, 0x14
lea esi, [ebp - 0x94]
mov byte [ebp - 4], 1
call fcn.0044abb0
push 0x487694
mov eax, esi
push eax
call fcn.0044abb0
mov esi, dword [ebp - 0x84]
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
call fcn.0040fa1a
mov dword [ebp - 4], 2
cmp dword [edi + 0x14], 0x10
mov eax, dword [edi + 0x10]
jb 0x4188eb
mov edi, dword [edi]
push ebx
push ebx
lea ecx, [ebp - 0x84]
push ecx
push dword [ebp - 0x98]
push 1
push eax
push edi
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
jne 0x418949
call dword [sym.imp.kernel32.dll_GetLastError]
push ebx
push eax
lea esi, [ebp - 0x64]
call fcn.0044abb0
push eax
lea eax, [ebp - 0x2c]
push str.string2binary__phase2__failed__sysError
push eax
mov byte [ebp - 4], 3
call fcn.0044abb0
add esp, 0x14
lea esi, [ebp - 0xa4]
mov byte [ebp - 4], 4
call fcn.0044abb0
push 0x487694
mov eax, esi
jmp 0x4188b0
mov esi, dword [ebp - 0x84]
lea eax, [ebp - 0x98]
call fcn.0040fa1a
mov eax, dword [ebp - 0x88]
lea edi, [ebp - 0x98]
call fcn.00418aab
cmp dword [ebp - 0x98], ebx
je 0x41897f
push dword [ebp - 0x98]
call fcn.0044abb0
pop ecx
mov eax, dword [ebp - 0x88]
call fcn.00452650
ret

Function at 0x41917c
Capabilities:
Hide graphical window

Disassembly:
push 0x34
mov eax, 0x46facf
call fcn.00452564
mov edi, ecx
lea ebx, [edi + 0x44]
mov eax, ebx
lea esi, [ebp - 0x28]
call fcn.00436ce2
mov dword [ebp - 0x14], ebx
and dword [ebp - 4], 0
and dword [edi + 0x50], 0
mov ecx, edi
call fcn.00419273
mov eax, esi
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 8]
call fcn.00436f21
lea ebx, [edi + 0x54]
mov eax, ebx
lea esi, [ebp - 0x40]
call fcn.00436ce2
mov eax, dword [edi + 8]
mov dword [ebp - 0x2c], ebx
mov eax, dword [eax + 4]
test eax, eax
je 0x4191da
push 0
push eax
call dword [sym.imp.user32.dll_ShowWindow]
lea ecx, [ebp - 0x40]
call fcn.00436d2c
mov edi, dword [edi + 0x50]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00436d2c
mov eax, edi
call fcn.0045263c
ret
Function at 0x429a80
Capabilities:
Check http status code

Disassembly:
push 0x94
mov eax, 0x46d747
call fcn.004525cd
mov esi, ecx
push esi
push 0x13
pop ecx
call fcn.004294de
mov dword [ebp - 0x8c], eax
cmp eax, 0xc8
je 0x429bc7
cmp eax, 0xce
je 0x429bc7
cmp eax, 0x193
jne 0x429b7a
push 0x476f1c
lea ecx, [ebp - 0x4c]
call fcn.0040246d
push 0x14
xor edi, edi
push esi
lea ecx, [ebp - 0x4c]
lea ebx, [ebp - 0x30]
mov dword [ebp - 4], edi
call fcn.00429668
push edi
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 2
call fcn.0040321f
mov esi, str.Export_Denied
push esi
call fcn.0044c4a0
pop ecx
push eax
push esi
mov eax, ebx
push eax
xor eax, eax
call fcn.0044abb0
cmp eax, 0xffffffff
je 0x429b6b
mov edi, 0x193
lea ecx, [ebp - 0xa0]
call fcn.00427194
mov dword [ebp - 0xa0], vtable.HttpConnection::export_compliance_error.0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x7c]
push eax
lea esi, [ebp - 0x88]
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x88], str.c:_ade_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u241_331_install_src_windows_common_NetUtils.cpp
mov dword [ebp - 0x84], str.HttpConnection::Response::checkStatus
mov dword [ebp - 0x80], 0x2cb
call fcn.0042a8f0
mov dword [esp], 0x487bcc
lea eax, [ebp - 0x7c]
push eax
call fcn.0044abb0
or dword [ebp - 4], 0xffffffff
push edi
push 1
lea ecx, [ebp - 0x30]
call fcn.0040321f
mov edi, dword [ebp - 0x8c]
lea ecx, [ebp - 0xa0]
call fcn.00427194
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 4
push ecx
lea esi, [ebp - 0x88]
mov ecx, eax
mov dword [ebp - 0x88], str.c:_ade_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u241_331_install_src_windows_common_NetUtils.cpp
mov dword [ebp - 0x84], str.HttpConnection::Response::checkStatus
mov dword [ebp - 0x80], 0x2ce
call fcn.0042a891
mov dword [esp], 0x487b68
jmp 0x429b62
call fcn.00452650
ret

Function at 0x429ebd
Capabilities:
Check http status code
Check internet connectivity via wininet

Disassembly:
push 0x114
mov eax, 0x4706d0
call fcn.00452603
xor ebx, ebx
push ebx
lea eax, [ebp - 0x104]
push eax
mov dword [ebp - 0x104], ebx
call dword [sym.imp.wininet.dll_InternetGetConnectedState]
test eax, eax
je 0x429eed
mov al, 1
jmp 0x429f91
test byte [ebp - 0x104], 0x40
jne 0x429ee6
push str.http:__java.sun.com
lea ecx, [ebp - 0x34]
mov byte [ebp - 0xfd], bl
mov dword [ebp - 4], ebx
call fcn.0040246d
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0xfc]
push eax
mov byte [ebp - 4], 1
call fcn.00427372
push ebx
lea ecx, [ebp - 0x120]
push ecx
mov byte [ebp - 4], 2
push eax
mov dword [eax + 0x20], 2
mov word [eax + 0x1c], 1
call fcn.0044abb0
push eax
push 0x13
pop ecx
mov byte [ebp - 4], 3
call fcn.004294de
mov esi, eax
lea eax, [ebp - 0x120]
push eax
mov byte [ebp - 4], 2
call fcn.00413f09
lea edi, [ebp - 0xfc]
call fcn.004273d3
push ebx
push 1
lea ecx, [ebp - 0x34]
call fcn.0040321f
cmp esi, 0xc8
je 0x429f84
cmp esi, 0x197
jne 0x429f8b
mov byte [ebp - 0xfd], 1
mov al, byte [ebp - 0xfd]
call fcn.0045265f
ret
Function at 0x42a02d
Capabilities:
Parse url

Disassembly:
push 0x5c
mov eax, 0x46896c
call fcn.004525cd
push 0x38
lea eax, [ebp - 0x64]
push 0
push eax
mov esi, ecx
mov edi, edx
call fcn.0044c6d0
xor ebx, ebx
inc ebx
add esp, 0xc
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x68], 0x3c
mov dword [ebp - 0x54], ebx
jb 0x42a062
mov esi, dword [esi]
lea eax, [ebp - 0x68]
push eax
push 0
push 0
push esi
call dword [sym.imp.wininet.dll_InternetCrackUrlA]
test eax, eax
jne 0x42a079
xor al, al
jmp 0x42a0bd
mov eax, dword [ebp - 0x5c]
push 3
pop ecx
sub eax, ecx
je 0x42a08e
dec eax
je 0x42a08a
mov dword [edi], ebx
jmp 0x42a094
mov dword [edi], ecx
jmp 0x42a094
mov dword [edi], 2
push dword [ebp - 0x54]
lea esi, [ebp - 0x2c]
push dword [ebp - 0x58]
call fcn.004036b4
and dword [ebp - 4], 0
add edi, 4
mov esi, eax
call fcn.00403068
push 0
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040321f
mov al, bl
call fcn.00452650
ret

Function at 0x42b73a
Capabilities:
Get common file path

Disassembly:
push 0x38
mov eax, 0x467ed2
call fcn.004525cd
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x30], eax
mov esi, 0x104
lea eax, [ebp - 0x40]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
call fcn.0042a4d0
mov dword [ebp - 4], edi
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
mov ebx, dword [sym.imp.kernel32.dll_GetTempPathA]
push esi
sub edi, esi
push edi
call ebx
cmp eax, edi
jbe 0x42b796
mov esi, eax
lea eax, [ebp - 0x40]
call fcn.0042a4d0
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push esi
sub eax, esi
push eax
call ebx
push esi
lea ecx, [ebp - 0x2c]
call fcn.0040246d
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.0042c761
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.0040321f
test esi, esi
je 0x42b7c5
push esi
call fcn.0044abb0
pop ecx
mov eax, dword [ebp - 0x30]
call fcn.00452650
ret
Function at 0x42b873
Capabilities:
Get common file path

Disassembly:
push 0x20c
mov eax, 0x46d6be
call fcn.004525cd
xor esi, esi
push 0x104
lea eax, [ebp - 0x118]
push esi
push eax
mov edi, ecx
mov dword [ebp - 0x170], esi
call fcn.0044c6d0
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
push esi
push esi
push 0x8023
push esi
call dword [sym.imp.shell32.dll_SHGetFolderPathA]
mov ebx, eax
cmp ebx, esi
je 0x42b9a1
lea eax, [ebp - 0x218]
push eax
call fcn.00402794
lea eax, [ebp - 0x218]
push str.SHGetFolderPath_0x
push eax
mov dword [ebp - 4], esi
call fcn.00405526
mov eax, dword [ebp - 0x218]
mov eax, dword [eax + 4]
pop ecx
lea eax, [ebp + eax - 0x218]
pop ecx
mov ecx, dword [eax + 0x14]
and ecx, 0xfffff9ff
or ecx, 0x800
mov dword [eax + 0x14], ecx
push 0x23
lea eax, [ebp - 0x218]
push eax
call fcn.0040a962
lea eax, [ebp - 0x218]
push str.__mode
push eax
call fcn.00405526
pop ecx
pop ecx
push 1
lea eax, [ebp - 0x218]
push eax
call fcn.0040a962
lea eax, [ebp - 0x218]
push 0x47a530
push eax
call fcn.00405526
pop ecx
pop ecx
lea eax, [ebp - 0x218]
push eax
lea edi, [ebp - 0x180]
call fcn.00434dd8
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 1
push ecx
lea esi, [ebp - 0x16c]
mov ecx, eax
mov dword [ebp - 0x16c], str.c:_ade_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u241_331_install_src_windows_common_SysInfo.cpp
mov dword [ebp - 0x168], str.SysInfo::SHGetFolderPathAdapter
mov dword [ebp - 0x164], 0x1bf
call fcn.0042bde1
lea eax, [ebp - 0x160]
mov dword [esp], 0x487c28
push eax
call fcn.0044abb0
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x134]
call fcn.0040246d
lea edx, [ebp - 0x134]
mov eax, edi
mov dword [ebp - 4], 2
call fcn.0042c761
push esi
push 1
lea ecx, [ebp - 0x134]
call fcn.0040321f
mov eax, edi
call fcn.00452650
ret

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

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

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

Disassembly:
cmp dword [eax + 0x14], 0x10
jb 0x42c515
mov eax, dword [eax]
push eax
call dword [sym.imp.kernel32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x42c529
test al, 0x10
je 0x42c529
xor eax, eax
inc eax
ret
xor eax, eax
ret
Function at 0x42cc30
Capabilities:
Create directory

Disassembly:
push 0xe4
mov eax, 0x46d59a
call fcn.004525cd
mov eax, dword [ebp + 0x24]
mov ebx, ecx
mov dword [ebp - 0x40], eax
and dword [ebp - 4], 0
cmp dword [ebp + 0x1c], 0x10
mov eax, dword [ebp + 8]
jae 0x42cc57
lea eax, [ebp + 8]
mov edi, dword [sym.imp.kernel32.dll_CreateDirectoryA]
push ebx
push eax
call edi
test eax, eax
je 0x42cd21
cmp dword [0x49c100], 0
jg 0x42ccf7
sub esp, 0x1c
lea eax, [ebp + 8]
mov esi, esp
mov dword [ebp - 0x3c], esp
push eax
call fcn.0040244c
lea eax, [ebp - 0xf0]
push eax
mov byte [ebp - 4], 1
call fcn.00402794
lea eax, [ebp - 0xf0]
push str.Created__
push eax
mov byte [ebp - 4], 2
call fcn.00405526
pop ecx
pop ecx
lea esi, [ebp - 0xf0]
mov byte [ebp - 4], 3
call fcn.004042cb
mov esi, eax
push str.__directory
push esi
call fcn.00405526
pop ecx
pop ecx
push esi
push 0x1ce
push 0
mov ebx, str.FileUtils::_anonymous_namespace::createDir
mov edi, str.c:_ade_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u241_331_install_src_windows_common_FileUtils.cpp
mov esi, 0x49c100
call fcn.004016c6
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0
call fcn.004015e8
mov edi, dword [ebp - 0x40]
test edi, edi
je 0x42cd39
lea edx, [ebp + 8]
lea eax, [ebp - 0x2c]
call fcn.0042c761
push eax
mov byte [ebp - 4], 4
call fcn.00412bb4
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.0040321f
jmp 0x42cd39
call dword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
test ebx, ebx
jne 0x42cd4b
lea eax, [ebp + 8]
call fcn.0042c50d
test al, al
je 0x42cd4b
push 0
push 1
lea ecx, [ebp + 8]
call fcn.0040321f
call fcn.00452650
ret
push str.System_error
push esi
sub esp, 0x1c
lea eax, [ebp + 8]
mov esi, esp
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x4c], str.c:_ade_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u241_331_install_src_windows_common_FileUtils.cpp
mov dword [ebp - 0x48], str.FileUtils::_anonymous_namespace::createDir
mov dword [ebp - 0x44], 0x1d7
lea ebx, [ebp - 0x4c]
call fcn.0040244c
lea eax, [ebp - 0xf0]
push eax
mov byte [ebp - 4], 5
call fcn.00402794
lea eax, [ebp - 0xf0]
push str.CreateDirectory_
push eax
mov byte [ebp - 4], 6
call fcn.00405526
pop ecx
pop ecx
lea esi, [ebp - 0xf0]
mov byte [ebp - 4], 7
call fcn.004042cb
mov esi, eax
push 0x47e228
push esi
call fcn.00405526
pop ecx
pop ecx
mov ecx, edi
push esi
lea edi, [ebp - 0x58]
call fcn.004374b8
lea ecx, [ebp - 0x38]
push ecx
mov esi, ebx
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.0041b5e6
lea eax, [ebp - 0x38]
mov dword [esp], 0x4878f8
push eax
call fcn.0044abb0
int3
Function at 0x42e263
Capabilities:
Get file version info

Disassembly:
push 0xf0
mov eax, 0x46d350
call fcn.004525cd
mov eax, dword [ebp + 8]
push eax
mov esi, ebx
mov dword [ebp - 0x54], ebx
call fcn.0040244c
xor esi, esi
mov dword [ebp - 4], esi
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], esi
mov byte [ebp - 4], 1
cmp dword [ebx + 0x14], 0x10
mov dword [ebp - 0x40], esi
jb 0x42e29f
mov eax, dword [ebx]
jmp 0x42e2a1
mov eax, ebx
lea ecx, [ebp - 0x40]
push ecx
push eax
call dword [sym.imp.version.dll_GetFileVersionInfoSizeA]
cmp eax, esi
jne 0x42e359
push str.System_error
mov dword [ebp - 0x4c], str.c:_ade_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u241_331_install_src_windows_common_FileUtils.cpp
mov dword [ebp - 0x48], str.VersionResource::VersionResource
mov dword [ebp - 0x44], 0x464
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x50], esp
push ebx
call fcn.0040244c
lea eax, [ebp - 0xfc]
push eax
mov byte [ebp - 4], 2
call fcn.00402794
lea eax, [ebp - 0xfc]
push str.GetFileVersionInfoSize_
push eax
mov byte [ebp - 4], 3
call fcn.00405526
pop ecx
pop ecx
lea esi, [ebp - 0xfc]
mov byte [ebp - 4], 4
call fcn.004042cb
mov esi, eax
push 0x47e228
push esi
call fcn.00405526
pop ecx
pop ecx
mov ecx, dword [sym.imp.version.dll_GetFileVersionInfoSizeA]
push esi
lea edi, [ebp - 0x60]
call fcn.004374b8
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3c]
push ecx
lea esi, [ebp - 0x4c]
mov ecx, eax
call fcn.0041b5e6
lea eax, [ebp - 0x3c]
mov dword [esp], 0x4878f8
push eax
call fcn.0044abb0
mov esi, eax
lea eax, [ebx + 0x1c]
call fcn.0040fa1a
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x20]
sub eax, ecx
cmp dword [ebx + 0x14], 0x10
jb 0x42e375
mov edx, dword [ebx]
jmp 0x42e377
mov edx, ebx
mov edi, dword [sym.imp.version.dll_GetFileVersionInfoA]
push ecx
push eax
push dword [ebp - 0x40]
push edx
call edi
test eax, eax
jne 0x42e415
push str.System_error
mov dword [ebp - 0x4c], str.c:_ade_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u241_331_install_src_windows_common_FileUtils.cpp
mov dword [ebp - 0x48], str.VersionResource::VersionResource
mov dword [ebp - 0x44], 0x46d
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x50], esp
push ebx
call fcn.0040244c
lea eax, [ebp - 0xfc]
push eax
mov byte [ebp - 4], 6
call fcn.00402794
lea eax, [ebp - 0xfc]
push str.GetFileVersionInfo_
push eax
mov byte [ebp - 4], 7
call fcn.00405526
pop ecx
pop ecx
lea esi, [ebp - 0xfc]
mov byte [ebp - 4], 8
call fcn.004042cb
mov esi, eax
push 0x47e228
push esi
call fcn.00405526
pop ecx
pop ecx
mov ecx, edi
push esi
lea edi, [ebp - 0x60]
call fcn.004374b8
mov byte [ebp - 4], 9
jmp 0x42e33b
mov eax, ebx
call fcn.00452650
ret 4
Function at 0x433f6c
Capabilities:
Identify system language via api

Disassembly:
push 4
mov eax, 0x467308
call fcn.00452564
mov esi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], 1
call dword [sym.imp.kernel32.dll_GetThreadLocale]
push eax
mov eax, esi
call fcn.0044abb0
pop ecx
call dword [sym.imp.kernel32.dll_GetUserDefaultUILanguage]
movzx eax, ax
push eax
mov eax, esi
call fcn.0044abb0
pop ecx
call dword [sym.imp.kernel32.dll_GetSystemDefaultUILanguage]
movzx eax, ax
push eax
mov eax, esi
call fcn.0044abb0
mov eax, esi
mov dword [esp], 0x409
call fcn.0044abb0
pop ecx
mov eax, esi
call fcn.0045263c
ret
Function at 0x43946a
Capabilities:
Check mutex on windows

Disassembly:
push 0xa8
mov eax, 0x46ce6e
call fcn.00452564
push str.Global_MSIExecute
xor esi, esi
push esi
push 0x100000
call dword [sym.imp.kernel32.dll_OpenMutexA]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x18], 1
mov dword [ebp - 4], esi
cmp eax, esi
je 0x43953c
push dword [ebp + 8]
push eax
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov dword [ebp - 0x14], eax
cmp dword [ebp + 8], esi
je 0x43951c
cmp dword [0x49c100], 1
jg 0x43951c
lea eax, [ebp - 0xb4]
push eax
call fcn.00402794
lea eax, [ebp - 0xb4]
push str.finish_waiting_for_mutex:
push eax
mov byte [ebp - 4], 1
call fcn.00405526
pop ecx
pop ecx
push dword [ebp - 0x14]
lea eax, [ebp - 0xb4]
push eax
call fcn.0040ad34
lea eax, [ebp - 0xb4]
push eax
push 0x1c8
push 1
mov ebx, str.msi::waitForInstallationCompletion
mov edi, str.c:_ade_jenkins_workspace_8_2_build_windows_i586_cygwin_jdk8u241_331_install_src_windows_common_MsiUtils.cpp
mov esi, 0x49c100
call fcn.004016c6
lea eax, [ebp - 0xb4]
mov byte [ebp - 4], 0
call fcn.004015e8
cmp dword [ebp - 0x14], 0x102
jne 0x43953c
xor bl, bl
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x1c]
call fcn.0044abb0
pop ecx
mov al, bl
call fcn.0045263c
ret
mov bl, 1
jmp 0x439527

Function at 0x444307
Capabilities:
Get common file path

Disassembly:
push ebp
sub esp, 0x240
lea ebp, [esp - 4]
mov eax, dword [0x4976a0]
xor eax, ebp
mov dword [ebp + 0x240], eax
push 0x14
mov eax, 0x4699d5
call fcn.00452564
xor esi, esi
lea eax, [ebp + 0x38]
push eax
push esi
push esi
push 0x2c
push esi
mov dword [ebp - 0x10], esi
call dword [sym.imp.shell32.dll_SHGetFolderPathW]
cmp eax, esi
je 0x44435d
push 0xc8
lea esi, [ebp - 0x20]
call fcn.0044abb0
push 0x487864
mov eax, esi
push eax
call fcn.0044abb0
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp]
call fcn.0041dfc8
push 0x482424
push eax
lea eax, [ebp + 0x1c]
mov dword [ebp - 4], esi
call fcn.0044abb0
push ebx
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.00443078
add esp, 0xc
push 1
xor edi, edi
lea esi, [ebp + 0x1c]
call fcn.0041a86e
push 1
lea esi, [ebp]
call fcn.0041a86e
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x240]
xor ecx, ebp
call fcn.0044a628
add ebp, 0x244
leave
ret

Function at 0x44a628
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x4976a0]
jne 0x44a632
repz ret
jmp fcn.00454985
Function at 0x44abb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
pushal
call 0x44abbf
pop dword [ebp - 0x50]
mov eax, 0x44abbf
sub dword [ebp - 0x50], eax
push 0x40
push 0x1000
push 0x4aa12
push 0
mov eax, 0x8b7b8f7a
sub eax, 0x8b345eca
add eax, dword [ebp - 0x50]
call dword [eax]
mov ecx, 0xc369fd64
sub ecx, 0xc369b31a
mov edi, eax
mov ebx, 0x4ed800
add ebx, dword [ebp - 0x50]
mov edx, 0x22402b28
sub edx, 0x6f2c7a79
add dword [ebp - 0x20], 0xd7272318
mov esi, dword [ebx]
xor dword [ebp - 0x40], edi
sub esi, edx
add dword [ebp - 0x28], 0x5fcbdf90
mov dword [edi], esi
sub dword [ebp - 0x30], 0x6fde5705
add edi, 0x50eec5dc
add edi, 0xaf113a28
add ebx, 4
loop 0x44ac13
add eax, 0x11bfb
xor ebx, ebx
add ebx, eax
add eax, 5
mov ecx, 0x400000
add ecx, dword [ebp - 0x50]
call ebx
leave
ret
Function at 0x401000
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push esi
mov esi, dword [esp + 0xc]
test esi, esi
je 0x401090
push ebp
mov ebp, dword [esp + 0x14]
push edi
mov edi, dword [esp + 0x10]
push ebx
cmp byte [esi], 0
je 0x40108d
push 0x5c
push esi
call dword [sym.imp.MSVCR71.dll_strchr]
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x40108d
push edi
mov byte [esi], 0
call dword [sym.imp.kernel32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x401066
push 0
push edi
call dword [sym.imp.kernel32.dll_CreateDirectoryA]
test eax, eax
jne 0x40105f
test ebp, ebp
je 0x40105f
push edi
push str.CreateDirectory___s_
push 5
call ebp
add esp, 0xc
jmp 0x401066
push edi
push 1
call ebp
pop ecx
pop ecx
test bl, 0x10
jne 0x401087
push 0xb7
call dword [sym.imp.kernel32.dll_SetLastError]
test ebp, ebp
je 0x401087
push edi
push str.CreateDirectory___s_
push 5
call ebp
add esp, 0xc
mov byte [esi], 0x5c
inc esi
jne 0x401018
pop ebx
pop edi
pop ebp
xor eax, eax
inc eax
pop esi
ret

Function at 0x4031f4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
pushal
call 0x403203
pop dword [ebp - 0x40]
mov eax, 0x403203
sub dword [ebp - 0x40], eax
mov dword [ebp - 0x50], 0xc6d6879e
add dword [ebp - 0x50], 0x877bbdad
mov dword [ebp - 0x4c], 0x82cd646c
add dword [ebp - 0x4c], 0xaf65e7d9
mov dword [ebp - 0x48], 0xc81be7e3
add dword [ebp - 0x48], 0x84305c4b
mov dword [ebp - 0x44], 0xcf6ea6f6
sub dword [ebp - 0x44], 0xcf6ea6f6
lea eax, [ebp - 0x50]
push eax
mov eax, 0xde37c28d
sub eax, 0xddf74201
add eax, dword [ebp - 0x40]
call dword [eax]
mov dword [ebp - 0x50], 0xfdfe75f7
sub dword [ebp - 0x50], 0x898c0ca1
mov dword [ebp - 0x4c], 0xbfe172d1
add dword [ebp - 0x4c], 0x818aeea4
mov dword [ebp - 0x48], 0x40957b89
sub dword [ebp - 0x48], 0xdd260f1d
mov dword [ebp - 0x44], 0x2f30fdb0
add dword [ebp - 0x44], 0xd0cf0250
lea ebx, [ebp - 0x50]
push ebx
push eax
mov eax, sym.imp.kernel32.dll_GetProcAddress
add eax, dword [ebp - 0x40]
call dword [eax]
push 0x40
push 0x1000
push 0x333b1
push 0
call eax
mov ecx, 0x3a8c
mov edi, eax
mov edx, 0x411000
add edx, dword [ebp - 0x40]
mov esi, 0x2a657092
add esi, 0x1959f298
sub dword [ebp - 0xc], ecx
mov ebx, dword [edx]
add dword [ebp - 0x2c], ebx
xor ebx, esi
xor dword [ebp - 8], 0xec585fc1
mov dword [edi], ebx
add dword [ebp - 0x30], edi
add edi, 0x52adf178
add edi, 0xad520e8c
add edx, 0xb9e4c828
sub edx, 0xb9e4c824
loop 0x40330f
add eax, 0xdd03
mov ebx, eax
add eax, 5
mov ecx, 0xb4aec8b8
sub ecx, 0xb46ec8b8
add ecx, dword [ebp - 0x40]
call ebx
leave
ret