joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140002440
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x140009040]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x14000246d
xor eax, eax
jmp 0x1400025d9
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x1400024a7
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x1400024a7
lea ecx, [r8 - 1]
mov dword [rax], ecx
mov eax, edi
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], dil
jmp 0x1400025d9
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x1400025cc
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x1400024ea
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x140002515
mov rdx, qword [rbx + 0x80]
movsx ecx, dil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x1400025d1
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x51]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140002584
sub eax, 1
je 0x140002584
cmp eax, 2
jne 0x1400025cc
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x1400025d1
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x1400025b2
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rsi, rax
jne 0x1400025cc
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, edi
mov eax, ecx
jmp 0x1400025d1
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400035f0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x1400029f0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x140009040]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140002ac3
cmp byte [rcx + 0x71], 0
je 0x140002ac3
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x140002abf
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140002a84
sub eax, 1
je 0x140002a88
cmp eax, 2
jne 0x140002abf
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400035f0
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140002ab6
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x140002abf
cmp byte [rbx + 0x71], 0
sete al
jmp 0x140002a6c
xor al, al
jmp 0x140002a6c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400035f0
add rsp, 0x60
pop rbx
ret

Function at 0x140003f70
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140003fba
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140003fba
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140003fba
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140003fba
cmp dword [rcx + 0x84], 0xe
jbe 0x140003fba
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140003fbc
xor al, al
add rsp, 0x28
ret
Function at 0x140a97058
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.140a971df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x140a97089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140a9706f
add dl, dl
jne 0x140a97096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140a970f6
xor eax, eax
add dl, dl
jne 0x140a970a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140a971ad
add dl, dl
jne 0x140a970b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140a970c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140a970d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140a970dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x140a970ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x140a9707e
mov eax, 1
add dl, dl
jne 0x140a97106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140a97113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140a970fb
sub eax, ebx
mov ebx, 1
jne 0x140a9714c
mov ecx, 1
add dl, dl
jne 0x140a9712e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140a9713b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140a97123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140a9707e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x140a97168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140a97175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140a9715d
cmp eax, 0x7d00
jae 0x140a9719b
cmp eax, 0x500
jb 0x140a97196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140a9707e
cmp eax, 0x7f
ja 0x140a9719e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140a9707e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x140a971d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x140a9707e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x140007d60
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x1160]
mov eax, 0x1260
call fcn.140013a50
sub rsp, rax
mov rax, qword [0x140065610]
xor rax, rsp
mov qword [rbp + 0x1150], rax
mov qword [rsp + 0x28], rcx
lea rax, [0x14005fe00]
mov rbx, rdx
mov qword [rsp + 0x20], rax
mov rdi, rcx
lea r9, str._s_s
mov edx, 0x1000
lea rcx, [rbp + 0x150]
or r8, 0xffffffffffffffff
call fcn.1400048dc
lea rax, [rsp + 0x38]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x150]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140007e34
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x34]
lea rax, [rsp + 0x40]
mov dword [rsp + 0x30], 0x208
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.Path
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x38]
test eax, eax
je 0x140007e5a
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov rcx, qword [rbp + 0x1150]
xor rcx, rsp
call fcn.140013ab0
lea r11, [rsp + 0x1260]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [rsp + 0x34], 1
jne 0x140007e34
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140007e75
call fcn.14002868c
mov rcx, rdi
call fcn.14001a798
lea rdx, [rbx + 0x10]
mov qword [rbx + 8], rax
mov rcx, rax
call fcn.1400077c0
mov rcx, qword [rbx]
test rcx, rcx
je 0x140007e9a
call fcn.14002868c
lea rcx, [rsp + 0x40]
call fcn.14001a798
mov qword [rbx], rax
mov eax, 1
jmp 0x140007e36

Function at 0x140007f2c
Capabilities:
Get local ipv4 addresses
Get socket information
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x140065610]
xor rax, rsp
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
mov dword [rsp + 0x20], reloc.WSOCK32.dll_recv
movups xmmword [rsp + 0x28], xmm0
mov rdi, rcx
call fcn.1400090bc
mov ebx, 2
lea rcx, [0x14005feb0]
mov word [rsp + 0x28], bx
call qword [sym.imp.WSOCK32.dll_inet_addr]
xor r8d, r8d
lea edx, [rbx - 1]
mov ecx, ebx
mov dword [rsp + 0x2c], eax
call qword [sym.imp.WSOCK32.dll_socket]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140007ff0
mov r8d, reloc.WSOCK32.dll_recv
lea rdx, [rsp + 0x28]
mov rcx, rax
call qword [sym.imp.WSOCK32.dll_bind]
cmp eax, 0xffffffff
je 0x140007fe8
lea r8, [rsp + 0x20]
mov rcx, rbx
lea rdx, [rsp + 0x28]
call qword [sym.imp.WSOCK32.dll_getsockname]
cmp eax, 0xffffffff
je 0x140007fe8
mov edx, 0x7fffffff
mov rcx, rbx
call qword [sym.imp.WSOCK32.dll_listen]
cmp eax, 0xffffffff
je 0x140007fe8
movzx ecx, word [rsp + 0x2a]
call qword [sym.imp.WSOCK32.dll_ntohs]
movzx eax, ax
mov dword [rdi], eax
mov rax, rbx
jmp 0x140007ff4
mov rcx, rbx
call fcn.14000919c
or rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140013ab0
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
Function at 0x140008358
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
xor r15d, r15d
lea r12, [0x1400729f0]
mov edi, r15d
mov r14d, r15d
mov ebx, r15d
mov esi, r15d
mov rdx, r12
mov rbp, rcx
jmp 0x1400083cf
test eax, eax
je 0x14000840c
movzx ecx, word [r12 + rdi*2]
cmp cx, 0xa
je 0x14000840c
cmp cx, 0xd
lea eax, [rbx + 1]
cmove eax, ebx
cmp eax, 0x3ff
jge 0x140008402
movsxd rbx, eax
lea rdi, [r14 + 1]
cmp cx, 0xd
mov rsi, rbx
mov rcx, rbp
cmove rdi, r14
mov r14, rdi
lea rdx, [r12 + rbx*2]
xor r9d, r9d
lea r8d, [r9 + 2]
call qword [sym.imp.WSOCK32.dll_recv]
cmp eax, 0xffffffff
jne 0x140008393
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
mov word [0x1400731ee], r15w
jmp 0x14000841e
lea rcx, [rsi + rsi]
cmp rcx, 0x800
jae 0x140008423
mov word [rcx + r12], r15w
mov rax, r12
jmp 0x1400083e3
call fcn.140013bd8
int3

Function at 0x1400090bc
Capabilities:
Initialize winsock library

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x1d0
mov rax, qword [0x140065610]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
cmp dword [0x140074a10], 0
jne 0x14000914c
lea rcx, [0x140061aa8]
mov edi, 1
call fcn.14000dde8
mov rbx, rax
test rax, rax
jne 0x140009113
lea rcx, [0x140061b08]
call fcn.14000dde8
xor edi, edi
mov rbx, rax
test rax, rax
je 0x14000916d
mov ecx, 2
lea rdx, [rsp + 0x20]
call qword [sym.imp.WSOCK32.dll_WSAStartup]
test eax, eax
jne 0x140009180
test edi, edi
je 0x140009142
lea rdx, [0x140061b20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140074a08], rax
mov dword [0x140074a10], 1
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.140013ab0
mov rbx, qword [rsp + 0x1e0]
add rsp, 0x1d0
pop rdi
ret
mov ecx, reloc.WSOCK32.dll_listen
call fcn.14000b4e0
mov rcx, rax
call fcn.140008fe0
int3
mov ecx, recv
call fcn.14000b4e0
mov rcx, rax
call fcn.140008fe0
int3
Function at 0x14000a81c
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0xf60]
mov eax, 0x1060
call fcn.140013a50
sub rsp, rax
mov rax, qword [0x140065610]
xor rax, rsp
mov qword [rbp + 0xf50], rax
mov rdi, rcx
mov dword [rsp + 0x40], edx
lea rax, [rsp + 0x30]
mov dword [rsp + 0x38], 0x400
lea rdx, [0x140061e80]
mov qword [rsp + 0x20], rax
mov rcx, 0xffffffff80000002
mov r9d, 0x20019
xor r8d, r8d
mov ebx, 1
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
xor esi, esi
test eax, eax
jne 0x14000a964
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
lea rax, [rsp + 0x50]
xor r8d, r8d
lea rdx, [0x140061ed8]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test eax, eax
cmovne ebx, esi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea r9, [0x140061f10]
mov edx, 0x400
test eax, eax
lea r8, [0x140061f68]
lea rax, [rsp + 0x50]
lea rcx, [rbp + 0x750]
mov qword [rsp + 0x20], rax
cmovne ebx, esi
call fcn.14000add8
lea rax, [rsp + 0x30]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x750]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000a964
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
xor r8d, r8d
mov qword [rsp + 0x20], rdi
lea rdx, [0x140061ef8]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test eax, eax
cmovne ebx, esi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
cmovne ebx, esi
mov eax, ebx
mov rcx, qword [rbp + 0xf50]
xor rcx, rsp
call fcn.140013ab0
mov rbx, qword [rsp + 0x1090]
add rsp, 0x1060
pop rdi
pop rsi
pop rbp
ret

Function at 0x14000aa98
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0x40
or dword [rsp + 0x68], 0xffffffff
lea rax, [rsp + 0x38]
mov rbx, r8
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x30], 4
mov r9d, 0x20019
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000ab00
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x34]
lea rax, [rsp + 0x68]
xor r8d, r8d
mov rdx, rbx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [rsp + 0x68]
add rsp, 0x40
pop rbx
ret
Function at 0x14000abc0
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x270
mov rax, qword [0x140065610]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov esi, ecx
xor ebx, ebx
xor edx, edx
lea ecx, [rbx + 2]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x14000abff
xor eax, eax
jmp 0x14000ac3c
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x238
mov rcx, rdi
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
je 0x14000ac31
cmp dword [rsp + 0x28], esi
je 0x14000ac2d
lea rdx, [rsp + 0x20]
mov rcx, rdi
call sub.KERNEL32.dll_Process32NextW
jmp 0x14000ac14
mov ebx, dword [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.140013ab0
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret

Function at 0x14000ac68
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov dword [rsp + 0x48], edx
lea rax, [rsp + 0x50]
mov rcx, 0xffffffff80000002
lea rdx, [0x140062230]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000acde
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x50]
test eax, eax
jne 0x14000acd8
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
jmp 0x14000ace0
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
add rsp, 0x30
pop rbx
ret
Function at 0x14000ae2c
Capabilities:
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0x100
mov rax, qword [0x140065610]
xor rax, rsp
mov qword [rbp + 0x3f], rax
and dword [rbp - 0x45], 0
mov ebx, ecx
and qword [rbp - 0x39], 0
xor ecx, ecx
and qword [rbp - 0x29], 0
mov rdi, rdx
and qword [rbp - 0x11], 0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rcx, [rbp - 0x59]
mov rsi, rax
call fcn.140007f2c
mov qword [0x14007a2c8], rax
cmp rax, 0xffffffffffffffff
je 0x14000b017
test ebx, ebx
jle 0x14000b02a
mov ecx, ebx
call fcn.1400080d4
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14000b03d
mov eax, dword [rbp - 0x59]
lea r9, [0x14006230c]
or r8, 0xffffffffffffffff
mov dword [rsp + 0x20], eax
lea rcx, [rbp + 0x37]
lea edx, [r8 + 7]
call fcn.14000b484
xor r9d, r9d
lea rdx, [rbp + 0x37]
mov rcx, rbx
lea r8d, [r9 + 6]
call qword [sym.imp.WSOCK32.dll_send]
cmp eax, 6
jne 0x14000b050
mov rcx, rbx
call fcn.14000919c
test rdi, rdi
je 0x14000aff6
and dword [rbp - 0x49], 0
lea rax, [0x14000b3c4]
mov edx, 0x7f00
mov qword [rbp - 0x41], rax
xor ecx, ecx
mov qword [rbp - 0x31], rsi
call qword [sym.imp.USER32.dll_LoadCursorW]
lea rcx, [rbp - 0x49]
mov qword [rbp - 0x19], 6
mov qword [rbp - 0x21], rax
lea rax, [0x140062388]
mov qword [rbp - 9], rax
call qword [sym.imp.USER32.dll_RegisterClassW]
and qword [rsp + 0x58], 0
lea r8, [0x1400623a0]
mov qword [rsp + 0x50], rsi
lea rdx, [0x1400623b8]
and qword [rsp + 0x48], 0
mov eax, 0x80000000
and qword [rsp + 0x40], 0
mov r9d, 0xcf0000
mov dword [rsp + 0x38], eax
xor ecx, ecx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_CreateWindowExW]
lea r9, [0x14000b3b4]
xor edx, edx
mov rcx, rax
mov r8d, 0x4e20
mov rbx, rax
call qword [sym.imp.USER32.dll_SetTimer]
test rax, rax
je 0x14000b063
call fcn.14000b27c
mov rcx, rdi
call fcn.14000b2b4
mov rcx, qword [0x14007a2c8]
mov r9d, 8
mov r8d, 0x401
mov rdx, rbx
call qword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
jmp 0x14000afe0
lea rcx, [rbp + 7]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 7]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
lea rcx, [rbp + 7]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x14000afcc
xor eax, eax
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.140013ab0
mov rbx, qword [rsp + 0x130]
add rsp, 0x100
pop rdi
pop rsi
pop rbp
ret
mov ecx, 5
call fcn.14000b4e0
mov rcx, rax
call fcn.14000b348
int3
mov ecx, reloc.WSOCK32.dll_send
call fcn.14000b4e0
mov rcx, rax
call fcn.14000b348
int3
mov ecx, send
call fcn.14000b4e0
mov rcx, rax
call fcn.14000b348
int3
mov ecx, socket
call fcn.14000b4e0
mov rcx, rax
call fcn.14000b348
int3
mov ecx, socket
call fcn.14000b4e0
mov rcx, rax
call fcn.14000b348
int3
Function at 0x14000d344
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r14
sub rsp, 0x260
mov rax, qword [0x140065610]
xor rax, rsp
mov qword [rsp + 0x250], rax
movsxd r14, edx
mov rsi, rcx
xor ebx, ebx
mov word [rcx], bx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rbx + 0x1a]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov edi, eax
test eax, eax
js 0x14000d400
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.14000f8c0
mov rax, qword [rax]
test rax, rax
je 0x14000d3ae
mov r8, qword [rax]
jmp 0x14000d3b1
mov r8, rbx
mov rdx, r14
mov r9d, 0x104
mov rcx, rsi
call fcn.14001a6b4
lea rcx, [rsp + 0x30]
call fcn.14000fd70
nop
jmp 0x14000d3d5
test edi, edi
setns bl
mov eax, ebx
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.140013ab0
mov rbx, qword [rsp + 0x290]
add rsp, 0x260
pop r14
pop rdi
pop rsi
ret
mov edx, eax
lea rcx, str.Error:_08x_in_SHGetFolderPathW_NULL__CSIDL_APPDATA__NULL__0__szPath_
call fcn.1400100d0
xor edx, edx
mov ecx, edi
call fcn.140014bd0
int3

Function at 0x14000dde8
Capabilities:
Get common file path

Disassembly:
push rbx
sub rsp, 0x450
mov rax, qword [0x140065610]
xor rax, rsp
mov qword [rsp + 0x440], rax
mov rbx, rcx
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x208
call fcn.140015770
mov edx, 0x104
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
dec eax
cmp eax, 0x103
ja 0x14000de73
xor edx, edx
lea rcx, [rsp + 0x230]
mov r8d, 0x208
call fcn.140015770
mov r9, rbx
lea r8, [rsp + 0x20]
lea rdx, [0x140045350]
lea rcx, [rsp + 0x230]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rsp + 0x230]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
jmp 0x14000de75
xor eax, eax
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.140013ab0
add rsp, 0x450
pop rbx
ret
Function at 0x14000f620
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov rax, qword [0x140065610]
xor rax, rsp
mov qword [rbp + 0x160], rax
lea r8, [0x140045968]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140027630
xor ebx, ebx
test eax, eax
jne 0x14000f73a
mov rcx, qword [rsp + 0x30]
call fcn.14002868c
cmp qword [0x14007b410], rbx
je 0x14000f686
lea eax, [rbx + 1]
jmp 0x14000f73c
lea rdx, [rsp + 0x50]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x14000f73a
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.14000f8c0
nop
lea rdx, str.JavaDeployReg.log
lea rcx, [rsp + 0x28]
call fcn.14000f8c0
nop
mov ecx, 0x18
call fcn.140013d6c
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14000f6f0
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.14000f76c
mov rdi, rax
jmp 0x14000f6f3
mov rdi, rbx
test rdi, rdi
je 0x14000f760
lea rcx, [rsp + 0x20]
call fcn.14000fd70
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x28]
call fcn.14000fd70
lea r8, [0x140044bd4]
mov rdx, qword [rdi]
lea rcx, [0x14007b410]
call fcn.14001abb4
test eax, eax
sete bl
lea rcx, [rsp + 0x20]
call fcn.14000fd70
mov eax, ebx
jmp 0x14000f73c
xor eax, eax
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.140013ab0
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret
mov ecx, 0x8007000e
call fcn.140014a70
int3
Function at 0x140011778
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0x30
xor ebx, ebx
mov rdi, rdx
mov qword [rax + 0x18], rbx
mov rsi, rcx
call fcn.140011bb0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rdx, qword [0x140065608]
mov r9d, 0x20006
xor r8d, r8d
mov rcx, 0xffffffff80000001
lea ebp, [rax*2 + 2]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1400117dc
xor eax, eax
jmp 0x140011811
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov dword [rsp + 0x28], ebp
mov rdx, rsi
mov qword [rsp + 0x20], rdi
mov edi, 1
mov r9d, edi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x140011804
mov ebx, edi
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
Function at 0x140011ae8
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov dword [rax + 0x18], r8d
push rdi
sub rsp, 0x40
xor ebx, ebx
mov dword [rax + 0x20], 1
mov qword [rax - 0x18], rbx
mov rdi, rdx
mov rsi, rcx
call fcn.140027650
test rax, rax
je 0x140011b31
mov edx, dword [rsp + 0x60]
mov r8, rax
mov rcx, rdi
call fcn.14002c020
test eax, eax
jne 0x140011b5c
lea eax, [rbx + 1]
jmp 0x140011b99
mov rdx, qword [0x140065608]
lea rax, [rsp + 0x30]
mov r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140011b60
xor eax, eax
jmp 0x140011b99
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x68]
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov rdx, rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140011b8c
lea ebx, [rax + 1]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret