joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140113f60
Capabilities:
Manipulate boot configuration
Read .ini file

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x868
mov rax, qword [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0x850], rax
mov rcx, qword [rsp + 0x870]
mov eax, dword [rsp + 0x880]
mov dword [rcx + 0x30], eax
mov rax, qword [rsp + 0x870]
mov qword [rax + 0x80], 0
mov r8d, 0x400
lea rdx, [rsp + 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dx, VarDateFromDisp
lea rcx, [rsp + 0x40]
call fcn.14000b150
mov r11, rax
xor eax, eax
mov word [r11], ax
lea rdx, [0x14022feb0]
lea rcx, [rsp + 0x40]
call fcn.1400aac14
lea r9, [rsp + 0x40]
mov r8d, 1
lea rdx, str.RamToSSDMethod
lea rcx, [0x14022fee8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov r11d, eax
mov rax, qword [rsp + 0x870]
mov dword [rax + 0x88], r11d
mov r8d, 1
mov rdx, qword [rsp + 0x878]
mov rcx, qword [rsp + 0x888]
call fcn.1401040e0
test eax, eax
jne 0x140114044
xor eax, eax
jmp 0x14011419d
mov rdx, qword [rsp + 0x870]
add rdx, 0x80
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 1
xor r8d, r8d
mov rcx, qword [rsp + 0x888]
call fcn.1401068c0
test eax, eax
jne 0x140114084
xor eax, eax
jmp 0x14011419d
mov rax, qword [rsp + 0x870]
mov ecx, dword [rax + 0x30]
mov rax, qword [rsp + 0x878]
lea r8, [rax + rcx - 1]
mov rax, qword [rsp + 0x870]
mov ecx, dword [rax + 0x30]
xor edx, edx
mov rax, r8
div rcx
mov rcx, rax
mov rax, qword [rsp + 0x870]
mov dword [rax + 0x78], ecx
mov rax, qword [rsp + 0x870]
cmp dword [rax + 0x78], 0
jne 0x1401140d2
xor eax, eax
jmp 0x14011419d
mov rax, qword [rsp + 0x870]
mov ecx, dword [rax + 0x78]
call fcn.140073290
mov qword [rsp + 0x848], rax
mov rcx, qword [rsp + 0x870]
mov rax, qword [rsp + 0x848]
mov qword [rcx + 0x70], rax
mov rax, qword [rsp + 0x870]
cmp qword [rax + 0x70], 0
jne 0x140114114
xor eax, eax
jmp 0x14011419d
mov rax, qword [rsp + 0x870]
mov r8d, dword [rax + 0x78]
xor edx, edx
mov rcx, qword [rsp + 0x870]
mov rcx, qword [rcx + 0x70]
call fcn.1400a9850
mov dword [rsp + 0x840], 0
jmp 0x140114151
mov eax, dword [rsp + 0x840]
add eax, 1
mov dword [rsp + 0x840], eax
mov rax, qword [rsp + 0x870]
mov eax, dword [rax + 0x78]
cmp dword [rsp + 0x840], eax
jae 0x140114180
mov rcx, qword [rsp + 0x870]
add rcx, 0x38
lea rdx, [rsp + 0x840]
call fcn.140026f80
jmp 0x140114140
mov rax, qword [rsp + 0x870]
mov edx, dword [rax + 0x78]
mov rax, qword [rsp + 0x870]
mov ecx, dword [rax + 0x30]
mov rax, rdx
imul rax, rcx
mov rcx, qword [rsp + 0x850]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0x868
ret
Function at 0x1401146e0
Capabilities:
Delete directory
Delete file

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x3960
call fcn.1401e9500
sub rsp, rax
mov qword [rsp + 0x37b8], 0xfffffffffffffffe
mov rax, qword [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0x3950], rax
lea rcx, [rsp + 0x48]
call fcn.140002d10
nop
mov r8, qword [0x1403c8b38]
lea rdx, [0x140237ef0]
lea rcx, [rsp + 0x48]
call fcn.140002ba0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.taskkill__F__IM_CCBootTools.exe
call fcn.140004880
lea rcx, [rsp + 0x50]
call fcn.14000dfa0
nop
lea rcx, [rsp + 0x398]
call fcn.140007080
nop
lea rdx, [rsp + 0x398]
lea rcx, [rsp + 0x50]
call fcn.1401cb640
mov dword [rsp + 0x3d8], 0
jmp 0x140114796
mov eax, dword [rsp + 0x3d8]
add eax, 1
mov dword [rsp + 0x3d8], eax
mov edi, dword [rsp + 0x3d8]
lea rcx, [rsp + 0x398]
call fcn.140007100
cmp rdi, rax
jae 0x1401148aa
mov edx, dword [rsp + 0x3d8]
lea rcx, [rsp + 0x398]
call fcn.140007130
mov rcx, rax
add rcx, 0x1a8
lea rdx, [0x140237f60]
call fcn.140006130
test eax, eax
je 0x1401147e3
jmp 0x140114785
lea rcx, [rsp + 0x3e0]
call fcn.140002d10
nop
mov edx, dword [rsp + 0x3d8]
lea rcx, [rsp + 0x398]
call fcn.140007130
mov rcx, rax
add rcx, 0x1a0
xor edx, edx
call fcn.140006e50
movzx r8d, ax
lea rdx, str._c:ToolsCCBootTools.exe
lea rcx, [rsp + 0x3e0]
call fcn.140002ba0
lea rcx, [rsp + 0x3e0]
call fcn.140050200
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, dword [rsp + 0x3d8]
lea rcx, [rsp + 0x398]
call fcn.140007130
mov rcx, rax
add rcx, 0x1a0
xor edx, edx
call fcn.140006e50
movzx r8d, ax
lea rdx, [0x140237fa8]
lea rcx, [rsp + 0x3e0]
call fcn.140002ba0
lea rcx, [rsp + 0x3e0]
call fcn.140050200
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
nop
lea rcx, [rsp + 0x3e0]
call fcn.140007060
jmp 0x140114785
mov dword [rsp + 0x3648], 0
lea rcx, [rsp + 0x398]
call fcn.1400070d0
nop
lea rcx, [rsp + 0x50]
call fcn.140005e30
nop
lea rcx, [rsp + 0x48]
call fcn.140007060
mov eax, dword [rsp + 0x3648]
jmp 0x140116211
mov rcx, qword [rsp + 0x3950]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0x3960
pop rdi
ret
Function at 0x140116520
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0x8b0
mov qword [rsp + 0x898], 0xfffffffffffffffe
mov rax, qword [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0x8a8], rax
mov dword [rsp + 0x30], 5
mov rax, qword [rsp + 0x8c0]
cmp dword [rax + 0x220], 0
je 0x1401167a1
cmp dword [rsp + 0x30], 5
jge 0x140116587
mov eax, dword [rsp + 0x30]
add eax, 1
mov dword [rsp + 0x30], eax
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140116553
mov dword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x8c0]
add rcx, 0x2d0
call fcn.14000f140
mov rcx, qword [rsp + 0x8c0]
add rcx, 0x298
call fcn.140025930
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x38]
call fcn.1400834ec
nop
cmp qword [rsp + 0x60], 0
je 0x140116602
mov rcx, qword [rsp + 0x8c0]
add rcx, 0x298
lea r9, [rsp + 0x6c]
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x60]
call fcn.14001b640
mov edx, dword [rsp + 0x68]
lea rcx, [rsp + 0x38]
call fcn.14000dbd0
jmp 0x1401165c7
mov rcx, qword [rsp + 0x8c0]
add rcx, 0x2d0
mov rax, qword [rsp + 0x8c0]
mov rax, qword [rax + 0x2d0]
call qword [rax + 0x28]
mov dword [rsp + 0x70], 0
jmp 0x140116638
mov eax, dword [rsp + 0x70]
add eax, 1
mov dword [rsp + 0x70], eax
movsxd rbx, dword [rsp + 0x70]
lea rcx, [rsp + 0x38]
call fcn.1400202c0
cmp rbx, rax
jge 0x140116792
xor r8d, r8d
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rsp + 0x880], rax
movsxd rdx, dword [rsp + 0x70]
lea rcx, [rsp + 0x38]
call fcn.14000de90
mov eax, dword [rax]
mov dword [rsp + 0x888], eax
mov ecx, dword [rsp + 0x888]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov rdx, rax
lea rcx, [rsp + 0x890]
call fcn.14000f540
mov qword [rsp + 0x8a0], rax
mov rcx, qword [rsp + 0x8a0]
call fcn.14000f5d0
mov r8, rax
lea rdx, [0x140238f28]
lea rcx, [rsp + 0x80]
call fcn.1400aa834
lea rcx, [rsp + 0x890]
call fcn.140002dd0
lea rcx, [0x1403c7670]
call fcn.140020b40
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, eax
lea r8, [rsp + 0x80]
mov rdx, qword [rsp + 0x880]
mov rcx, qword [rsp + 0x8c0]
call fcn.1400db240
mov dword [rsp + 0x88c], eax
mov rcx, qword [rsp + 0x880]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, qword [rsp + 0x8c0]
add rcx, 0x2d0
call fcn.14000f140
movsxd rdx, dword [rsp + 0x70]
lea rcx, [rsp + 0x38]
call fcn.14000de90
mov rcx, qword [rsp + 0x8c0]
add rcx, 0x298
mov r8d, dword [rsp + 0x88c]
mov edx, dword [rax]
call fcn.14001b610
mov rcx, qword [rsp + 0x8c0]
add rcx, 0x2d0
mov rax, qword [rsp + 0x8c0]
mov rax, qword [rax + 0x2d0]
call qword [rax + 0x28]
jmp 0x14011662d
lea rcx, [rsp + 0x38]
call fcn.14008350c
jmp 0x140116553
mov rcx, qword [rsp + 0x8a8]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0x8b0
pop rbx
ret
Function at 0x140117280
Capabilities:
Monitor local ipv4 address changes

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x220], 0
je 0x140117362
mov qword [rsp + 0x28], 0
call qword [sym.imp.WS2_32.dll_WSACreateEvent]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x28]
call sub.IPHLPAPI.DLL_NotifyAddrChange
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
je 0x1401172f2
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x1401172f2
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, eax
lea rdx, [0x140238ec0]
mov ecx, 1
call fcn.1400de020
jmp 0x140117362
mov dword [rsp + 0x20], 0x102
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x220], 0
je 0x140117328
cmp dword [rsp + 0x20], 0x102
jne 0x140117328
mov edx, 0x3e8
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [rsp + 0x20], eax
jmp 0x1401172fa
cmp dword [rsp + 0x20], 0
jne 0x140117352
mov rax, qword [rsp + 0x70]
add rax, 0x378
mov ecx, 1
xchg dword [rax], ecx
lea rdx, str.IP_changed_notification
mov ecx, 1
call fcn.1400de020
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WS2_32.dll_WSACloseEvent]
jmp 0x140117289
add rsp, 0x68
ret
Function at 0x14011d660
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rcx
mov eax, 0x2088
call fcn.1401e9500
sub rsp, rax
mov rax, qword [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0x2070], rax
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0x2030]
call fcn.1400a9850
mov r8d, 0x2000
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.1400a9850
mov rdx, qword [rsp + 0x2090]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
sub eax, 1
cdqe
movzx eax, word [rsp + rax*2 + 0x30]
cmp eax, 0x5c
jne 0x14011d6f0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
sub eax, 1
movsxd rcx, eax
xor eax, eax
mov word [rsp + rcx*2 + 0x30], ax
mov eax, 0x410
mov word [rsp + 0x2050], ax
mov qword [rsp + 0x2058], 0
mov qword [rsp + 0x2030], 0
mov qword [rsp + 0x2060], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x2040], rax
mov qword [rsp + 0x2048], 0
mov dword [rsp + 0x2038], 3
lea rcx, [rsp + 0x2030]
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
jne 0x14011d764
mov dword [rsp + 0x2068], 1
jmp 0x14011d76f
mov dword [rsp + 0x2068], 0
mov eax, dword [rsp + 0x2068]
mov rcx, qword [rsp + 0x2070]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0x2088
ret

Function at 0x14011d7a0
Capabilities:
Copy file

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov eax, 0x2088
call fcn.1401e9500
sub rsp, rax
mov rax, qword [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0x2070], rax
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0x2030]
call fcn.1400a9850
mov r8d, 0x2000
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.1400a9850
mov rdx, qword [rsp + 0x2090]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
sub eax, 1
cdqe
movzx eax, word [rsp + rax*2 + 0x30]
cmp eax, 0x5c
jne 0x14011d835
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
sub eax, 1
movsxd rcx, eax
xor eax, eax
mov word [rsp + rcx*2 + 0x30], ax
mov eax, 0x610
mov word [rsp + 0x2050], ax
mov qword [rsp + 0x2058], 0
mov qword [rsp + 0x2030], 0
mov qword [rsp + 0x2060], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x2040], rax
mov rax, qword [rsp + 0x2098]
mov qword [rsp + 0x2048], rax
mov dword [rsp + 0x2038], 2
lea rcx, [rsp + 0x2030]
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
jne 0x14011d8ad
mov dword [rsp + 0x2068], 1
jmp 0x14011d8b8
mov dword [rsp + 0x2068], 0
mov eax, dword [rsp + 0x2068]
mov rcx, qword [rsp + 0x2070]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0x2088
ret
Function at 0x14011e190
Capabilities:
Query or enumerate registry key

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xce0
mov rax, qword [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0xcd0], rax
mov rcx, qword [rsp + 0xcf0]
call fcn.14011dc20
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rdx, qword [rsp + 0xcf0]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14011e1ef
xor eax, eax
jmp 0x14011e392
movzx eax, word [0x14023909c]
mov word [rsp + 0x90], ax
lea rdi, [rsp + 0x92]
xor eax, eax
mov ecx, 0x206
rep stosb byte [rdi], al
mov dword [rsp + 0x78], 0x104
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x4c0], 0x3fff
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x4b8]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x4bc]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x64]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x84]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x84], 0
je 0x14011e382
mov edx, dword [rsp + 0x84]
lea rcx, [0x140239728]
call fcn.1400ae204
mov dword [rsp + 0x6c], 0
jmp 0x14011e2e4
mov eax, dword [rsp + 0x6c]
add eax, 1
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x84]
cmp dword [rsp + 0x6c], eax
jae 0x14011e382
mov dword [rsp + 0x68], 0xff
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x68]
lea r8, [rsp + 0x2b0]
mov edx, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0
jne 0x14011e37d
lea r9, [rsp + 0x2b0]
mov r8, qword [rsp + 0xcf0]
lea rdx, [0x140239740]
lea rcx, [rsp + 0x4d0]
call fcn.1400aa834
lea rcx, [rsp + 0x4d0]
call fcn.14011e190
jmp 0x14011e2d9
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
mov rcx, qword [rsp + 0xcd0]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0xce0
pop rdi
ret
Function at 0x14011e850
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xce0
mov rax, qword [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0xcd0], rax
mov rcx, qword [rsp + 0xcf0]
call fcn.14011e190
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rdx, qword [rsp + 0xcf0]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14011e8ad
jmp 0x14011ea5e
movzx eax, word [0x1402390ac]
mov word [rsp + 0x90], ax
lea rdi, [rsp + 0x92]
xor eax, eax
mov ecx, 0x206
rep stosb byte [rdi], al
mov dword [rsp + 0x78], 0x104
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x4c0], 0x3fff
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x4b8]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x4bc]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x64]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x84]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x84], 0
je 0x14011ea3e
mov edx, dword [rsp + 0x84]
lea rcx, [0x140239778]
call fcn.1400ae204
mov dword [rsp + 0x6c], 0
jmp 0x14011e9a2
mov eax, dword [rsp + 0x6c]
add eax, 1
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x84]
cmp dword [rsp + 0x6c], eax
jae 0x14011ea3e
mov dword [rsp + 0x68], 0xff
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x68]
lea r8, [rsp + 0x2b0]
xor edx, edx
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0
jne 0x14011ea39
lea r9, [rsp + 0x2b0]
mov r8, qword [rsp + 0xcf0]
lea rdx, [0x140239790]
lea rcx, [rsp + 0x4d0]
call fcn.1400aa834
lea rcx, [rsp + 0x4d0]
call fcn.14011e850
jmp 0x14011e997
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [rsp + 0xcf0]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rcx, qword [rsp + 0xcd0]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0xce0
pop rdi
ret
Function at 0x140124c70
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov eax, 0x2048
call fcn.1401e9500
sub rsp, rax
mov rax, qword [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0x2038], rax
mov dword [rsp + 0x20], 0
mov eax, dword [rsp + 0x20]
and eax, 0x10000
test eax, eax
je 0x140124cfe
lea rax, [rsp + 0x2070]
mov qword [rsp + 0x2030], rax
mov r9, qword [rsp + 0x2030]
mov r8, qword [rsp + 0x2068]
mov edx, 0x2000
lea rcx, [rsp + 0x30]
call fcn.1400af060
mov qword [rsp + 0x2030], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, qword [rsp + 0x2038]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0x2048
ret
Function at 0x14013c0e0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x38
call fcn.14000dda0
lea r8, [0x140248fa0]
lea rdx, [0x140248fa8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x14013c116
xor eax, eax
jmp 0x14013c14a
call fcn.14000dda0
mov rdx, qword [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r8d, 0x200
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.1400aa500
mov eax, 1
add rsp, 0x38
ret
Function at 0x1401422e0
Capabilities:
Manipulate boot configuration
Read .ini file

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x890
mov rax, qword [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0x880], rax
mov rax, qword [rsp + 0x8a0]
cmp dword [rax + 0x220], 0
jne 0x14014233a
mov r8, qword [rsp + 0x8b0]
mov edx, dword [rsp + 0x8a8]
mov rcx, qword [rsp + 0x8a0]
call fcn.1401414e0
jmp 0x1401425ab
xor eax, eax
mov word [rsp + 0x30], ax
lea rdi, [rsp + 0x32]
xor eax, eax
mov ecx, 0x7fe
rep stosb byte [rdi], al
mov rdx, qword [rsp + 0x8a0]
add rdx, 0x228
lea r8, [0x140248fc0]
lea rcx, [rsp + 0x830]
call fcn.1400010b0
mov qword [rsp + 0x858], rax
mov rcx, qword [rsp + 0x858]
call fcn.140050200
mov r9, rax
mov r8d, 1
lea rdx, [0x140248fd8]
lea rcx, [0x140248ff8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x8a0]
mov dword [rax + 0x4c4], edx
lea rcx, [rsp + 0x830]
call fcn.140007060
mov r8, qword [rsp + 0x8b0]
mov edx, dword [rsp + 0x8a8]
mov rcx, qword [rsp + 0x8a0]
call fcn.1400e41f0
mov dword [rsp + 0x20], eax
mov rdx, qword [rsp + 0x8a0]
add rdx, 0x228
lea r8, [0x140249008]
lea rcx, [rsp + 0x838]
call fcn.1400010b0
mov qword [rsp + 0x860], rax
mov rcx, qword [rsp + 0x860]
call fcn.140050200
mov r9, rax
mov r8d, 1
lea rdx, [0x140249020]
lea rcx, [0x140249040]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x8a0]
mov dword [rax + 0x234], edx
lea rcx, [rsp + 0x838]
call fcn.140007060
mov rdx, qword [rsp + 0x8a0]
add rdx, 0x228
lea r8, [0x140249050]
lea rcx, [rsp + 0x840]
call fcn.1400010b0
mov qword [rsp + 0x868], rax
mov rcx, qword [rsp + 0x868]
call fcn.140050200
mov r9, rax
mov r8d, 1
lea rdx, [0x140249068]
lea rcx, [0x140249088]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x8a0]
mov dword [rax + 0x470], edx
lea rcx, [rsp + 0x840]
call fcn.140007060
mov rdx, qword [rsp + 0x8a0]
add rdx, 0x228
lea r8, [0x140249098]
lea rcx, [rsp + 0x848]
call fcn.1400010b0
mov qword [rsp + 0x870], rax
mov rcx, qword [rsp + 0x870]
call fcn.140050200
mov r9, rax
mov r8d, 5
lea rdx, [0x1402490b0]
lea rcx, [0x1402490d0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x8a0]
mov dword [rax + 0x230], edx
lea rcx, [rsp + 0x848]
call fcn.140007060
mov rdx, qword [rsp + 0x8a0]
add rdx, 0x228
lea r8, [0x1402490e0]
lea rcx, [rsp + 0x850]
call fcn.1400010b0
mov qword [rsp + 0x878], rax
mov rcx, qword [rsp + 0x878]
call fcn.140050200
mov r9, rax
xor r8d, r8d
lea rdx, [0x1402490f8]
lea rcx, [0x140249108]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x8a0]
mov dword [rax + 0x474], edx
lea rcx, [rsp + 0x850]
call fcn.140007060
mov eax, 1
mov rcx, qword [rsp + 0x880]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0x890
pop rdi
ret
Function at 0x14014f340
Capabilities:
Get disk size

Disassembly:
mov word [rsp + 8], cx
sub rsp, 0x868
mov rax, qword [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0x850], rax
movzx r8d, word [rsp + 0x870]
lea rdx, [0x14024b818]
lea rcx, [rsp + 0x50]
call fcn.1400aa834
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x34]
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x3c]
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test eax, eax
jne 0x14014f3a4
xor eax, eax
jmp 0x14014f3ad
mov eax, dword [rsp + 0x38]
imul eax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x850]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0x868
ret
Function at 0x140152580
Capabilities:
Resolve dns

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov rcx, qword [rsp + 0x70]
call fcn.140082cb0
mov rdx, qword [rsp + 0x70]
add rdx, 0x2b8
mov rcx, qword [rsp + 0x70]
call fcn.1400f0ee0
lea rdx, [0x14024bb30]
lea rcx, [rsp + 0x40]
call fcn.1400f05c0
mov qword [rsp + 0x50], rax
lea rdx, [0x14024bb20]
mov rcx, qword [rsp + 0x50]
call fcn.140006e10
mov byte [rsp + 0x38], al
lea rcx, [rsp + 0x40]
call fcn.140007060
movzx r11d, byte [rsp + 0x38]
test r11d, r11d
je 0x14015264d
mov edx, 0x50c
mov rcx, qword [rsp + 0x70]
call fcn.1400799cc
xor edx, edx
mov rcx, rax
call fcn.140079c60
mov edx, 0x514
mov rcx, qword [rsp + 0x70]
call fcn.1400799cc
xor edx, edx
mov rcx, rax
call fcn.140079c60
mov edx, 0x8082
mov rcx, qword [rsp + 0x70]
call fcn.1400799cc
xor edx, edx
mov rcx, rax
call fcn.140079c60
mov edx, 0x50b
mov rcx, qword [rsp + 0x70]
call fcn.1400799cc
xor edx, edx
mov rcx, rax
call fcn.140079c60
mov rcx, qword [rsp + 0x70]
add rcx, 0x118
call fcn.1400161e0
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_gethostbyname]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
cmp qword [rsp + 0x28], 0
je 0x140152707
movsxd rcx, dword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x18]
cmp qword [rax + rcx*8], 0
je 0x140152707
movsxd rcx, dword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + rcx*8]
mov ecx, dword [rax]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x1401526f7
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.14000f540
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.14000f5d0
mov rcx, qword [rsp + 0x70]
add rcx, 0x118
mov rdx, rax
call fcn.140016290
lea rcx, [rsp + 0x48]
call fcn.140002dd0
mov eax, dword [rsp + 0x20]
add eax, 1
mov dword [rsp + 0x20], eax
jmp 0x140152673
mov rcx, qword [rsp + 0x70]
add rcx, 0x118
lea rdx, [0x14024bb40]
call fcn.140016290
mov rcx, qword [rsp + 0x70]
add rcx, 0x1f8
call fcn.1400f06b0
xor edx, edx
mov rcx, qword [rsp + 0x70]
call fcn.14007d790
mov eax, 1
add rsp, 0x68
ret