joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140007890
Capabilities:
Enumerate files on windows

Disassembly:
jmp 0x140007890
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x5f0
mov rax, qword [0x1400fae80]
xor rax, rsp
mov qword [rsp + 0x5e0], rax
mov rdi, rcx
lea rcx, [rsp + 0x2b1]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x2b0], 0
call fcn.14006c5d0
lea rcx, [rsp + 0x3c1]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x3c0], 0
call fcn.14006c5d0
xor ebp, ebp
cmp qword [0x1400fd500], rbp
je 0x14000798c
mov qword [rsp + 0x618], r15
lea r15, [0x1400fd500]
xor r14d, r14d
mov rbx, r15
nop dword [rax + rax]
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.14000129e
mov rsi, rax
test rax, rax
je 0x140007964
mov r8, qword [r14 + r15 + 0x10]
mov rdx, qword [r14 + r15 + 8]
mov rcx, qword [rax + 0x60]
call fcn.140001848
or dword [rsi + 0x54], 0x8000000c
mov rcx, rsi
call fcn.1400013a2
test eax, eax
je 0x140007964
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.1400011ae
inc ebp
lea rcx, [rbp*2]
add rcx, rbp
lea r14, [rcx*8]
cmp qword [r14 + r15], 0
lea rbx, [r14 + r15]
jne 0x140007920
mov r15, qword [rsp + 0x618]
xor r9d, r9d
lea rcx, [rsp + 0x2b0]
mov edx, 0x104
lea r8d, [r9 + 2]
mov qword [rsp + 0x20], 0
call fcn.140001ac8
lea rcx, [rsp + 0x2b0]
call fcn.140008220
lea r14, [0x1400bcb68]
lea r8, [0x1400bcb6c]
lea rdx, [rsp + 0x3c0]
mov r9, r14
mov ecx, 0x104
call fcn.140008540
mov ecx, 0x104
call fcn.14006c500
mov rbx, rax
test rax, rax
je 0x140007b54
xor edx, edx
mov r8d, 0x104
mov rcx, rax
call fcn.14006c5d0
lea rax, [rsp + 0x3c0]
lea r9, [rsp + 0x2b0]
mov qword [rsp + 0x28], rax
lea rax, [0x1400bcb5c]
lea r8, [0x1400bcb60]
lea rdx, [rsp + 0x4d0]
mov ecx, 0x104
mov qword [rsp + 0x20], rax
call fcn.140008540
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x4d0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x140007b48
lea r8, [rsp + 0x19c]
or r9, 0xffffffffffffffff
mov edx, 0x104
mov rcx, rbx
call fcn.14006d1d8
lea rcx, [rsp + 0x31]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x30], 0
call fcn.14006c5d0
mov edx, 0x104
mov rcx, rbx
call fcn.14006c9b0
cmp rax, 4
jbe 0x140007b23
mov edx, 0x104
mov rcx, rbx
call fcn.14006c9b0
mov rdx, rbx
mov rcx, rdi
mov byte [rax + rbx - 3], 0
call fcn.14000151e
test rax, rax
jne 0x140007b23
mov rdx, rbx
mov rcx, rdi
call fcn.14000129e
mov rsi, rax
test rax, rax
je 0x140007b23
lea r9, [rax + 0x14]
lea rcx, [rsp + 0x30]
mov edx, 0x104
mov r8d, 2
mov qword [rsp + 0x20], r14
call fcn.140001ac8
mov rcx, qword [rsi + 0x60]
lea r8, [0x1400bcb70]
lea rdx, [rsp + 0x30]
call fcn.1400014fb
mov rcx, rsi
call fcn.1400013a2
test eax, eax
je 0x140007b23
mov rdx, rbx
mov rcx, rdi
call fcn.1400011ae
lea rdx, [rsp + 0x30]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x140007b3f
lea r8, [rsp + 0x5c]
jmp 0x140007a69
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, rbx
call fcn.14006c470
xor eax, eax
jmp 0x140007b59
mov eax, 0x708
mov rcx, qword [rsp + 0x5e0]
xor rcx, rsp
call fcn.14006cfe0
lea r11, [rsp + 0x5f0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
Function at 0x14000e9e0
Capabilities:
Encode data using base64

Disassembly:
jmp 0x14000e9e0
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
xor eax, eax
movzx r11d, r8w
mov rdi, rdx
mov word [rsp + 0x19], ax
mov byte [rsp + 0x1b], al
mov eax, 0x55555556
xor r10d, r10d
mov byte [rsp + 0x18], 0
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
imul r11d
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
lea eax, [rbx + rbx*2]
sub r11d, eax
test ebx, ebx
jle 0x14000eab6
nop dword [rax]
movzx edx, r10w
lea r8, [rdi + rdx*2]
add r8, rdx
movzx edx, byte [r8]
movzx r9d, byte [r8 + 1]
movzx eax, dl
shl dl, 4
shr al, 2
mov byte [rsp + 0x18], al
movzx eax, r9b
shl r9b, 2
shr al, 4
or al, dl
movzx edx, byte [r8 + 2]
mov r8d, 4
and al, 0x3f
mov byte [rsp + 0x19], al
movzx eax, dl
shr al, 6
or al, r9b
and al, 0x3f
and dl, 0x3f
mov byte [rsp + 0x1b], dl
lea rdx, [rsp + 0x18]
mov byte [rsp + 0x1a], al
nop word [rax + rax]
movzx eax, byte [rdx]
inc rcx
lea rdx, [rdx + 1]
movzx eax, byte [rax + rsi]
mov byte [rcx - 1], al
dec r8
jne 0x14000ea90
inc r10w
movzx eax, r10w
cmp eax, ebx
jl 0x14000ea30
dec r11d
je 0x14000eb40
dec r11d
jne 0x14000eb2d
movzx edx, r10w
lea rax, [rdi + rdx*2]
movzx r8d, byte [rdx + rax]
movzx r10d, byte [rdx + rax + 1]
movzx edx, r10b
movzx r9d, r8b
shl r8b, 4
shr dl, 4
shr r9b, 2
and r10b, 0xf
movzx eax, r9b
or dl, r8b
movzx eax, byte [rax + rsi]
and dl, 0x3f
shl r10b, 2
mov byte [rcx], al
movzx eax, dl
movzx eax, byte [rax + rsi]
mov byte [rcx + 1], al
movzx eax, r10b
movzx eax, byte [rax + rsi]
mov byte [rcx + 2], al
mov word [rcx + 3], 0x3d
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x20]
ret
mov byte [rcx], 0
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x20]
ret
mov rbx, qword [rsp + 8]
movzx edx, r10w
lea rax, [rdi + rdx*2]
mov rdi, qword [rsp + 0x20]
movzx r8d, byte [rdx + rax]
movzx eax, r8b
and r8b, 3
shr al, 2
shl r8b, 4
movzx eax, al
movzx eax, byte [rax + rsi]
mov byte [rcx], al
movzx eax, r8b
movzx eax, byte [rax + rsi]
mov rsi, qword [rsp + 0x10]
mov byte [rcx + 1], al
mov word [rcx + 2], 0x3d3d
mov byte [rcx + 4], 0
ret
Function at 0x14000ec30
Capabilities:
Hash data using sha1

Disassembly:
jmp 0x14000ec30
push rbx
push rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x1400fae80]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor eax, eax
mov ebx, r8d
mov rdi, rdx
mov qword [rsp + 0x24], rax
mov qword [rsp + 0x2c], rax
mov qword [rsp + 0x34], rax
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x24], 0xefcdab89
mov dword [rsp + 0x28], 0x98badcfe
mov dword [rsp + 0x2c], 0x10325476
mov dword [rsp + 0x30], 0xc3d2e1f0
mov qword [rsp + 0x38], rax
mov rsi, rcx
mov dword [rsp + 0x20], 0x67452301
test r8d, 0xfffffe00
je 0x14000ecbf
nop dword [rax + rax]
lea rcx, [rsp + 0x20]
mov rdx, rdi
call fcn.140001820
add ebx, 0xfffffe00
add rdi, 0x40
test ebx, 0xfffffe00
jne 0x14000eca0
lea rcx, [rsp + 0x20]
movzx r8d, bx
mov rdx, rdi
call fcn.1400011db
lea r9, [rsp + 0x20]
mov r8d, 5
sub r9, rsi
nop
mov ecx, dword [r9 + rsi]
lea rsi, [rsi + 4]
mov edx, ecx
mov eax, ecx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
shl ecx, 0x10
and eax, 0xff00
shr edx, 8
or eax, ecx
shl eax, 8
or edx, eax
mov dword [rsi - 4], edx
dec r8
jne 0x14000ece0
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14006cfe0
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
Function at 0x14000fa30
Capabilities:
Send data
Send data on socket
Send http request

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x160
mov rax, qword [0x1400fae80]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rdi, rcx
mov ebx, edx
lea rcx, [rsp + 0x41]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x40], 0
call fcn.14006c5d0
lea rcx, str.Not_Found
lea rax, str.Error
cmp ebx, 0x194
lea r8, str.HTTP_1.1__d__s_r_n_r_n_h1__d__s__h1_
lea rdx, [rsp + 0x40]
cmove rax, rcx
mov r9d, ebx
mov ecx, 0x104
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
call fcn.14000ee50
lea rcx, [rsp + 0x40]
mov edx, 0x104
call fcn.14006c9b0
mov rcx, qword [rdi]
lea rdx, [rsp + 0x40]
mov r8d, eax
xor r9d, r9d
call qword [sym.imp.WSOCK32.dll_send]
mov rcx, rdi
call fcn.14000123a
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.14006cfe0
mov rbx, qword [rsp + 0x180]
add rsp, 0x160
pop rdi
ret

Function at 0x14000fcb0
Capabilities:
Initialize winsock library

Disassembly:
sub rsp, 0x1f8
mov rax, qword [0x1400fae80]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
xor eax, eax
lea rcx, [rsp + 0x42]
xor edx, edx
mov r8d, 0x196
mov word [rsp + 0x40], ax
call fcn.14006c5d0
lea rdx, [rsp + 0x40]
mov ecx, 0x202
call qword [sym.imp.WSOCK32.dll_WSAStartup]
test eax, eax
je 0x14000fd40
cmp dword [section..data], 1
jl 0x14000fd40
test dword [0x1400f602d], 0x40000
je 0x14000fd40
mov dword [rsp + 0x30], eax
lea rax, str.WSAStartup_failed:__d_n
lea r9, str.C:_tcag1work3a7a3a3f3b0f6aa1ESIFProductsESIF_UFSourcesesif_uf_ccb_sock.h
mov qword [rsp + 0x28], rax
lea r8, str.esif_ccb_socket_init
mov edx, 1
mov ecx, 0x40000
mov dword [rsp + 0x20], 0x26
call fcn.140001a82
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.14006cfe0
add rsp, 0x1f8
ret
Function at 0x140010820
Capabilities:
Send data
Send data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
mov rbx, rcx
mov rcx, qword [rcx]
xor r9d, r9d
mov rsi, r8
call qword [sym.imp.WSOCK32.dll_send]
movsxd rdi, eax
cmp rdi, 0xffffffffffffffff
je 0x140010861
cmp rdi, rsi
jne 0x140010861
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
mov rcx, qword [rbx]
call qword [sym.imp.WSOCK32.dll_closesocket]
mov qword [rbx], 0xffffffffffffffff
cmp dword [section..data], 4
jl 0x1400108d2
test dword [0x1400f6060], 0x40000
je 0x1400108d2
lea rdx, str.Error_in_sending_packets_n
cmp rdi, 0xffffffffffffffff
lea rax, str.Incomplete_data_n
cmove rax, rdx
lea r9, str.........ESIF_WSSourcesesif_ws_server.c
lea r8, str.esif_ws_client_write_to_socket
mov qword [rsp + 0x30], rax
lea rax, str.Error_writing_to_socket:__s
mov edx, 4
mov qword [rsp + 0x28], rax
mov ecx, 0x40000
mov dword [rsp + 0x20], 0x213
call fcn.140001a82
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov eax, 1
add rsp, 0x40
pop rdi
ret
Function at 0x1400115a0
Capabilities:
Resolve dns
Set socket configuration

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rax, qword [rsp + 0x50]
test r8, r8
lea rbx, [0x1400bd068]
mov rsi, rbx
mov r14, rdx
lea rbp, [0x1400bd91c]
cmovne rsi, r8
movsxd r8, dword [rdx]
test r9, r9
cmovne rbx, r9
test rax, rax
mov rdi, rcx
cmovne rbp, rax
xor edx, edx
call fcn.14006c5d0
mov qword [rdi], 2
movzx eax, byte [rsi]
cmp al, byte [0x1400bd068]
jne 0x140011613
movzx eax, byte [rsi + 1]
cmp al, byte [0x1400bd069]
je 0x140011656
movsx ecx, byte [rsi]
call fcn.14006eee8
mov rcx, rsi
test eax, eax
je 0x140011638
call qword [sym.imp.WSOCK32.dll_inet_addr]
mov dword [rdi + 4], eax
cmp eax, 0xffffffff
jne 0x140011656
or eax, 0xffffffff
jmp 0x1400116d3
call qword [sym.imp.WSOCK32.dll_gethostbyname]
test rax, rax
je 0x140011630
cmp word [rax + 0x10], 2
jne 0x140011630
mov rax, qword [rax + 0x18]
mov rcx, qword [rax]
mov eax, dword [rcx]
mov dword [rdi + 4], eax
movzx eax, byte [rbx]
cmp al, byte [0x1400bd068]
jne 0x14001166d
movzx eax, byte [rbx + 1]
cmp al, byte [0x1400bd069]
je 0x1400116ca
movsx ecx, byte [rbx]
call fcn.14006eee8
mov rcx, rbx
test eax, eax
je 0x1400116b4
lea rdx, [rsp + 0x50]
mov r8d, 0xa
call fcn.140071390
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400116a2
cmp byte [rcx], 0
je 0x1400116a2
mov eax, 0xfffffffe
jmp 0x1400116d3
cmp eax, 0x7fff
ja 0x14001169b
movzx ecx, ax
call qword [sym.imp.WSOCK32.dll_htons]
jmp 0x1400116c6
mov rdx, rbp
call qword [sym.imp.WSOCK32.dll_getservbyname]
test rax, rax
je 0x14001169b
movzx eax, word [rax + 0x18]
mov word [rdi + 2], ax
mov dword [r14], reloc.WSOCK32.dll_recv
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x140012980
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
jmp 0x140012980
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r12, qword [rsp + 0x70]
xor ebx, ebx
mov r15, r9
mov rbp, r8
mov rdi, rdx
mov r14, rcx
mov qword [r12], rbx
cmp rdx, 2
jb 0x140012ae2
movzx ecx, word [rcx]
mov eax, 6
lea esi, [rbx + 2]
movzx edx, cx
mov r8d, 0x7e
lea r13d, [rbx + 0x7f]
shr dx, 0xf
and dl, 1
cmovne esi, eax
movzx eax, cx
shr ax, 8
and ax, 0x7f
cmp r8w, ax
jne 0x1400129f6
add rsi, 2
jmp 0x140012a00
cmp r13w, ax
jne 0x140012a00
add rsi, 8
cmp rdi, rsi
jb 0x140012ae2
test rsi, rsi
je 0x140012ae2
test cl, 0x70
je 0x140012a21
mov eax, 0xf1
jmp 0x140012ae7
test cl, cl
jns 0x140012a17
test dl, dl
je 0x140012a17
movzx ecx, byte [r14]
and cl, 0xf
lea eax, [rcx - 1]
cmp al, 1
jbe 0x140012a3e
lea eax, [rcx - 8]
cmp al, 2
ja 0x140012a17
movzx eax, cl
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, r14
mov dword [rsp + 0x70], eax
call fcn.140012880
mov r8, rax
test rax, rax
je 0x140012adc
mov rax, rdi
sub rax, rsi
cmp r8, rax
ja 0x140012ae2
jae 0x140012a74
sub rdi, rsi
sub rdi, r8
mov qword [r12], rdi
movzx ecx, word [r14]
movzx eax, cx
shr ax, 0xf
test al, 1
je 0x140012a17
shr cx, 8
mov eax, 0x7e
and cx, r13w
cmp ax, cx
jne 0x140012a9b
lea rdx, [r14 + 4]
jmp 0x140012aa9
lea rdx, [r14 + 0xa]
cmp r13w, cx
je 0x140012aa9
lea rdx, [r14 + 2]
test rdx, rdx
je 0x140012a17
lea rax, [rdx + 4]
mov qword [rbp], rax
mov qword [r15], r8
test r8, r8
je 0x140012adc
mov rcx, qword [rbp]
mov rax, rbx
inc rbx
and eax, 3
movzx eax, byte [rax + rdx]
xor byte [rcx + rbx - 1], al
cmp rbx, qword [r15]
jb 0x140012ac2
mov eax, dword [rsp + 0x70]
jmp 0x140012ae7
mov eax, 0xf2
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret

Function at 0x1400137b0
Capabilities:
Create thread

Disassembly:
jmp 0x1400137b0
sub rsp, 0x38
xor eax, eax
lock xadd qword [0x1400fd540], rax
test rax, rax
jg 0x14001383c
mov ecx, reloc.WSOCK32.dll_recv
mov qword [rsp + 0x30], rbx
call fcn.14006c500
mov rbx, rax
test rax, rax
je 0x140013837
lea rax, [0x140015040]
lea r8, [0x1400159d0]
mov r9, rbx
mov qword [rbx], rax
lea rax, [0x1400fd680]
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rbx + 8], 0
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x14001382f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x30]
xor eax, eax
add rsp, 0x38
ret
mov rcx, rbx
call fcn.14006c470
mov rbx, qword [rsp + 0x30]
xor eax, eax
add rsp, 0x38
ret
Function at 0x14002b6b0
Capabilities:
Create thread

Disassembly:
jmp 0x14002b6b0
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
cmp dword [section..data], 3
jl 0x14002b705
test dword [0x1400f604f], 0x400
je 0x14002b705
lea rax, str.Entering_function...
lea r9, str.....esif_uf_eventmgr.c
lea r8, str.EsifEventMgr_Init
mov qword [rsp + 0x28], rax
mov edx, 3
mov ecx, 0x400
mov dword [rsp + 0x20], 0x337
call fcn.140001a82
lea rcx, [0x140112ae0]
call qword [sym.imp.KERNEL32.dll_InitializeSRWLock]
xor edi, edi
xor bl, bl
mov qword [0x140112ae8], rdi
mov dword [0x140112af0], edi
lea rsi, [0x1401128e0]
nop word [rax + rax]
call fcn.14000125d
mov rcx, rax
movzx eax, bl
mov qword [rsi + rax*8], rcx
test rcx, rcx
je 0x14002b7e5
inc bl
cmp bl, 0x40
jb 0x14002b730
lea rdx, str.UfQueue
xor r8d, r8d
or ecx, 0xffffffff
call fcn.1400016e0
mov qword [0x140112b00], rax
call fcn.14000125d
cmp qword [0x140112b00], rdi
mov qword [0x140112af8], rax
je 0x14002b7e5
test rax, rax
je 0x14002b7e5
mov ecx, reloc.WSOCK32.dll_recv
call fcn.14006c500
mov rbx, rax
test rax, rax
je 0x14002b7e5
lea rax, [0x14002b160]
lea r8, [0x14002d340]
mov r9, rbx
mov qword [rbx], rax
lea rax, [0x140112b14]
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rbx + 8], rdi
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x14002b7d6
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14002b7ef
mov rcx, rbx
call fcn.14006c470
mov edi, 0x3eb
jmp 0x14002b7ea
mov edi, 0x708
call fcn.1400011fe
cmp dword [section..data], 3
jl 0x14002b839
test dword [0x1400f604f], 0x400
je 0x14002b839
lea rax, str.Exiting_function:_Exit_code__0x_08X...
mov dword [rsp + 0x30], edi
lea r9, str.....esif_uf_eventmgr.c
mov qword [rsp + 0x28], rax
lea r8, str.EsifEventMgr_Init
mov edx, 3
mov ecx, 0x400
mov dword [rsp + 0x20], 0x354
call fcn.140001a82
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov eax, edi
add rsp, 0x40
pop rdi
ret
Function at 0x14002f410
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov ecx, 1
call fcn.14002ede0
lea rcx, [0x140112ba8]
mov byte [0x140112b99], 0
call qword [sym.imp.KERNEL32.dll_InitializeSRWLock]
xor edi, edi
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov r8d, 0x7fffffff
mov qword [0x140112bb0], rdi
mov dword [0x140112bb8], edi
call qword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
lea ecx, [rdi + 0x10]
mov dword [0x140112bc0], edi
mov byte [0x140112bbc], dil
mov qword [0x140112bc8], rax
call fcn.14006c500
mov rbx, rax
test rax, rax
je 0x14002f4d8
lea rax, [0x14002f910]
lea r8, [0x140030590]
mov r9, rbx
mov qword [rbx], rax
lea rax, [0x140112bd0]
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rbx + 8], rdi
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x14002f4d0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [0x140112b98], 1
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov rcx, rbx
call fcn.14006c470
mov byte [0x140112b98], 1
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret

Function at 0x1400305e0
Capabilities:
Create thread

Disassembly:
jmp 0x1400305e0
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov eax, dword [0x1400f6ca0]
xor esi, esi
cmp ecx, 0x1f4
cmovge eax, ecx
xor bl, bl
mov dword [0x1400f6ca0], eax
movzx ecx, bl
call fcn.140001514
mov rdi, rax
test rax, rax
je 0x140030628
mov rcx, rax
call fcn.140001ab4
mov rcx, rdi
call fcn.140001be0
inc bl
cmp bl, 0x20
jb 0x140030608
mov rax, rsi
lock xadd qword [0x1400f6c98], rax
test al, al
je 0x1400306cb
mov ecx, reloc.WSOCK32.dll_recv
call fcn.14006c500
mov rbx, rax
test rax, rax
je 0x1400306c6
lea rax, [0x1400308c0]
lea r8, [0x1400325f0]
mov r9, rbx
mov qword [rbx], rax
lea rax, [0x140112f50]
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rbx + 8], rsi
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x1400306a7
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov rcx, rbx
call fcn.14006c470
mov esi, 0x3eb
mov eax, esi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov esi, 0x708
mov rbx, qword [rsp + 0x40]
mov eax, esi
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x140053980
Capabilities:
Delete directory
Delete file

Disassembly:
jmp 0x140053980
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x40]
mov rbx, rcx
test rax, rax
je 0x1400539a3
mov rdx, qword [rcx + 0x28]
xor ecx, ecx
call rax
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x1400539ae
call rax
mov rcx, qword [rbx + 8]
xor esi, esi
mov qword [rbx + 0x30], rsi
mov qword [rbx + 0x38], rsi
mov qword [rbx + 0x40], rsi
mov qword [rbx + 0x48], rsi
test rcx, rcx
je 0x1400539d3
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rbx + 8], rsi
lea rcx, [rbx + 0x50]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.1400018f7

Function at 0x140054ec0
Capabilities:
Create thread

Disassembly:
jmp 0x140054ec0
push rbx
sub rsp, 0x40
mov rbx, rcx
mov r9, rcx
mov r8, rdx
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0x18], rax
test rax, rax
jne 0x140054f4b
cmp dword [section..data], 4
jl 0x140054f43
test dword [0x1400f6060], 0x100000
je 0x140054f43
mov eax, dword [rbx + 0xc8]
lea r9, str..._act_wireless.c
lea r8, str.create_act_wireless_event_monitor_thread
mov dword [rsp + 0x30], eax
lea rax, str.__d__Unable_to_create_Act_event_monitor_thread_n
mov edx, 4
mov qword [rsp + 0x28], rax
mov ecx, 0x100000
mov dword [rsp + 0x20], 0x1b6
call fcn.140001a82
xor eax, eax
add rsp, 0x40
pop rbx
ret
mov eax, 1
add rsp, 0x40
pop rbx
ret

Function at 0x14005c710
Capabilities:
Create thread

Disassembly:
jmp 0x14005c710
push rbx
sub rsp, 0x40
cmp dword [section..data], 4
mov rbx, rcx
jl 0x14005c75f
test dword [0x1400f6060], 0x200000
je 0x14005c75f
lea rax, str.Starting_thread__n
lea r9, str...cem_cstatechangedetection.cpp
lea r8, str.CStateChangeDetection::StartThread
mov qword [rsp + 0x28], rax
mov edx, 4
mov ecx, 0x200000
mov dword [rsp + 0x20], 0x5d
call fcn.140001a82
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + inet_addr]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov dword [rbx + 0x14], 0
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x18], rax
test rax, rax
je 0x14005c7b6
lea r8, [0x14000134d]
mov r9, rbx
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 8], rax
test rax, rax
jne 0x14005c7c1
mov eax, 0x80004005
add rsp, 0x40
pop rbx
ret
cmp dword [section..data], 4
jl 0x14005c814
test dword [0x1400f6060], 0x200000
je 0x14005c814
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetThreadId]
lea r10, str.Thread_ID___d_n
lea r9, str...cem_cstatechangedetection.cpp
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r10
lea r8, str.CStateChangeDetection::StartThread
mov edx, 4
mov ecx, 0x200000
mov dword [rsp + 0x20], reloc.WSOCK32.dll_WSACleanup
call fcn.140001a82
xor eax, eax
add rsp, 0x40
pop rbx
ret
Function at 0x140060620
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x28], rax
test rax, rax
jne 0x140060690
cmp dword [section..data], 4
jl 0x140060688
test dword [0x1400f6060], 0x200000
je 0x140060688
lea rax, str.CreateEvent_failed_n
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1b5
lea r9, str...esif_perc.cpp
lea r8, str.PercCreateInitPollThread
mov edx, 4
mov ecx, 0x200000
call fcn.140001a82
xor eax, eax
add rsp, 0x30
pop rbx
ret
lea r8, [0x140061320]
mov r9, rbx
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0x30], rax
test rax, rax
jne 0x1400606e9
cmp dword [section..data], 4
jl 0x140060688
test dword [0x1400f6060], 0x200000
je 0x140060688
lea rax, str.Unable_to_create_init_poll_thread_n
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1c2
jmp 0x14006066b
mov eax, 1
add rsp, 0x30
pop rbx
ret

Function at 0x1400626a0
Capabilities:
Query or enumerate registry value

Disassembly:
jmp 0x1400626a0
push rbx
sub rsp, 0x40
xor eax, eax
mov dword [rcx], 7
mov qword [rsp + 0x58], rbp
mov qword [rcx + 4], rax
mov qword [rcx + 0xc], rax
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0x68]
mov rbp, r8
mov rbx, rcx
mov qword [rsp + 0x30], r14
mov r14, rdx
lea rdx, str.SOFTWAREInteldptfparameters
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x68], 0xffffffffffffffff
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400627ba
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x50]
mov r9, rbp
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov rdx, r14
mov qword [rsp + 0x20], 0
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400627ba
mov qword [rsp + 0x60], rsi
mov esi, dword [rsp + 0x50]
mov qword [rsp + 0x38], rdi
mov ecx, esi
call fcn.14006c500
mov rdi, rax
test rax, rax
je 0x14006275e
mov r8d, esi
xor edx, edx
mov rcx, rax
call fcn.14006c5d0
mov rsi, qword [rsp + 0x60]
mov qword [rbx + 4], rdi
test rdi, rdi
je 0x1400627b5
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x50]
mov r9, rbp
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov rdx, r14
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x1400627ab
mov rcx, qword [rbx + 4]
test rcx, rcx
je 0x1400627a1
call fcn.14006c470
mov qword [rbx + 4], 0
jmp 0x1400627b5
mov eax, dword [rsp + 0x50]
mov dword [rbx + 0xc], eax
mov dword [rbx + 0x10], eax
mov rdi, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x58]
cmp rcx, 0xffffffffffffffff
je 0x1400627d5
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, rbx
add rsp, 0x40
pop rbx
ret