joyce8/EMBER2024-capa huggingface dataset:
Function at 0x425da2
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
push 0x45c
mov eax, 0x4d0800
call fcn.004b57ab
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x464], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x454], eax
push 0x5c
push ecx
xor edi, edi
mov dword [ebp - 4], edi
mov eax, esp
mov dword [ebp - 0x458], esp
push eax
xor esi, esi
call fcn.00467720
pop ecx
lea eax, [ebp - 0x460]
push eax
call fcn.00469190
add esp, 8
mov byte [ebp - 4], 1
mov eax, esp
mov dword [ebp - 0x458], esp
push dword [ebp + 8]
push dword [ebp - 0x460]
push str._s:_CHttpStreaming::DownloadFileToMemory:__s
push eax
call fcn.00468c80
add esp, 0x10
call fcn.00425d72
mov eax, dword [0x5119ec]
pop ecx
cmp eax, edi
jne 0x425e39
push edi
push edi
push edi
push edi
push str.http_cameyo_streaming
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [0x5119ec], eax
cmp eax, edi
je 0x425f2a
push edi
push edi
push edi
push edi
push dword [ebp + 8]
push eax
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov dword [ebp - 0x45c], eax
cmp eax, edi
je 0x425efd
push edi
lea ecx, [ebp - 0x458]
push ecx
lea ecx, [ebp - 0x50]
push ecx
push 0x13
push eax
mov dword [ebp - 0x458], 0x40
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
lea eax, [ebp - 0x50]
push 0x4e0ee8
push eax
call fcn.004afbc0
pop ecx
pop ecx
test eax, eax
jne 0x425eef
mov esi, 0x4000
push esi
call fcn.004b01e2
pop ecx
mov ebx, eax
lea eax, [ebp - 0x468]
push eax
push esi
push ebx
jmp 0x425ecc
add edi, dword [ebp - 0x468]
cmp dword [ebp - 0x468], esi
jne 0x425edc
lea eax, [edi + 0x4000]
push eax
push ebx
call fcn.004b044e
pop ecx
pop ecx
mov ebx, eax
lea eax, [ebp - 0x468]
push eax
push esi
lea eax, [ebx + edi]
push eax
push dword [ebp - 0x45c]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x425ea1
mov eax, dword [ebp - 0x464]
mov dword [eax], ebx
mov eax, dword [ebp - 0x454]
xor esi, esi
mov dword [eax], edi
inc esi
push dword [ebp - 0x45c]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x425f2a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x464], eax
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x464]
push eax
mov dword [ebp - 0x454], edi
call dword [sym.imp.WININET.dll_InternetGetLastResponseInfoW]
push ecx
mov eax, esp
mov dword [ebp - 0x454], esp
push dword [ebp - 0x460]
push str._s:_CHttpStreaming::DownloadFileToMemory:_out
push eax
call fcn.00468c80
add esp, 0xc
call fcn.00425d72
pop ecx
mov ecx, dword [ebp - 0x460]
add ecx, 0xfffffff0
call fcn.0042101a
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0042101a
mov eax, esi
call fcn.004b582e
ret
Function at 0x428893
Capabilities:
Enumerate files on windows

Disassembly:
push 0x274
mov eax, 0x4d0782
call fcn.004b57ab
xor esi, esi
push 0x24c
lea eax, [ebp - 0x260]
push esi
mov dword [ebp - 4], 1
push eax
mov dword [ebp - 0x264], esi
call fcn.004b02b0
pop ecx
pop ecx
mov eax, esp
mov dword [ebp - 0x26c], esp
push dword [ebp + 0xc]
push dword [ebp + 8]
push str.UnpackUtils_StampLocalCache:_FileNamePortion_s__FullStampLocalCache_s
push eax
call fcn.00468c80
add esp, 0x10
call fcn.00426728
pop ecx
push esi
push ecx
mov eax, esp
mov dword [ebp - 0x26c], esp
lea ecx, [ebp + 8]
push ecx
push str.EngineStamps_
push eax
call fcn.00423896
lea eax, [ebp - 0x278]
add esp, 0xc
push eax
call fcn.0047ccf0
mov byte [ebp - 4], 2
push dword [eax]
lea eax, [ebp - 0x274]
push str._s..stamp
push eax
call fcn.00468c80
add esp, 0x18
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x278]
add ecx, 0xfffffff0
call fcn.0042101a
lea eax, [ebp - 0x264]
push eax
push dword [ebp - 0x274]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
push ecx
mov ebx, eax
mov eax, esp
mov dword [ebp - 0x26c], esp
push dword [ebp - 0x274]
push str.UnpackUtils_FullStampLocalCache:_FindMask_s
push eax
call fcn.00468c80
add esp, 0xc
call fcn.00426728
pop ecx
cmp ebx, 0xffffffff
je 0x428a87
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x268]
call fcn.004235f2
push ecx
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x280], esp
push 0x4dec30
call fcn.004235f2
push ecx
mov byte [ebp - 4], 6
lea eax, [ebp - 0x268]
mov dword [ebp - 0x27c], esp
mov ecx, esp
push eax
call fcn.00423d24
push ecx
mov dword [ebp - 0x270], esp
mov edi, esp
push esi
push ecx
mov ecx, esp
mov dword [ebp - 0x270], esp
push str.EngineStamps
mov byte [ebp - 4], 7
call fcn.004235f2
push edi
call fcn.0047ccf0
add esp, 0xc
lea edi, [ebp - 0x26c]
mov byte [ebp - 4], 5
call fcn.004687d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 8
call fcn.00423d45
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x26c]
add ecx, 0xfffffff0
call fcn.0042101a
push ecx
mov eax, esp
mov dword [ebp - 0x270], esp
push dword [ebp - 0x268]
push str.UnpackUtils_FullStampLocalCache:_KillFile__s_
push eax
call fcn.00468c80
add esp, 0xc
call fcn.00426728
lea eax, [ebp - 0x268]
mov dword [ebp - 0x270], esp
mov ecx, esp
push eax
call fcn.00423d24
call fcn.0046cc40
pop ecx
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x268]
add ecx, 0xfffffff0
call fcn.0042101a
lea eax, [ebp - 0x264]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x42897c
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x4e0608
push ecx
lea eax, [ebp + 0xc]
mov dword [ebp - 0x270], esp
mov ecx, esp
push eax
call fcn.00423d24
mov edi, esi
call fcn.00469940
pop ecx
pop ecx
mov ecx, dword [ebp - 0x274]
add ecx, 0xfffffff0
call fcn.0042101a
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0042101a
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.0042101a
call fcn.004b582e
ret
Function at 0x42a743
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0x10
mov eax, 0x4d372e
call fcn.004b5742
lea eax, [ebp + 8]
xor ebx, ebx
push eax
mov ecx, 0x512170
mov dword [ebp - 4], ebx
call fcn.00423d45
lea eax, [ebp + 8]
mov esi, 0x511f18
push eax
mov ecx, esi
call fcn.00423d45
push 1
push ecx
mov dword [ebp - 0x14], esp
mov ecx, esp
push esi
call fcn.00423d24
lea edi, [ebp - 0x14]
call fcn.00468b90
pop ecx
pop ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00423d45
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0042101a
push 1
lea eax, [ebp - 0x14]
push eax
mov ecx, esi
call fcn.0042379a
mov edi, 0x4dec30
push edi
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.00423c4f
test eax, eax
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x14]
setne byte [ebp - 0xd]
add ecx, 0xfffffff0
call fcn.0042101a
cmp byte [ebp - 0xd], bl
je 0x42a7e3
push edi
mov ecx, esi
call fcn.00429844
mov esi, dword [0x511f18]
call fcn.0046c000
push dword [0x511f18]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x42a830
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.Diff_Init:_Cannot_create_TempDir
call fcn.004235f2
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.General
mov byte [ebp - 4], 3
call fcn.004235f2
push 3
mov byte [ebp - 4], bl
call fcn.0046e660
add esp, 0xc
push 0x511f44
call fcn.0042a889
mov esi, 0x4e0608
push esi
mov ecx, 0x511f1c
call fcn.0042421b
push esi
mov ecx, 0x511f24
call fcn.0042421b
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push esi
call fcn.004235f2
mov ecx, 0x511f74
call fcn.0042a929
call fcn.0044e860
call fcn.004545d0
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0042101a
xor eax, eax
inc eax
call fcn.004b581a
ret

Function at 0x42bdd7
Capabilities:
Create thread

Disassembly:
push esi
xor esi, esi
cmp dword [0x5123c4], esi
jne 0x42be58
mov dword [0x5123c4], 1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.00466cb0
pop ecx
test eax, eax
jne 0x42be47
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [0x511e4c], eax
cmp dword [0x5123c8], esi
jne 0x42be34
push esi
push esi
push 0x4e0608
call fcn.004b2419
pop ecx
push eax
push 0x42ba57
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x5123c8], eax
push 0x190
push dword [0x511e4c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
pop esi
ret
push str.This_is_a_System_process__so_skipping_window_display.
push str.GfxServerInit
call fcn.00466250
pop ecx
pop ecx
pop esi
ret
Function at 0x42c25c
Capabilities:
Find taskbar

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
xor eax, eax
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x24], ecx
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x14], ecx
lea edi, [ebp - 0x10]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x34], ecx
xor eax, eax
lea edi, [ebp - 0x30]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov ebx, dword [sym.imp.USER32.dll_GetWindowRect]
lea ecx, [ebp - 0x24]
push ecx
push eax
call ebx
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 8]
call ebx
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
sub esi, dword [ebp - 0xc]
sub edi, dword [ebp - 8]
sub esi, dword [ebp - 0x24]
sub edi, dword [ebp - 0x20]
add esi, dword [ebp - 0x14]
add edi, dword [ebp - 0x18]
push 0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x42c2f2
lea ecx, [ebp - 0x34]
push ecx
push eax
call ebx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
test eax, eax
jg 0x42c2e4
test ecx, ecx
jle 0x42c2f2
jmp 0x42c2e9
sub eax, dword [ebp - 0x28]
add edi, eax
test ecx, ecx
jle 0x42c2f2
sub ecx, dword [ebp - 0x2c]
add esi, ecx
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
push 1
push eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
push eax
push edi
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MoveWindow]
pop edi
pop esi
pop ebx
leave
ret
Function at 0x42c44f
Capabilities:
Create directory
Create thread

Disassembly:
push 0x30
mov eax, 0x4d1c4d
call fcn.004b5742
xor esi, esi
push esi
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
mov ebx, 0x4df158
push ebx
mov dword [ebp - 0x18], esi
call fcn.004235f2
lea eax, [ebp - 0x10]
push eax
call fcn.00468380
pop ecx
pop ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.0042101a
push 0x10
call fcn.004a0b7a
mov edi, eax
pop ecx
cmp edi, esi
je 0x42c4b6
lea ecx, [edi + 8]
call fcn.0042148a
lea ecx, [edi + 0xc]
call fcn.0042148a
mov dword [0x511e54], edi
jmp 0x42c4bc
mov dword [0x511e54], esi
push ecx
mov edi, esp
mov dword [ebp - 0x14], esp
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4dec30
call fcn.004235f2
push ecx
mov dword [ebp - 4], esi
mov ecx, esp
mov dword [ebp - 0x20], esp
push str.Troubleshoot.log
call fcn.004235f2
push ecx
mov eax, esp
mov dword [ebp - 0x14], esp
push ecx
mov dword [ebp - 0x14], esp
mov ecx, esp
push ebx
mov byte [ebp - 4], 1
mov dword [ebp - 0x14], eax
call fcn.004235f2
mov eax, dword [ebp - 0x14]
push eax
call fcn.00468380
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
call fcn.004687d0
add esp, 0xc
call fcn.0042be78
lea eax, [ebp - 0x18]
push eax
push esi
push dword [ebp + 8]
push 0x42c17c
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
jmp 0x42c54b
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push esi
push esi
push esi
lea eax, [ebp - 0x3c]
push eax
call edi
test eax, eax
jg 0x42c537
mov eax, dword [ebp - 0x34]
call fcn.004b581a
ret 4
Function at 0x42d6a2
Capabilities:
Move file

Disassembly:
push 0xc
mov eax, 0x4d45d6
call fcn.004b5742
and dword [ebp - 4], 0
push 0
call fcn.004b2d70
push eax
call fcn.004b2d3c
pop ecx
pop ecx
call fcn.004b2d4e
mov esi, eax
call fcn.004b2d4e
push dword [ebp + 0x10]
shl esi, 0x10
push ecx
mov dword [ebp - 0x18], esp
xor eax, esi
mov esi, esp
push eax
push 0x5c
push ecx
lea eax, [ebp + 0xc]
mov dword [ebp - 0x18], esp
mov ecx, esp
push eax
call fcn.00423d24
lea eax, [ebp - 0x18]
push eax
call fcn.00469190
add esp, 0xc
mov byte [ebp - 4], 1
push dword [eax]
push str._s._x.ToDelete
push esi
call fcn.00468c80
lea eax, [ebp - 0x14]
add esp, 0x10
push eax
call fcn.0047ccf0
add esp, 0xc
mov byte [ebp - 4], 2
push dword [eax]
lea eax, [ebp + 0xc]
push dword [ebp + 0x10]
push 0
push 0
push ecx
mov dword [ebp + 0x10], esp
mov ecx, esp
push eax
call fcn.00423d24
push dword [ebp + 8]
lea eax, [ebp - 0x10]
push eax
call fcn.0047c9b0
add esp, 0x18
push dword [eax]
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov esi, eax
call fcn.0042101a
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0042101a
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0042101a
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.0042101a
mov eax, esi
call fcn.004b581a
ret

Function at 0x42d782
Capabilities:
Delete file
Enumerate files on windows

Disassembly:
push 0x264
mov eax, 0x4d0408
call fcn.004b57ab
and dword [ebp - 0x260], 0
push 0x24c
lea eax, [ebp - 0x25c]
push 0
push eax
call fcn.004b02b0
add esp, 0xc
lea eax, [ebp - 0x260]
push eax
push edi
push ecx
mov ecx, esp
mov dword [ebp - 0x26c], esp
push str..ToDelete
call fcn.004235f2
lea eax, [ebp - 0x26c]
push eax
call fcn.0047ccf0
add esp, 0xc
push dword [eax]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ecx, dword [ebp - 0x26c]
mov esi, eax
cmp esi, 0xffffffff
setne byte [ebp - 0x261]
add ecx, 0xfffffff0
call fcn.0042101a
cmp byte [ebp - 0x261], 0
je 0x42d889
push edi
push ecx
lea eax, [ebp - 0x234]
mov ecx, esp
mov dword [ebp - 0x270], esp
push eax
call fcn.004235f2
lea eax, [ebp - 0x268]
push eax
call fcn.0047ccf0
and dword [ebp - 4], 0
add esp, 8
mov eax, esp
mov dword [ebp - 0x270], esp
push dword [ebp - 0x268]
push str.DeleteSharingViolationRemains:_deleting__s
push eax
call fcn.00468c80
add esp, 0xc
call fcn.0042d153
pop ecx
push dword [ebp - 0x268]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x268]
add ecx, 0xfffffff0
call fcn.0042101a
lea eax, [ebp - 0x260]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x42d807
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
call fcn.004b582e
ret
Function at 0x42d963
Capabilities:
Enumerate files on windows

Disassembly:
push 0x278
mov eax, 0x4d03aa
call fcn.004b57ab
xor eax, eax
mov dword [ebp - 4], eax
push 0x24c
push eax
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x25c]
push eax
call fcn.004b02b0
pop ecx
pop ecx
lea eax, [ebp + 8]
mov dword [ebp - 0x270], esp
mov ecx, esp
push eax
call fcn.00423d24
call fcn.0046cc40
push eax
mov dword [ebp - 0x26c], eax
lea eax, [ebp - 0x268]
push eax
call fcn.00470f80
add esp, 0xc
mov edi, eax
mov byte [ebp - 4], 1
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push ecx
mov ecx, esp
mov dword [ebp - 0x270], esp
push eax
push dword [edi]
push dword [ebp + 8]
push str.DeleteRegDatFiles:__s____s__LE_d
push ecx
call fcn.00468c80
add esp, 0x14
call fcn.0042d153
pop ecx
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x268]
add ecx, 0xfffffff0
call fcn.0042101a
push 0x4e4908
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.00423841
mov eax, dword [eax]
add esp, 0xc
lea ecx, [ebp - 0x260]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ecx, dword [ebp - 0x27c]
mov ebx, eax
cmp ebx, 0xffffffff
setne byte [ebp - 0x261]
add ecx, 0xfffffff0
call fcn.0042101a
cmp byte [ebp - 0x261], 0
je 0x42db76
push 0x5c
push ecx
lea eax, [ebp + 8]
mov dword [ebp - 0x270], esp
mov ecx, esp
push eax
call fcn.00423d24
lea eax, [ebp - 0x268]
push eax
call fcn.004692c0
add esp, 0xc
mov byte [ebp - 4], 2
push ecx
mov ecx, esp
mov dword [ebp - 0x280], esp
push 0x4dec30
call fcn.004235f2
push ecx
mov byte [ebp - 4], 3
lea eax, [ebp - 0x234]
mov ecx, esp
mov dword [ebp - 0x284], esp
push eax
call fcn.004235f2
push ecx
lea eax, [ebp - 0x268]
mov dword [ebp - 0x274], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 4
call fcn.00423d24
lea edi, [ebp - 0x278]
mov byte [ebp - 4], 2
call fcn.004687d0
add esp, 8
mov eax, edi
mov dword [ebp - 0x274], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 5
call fcn.00423d24
call fcn.0046cc40
and dword [ebp - 0x26c], eax
push eax
lea eax, [ebp - 0x270]
push eax
call fcn.00470f80
add esp, 0xc
mov edi, eax
mov byte [ebp - 4], 6
call esi
push ecx
mov ecx, esp
mov dword [ebp - 0x274], esp
push eax
push dword [edi]
push dword [ebp + 8]
push str.DeleteRegDatFiles:_deleting_satellite_file:__s____s__LE_d
push ecx
call fcn.00468c80
add esp, 0x14
call fcn.0042d153
pop ecx
mov ecx, dword [ebp - 0x270]
add ecx, 0xfffffff0
call fcn.0042101a
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x278]
add ecx, 0xfffffff0
call fcn.0042101a
lea eax, [ebp - 0x260]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x42da76
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x268]
add ecx, 0xfffffff0
call fcn.0042101a
cmp dword [ebp - 0x26c], 0
jne 0x42db9b
push ecx
mov eax, esp
mov dword [ebp - 0x274], esp
push str.DeleteRegDatFiles_failed
push eax
call fcn.00468c80
pop ecx
pop ecx
call fcn.0042d153
pop ecx
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0042101a
mov eax, dword [ebp - 0x26c]
call fcn.004b582e
ret
Function at 0x42f8bd
Capabilities:
Query environment variable
Set environment variable

Disassembly:
push 0x1c
mov eax, 0x4d0322
call fcn.004b5742
push ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, esp
mov dword [ebp - 0x24], esp
push dword [ebp + 8]
push str.Loader_SetVirtEnvVariables:_in___s_
push eax
call fcn.00468c80
add esp, 0xc
call fcn.0042d153
pop ecx
mov dword [ebp - 0x1c], ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.::
lea edi, [ebp - 0x1c]
call fcn.004235f2
push ecx
lea eax, [ebp + 8]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 1
call fcn.00423d24
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], bl
call fcn.0046d740
add esp, 8
mov eax, esp
mov dword [ebp - 0x28], esp
mov byte [ebp - 4], 2
push dword [ebp - 0x10]
push str.Loader_SetVirtEnvVariables:_setting_Env_variable:__s
push eax
call fcn.00468c80
add esp, 0xc
call fcn.0042d153
pop ecx
push ebx
push 0x3d
lea ecx, [ebp - 0x10]
call fcn.00425cc8
mov esi, eax
cmp esi, 0xffffffff
jne 0x42f973
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push str.Loader_SetVirtEnvVariables:__error:_Env_variable_doesnt_contain_
push eax
call fcn.00468c80
pop ecx
pop ecx
call fcn.0042d153
pop ecx
jmp 0x42fa60
push esi
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x10]
call fcn.004237e1
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call fcn.00423d24
push ebx
lea ecx, [ebp - 0x14]
lea eax, [esi + 1]
push ecx
mov byte [ebp - 4], 4
call fcn.00423689
push str._ExistingValue_
xor ecx, ecx
lea esi, [ebp - 0x14]
call fcn.00423705
mov esi, dword [ebp - 0x20]
cmp eax, 0xffffffff
je 0x42fa45
call fcn.004a1286
push eax
lea ecx, [ebp - 0x18]
call fcn.0042149e
push ebx
push ebx
mov byte [ebp - 4], 5
mov edi, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
push esi
call edi
mov dword [ebp - 0x24], eax
cmp eax, ebx
je 0x42fa0d
push eax
lea ecx, [ebp - 0x18]
call fcn.004214d0
push dword [ebp - 0x24]
push eax
push esi
call edi
push 0xffffffffffffffff
lea ecx, [ebp - 0x18]
mov edi, eax
call fcn.00423900
cmp edi, ebx
jne 0x42fa0d
push 0x4e0608
lea ecx, [ebp - 0x18]
call fcn.0042421b
mov edi, dword [ebp - 0x18]
push edi
push str._ExistingValue_
lea eax, [ebp - 0x14]
push eax
call fcn.0043400a
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
lea ecx, [ebp - 0x14]
push ecx
push str.Loader_SetVirtEnvVariables:_replacing__ExistingValue__with_existing_value:
push eax
call fcn.00423896
add esp, 0xc
call fcn.0042d153
pop ecx
lea ecx, [edi - 0x10]
call fcn.0042101a
mov edi, dword [ebp - 0x14]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
lea ecx, [edi - 0x10]
call fcn.0042101a
lea ecx, [esi - 0x10]
call fcn.0042101a
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.0042101a
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x42f8ee
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0042101a
call fcn.004b581a
ret
Function at 0x42fd52
Capabilities:
Set environment variable

Disassembly:
push 0x10
mov eax, 0x4d02d7
call fcn.004b5742
mov edi, ecx
and dword [ebp - 4], 0
push 0
push ecx
lea ebx, [edi + 0x58]
mov ecx, esp
mov dword [ebp - 0x14], esp
push ebx
call fcn.004235dd
push ecx
mov byte [ebp - 4], 1
mov ecx, esp
mov dword [ebp - 0x10], esp
push str.BaseDirName
call fcn.004235f2
push ecx
mov byte [ebp - 4], 2
mov eax, esp
mov dword [ebp - 0x18], esp
push dword [edi + 0xc]
mov esi, str.SoftwareVOS_s
push esi
push eax
call fcn.00468c80
add esp, 0xc
mov byte [ebp - 4], 3
call fcn.0047bf30
push eax
mov byte [ebp - 4], 0
call fcn.00469e40
add esp, 0x14
and eax, 1
push 0
push ecx
mov dword [ebp - 0x10], eax
lea eax, [ebp + 8]
mov dword [ebp - 0x18], esp
mov ecx, esp
push eax
call fcn.00423d24
push ecx
mov byte [ebp - 4], 4
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.CarrierExeName
call fcn.004235f2
push ecx
mov byte [ebp - 4], 5
mov eax, esp
mov dword [ebp - 0x1c], esp
push dword [edi + 0xc]
push esi
push eax
call fcn.00468c80
add esp, 0xc
mov byte [ebp - 4], 6
call fcn.0047bf30
push eax
mov byte [ebp - 4], 0
call fcn.00469e40
mov esi, dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
and dword [ebp - 0x10], eax
add esp, 0x14
push dword [edi + 0xc]
push str.CAMEYO_RO_APPID
call esi
add edi, 0x64
push dword [edi]
push str.CAMEYO_RO_CARRIEREXE
call esi
push 0x5c
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edi
call fcn.004235dd
lea eax, [ebp - 0x14]
push eax
call fcn.004692c0
add esp, 0xc
push dword [eax]
push str.CAMEYO_RO_CARRIERDIR
call esi
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0042101a
push dword [ebx]
push str.CAMEYO_RO_BASEDIRNAME
call esi
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0042101a
xor eax, eax
cmp dword [ebp - 0x10], eax
sete al
call fcn.004b581a
ret

Function at 0x42fe82
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push edi
push ecx
mov dword [ebp - 4], esp
mov edi, esp
push 0
push 0
push 0
push ecx
mov ecx, esp
mov dword [ebp - 4], esp
push str.License.accepted
call fcn.004235f2
push 0
push edi
call fcn.0047c9b0
add esp, 0x18
call fcn.0046bf20
pop ecx
test eax, eax
jne 0x42fed9
push ecx
mov eax, esp
mov dword [ebp - 4], esp
push str._Loader_Main:_EULA_refused
push eax
call fcn.00468c80
pop ecx
pop ecx
call fcn.0042d153
pop ecx
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_ExitProcess]
pop edi
leave
ret

Function at 0x42fedc
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
mov eax, ecx
mov dword [ecx + 0x28], edx
push esi
mov esi, dword [eax]
xor dword [ecx + 0x28], esi
lea esi, [edx + 0x21]
xor dword [eax], esi
add eax, 4
inc edx
cmp edx, 0xa
jb 0x42fee4
pop esi
ret