joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10021ace
Capabilities:
Query or enumerate registry key

Disassembly:
push 0x440
mov eax, 0x1002ccbc
call fcn.1002a16a
mov eax, dword [ebp + 8]
mov esi, 0x208
mov dword [ebp - 0x438], eax
xor edi, edi
mov dword [ebp - 0x440], eax
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x444], eax
lea eax, [ebp - 0x424]
push edi
push eax
call sub.VCRUNTIME140.dll_memset
push esi
lea eax, [ebp - 0x21c]
push edi
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x18
mov dword [ebp - 0x434], 0x104
lea eax, [ebp - 0x428]
xorps xmm0, xmm0
movsd qword [ebp - 0x430], xmm0
push eax
push 0x20019
push edi
push 0x1003233c
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x10021ced
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x434]
mov ebx, edi
push eax
lea eax, [ebp - 0x21c]
push eax
push edi
jmp 0x10021bda
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtof]
fstp qword [ebp - 0x44c]
movsd xmm0, qword [ebp - 0x44c]
comisd xmm0, xmmword [0x100325c8]
pop ecx
jbe 0x10021bc6
comisd xmm0, xmmword [ebp - 0x430]
jbe 0x10021bc6
lea eax, [ebp - 0x21c]
movsd qword [ebp - 0x430], xmm0
push eax
lea eax, [ebp - 0x424]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
add esp, 0xc
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x434]
inc ebx
push eax
lea eax, [ebp - 0x21c]
push eax
push ebx
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov esi, eax
test esi, esi
je 0x10021b72
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, 0x103
jne 0x10021ced
push str.ClientUserInterface
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
mov esi, eax
mov dword [esp], str.SoftwareMicrosoftSoftGrid_
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
xor ecx, ecx
mov dword [ebp - 0x42c], edi
push 2
pop edx
lea ebx, [eax + 0x105]
mov dword [ebp - 4], edi
add ebx, esi
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10002b89
mov esi, eax
mov dword [ebp - 0x42c], esi
pop ecx
pop ecx
test esi, esi
je 0x10021ced
push ebx
push edi
push esi
call fcn.10002b89
push str.SoftwareMicrosoftSoftGrid_
push ebx
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
lea eax, [ebp - 0x424]
push eax
push ebx
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
push str.ClientUserInterface
push ebx
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
add esp, 0x30
lea eax, [ebp - 0x428]
push eax
push 0x20019
push edi
push esi
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x10021ce6
push dword [ebp - 0x438]
push str.LaunchCommand
push dword [ebp - 0x428]
call fcn.10021d20
add esp, 0xc
push dword [ebp - 0x43c]
push str.DDELaunchCommand
push dword [ebp - 0x428]
call fcn.10021d20
add esp, 0xc
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push esi
call fcn.1002a647
pop ecx
call fcn.1002a0b7
ret
Function at 0x10021d20
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x14
mov eax, 0x1002cce4
call fcn.1002a133
mov edi, dword [ebp + 0x10]
lea eax, [ebp - 0x14]
xor ebx, ebx
push eax
push ebx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], ebx
push eax
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x14], ebx
push dword [ebp + 8]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [edi], ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x10021e65
cmp dword [ebp - 0x18], 1
jne 0x10021e65
mov eax, dword [ebp - 0x14]
xor ecx, ecx
shr eax, 1
inc eax
mov dword [ebp - 4], ebx
push 2
pop edx
mov dword [ebp - 0x14], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10002b89
mov esi, eax
mov dword [ebp - 0x1c], esi
pop ecx
test esi, esi
je 0x10021e65
push dword [ebp - 0x14]
push ebx
push esi
call fcn.10002b89
mov eax, dword [ebp - 0x14]
add esp, 0xc
lea eax, [eax*2 - 2]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
push esi
lea eax, [ebp - 0x18]
push eax
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x10021e5a
cmp dword [ebp - 0x18], 1
jne 0x10021e5a
mov eax, dword [ebp - 0x14]
xor ecx, ecx
shr eax, 1
mov dword [ebp - 0x14], eax
inc eax
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10002b89
mov dword [edi], eax
pop ecx
test eax, eax
je 0x10021e5a
mov ecx, dword [ebp - 0x14]
inc ecx
push ecx
push ebx
push eax
call fcn.10002b89
lea eax, [ebp - 0x20]
push eax
push 0x10032338
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcstok_s]
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x10021e3e
push ebx
call fcn.10002b89
pop ecx
test al, al
je 0x10021e3e
mov eax, dword [ebp - 0x14]
push ebx
inc eax
push eax
push dword [edi]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
add esp, 0xc
jmp 0x10021e5a
push dword [edi]
call fcn.1002a647
and dword [edi], 0
pop ecx
jmp 0x10021e5a
test esi, esi
je 0x10021e65
push esi
call fcn.1002a647
pop ecx
call fcn.1002a091
ret

Function at 0x100225b9
Capabilities:
Print debug messages

Disassembly:
push esi
push 0x10032094
xor esi, esi
call fcn.10002b89
pop ecx
test eax, eax
jne 0x100225da
push 0x100320ac
call fcn.10002b89
pop ecx
test eax, eax
je 0x100225dd
xor esi, esi
inc esi
cmp byte [0x1003cde0], 0
je 0x1002260c
push edi
push esi
push str._BrowserIntegrationWin__IsLoadedInProcByAcrobat__d
mov edi, 0x1003d628
push edi
call fcn.10002b89
add esp, 0xc
cmp byte [0x1003cde0], 0
je 0x1002260b
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
pop edi
mov eax, esi
pop esi
ret
Function at 0x100246d8
Capabilities:
Print debug messages

Disassembly:
push esi
push str.sftldr.dll
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
test eax, eax
jne 0x1002473d
push str.sftldr_wow64.dll
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
test eax, eax
jne 0x1002473d
push ebx
push str.AppVEntSubsystems32.dll
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
test eax, eax
setne bl
cmp byte [0x1003cde0], 0
je 0x10024738
movzx eax, bl
mov esi, 0x1003e190
push eax
push str._ACTWinBrowser__IsRunningInAppV_isAppV5___d
push esi
call fcn.10002b89
add esp, 0xc
cmp byte [0x1003cde0], 0
je 0x10024738
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
mov al, bl
pop ebx
pop esi
ret
cmp byte [0x1003cde0], 0
je 0x10024768
push str._ACTWinBrowser__IsRunningInAppV_isAppV4OrEarlier
mov esi, 0x1003e190
push esi
call fcn.10002b89
cmp byte [0x1003cde0], 0
pop ecx
pop ecx
je 0x10024768
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
mov al, 1
pop esi
ret
Function at 0x10025de4
Capabilities:
Print debug messages

Disassembly:
push 0xac4
mov eax, 0x1002ce82
call fcn.1002a0fc
cmp byte [0x1003cde0], 0
mov ebx, 0x1003e190
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
mov dword [ebp - 0xacc], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xad0], eax
je 0x10025e33
push str._ACTWinBrowser__SendAcroIPCMessage
push ebx
call fcn.10002b89
cmp byte [0x1003cde0], 0
pop ecx
pop ecx
je 0x10025e33
push ebx
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xac8]
call fcn.10025dc7
mov eax, dword [ebp - 0xacc]
lea edi, [ebp - 0xac8]
test eax, eax
cmovne edi, eax
test esi, esi
je 0x1002602b
cmp dword [esi + 0x400], ebx
jne 0x10025e8a
push ebx
push ebx
push ebx
push ebx
call fcn.10022610
add esp, 0x10
test eax, eax
je 0x1002602b
push dword [esi + 0x400]
call dword [sym.imp.kernel32.dll_GetCurrentProcessId]
push eax
push str.AcroSBL
push str._s__lu__lu
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.10002b89
add esp, 0x18
test eax, eax
jle 0x1002602b
lea ecx, [ebp - 0x6bc]
call fcn.10025da7
push dword [ebp + 0x14]
lea eax, [ebp - 0x6bc]
push dword [ebp - 0xad0]
push 1
push 1
push dword [ebp + 0xc]
push eax
call fcn.10002b89
add esp, 0x18
test eax, eax
jne 0x10026002
push ebx
lea eax, [ebp - 0x218]
push eax
push 1
lea ecx, [ebp - 0x2ac]
call fcn.10029305
push dword [esi + 0x400]
lea eax, [ebp - 0x6bc]
mov dword [ebp - 4], ebx
push 0x1388
push edi
push eax
lea ecx, [ebp - 0x2ac]
call fcn.1002952a
test eax, eax
jne 0x10025f6a
cmp dword [edi + 4], eax
sete bl
cmp byte [0x1003cde0], al
je 0x10025ff5
push dword [edi + 4]
mov esi, 0x1003e190
push str._ACTWinBrowser__SendAcroIPCMessage_IPC_call_success_status___lu
push esi
call fcn.10002b89
add esp, 0xc
cmp byte [0x1003cde0], 0
je 0x10025ff5
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
jmp 0x10025ff5
cmp byte [0x1003cde0], 0
mov esi, 0x1003e190
je 0x10025f95
push str.IPC_Error:_AIPC_ERR
push esi
call fcn.10002b89
cmp byte [0x1003cde0], 0
pop ecx
pop ecx
je 0x10025f95
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
call dword [sym.imp.kernel32.dll_GetLastError]
push ebx
push ebx
lea ecx, [ebp - 0xacc]
mov dword [ebp - 0xacc], ebx
push ecx
push 0x400
push eax
push ebx
push 0x1300
call dword [sym.imp.kernel32.dll_FormatMessageA]
cmp byte [0x1003cde0], 0
je 0x10025fe9
push dword [ebp - 0xacc]
push str._ACTWinBrowser__IPC_Error_:__s
push esi
call fcn.10002b89
add esp, 0xc
cmp byte [0x1003cde0], 0
je 0x10025fe9
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
push dword [ebp - 0xacc]
call dword [sym.imp.kernel32.dll_LocalFree]
lea ecx, [ebp - 0x2ac]
call fcn.10002b89
jmp 0x1002602b
cmp byte [0x1003cde0], bl
je 0x1002602b
push str.IPC_CreateMessage_Error:_CreateMessage_failed
mov esi, 0x1003e190
push esi
call fcn.10002b89
pop ecx
pop ecx
cmp byte [0x1003cde0], bl
je 0x1002602b
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
mov al, bl
call fcn.1002a0a6
ret
Function at 0x100277eb
Capabilities:
Print debug messages

Disassembly:
push esi
push 8
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, eax
pop ecx
test esi, esi
je 0x10027808
push 8
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp byte [0x1003cde0], 0
je 0x100278ec
push edi
push 0x64
push str.sizeof__t_ASMBlock____d
mov edi, 0x1003e5e0
push edi
call fcn.10002b89
add esp, 0xc
cmp byte [0x1003cde0], 0
je 0x100278eb
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x1003cde0], 0
je 0x100278eb
push 4
push str.sizeof_Uns32____d
push edi
call fcn.10002b89
add esp, 0xc
cmp byte [0x1003cde0], 0
je 0x100278eb
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x1003cde0], 0
je 0x100278eb
push 4
push str.sizeof_HANDLE____d
push edi
call fcn.10002b89
add esp, 0xc
cmp byte [0x1003cde0], 0
je 0x100278eb
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x1003cde0], 0
je 0x100278eb
push 4
push str.sizeof_Handle32____d
push edi
call fcn.10002b89
add esp, 0xc
cmp byte [0x1003cde0], 0
je 0x100278eb
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x1003cde0], 0
je 0x100278eb
push 4
push str.sizeof_void____d
push edi
call fcn.10002b89
add esp, 0xc
cmp byte [0x1003cde0], 0
je 0x100278eb
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
pop edi
mov eax, esi
pop esi
ret

Function at 0x1002795e
Capabilities:
Print debug messages

Disassembly:
push 0x1c
mov eax, 0x1002cf70
call fcn.1002a0fc
cmp byte [0x1003cde0], 0
mov edi, dword [ebp + 8]
je 0x1002799d
lea eax, [edi + 4]
mov esi, 0x1003e5e0
push eax
push str.ASM_Release__s
push esi
call fcn.10002b89
add esp, 0xc
cmp byte [0x1003cde0], 0
je 0x1002799d
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
lea eax, [edi + 4]
push eax
lea ecx, [ebp - 0x28]
call fcn.10001b12
push dword [edi + 0x48]
and dword [ebp - 4], 0
lea eax, [ebp - 0x28]
push eax
call fcn.1000276d
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x100279d3
mov ecx, dword [ebx]
push 1
mov esi, dword [ecx]
mov ecx, esi
call dword [0x1002e5c4]
mov ecx, ebx
call esi
lea ecx, [ebp - 0x28]
call fcn.10002b89
and dword [edi + 0x4c], 0
and dword [edi + 0x44], 0
call fcn.1002a0a6
ret
Function at 0x100279e9
Capabilities:
Print debug messages

Disassembly:
push 0x24
mov eax, 0x1002cf9d
call fcn.1002a0fc
cmp byte [0x1003cde0], 0
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], esi
je 0x10027a48
call fcn.10002b89
test al, al
mov edx, 0x1002ea51
mov ecx, str._in_AppContaner
cmove ecx, edx
push ecx
push str.ASM_Retrieve_retrieving_shared_memory_in_Plug_in_s
push 0x1003e5e0
call fcn.10002b89
add esp, 0xc
cmp byte [0x1003cde0], 0
je 0x10027a48
push 0x1003e5e0
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
and dword [esi], 0
lea eax, [edi + 4]
and dword [ebx], 0
lea ecx, [ebp - 0x28]
push eax
call fcn.10001b12
push dword [edi + 0x48]
and dword [ebp - 4], 0
lea eax, [ebp - 0x28]
push eax
call fcn.1000276d
or dword [ebp - 4], 0xffffffff
mov ebx, eax
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
call fcn.10002b89
test ebx, ebx
jne 0x10027aae
cmp byte [0x1003cde0], bl
je 0x10027b0f
push str.ASM_Retrieve_ERROR__finding_memory_mapped_file_
mov ebx, 0x1003e5e0
push ebx
call fcn.10002b89
cmp byte [0x1003cde0], 0
pop ecx
pop ecx
je 0x10027b0f
push ebx
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
jmp 0x10027b0f
mov eax, dword [ebx]
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x1002e5c4]
mov ecx, ebx
call esi
mov dword [edi + 0x44], eax
test eax, eax
jne 0x10027ad5
cmp byte [0x1003cde0], al
je 0x10027b0f
push str.ASM_Retrieve_ERROR__getting_memory_mapped_file_handle_
jmp 0x10027a8f
mov eax, dword [ebx]
push dword [edi + 0x48]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x1002e5c4]
mov ecx, ebx
call esi
mov dword [edi + 0x4c], eax
test eax, eax
jne 0x10027aff
cmp byte [0x1003cde0], al
je 0x10027b0f
push str.ASM_Retrieve_ERROR__mapping_for_writing_
jmp 0x10027a8f
mov ecx, dword [ebp - 0x2c]
mov eax, dword [edi + 0x48]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [edi + 0x4c]
mov dword [ecx], eax
call fcn.1002a0a6
ret
Function at 0x404b8f
Capabilities:
Check mutex on windows

Disassembly:
push ebp
lea ebp, [esp - 0x7a8]
sub esp, 0x828
mov eax, dword [0x479630]
xor eax, ebp
mov dword [ebp + 0x7a4], eax
mov eax, dword [ebp + 0x7b0]
push ebx
xor ebx, ebx
push esi
mov esi, ecx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x68], ebx
mov byte [ebp - 0x6c], bl
mov dword [esi], ebx
call fcn.004526f1
mov dword [esi], eax
cmp eax, ebx
jne 0x404be4
push str.ERROR:_ShutdownEvent_handle_is_NULL
call fcn.00417007
pop ecx
mov dword [ebp - 0x60], 0xfffffffe
push dword [ebp - 0x64]
call fcn.004526f1
pop ecx
test eax, eax
jne 0x404c04
push str.jusched_ERROR:_Could_not_open_Policy_key_for_reading
call fcn.00417007
mov dword [ebp - 0x60], 0xfffffffd
jmp 0x404c27
mov eax, dword [ebp - 0x64]
push dword [eax]
call fcn.00404b12
pop ecx
mov dword [esi + 4], eax
cmp eax, ebx
jne 0x404c28
push str.jusched_main:_ERROR_creating_registry_watch_event_notifier
call fcn.00417007
mov dword [ebp - 0x60], 0xfffffffe
pop ecx
push str.SunJavaUpdateSchedulerMutex
push 1
push ebx
mov dword [edi], ebx
call dword [sym.imp.kernel32.dll_CreateMutexA]
mov dword [edi], eax
cmp eax, ebx
jne 0x404c98
call dword [sym.imp.kernel32.dll_GetLastError]
push 0x7ff
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x5b]
push ebx
push eax
mov byte [ebp - 0x5c], bl
call fcn.0043b8b0
add esp, 0xc
cmp dword [ebp - 0x60], 0xb7
lea eax, [ebp - 0x5c]
jne 0x404c78
push str.Error:_Scheduler_Mutex_already_exists_n
push eax
call dword [sym.imp.user32.dll_wsprintfA]
pop ecx
pop ecx
jmp 0x404c8a
push dword [ebp - 0x60]
push str.Error:_Error_creating_scheduler_mutex:__d_n
push eax
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x5c]
push eax
call fcn.00417007
or dword [ebp - 0x60], 0xffffffff
pop ecx
cmp dword [ebp - 0x60], ebx
je 0x404cb7
push dword [edi]
push esi
call fcn.00404b61
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
pop ecx
pop ecx
lea esi, [ebp - 0x80]
mov dword [ebp - 0x7c], eax
call fcn.00414507
mov ecx, dword [ebp + 0x7a4]
mov eax, dword [ebp - 0x60]
pop esi
xor ecx, ebp
pop ebx
call fcn.0043a455
add ebp, 0x7a8
leave
ret
Function at 0x4065d8
Capabilities:
Create thread

Disassembly:
push ebp
lea ebp, [esp - 0xac]
sub esp, 0x12c
mov eax, dword [0x479630]
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 [0x47c184]
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.004526f1
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 0x406bb3
push ebx
push ebx
call dword [sym.imp.kernel32.dll_CreateThread]
cmp eax, ebx
je 0x4066c0
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
call dword [sym.imp.kernel32.dll_lstrlenA]
test eax, eax
jle 0x406712
lea eax, [ebp - 0x5c]
push eax
add esi, 0x158
push esi
call dword [sym.imp.kernel32.dll_lstrcpyA]
mov ecx, dword [ebp + 0xa8]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.0043a455
add ebp, 0xac
leave
ret 4
Function at 0x40fa9c
Capabilities:
Delete registry key

Disassembly:
push 0x38
mov eax, 0x45749d
call fcn.00441eb1
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 0x40fb08
cmp dword [ebp + 0x10], ebx
jne 0x40fae5
push 0x2001f
push str.SOFTWAREJavaSoftJava_UpdatePolicyjucheck
lea eax, [ebp - 0x40]
call fcn.004144d0
mov eax, dword [ebp - 0x38]
mov dword [ebp + 8], eax
jmp 0x40fafa
push str.SetJavaUpdateStringKey_was_called_with_a_NULL_value_for_the_key__so_defaulting_to_trying_jucheck_key
call fcn.00417007
pop ecx
lea eax, [ebp + 8]
push eax
call fcn.004526f1
pop ecx
cmp dword [ebp + 8], ebx
je 0x40fb0b
mov dword [ebp - 0x10], 1
jmp 0x40fb0b
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.0041053c
mov dword [ebp - 4], ebx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
cmp dword [ebp + 0x10], ebx
je 0x40fb3c
push dword [ebp + 0x10]
lea ebx, [ebp - 0x24]
call fcn.004526f1
xor ebx, ebx
cmp dword [ebp + 8], ebx
je 0x40fb89
cmp dword [ebp + 0x10], ebx
jne 0x40fb54
push dword [ebp + 0xc]
push dword [ebp - 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
jmp 0x40fb82
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.004526f1
add esp, 0xc
push dword [ebp + 0xc]
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x24]
call fcn.004145aa
mov edi, eax
neg edi
sbb edi, edi
inc edi
cmp dword [ebp - 0x10], ebx
je 0x40fb96
lea esi, [ebp - 0x40]
call fcn.00414507
lea esi, [ebp - 0x20]
call fcn.0042525d
mov eax, edi
call fcn.00441f89
ret
Function at 0x4103fe
Capabilities:
Get common file path
Parse url

Disassembly:
push ebp
lea ebp, [esp - 0x5cc]
sub esp, 0x64c
mov eax, dword [0x479630]
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.0043b8b0
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 0x4104a6
push 0x100
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.004526f1
lea eax, [ebp + 0x4c4]
push 0x464e60
push eax
call fcn.0043b3f0
add esp, 0x2c
test eax, eax
je 0x4104ef
mov eax, esi
mov dword [ebp - 0x40], ebx
cmp byte [esi], bl
je 0x4104d7
mov cl, byte [eax]
cmp cl, 0x20
je 0x4104bb
cmp cl, 9
jne 0x4104c4
push eax
call dword [sym.imp.user32.dll_CharNextA]
jmp 0x4104af
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 0x4104af
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.0043a455
add ebp, 0x5cc
leave
ret