joyce8/EMBER2024-capa huggingface dataset:
Function at 0x414e6a
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
or dword [ebp - 0xc], 0xffffffff
xor eax, eax
push ebx
push esi
push edi
lea edi, [ebp - 0x18]
xor ebx, ebx
stosd dword es:[edi], eax
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
cmp dword [ebp + 0xc], ebx
jne 0x414ef1
push ebx
lea eax, [ebp - 8]
push eax
push 1
push str.D:_A__GA___SY__A__GA___BA__A__GRGW0x00100000___WD_
call sub.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorW
test eax, eax
jne 0x414ee1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x414eb8
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x414ebf
mov esi, 0x80004005
push esi
push 0x116
push str.c:_agent_work66_s_src_burnenginepipe.cpp
call fcn.004038ba
push str.Failed_to_create_the_security_descriptor_for_the_connection_event_and_pipe.
push esi
call fcn.0043fb09
pop ecx
pop ecx
jmp 0x41502d
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], 0xc
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ebx
mov edi, dword [ebp + 8]
lea eax, [ebp - 4]
push dword [edi]
push str..pipe_ls
push eax
call fcn.00402022
mov esi, eax
add esp, 0xc
test esi, esi
jns 0x414f22
push dword [edi]
push str.Failed_to_allocate_full_name_of_pipe:__ls
push esi
call fcn.0043fb09
add esp, 0xc
jmp 0x41502d
mov eax, dword [ebp - 8]
lea ecx, [ebp - 0x18]
neg eax
sbb eax, eax
and eax, ecx
push eax
push 1
mov eax, 0x10000
push eax
push eax
push 1
push ebx
push 0x80003
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x414f88
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x414f67
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x414f6e
mov esi, 0x80004005
push esi
push 0x126
push str.c:_agent_work66_s_src_burnenginepipe.cpp
call fcn.004038ba
push dword [ebp - 4]
push str.Failed_to_create_pipe:__ls
jmp 0x414f14
cmp dword [ebp + 0xc], 0
je 0x41501e
push dword [edi]
lea eax, [ebp - 4]
push str..pipe_ls.Cache
push eax
call fcn.00402022
mov esi, eax
add esp, 0xc
test esi, esi
jns 0x414fb4
push dword [edi]
push str.Failed_to_allocate_full_name_of_cache_pipe:__ls
jmp 0x41500c
push 0
push 1
mov eax, 0x10000
push eax
push eax
push 1
push 0
push 0x80003
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
cmp eax, 0xffffffff
jne 0x415021
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x414fed
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x414ff4
mov esi, 0x80004005
push esi
push 0x132
push str.c:_agent_work66_s_src_burnenginepipe.cpp
call fcn.004038ba
push dword [ebp - 4]
push str.Failed_to_create_pipe:__ls
push esi
call fcn.0043fb09
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41502d
mov eax, dword [ebp - 0xc]
mov dword [edi + 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x10], ebx
and dword [eax], 0
cmp dword [ebp - 4], 0
je 0x41503b
push dword [ebp - 4]
call fcn.00402762
cmp dword [ebp - 8], 0
je 0x41504a
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc
Function at 0x41819f
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x270
mov eax, dword [0x46a008]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x270], 0
lea eax, [ebp - 0x25c]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
push 0x208
push 0
push eax
call fcn.0042f600
xor eax, eax
lea edi, [ebp - 0x26c]
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [0x46aa70]
test eax, eax
jne 0x418361
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call fcn.00440141
cmp dword [ebp - 0x270], 0
lea eax, [ebp - 0x25c]
je 0x41829c
mov edi, 0x104
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
jne 0x41825d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x41823c
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x418243
mov esi, 0x80004005
push esi
push 0x460
push str.c:_agent_work66_s_src_burnenginecache.cpp
call fcn.004038ba
push str.Failed_to_get_windows_path_for_working_folder.
jmp 0x418375
push edi
lea eax, [ebp - 0x25c]
push eax
call fcn.0040347e
mov esi, eax
test esi, esi
jns 0x41827a
push str.Failed_to_ensure_windows_path_for_working_folder_ended_in_backslash.
jmp 0x418375
push str.Temp_
push edi
lea eax, [ebp - 0x25c]
push eax
call fcn.0040379b
mov esi, eax
test esi, esi
jns 0x4182e4
push str.Failed_to_concat_Temp_directory_on_windows_path_for_working_folder.
jmp 0x418375
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x4182e4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x4182c3
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x4182ca
mov esi, 0x80004005
push esi
push 0x46b
push str.c:_agent_work66_s_src_burnenginecache.cpp
call fcn.004038ba
push str.Failed_to_get_temp_path_for_working_folder.
jmp 0x418375
lea eax, [ebp - 0x26c]
push eax
call dword [sym.imp.RPCRT4.dll_UuidCreate]
mov esi, eax
or esi, 1
jge 0x4182ff
push str.Failed_to_create_working_folder_guid.
jmp 0x418375
push 0x27
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x26c]
push eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
jne 0x418332
mov esi, 0x8007000e
push esi
push 0x475
push str.c:_agent_work66_s_src_burnenginecache.cpp
call fcn.004038ba
push str.Failed_to_convert_working_folder_guid_into_string.
jmp 0x418375
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x25c]
push eax
push str._ls_ls_
push 0x46aa70
call fcn.00402022
mov esi, eax
add esp, 0x10
test esi, esi
jns 0x41835c
push str.Failed_to_append_bundle_id_on_to_temp_path_for_working_folder.
jmp 0x418375
mov eax, dword [0x46aa70]
push 0
push eax
push ebx
call fcn.0040229e
mov esi, eax
test esi, esi
jns 0x41837d
push str.Failed_to_copy_working_folder_path.
push esi
call fcn.0043fb09
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042dd1f
leave
ret 8
Function at 0x418cc3
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
xor ebx, ebx
mov eax, 0x20000004
push esi
push edi
mov edi, ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 4], edi
cmp dword [ebp + 8], ebx
je 0x418d55
lea eax, [ebp - 4]
push eax
push 0x1a
call fcn.004180f6
mov esi, eax
test esi, esi
jns 0x418d06
push str.Failed_to_allocate_administrator_SID.
push esi
call fcn.0043fb09
mov edi, dword [ebp - 4]
pop ecx
pop ecx
jmp 0x418d7e
push 2
push 8
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeAcl]
test eax, eax
jne 0x418d4d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x418d2f
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x418d36
mov esi, 0x80004005
push esi
push 0x601
push str.c:_agent_work66_s_src_burnenginecache.cpp
call fcn.004038ba
push str.Failed_to_initialize_ACL.
jmp 0x418cf9
mov edi, dword [ebp - 4]
mov eax, 0x20000005
push 0x7d0
push 3
push ebx
lea ecx, [ebp - 0xc]
push ecx
push ebx
push edi
push eax
push 1
push dword [ebp + 0xc]
call fcn.00444e42
push 0x80
push dword [ebp + 0xc]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test edi, edi
je 0x418d88
push edi
call fcn.00403aa4
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 8
Function at 0x419a1d
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x46a008]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
push 0x250
push eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x254]
push eax
call fcn.0042f600
add esp, 0xc
lea eax, [ebp - 0x258]
push eax
push str..unverified
push dword [ebp + 8]
call fcn.0041a279
test eax, eax
js 0x419a7e
push 7
push dword [ebp - 0x258]
call fcn.00403d4e
cmp dword [ebp + 8], 0
jne 0x419b65
lea eax, [ebp - 0x258]
push eax
push dword [ebp + 0xc]
call fcn.0041819f
test eax, eax
js 0x419b65
lea eax, [ebp - 0x260]
push eax
push 0x44a8e8
push dword [ebp - 0x258]
call fcn.00402e55
test eax, eax
js 0x419b65
push esi
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x419b64
test byte [ebp - 0x254], 0x10
jne 0x419b4b
xor eax, eax
mov word [ebp - 0x22], ax
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 2
jbe 0x419b23
push 0x2e
pop ecx
cmp cx, word [ebp + eax*2 - 0x22c]
jne 0x419b23
movzx eax, word [ebp + eax*2 - 0x22a]
push 0x52
pop ecx
cmp cx, ax
je 0x419b4b
push 0x72
pop ecx
cmp cx, ax
je 0x419b4b
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x258]
call fcn.00402e55
test eax, eax
js 0x419b4b
push dword [ebp - 0x25c]
call fcn.00443984
lea eax, [ebp - 0x254]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x419add
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
pop esi
cmp dword [ebp - 0x25c], 0
je 0x419b79
push dword [ebp - 0x25c]
call fcn.00402762
cmp dword [ebp - 0x260], 0
je 0x419b8d
push dword [ebp - 0x260]
call fcn.00402762
cmp dword [ebp - 0x258], 0
je 0x419ba1
push dword [ebp - 0x258]
call fcn.00402762
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042dd1f
leave
ret 8
Function at 0x41d0e4
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x20]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x30]
push esi
mov esi, dword [ebp + 0x28]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x34]
push edi
mov edi, dword [ebp + 0x24]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x60], ecx
xor ecx, ecx
push ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x1c]
push ecx
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x34]
push eax
push 0x41ac12
push ecx
push ecx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], edx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, eax
test edi, edi
jne 0x41d1b9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x41d193
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x41d19a
mov esi, 0x80004005
push esi
push 0x461
push str.c:_agent_work66_s_src_burnengineelevation.cpp
call fcn.004038ba
push str.Failed_to_create_elevated_cache_thread.
push esi
call fcn.0043fb09
pop ecx
pop ecx
jmp 0x41d203
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x60]
push eax
push 0x41c672
push dword [ebp + 0xc]
call fcn.00415132
mov esi, eax
test esi, esi
jns 0x41d1e3
push str.Failed_to_pump_messages_in_child_process.
push esi
call fcn.0043fb09
pop ecx
pop ecx
jmp 0x41d1fc
push dword [ebp - 8]
push edi
call fcn.0041cdc8
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp - 8]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ebp - 4]
mov dword [ecx], eax
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0x38
Function at 0x41e4a1
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push esi
push edi
xor eax, eax
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor edi, edi
push edi
push edi
push 1
push edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], edi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x41e509
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x41e4e6
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x41e4ed
mov esi, 0x80004005
push esi
push 0x39
push str.c:_agent_work66_s_src_burnengine_splashscreen.cpp
call fcn.004038ba
push str.Failed_to_create_modal_event.
push esi
call fcn.0043fb09
pop ecx
pop ecx
jmp 0x41e57c
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 4]
push eax
push edi
lea eax, [ebp - 0x1c]
push eax
push 0x41e226
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 8], eax
test eax, eax
jne 0x41e56d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x41e552
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x41e559
mov esi, 0x80004005
push esi
push 0x42
push str.c:_agent_work66_s_src_burnengine_splashscreen.cpp
call fcn.004038ba
push str.Failed_to_create_UI_thread.
jmp 0x41e4ff
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0xc]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 8], edi
je 0x41e58f
push dword [ebp - 8]
call esi
mov dword [ebp - 8], edi
cmp dword [ebp - 0xc], edi
je 0x41e599
push dword [ebp - 0xc]
call esi
pop edi
pop esi
leave
ret 0xc
Function at 0x41e8ce
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
xor ebx, ebx
lea edi, [ebp - 0x14]
xor eax, eax
mov dword [ebp - 8], ebx
stosd dword es:[edi], eax
mov esi, ebx
push ebx
push ebx
push 1
stosd dword es:[edi], eax
push ebx
mov dword [ebp - 4], ebx
stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 8], eax
test eax, eax
jne 0x41e938
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x41e912
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x41e919
mov esi, 0x80004005
push esi
push 0x33
push str.c:_agent_work66_s_src_burnengineuithread.cpp
call fcn.004038ba
push str.Failed_to_create_initialization_event.
push esi
call fcn.0043fb09
mov eax, dword [ebp - 4]
pop ecx
pop ecx
jmp 0x41e9b0
mov edi, dword [ebp + 0xc]
push ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
push 0x41e60c
push ebx
push ebx
mov dword [ebp - 0xc], edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 4], eax
test eax, eax
jne 0x41e993
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x41e978
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x41e97f
mov esi, 0x80004005
push esi
push 0x3c
push str.c:_agent_work66_s_src_burnengineuithread.cpp
call fcn.004038ba
push str.Failed_to_create_the_UI_thread.
jmp 0x41e92b
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 8]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov eax, dword [ebp - 4]
mov dword [edi + 0x3e4], eax
mov eax, ebx
mov dword [ebp - 4], eax
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x41e9c0
push eax
call edi
mov dword [ebp - 4], ebx
cmp dword [ebp - 8], ebx
je 0x41e9ca
push dword [ebp - 8]
call edi
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 8
Function at 0x4214e3
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
push ebx
push dword [ebp + 0xc]
or dword [edi + 0x3c], 0xffffffff
lea eax, [edi + 0x1c]
push eax
call fcn.0040229e
mov esi, eax
test esi, esi
jns 0x42150f
push str.Failed_to_copy_file_name.
jmp 0x4215fb
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push ebx
push ebx
push 1
push ebx
call esi
mov dword [edi + 0x24], eax
test eax, eax
jne 0x42155b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x42153a
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x421541
mov esi, 0x80004005
push esi
push 0x8c
push str.c:_agent_work66_s_src_burnenginecabextract.cpp
call fcn.004038ba
push str.Failed_to_create_begin_operation_event.
jmp 0x4215fb
push ebx
push ebx
push 1
push ebx
call esi
mov dword [edi + 0x28], eax
test eax, eax
jne 0x42159e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x421580
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x421587
mov esi, 0x80004005
push esi
push 0x8f
push str.c:_agent_work66_s_src_burnenginecabextract.cpp
call fcn.004038ba
push str.Failed_to_create_operation_complete_event.
jmp 0x4215fb
push ebx
push ebx
push edi
push 0x420ea0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi + 0x20], eax
test eax, eax
jne 0x4215ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x4215cc
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x4215d3
mov esi, 0x80004005
push esi
push 0x93
push str.c:_agent_work66_s_src_burnenginecabextract.cpp
call fcn.004038ba
push str.Failed_to_create_extraction_thread.
jmp 0x4215fb
push edi
call fcn.00421286
mov esi, eax
test esi, esi
jns 0x421603
push str.Failed_to_wait_for_operation_complete.
push esi
call fcn.0043fb09
pop ecx
pop ecx
pop edi
mov eax, esi
pop esi
pop ebx
pop ebp
ret 8
Function at 0x426951
Capabilities:
Stop service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x46a008]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
xor eax, eax
push esi
push edi
push 7
pop ecx
lea edi, [ebp - 0x20]
xor esi, esi
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x20]
push eax
push 1
push edx
call dword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
jne 0x4269be
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x42699a
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x4269a1
mov esi, 0x80004005
push esi
push 0x1fc
push str.c:_agent_work66_s_src_burnenginemsuengine.cpp
call fcn.004038ba
push str.Failed_to_stop_wusa_service.
push esi
call fcn.0043fb09
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
xor ecx, ebp
pop esi
call fcn.0042dd1f
leave
ret 4
Function at 0x4299b4
Capabilities:
Copy file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
push edi
mov eax, dword [ebx + 4]
mov edi, 0x44a534
mov dword [ebp - 4], esi
test eax, eax
je 0x4299d3
mov edx, dword [eax]
jmp 0x4299e0
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x4299de
mov edx, dword [ecx]
jmp 0x4299e0
mov edx, edi
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x4299e9
mov edi, dword [ecx]
test eax, eax
je 0x4299fb
xor eax, eax
test ecx, ecx
setne al
add eax, 0x20000150
jmp 0x429a0a
mov eax, dword [ebx + 8]
neg eax
sbb eax, eax
and eax, 3
add eax, 0x2000014f
push dword [ebp + 0xc]
push str.copy
push edi
push edx
push eax
push 2
call fcn.0040563d
mov edi, dword [ebp + 0x10]
lea eax, [ebp - 4]
add esp, 0x18
push eax
push edi
call fcn.00443c72
test eax, eax
je 0x429a88
mov eax, dword [ebp - 4]
test al, 1
je 0x429a88
and eax, 0xfffffffe
push eax
push edi
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x429a88
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x429a60
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x429a67
mov esi, 0x80004005
push esi
push 0x538
push str.c:_agent_work66_s_src_burnengine_apply.cpp
call fcn.004038ba
push edi
push str.Failed_to_clear_readonly_bit_on_payload_destination_path:__ls
push esi
call fcn.0043fb09
add esp, 0xc
jmp 0x429b06
push esi
lea eax, [ebx + 0x20]
push eax
push ebx
push fcn.0042988d
push edi
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_CopyFileExW]
test eax, eax
jne 0x429b06
cmp dword [ebx + 0x20], esi
je 0x429ac6
mov esi, 0x80070642
push esi
push 0x542
push str.c:_agent_work66_s_src_burnengine_apply.cpp
call fcn.004038ba
push edi
push dword [ebp + 0xc]
push str.BA_aborted_copy_of_payload_from:__ls_to:__ls.
jmp 0x429afd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x429add
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x429ae4
mov esi, 0x80004005
push esi
push 0x546
push str.c:_agent_work66_s_src_burnengine_apply.cpp
call fcn.004038ba
push edi
push dword [ebp + 0xc]
push str.Failed_attempt_to_copy_payload_from:__ls_to:__ls.
push esi
call fcn.0043fb09
add esp, 0x10
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc
Function at 0x43f58a
Capabilities:
Encrypt data using dpapi

Disassembly:
push esi
push edi
push 0x46b5b8
push str.AdvApi32.dll
call fcn.004038bd
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
js 0x43f5cd
push str.SystemFunction040
push dword [0x46b5b8]
call edi
push str.SystemFunction041
push dword [0x46b5b8]
mov dword [0x46b5a8], eax
call edi
mov dword [0x46b5ac], eax
jmp 0x43f5d2
mov eax, dword [0x46b5ac]
cmp dword [0x46b5a8], 0
je 0x43f5e3
test eax, eax
jne 0x43f68a
push 0x46b5bc
push str.Crypt32.dll
call fcn.004038bd
mov esi, eax
test esi, esi
js 0x43f694
push str.CryptProtectMemory
push dword [0x46b5bc]
call edi
cmp dword [0x46b5a8], 0
mov dword [0x46b5b0], eax
jne 0x43f648
test eax, eax
jne 0x43f648
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x43f632
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x43f639
mov esi, 0x80004005
push esi
push 0x28
push str.c:_agent_work66_s_srclibsdutilcryputil.cpp
call fcn.004038ba
jmp 0x43f694
push str.CryptUnprotectMemory
push dword [0x46b5bc]
call edi
cmp dword [0x46b5ac], 0
mov dword [0x46b5b4], eax
jne 0x43f68a
test eax, eax
jne 0x43f68a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x43f67e
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x43f685
mov esi, 0x80004005
push esi
push 0x2d
jmp 0x43f63c
mov dword [0x46b5c0], 1
pop edi
mov eax, esi
pop esi
ret