joyce8/EMBER2024-capa huggingface dataset:
Function at 0x454000
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, ecx
push ebp
push esi
mov eax, dword [ebx + 0x13c]
push edi
test eax, eax
jle 0x45404c
mov eax, dword [ebx + 0x140]
test eax, eax
jle 0x45404c
mov ebp, dword [sym.imp.USER32.dll_GetKeyState]
xor esi, esi
lea edi, [ebx + 0x150]
mov eax, dword [edi]
test eax, eax
je 0x454036
push eax
call ebp
test ax, ax
jl 0x454044
inc esi
add edi, 4
cmp esi, 6
jb 0x454028
pop edi
pop esi
pop ebp
pop ebx
ret
push esi
mov ecx, ebx
call fcn.00453d00
pop edi
pop esi
pop ebp
pop ebx
ret
Function at 0x457da0
Capabilities:
Create thread

Disassembly:
push ecx
cmp dword [ecx + 0xcc], 1
je 0x457e00
mov eax, dword [ecx + 0x1c]
test eax, eax
je 0x457e00
mov eax, dword [ecx + 0xb0]
test eax, eax
je 0x457e00
push esi
mov edx, 5
mov esi, dword [ecx + 0xbc]
cmp esi, edx
pop esi
je 0x457e00
mov dword [ecx + 0xb4], eax
mov dword [ecx + 0x94], 0
mov dword [ecx + 0xbc], edx
lea eax, [esp]
push eax
push 0
push ecx
push 0x457e10
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop ecx
ret
Function at 0x46d6f5
Capabilities:
Get graphical window text

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0x38]
test ecx, ecx
jne 0x46d72d
push dword [esi + 0x1c]
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
lea ecx, [eax + 1]
push ecx
mov ecx, dword [esp + 0xc]
push eax
call fcn.0046b7a9
push eax
push dword [esi + 0x1c]
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov ecx, dword [esp + 8]
push 0xffffffffffffffff
call fcn.0046b781
jmp 0x46d739
mov eax, dword [ecx]
push dword [esp + 8]
call dword [eax + 0x88]
pop esi
ret 4

Function at 0x46ede3
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebx
push esi
push edi
xor edi, edi
cmp dword [esp + 0x10], edi
mov ebx, ecx
je 0x46ee25
call fcn.00474d30
mov esi, dword [eax + 0xc]
push 0xf0
push dword [esp + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
cmp eax, edi
je 0x46ee25
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
jne 0x46ee1c
xor eax, eax
jmp 0x46ee2d
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
push edi
mov ecx, ebx
call fcn.0046ee33
pop edi
pop esi
pop ebx
ret 4

Function at 0x475260
Capabilities:
Get thread local storage value

Disassembly:
push ebx
push esi
mov esi, ecx
lea ebx, [esi + 0x1c]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [esp + 0x10], 0
jne 0x47528e
push dword [esi]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x4752ac
push dword [esp + 0xc]
mov ecx, esi
push eax
call fcn.004751c6
jmp 0x4752ac
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4752ac
push edi
push dword [esp + 0x10]
mov edi, dword [eax + 4]
mov ecx, esi
push eax
call fcn.004751c6
test edi, edi
mov eax, edi
jne 0x475296
pop edi
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
pop ebx
ret 8

Function at 0x433000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
nop
mov eax, section..text
nop
nop
nop
nop
push 4
pop edi
nop
nop
nop
nop
nop
nop
cmp eax, 0
nop
nop
nop
je 0x433072
nop
nop
nop
nop
mov ebx, 0x40de38
nop
mov ecx, ebx
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
push eax
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
div edi
nop
nop
nop
nop
xchg ecx, eax
nop
nop
pop eax
nop
nop
nop
nop
mov esi, 0x4cf3710b
nop
nop
nop
nop
nop
xor dword [eax], esi
nop
nop
nop
nop
add eax, edi
nop
nop
nop
nop
loop 0x433060
mov eax, str.dx
nop
cmp eax, 0
nop
nop
nop
nop
je 0x4330d2
nop
nop
nop
nop
mov ebx, 0x4304d8
mov ecx, ebx
nop
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
push eax
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
div edi
nop
nop
nop
nop
nop
nop
nop
nop
xchg ecx, eax
pop eax
nop
nop
nop
nop
nop
mov esi, 0x7cff3c64
nop
nop
nop
xor dword [eax], esi
nop
nop
add eax, edi
nop
nop
nop
nop
nop
loop 0x4330c0
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp 0x431219
Function at 0x40aef8
Capabilities:
Create thread

Disassembly:
push ebp
lea ebp, [esp - 0xac]
sub esp, 0x12c
mov eax, dword [0x4976a0]
xor eax, ebp
mov dword [ebp + 0xa8], eax
push ebx
push esi
mov esi, dword [ebp + 0xb4]
push edi
mov edi, dword [sym.imp.kernel32.dll_CreateEventA]
xor ebx, ebx
push ebx
push ebx
mov dword [esi + 0xc], 0xbc2
mov eax, dword [0x49afc4]
push 1
push ebx
mov dword [esi + 0x18], eax
call edi
push ebx
push ebx
push 1
push ebx
mov dword [esi + 0x20], eax
call edi
push ebx
push ebx
push 1
push ebx
mov dword [esi + 0x24], eax
call edi
mov dword [esi + 0x38], eax
call fcn.0044051c
mov dword [esi + 0x3c], eax
xor eax, eax
mov byte [ebp - 0x7c], bl
lea edi, [ebp - 0x7b]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov dword [ebp - 0x68], ebx
lea edi, [ebp - 0x64]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 1
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push ebx
push ebx
push 1
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
push str.SunJavaUpdateRecheckUpdateEvent
lea eax, [ebp - 0x7c]
push ebx
mov dword [ebp - 0x64], eax
push ebx
lea eax, [ebp - 0x68]
push eax
mov dword [ebp - 0x68], 0xc
call dword [sym.imp.kernel32.dll_CreateEventA]
push dword [esi + 0x20]
mov edi, dword [sym.imp.kernel32.dll_ResetEvent]
mov dword [esi + 0x40], eax
call edi
push dword [esi + 0x24]
call edi
push dword [esi + 0x38]
call edi
lea eax, [ebp - 0x80]
push eax
push ebx
push esi
push 0x40b4e8
push ebx
push ebx
call dword [sym.imp.kernel32.dll_CreateThread]
cmp eax, ebx
je 0x40afe0
push eax
call dword [sym.imp.kernel32.dll_CloseHandle]
push 0xffffffffffffffff
push dword [esi + 0x20]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
push dword [esi + 0x20]
call edi
mov edi, dword [sym.imp.user32.dll_LoadStringA]
mov ebx, 0x104
push ebx
lea eax, [esi + 0x54]
push eax
push 0x7b
push dword [esi + 0x18]
call edi
push ebx
lea eax, [ebp - 0x5c]
push eax
push 0x7c
push dword [esi + 0x18]
call edi
lea eax, [ebp - 0x5c]
push eax
push esi
call fcn.0040b1cc
mov ecx, dword [ebp + 0xa8]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.0044a628
add ebp, 0xac
leave
ret 4
Function at 0x40f0c4
Capabilities:
Delete registry key

Disassembly:
push 0x38
mov eax, 0x46aa1a
call fcn.00452564
mov eax, dword [ebp + 8]
xor ebx, ebx
xor edi, edi
mov dword [ebp + 8], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x40], reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x28], ebx
mov byte [ebp - 0x2c], bl
cmp eax, ebx
jne 0x40f130
cmp dword [ebp + 0x10], ebx
jne 0x40f10d
push 0x2001f
push str.SOFTWAREJavaSoftJava_UpdatePolicyjucheck
lea eax, [ebp - 0x40]
call fcn.00433a77
mov eax, dword [ebp - 0x38]
mov dword [ebp + 8], eax
jmp 0x40f122
push str.SetJavaUpdateStringKey_was_called_with_a_NULL_value_for_the_key__so_defaulting_to_trying_jucheck_key
call fcn.0042665c
pop ecx
lea eax, [ebp + 8]
push eax
call fcn.0044051c
pop ecx
cmp dword [ebp + 8], ebx
je 0x40f133
mov dword [ebp - 0x10], 1
jmp 0x40f133
mov dword [ebp + 8], eax
xor esi, esi
lea eax, [ebp - 0x20]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
call fcn.0040fa1a
mov dword [ebp - 4], ebx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
cmp dword [ebp + 0x10], ebx
je 0x40f164
push dword [ebp + 0x10]
lea ebx, [ebp - 0x24]
call fcn.0044051c
xor ebx, ebx
cmp dword [ebp + 8], ebx
je 0x40f1b1
cmp dword [ebp + 0x10], ebx
jne 0x40f17c
push dword [ebp + 0xc]
push dword [ebp - 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
jmp 0x40f1aa
push dword [ebp + 0x10]
mov dword [ebp - 0x24], 1
call dword [sym.imp.kernel32.dll_lstrlenA]
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x20]
call fcn.0044051c
add esp, 0xc
push dword [ebp + 0xc]
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x24]
call fcn.00433b51
mov edi, eax
neg edi
sbb edi, edi
inc edi
cmp dword [ebp - 0x10], ebx
je 0x40f1be
lea esi, [ebp - 0x40]
call fcn.00433aae
lea esi, [ebp - 0x20]
call fcn.004347b9
mov eax, edi
call fcn.0045263c
ret
Function at 0x40f263
Capabilities:
Delete file
Delete registry value
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x444
mov eax, dword [0x4976a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x40c]
xor ebx, ebx
push eax
mov esi, SysStringLen
push ebx
lea edx, [ebp - 0x408]
mov ecx, str.LocalFileName
mov dword [ebp - 0x428], esi
mov dword [ebp - 0x410], ebx
mov byte [ebp - 0x414], bl
mov dword [ebp - 0x40c], 0x400
call fcn.0040ef60
pop ecx
pop ecx
test eax, eax
je 0x40f2cf
cmp dword [ebp - 0x40c], ebx
je 0x40f2cf
lea eax, [ebp - 0x408]
push eax
call dword [sym.imp.kernel32.dll_DeleteFileA]
lea edi, [ebp - 0x408]
call fcn.0044051c
test eax, eax
je 0x40f2f2
mov eax, edi
push eax
mov ecx, edi
call fcn.0040f553
pop ecx
mov eax, edi
push eax
call dword [sym.imp.kernel32.dll_DeleteFileA]
call fcn.0044051c
push ebx
push str.PreDownldStatus
push ebx
call fcn.0040f0c4
mov edi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
add esp, 0xc
push 0x80
lea eax, [ebp - 0x408]
push eax
push ebx
push esi
mov dword [ebp - 0x40c], ebx
mov dword [ebp - 0x424], esi
call edi
test eax, eax
jne 0x40f3bb
mov esi, 0x20019
inc dword [ebp - 0x40c]
push esi
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x428]
call fcn.00433a77
cmp eax, ebx
jne 0x40f399
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x444], eax
push esi
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x444]
mov dword [ebp - 0x42c], ebx
mov byte [ebp - 0x430], bl
call fcn.00433a77
mov ecx, dword [ebp - 0x43c]
mov dword [ebp - 0x440], ecx
cmp eax, ebx
jne 0x40f399
push str.VersionXmlURL
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push 0x80
lea eax, [ebp - 0x408]
push eax
push dword [ebp - 0x40c]
push dword [ebp - 0x424]
call edi
test eax, eax
je 0x40f335
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0044a628
leave
ret
Function at 0x40f553
Capabilities:
Get common file path
Parse url

Disassembly:
push ebp
lea ebp, [esp - 0x5cc]
sub esp, 0x64c
mov eax, dword [0x4976a0]
xor eax, ebp
mov dword [ebp + 0x5c8], eax
mov eax, dword [ebp + 0x5d4]
push ebx
push esi
push edi
push 0x3c
pop edi
xor ebx, ebx
push edi
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x80]
push ebx
push eax
mov esi, ecx
mov byte [ebp + 0x3c4], bl
call fcn.0044c6d0
lea eax, [ebp - 0x3c]
add esp, 0xc
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x80]
push eax
push ebx
push esi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x50], 0x400
call dword [sym.imp.kernel32.dll_lstrlenA]
push eax
push esi
call dword [sym.imp.wininet.dll_InternetCrackUrlA]
mov edi, 0x104
cmp eax, ebx
je 0x40f5fb
push pe_nt_image_headers32
lea eax, [ebp + 0x3c4]
push eax
push edi
lea eax, [ebp + 0x4c4]
push eax
push ebx
push ebx
push ebx
lea eax, [ebp - 0x3c]
push ebx
push eax
call fcn.0044051c
lea eax, [ebp + 0x4c4]
push 0x47ae70
push eax
call fcn.0044ca60
add esp, 0x2c
test eax, eax
je 0x40f644
mov eax, esi
mov dword [ebp - 0x40], ebx
cmp byte [esi], bl
je 0x40f62c
mov cl, byte [eax]
cmp cl, 0x20
je 0x40f610
cmp cl, 9
jne 0x40f619
push eax
call dword [sym.imp.user32.dll_CharNextA]
jmp 0x40f604
mov ecx, dword [ebp - 0x40]
movsx edx, byte [eax]
imul ecx, ecx, 0x1f
add ecx, edx
inc eax
mov dword [ebp - 0x40], ecx
cmp byte [eax], bl
jne 0x40f604
push dword [ebp - 0x40]
lea eax, [ebp + 0x4c4]
push str.jupdate__x
push eax
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
push dword [ebp - 0x44]
push edi
call dword [sym.imp.kernel32.dll_GetTempPathA]
mov esi, dword [sym.imp.kernel32.dll_lstrcatA]
lea eax, [ebp + 0x4c4]
push eax
push dword [ebp - 0x44]
call esi
lea eax, [ebp + 0x3c4]
push eax
push dword [ebp - 0x44]
call esi
mov ecx, dword [ebp + 0x5c8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0044a628
add ebp, 0x5cc
leave
ret
Function at 0x4184fa
Capabilities:
Encrypt data using dpapi

Disassembly:
push 0x60
mov eax, 0x468cad
call fcn.004525cd
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x5c], eax
xor eax, eax
dec ecx
push 4
neg ecx
sbb ecx, ecx
mov esi, edx
pop edx
and ecx, 0xfffffffc
mov dword [ebp - 0x54], ebx
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
add ecx, edx
lea eax, [ebp - 0x54]
push eax
or ecx, 1
push ecx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x60]
push eax
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x60], edx
call dword [sym.imp.CRYPT32.dll_CryptProtectData]
test eax, eax
jne 0x418587
call dword [sym.imp.kernel32.dll_GetLastError]
push ebx
push eax
lea esi, [ebp - 0x30]
call fcn.0044051c
push eax
lea eax, [ebp - 0x4c]
push str.encryption_failed__sysError
push eax
mov dword [ebp - 4], ebx
call fcn.0044051c
add esp, 0x14
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 1
call fcn.0044051c
push 0x487694
mov eax, esi
push eax
call fcn.0044051c
mov edi, dword [ebp - 0x58]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov esi, dword [ebp - 0x54]
mov eax, edi
call fcn.0040fa1a
push dword [ebp - 0x54]
mov eax, dword [edi]
push dword [ebp - 0x50]
push eax
call fcn.0044051c
add esp, 0xc
push dword [ebp - 0x50]
call dword [sym.imp.kernel32.dll_LocalFree]
mov eax, edi
call fcn.00452650
ret

Function at 0x4185be
Capabilities:
Encrypt data using dpapi

Disassembly:
push 0x60
mov eax, 0x468cad
call fcn.004525cd
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x54], ebx
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
lea eax, [ebp - 0x54]
push eax
push 1
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x60]
mov esi, edx
push eax
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x60], ecx
call dword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
jne 0x41863c
call dword [sym.imp.kernel32.dll_GetLastError]
push ebx
push eax
lea esi, [ebp - 0x30]
call fcn.0044051c
push eax
lea eax, [ebp - 0x4c]
push str.decryption_failed__sysError
push eax
mov dword [ebp - 4], ebx
call fcn.0044051c
add esp, 0x14
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 1
call fcn.0044051c
push 0x487694
mov eax, esi
push eax
call fcn.0044051c
mov edi, dword [ebp - 0x58]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov esi, dword [ebp - 0x54]
mov eax, edi
call fcn.0040fa1a
push dword [ebp - 0x54]
mov eax, dword [edi]
push dword [ebp - 0x50]
push eax
call fcn.0044051c
add esp, 0xc
push dword [ebp - 0x50]
call dword [sym.imp.kernel32.dll_LocalFree]
mov eax, edi
call fcn.00452650
ret
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.0044051c
and dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x48]
push str.binary2string__phase1__failed__sysError
push eax
call fcn.0044051c
add esp, 0x14
mov byte [ebp - 4], 1
lea esi, [ebp - 0x78]
call fcn.0044051c
push 0x487694
mov eax, esi
push eax
call fcn.0044051c
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.0044051c
push eax
lea eax, [ebp - 0x64]
push str.binary2string__phase2__failed__sysError
push eax
mov byte [ebp - 4], 3
call fcn.0044051c
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.0044051c
push eax
lea eax, [ebp - 0x80]
push str.string2binary__phase1__failed__sysError
push eax
mov dword [ebp - 4], ebx
call fcn.0044051c
add esp, 0x14
lea esi, [ebp - 0x94]
mov byte [ebp - 4], 1
call fcn.0044051c
push 0x487694
mov eax, esi
push eax
call fcn.0044051c
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.0044051c
push eax
lea eax, [ebp - 0x2c]
push str.string2binary__phase2__failed__sysError
push eax
mov byte [ebp - 4], 3
call fcn.0044051c
add esp, 0x14
lea esi, [ebp - 0xa4]
mov byte [ebp - 4], 4
call fcn.0044051c
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.0044051c
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.0044051c
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.0044051c
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.0044051c
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.0044051c
pop ecx
mov eax, dword [ebp - 0x30]
call fcn.00452650
ret