joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1801bd370
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push r14
push r15
sub rsp, 0x20
mov eax, dword [rcx + 0x18]
mov rbp, rcx
mov ecx, dword [rcx + 0x20]
mov r14, rdx
add rcx, 0x18
mov r15d, r8d
lea r8, str.C:Dev_vcpkg_buildtreescurl_srcurl_7_81_0_459d17a9d2.cleanlibhmac.c
mov edx, 0x40
lea r9d, [rax + rax]
add rcx, r9
call fcn.180182230
mov rbx, rax
test rax, rax
jne 0x1801bd3c0
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rbp
ret
lea rcx, [rax + 0x18]
mov qword [rax], rbp
mov qword [rax + 8], rcx
mov eax, dword [rbp + 0x18]
add rax, rcx
mov qword [rsp + 0x48], rsi
mov qword [rbx + 0x10], rax
mov qword [rsp + 0x50], rdi
cmp r15d, dword [rbp + 0x1c]
jbe 0x1801bd40b
call qword [rbp]
mov rcx, qword [rbx + 8]
mov r8d, r15d
mov rdx, r14
call qword [rbp + reloc.WS2_32.dll_htonl]
mov r14d, dword [rbp + 0x18]
add r14, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, r14
call qword [rbp + reloc.WS2_32.dll_recv]
mov r15d, dword [rbp + 0x20]
mov rcx, qword [rbx + 8]
call qword [rbp]
mov rcx, qword [rbx + 0x10]
call qword [rbp]
xor esi, esi
test r15, r15
je 0x1801bd465
mov rsi, r15
movzx eax, byte [r14]
lea rdx, [rsp + 0x40]
xor al, 0x36
mov r8d, 1
mov byte [rsp + 0x40], al
mov rcx, qword [rbx + 8]
call qword [rbp + reloc.WS2_32.dll_htonl]
movzx eax, byte [r14]
lea rdx, [rsp + 0x40]
xor al, 0x5c
lea r14, [r14 + 1]
mov byte [rsp + 0x40], al
mov r8d, 1
mov rcx, qword [rbx + 0x10]
call qword [rbp + reloc.WS2_32.dll_htonl]
sub r15, 1
jne 0x1801bd423
mov eax, dword [rbp + 0x1c]
cmp rsi, rax
jae 0x1801bd4a3
nop dword [rax]
mov rcx, qword [rbx + 8]
lea rdx, [0x1801ec154]
mov r8d, 1
call qword [rbp + reloc.WS2_32.dll_htonl]
mov rcx, qword [rbx + 0x10]
lea rdx, [0x1801ec155]
mov r8d, 1
call qword [rbp + reloc.WS2_32.dll_htonl]
mov eax, dword [rbp + 0x1c]
inc rsi
cmp rsi, rax
jb 0x1801bd470
mov rdi, qword [rsp + 0x50]
mov rax, rbx
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop r14
pop rbp
ret
Function at 0x1801bd4c0
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rbx
push rsi
push r12
push r14
push r15
sub rsp, 0x20
mov r14, rcx
mov r12, r9
mov rcx, r8
mov rsi, rdx
call fcn.18017f990
mov r8d, dword [r14 + 0x18]
mov edx, 0x40
mov ecx, dword [r14 + 0x20]
add rcx, 0x18
mov r15d, eax
lea r9d, [r8 + r8]
add rcx, r9
lea r8, str.C:Dev_vcpkg_buildtreescurl_srcurl_7_81_0_459d17a9d2.cleanlibhmac.c
call fcn.180182230
mov rbx, rax
test rax, rax
je 0x1801bd684
lea rcx, [rax + 0x18]
mov qword [rax], r14
mov qword [rax + 8], rcx
mov eax, dword [r14 + 0x18]
add rax, rcx
mov qword [rsp + 0x58], rbp
mov qword [rbx + 0x10], rax
mov qword [rsp + 0x60], rdi
cmp r15d, dword [r14 + 0x1c]
jbe 0x1801bd55f
call qword [r14]
mov rcx, qword [rbx + 8]
mov r8d, r15d
mov rdx, rsi
call qword [r14 + reloc.WS2_32.dll_htonl]
mov esi, dword [r14 + 0x18]
add rsi, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, rsi
call qword [r14 + reloc.WS2_32.dll_recv]
mov r15d, dword [r14 + 0x20]
mov rcx, qword [rbx + 8]
call qword [r14]
mov rcx, qword [rbx + 0x10]
call qword [r14]
xor ebp, ebp
test r15, r15
je 0x1801bd5c2
mov rbp, r15
nop word [rax + rax]
movzx eax, byte [rsi]
lea rdx, [rsp + 0x50]
xor al, 0x36
mov r8d, 1
mov byte [rsp + 0x50], al
mov rcx, qword [rbx + 8]
call qword [r14 + reloc.WS2_32.dll_htonl]
movzx eax, byte [rsi]
lea rdx, [rsp + 0x50]
xor al, 0x5c
lea rsi, [rsi + 1]
mov byte [rsp + 0x50], al
mov r8d, 1
mov rcx, qword [rbx + 0x10]
call qword [r14 + reloc.WS2_32.dll_htonl]
sub r15, 1
jne 0x1801bd580
mov eax, dword [r14 + 0x1c]
cmp rbp, rax
jae 0x1801bd606
nop dword [rax + rax]
mov rcx, qword [rbx + 8]
lea rdx, [0x1801ec154]
mov r8d, 1
call qword [r14 + reloc.WS2_32.dll_htonl]
mov rcx, qword [rbx + 0x10]
lea rdx, [0x1801ec155]
mov r8d, 1
call qword [r14 + reloc.WS2_32.dll_htonl]
mov eax, dword [r14 + 0x1c]
inc rbp
cmp rbp, rax
jb 0x1801bd5d0
mov rcx, qword [rsp + 0x70]
call fcn.18017f990
mov r9, qword [rbx]
mov r8d, eax
mov rcx, qword [rbx + 8]
mov rdx, r12
call qword [r9 + reloc.WS2_32.dll_htonl]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rbx]
mov rbp, qword [rsp + 0x58]
test rdi, rdi
jne 0x1801bd63a
mov edi, dword [rsi + 0x18]
add rdi, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, rdi
call qword [rsi + reloc.WS2_32.dll_recv]
mov r8d, dword [rsi + 0x20]
mov rdx, rdi
mov rcx, qword [rbx + 0x10]
call qword [rsi + reloc.WS2_32.dll_htonl]
mov rdx, qword [rbx + 0x10]
mov rcx, rdi
call qword [rsi + reloc.WS2_32.dll_recv]
lea r8, str.C:Dev_vcpkg_buildtreescurl_srcurl_7_81_0_459d17a9d2.cleanlibhmac.c
mov edx, 0x81
mov rcx, rbx
call fcn.180182140
mov rdi, qword [rsp + 0x60]
xor eax, eax
add rsp, 0x20
pop r15
pop r14
pop r12
pop rsi
pop rbx
ret
mov eax, 0x1b
add rsp, 0x20
pop r15
pop r14
pop r12
pop rsi
pop rbx
ret
Function at 0x1801bf090
Capabilities:
Encode data using xor

Disassembly:
mov r10, rcx
test rdx, rdx
je 0x1801bf0f5
nop dword [rax + rax]
movzx r8d, byte [r10]
lea r10, [r10 + 1]
movzx eax, r8b
movzx r9d, r8b
shr r9b, 1
and al, 0xfe
not r9b
movzx eax, al
xor r9b, r8b
shr r9b, 1
xor r9b, r8b
shr r9b, 1
xor r9b, r8b
shr r9b, 1
xor r9b, r8b
shr r9b, 1
xor r9b, r8b
shr r9b, 1
xor r9b, r8b
or r8b, 1
test r9b, 2
movzx ecx, r8b
cmove ecx, eax
mov byte [r10 - 1], cl
sub rdx, 1
jne 0x1801bf0a0
ret
Function at 0x1801c1f80
Capabilities:
Resume thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
xor edi, edi
mov esi, ecx
mov ecx, dword [0x1802841cc]
mov ebx, edi
test ecx, ecx
je 0x1801c20bb
mov rax, qword [0x1802841c0]
add rax, 0x20
nop
movzx edx, byte [rax]
shr edx, 1
and edx, 1
cmp edx, esi
jne 0x1801c1fd8
inc ebx
add rax, 0x38
cmp ebx, ecx
jb 0x1801c1fb0
mov eax, edi
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
cmp ebx, 0xffffffff
je 0x1801c20bb
mov r8d, edi
lea rcx, [rsp + 0x20]
test esi, esi
mov edx, 0xffffffff
setne r8b
call fcn.1801c2300
mov r8d, dword [0x1802841cc]
cmp ebx, r8d
jae 0x1801c2048
nop word [rax + rax]
mov eax, ebx
imul rcx, rax, 0x38
mov rax, qword [0x1802841c0]
movzx edx, byte [rcx + rax + 0x20]
shr edx, 1
and edx, 1
cmp edx, esi
je 0x1801c2041
mov edx, esi
mov ecx, ebx
call fcn.1801c21f0
mov edi, eax
test eax, eax
jne 0x1801c2048
mov r8d, dword [0x1802841cc]
inc ebx
cmp ebx, r8d
jb 0x1801c2010
cmp qword [rsp + 0x20], 0
je 0x1801c20bb
mov eax, dword [rsp + 0x2c]
test eax, eax
je 0x1801c20a7
mov rbx, qword [rsp + 0x20]
mov qword [rsp + 0x40], rbp
mov ebp, eax
nop dword [rax]
nop dword [rax + rax]
mov r8d, dword [rbx]
xor edx, edx
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rsi, rax
test rax, rax
je 0x1801c2098
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 4
sub rbp, 1
jne 0x1801c2070
mov rbp, qword [rsp + 0x40]
mov r8, qword [rsp + 0x20]
xor edx, edx
mov rcx, qword [0x18027f0d0]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x48]
mov eax, edi
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x1801c21f0
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov eax, ecx
lea r9, [rsp + 0x30]
imul rbx, rax, 0x38
mov esi, edx
add rbx, qword [0x1802841c0]
mov r8, qword [rbx]
movzx eax, byte [rbx + 0x20]
and al, 1
movzx ecx, al
lea rdi, [r8 - 5]
cmove rdi, r8
mov r8d, 0x40
lea rbp, [rcx*2 + 5]
mov rcx, rdi
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1801c2254
mov eax, 0xa
jmp 0x1801c22e3
test esi, esi
je 0x1801c2276
mov byte [rdi], 0xe9
mov eax, dword [rbx + 8]
sub eax, edi
sub eax, 5
mov dword [rdi + 1], eax
test byte [rbx + 0x20], 1
je 0x1801c2299
mov rax, qword [rbx]
mov word [rax], 0xf9eb
jmp 0x1801c2299
mov eax, dword [rbx + 0x18]
test byte [rbx + 0x20], 1
mov dword [rdi], eax
je 0x1801c2292
movzx eax, word [rbx + 0x1c]
mov word [rdi + 4], ax
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 6], al
jmp 0x1801c2299
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 4], al
mov r8d, dword [rsp + 0x30]
lea r9, [rsp + 0x30]
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8, rbp
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
and byte [rbx + 0x20], 0xfd
and sil, 1
movzx eax, sil
shl sil, 2
add al, al
or al, byte [rbx + 0x20]
and al, 0xfb
or al, sil
mov byte [rbx + 0x20], al
xor eax, eax
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
Function at 0x1801c2300
Capabilities:
Enumerate threads
Suspend thread

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov rax, qword [0x180274300]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor esi, esi
mov r14d, edx
mov rbx, rcx
mov qword [rcx], rsi
mov qword [rcx + 8], rsi
xor edx, edx
mov ebp, r8d
lea ecx, [rsi + 4]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1801c242a
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x1c
mov rcx, rax
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x1801c2421
nop word [rax + rax]
cmp dword [rsp + 0x20], 0x10
jb 0x1801c2404
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [rsp + 0x2c], eax
jne 0x1801c2404
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x28], eax
je 0x1801c2404
mov rdx, qword [rbx]
test rdx, rdx
jne 0x1801c23c2
mov dword [rbx + 8], 0x80
mov r8d, 0x200
mov rcx, qword [0x18027f0d0]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbx], rax
mov rdx, rax
test rax, rax
je 0x1801c2421
jmp 0x1801c23f7
mov eax, dword [rbx + 8]
cmp dword [rbx + 0xc], eax
jb 0x1801c23f7
mov rcx, qword [0x18027f0d0]
lea r9d, [rax + rax]
mov r8, rdx
shl r9, 2
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov rdx, rax
test rax, rax
je 0x1801c2421
mov eax, dword [rbx + 8]
add eax, eax
mov qword [rbx], rdx
mov dword [rbx + 8], eax
mov ecx, dword [rbx + 0xc]
mov eax, dword [rsp + 0x28]
mov dword [rdx + rcx*4], eax
inc dword [rbx + 0xc]
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x1c
mov rcx, rdi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x1801c2370
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbx], rsi
je 0x1801c2483
cmp dword [rbx + 0xc], esi
jbe 0x1801c2483
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbx]
xor edx, edx
mov ecx, esi
mov r8d, dword [rax + rcx*4]
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rdi, rax
test rax, rax
je 0x1801c247c
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov r8d, ebp
mov edx, r14d
mov rcx, rdi
call fcn.1801c28d0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc esi
cmp esi, dword [rbx + 0xc]
jb 0x1801c2440
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1801c3a00
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
Function at 0x1801c2a80
Capabilities:
Resume thread

Disassembly:
push rdi
sub rsp, 0x20
cmp qword [rcx], 0
mov rdi, rcx
je 0x1801c2aef
mov qword [rsp + 0x30], rbx
xor ebx, ebx
cmp dword [rcx + 0xc], ebx
jbe 0x1801c2ad8
mov qword [rsp + 0x38], rsi
mov rax, qword [rdi]
xor edx, edx
mov r8d, dword [rax + rbx*4]
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rsi, rax
test rax, rax
je 0x1801c2acc
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc ebx
cmp ebx, dword [rdi + 0xc]
jb 0x1801c2aa0
mov rsi, qword [rsp + 0x38]
mov r8, qword [rdi]
xor edx, edx
mov rcx, qword [0x18027f0d0]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1801c2bb0
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x80
mov rdi, rcx
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov r14, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
cmp rdi, 0x40000000
jbe 0x1801c2bf0
lea rax, [rdi - 0x40000000]
cmp r14, rax
cmovb r14, rax
mov rsi, qword [0x1802841b8]
lea r15, [rdi + 0x40000000]
cmp rcx, r15
cmovbe r15, rcx
sub r15, 0xfff
test rsi, rsi
je 0x1801c2c2e
cmp rsi, r14
jb 0x1801c2c26
cmp rsi, r15
jae 0x1801c2c26
cmp qword [rsi + 8], 0
jne 0x1801c2df7
mov rsi, qword [rsi]
test rsi, rsi
jne 0x1801c2c11
mov qword [rsp + 0xa0], rbx
mov rbx, rdi
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0xb0], r12
mov r12d, 0x40
cmp rdi, r14
jb 0x1801c2cc2
nop dword [rax]
nop dword [rax + rax]
mov ebp, dword [rsp + 0x48]
mov rax, rbx
xor edx, edx
div rbp
sub rbx, rdx
sub rbx, rbp
cmp rbx, r14
jb 0x1801c2cb9
nop word [rax + rax]
mov r8d, 0x30
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x1801c2cb9
cmp dword [rsp + 0x70], 0x10000
je 0x1801c2d3b
mov rbx, qword [rsp + 0x58]
cmp rbx, rbp
jb 0x1801c2cb9
sub rbx, rbp
cmp rbx, r14
jae 0x1801c2c80
test rsi, rsi
jne 0x1801c2da0
cmp rdi, r15
ja 0x1801c2ddf
nop dword [rax + rax]
mov ebp, dword [rsp + 0x48]
xor edx, edx
mov rax, rdi
mov ebx, ebp
div rbp
mov eax, ebp
sub rax, rdx
add rax, rdi
mov rdi, rax
cmp rax, r15
ja 0x1801c2ddf
mov r8d, 0x30
lea rdx, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x1801c2ddf
cmp dword [rsp + 0x70], 0x10000
je 0x1801c2d71
xor edx, edx
lea edi, [rbp - 1]
add rdi, qword [rsp + 0x68]
add rdi, qword [rsp + 0x50]
mov rax, rdi
div rbx
sub rdi, rdx
cmp rdi, r15
jbe 0x1801c2cf2
jmp 0x1801c2ddf
test rbx, rbx
je 0x1801c2cb9
mov r9d, r12d
mov edx, 0x1000
mov r8d, 0x3000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
test rax, rax
jne 0x1801c2da0
cmp rbx, r14
jae 0x1801c2c60
jmp 0x1801c2cc2
test rdi, rdi
je 0x1801c2ddf
mov r9d, r12d
mov edx, 0x1000
mov r8d, 0x3000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
test rax, rax
jne 0x1801c2da0
cmp rdi, r15
jbe 0x1801c2cd0
jmp 0x1801c2ddf
xor edx, edx
lea rcx, [rsi + 0x40]
mov dword [rsi + 0x10], edx
nop dword [rax]
mov qword [rcx], rdx
mov rax, rcx
mov qword [rsi + 8], rcx
add r12, 0x40
add rcx, 0x40
mov rdx, rax
cmp r12, 0xfc0
jbe 0x1801c2db0
mov rax, qword [0x1802841b8]
mov qword [rsi], rax
mov qword [0x1802841b8], rsi
mov r12, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xa0]
mov rax, rsi
mov rsi, qword [rsp + 0xb8]
add rsp, 0x80
pop r15
pop r14
pop rdi
ret
Function at 0x1801c4fac
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rbx, rdx
lea r8, [rsp + 0x60]
mov edi, ecx
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
jne 0x1801c4fe6
xor r9d, r9d
mov dword [rsp + 0x60], r9d
jmp 0x1801c4feb
mov r9d, dword [rsp + 0x60]
and qword [rsp + 0x30], 0
mov r8d, edi
and dword [rsp + 0x28], 0
xor edx, edx
mov ecx, 0x1300
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov edx, eax
test eax, eax
je 0x1801c5034
mov r8, qword [rbx]
dec r8
add r8, rdx
movzx ecx, byte [r8]
lea rax, reloc.WS2_32.dll_accept
cmp byte [rcx + rax], 0
je 0x1801c5034
dec r8
sub rdx, 1
jne 0x1801c501a
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret
Function at 0x140004000
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
clc
cwde
xchg edx, eax
cdq
cdq
clc
cwde
clc
std
cwde
cdq
cwde
nop
lahf
nop
clc
cld
clc
wait
xchg ecx, eax
wait
cwde
cdq
lahf
xchg edx, eax
xchg edx, eax
nop
sahf
cwde
cwde
cwde
cld
lahf
xchg ecx, eax
wait
cwde
lahf
xchg edx, eax
cwde
cld
clc
xchg ebx, eax
sahf
clc
sahf
sahf
clc
wait
std
clc
xchg ebx, eax
cwde
xchg edx, eax
wait
stc
clc
xchg ecx, eax
stc
xchg ebx, eax
std
cwde
nop
sahf
xchg ebx, eax
cld
std
cld
stc
lahf
lahf
xchg ecx, eax
lahf
xchg ecx, eax
cwde
xchg ebx, eax
cdq
xchg edx, eax
nop
cdq
cld
cld
std
xchg edx, eax
stc
cld
sahf
wait
wait
sahf
xchg ebx, eax
nop
cld
lahf
xchg ecx, eax
lahf
cwde
wait
sahf
xchg edx, eax
cwde
clc
sahf
cdq
nop
cdq
lahf
lahf
wait
stc
xchg ebx, eax
cdq
std
nop
clc
lahf
sahf
wait
stc
sahf
xchg ecx, eax
cld
cdq
wait
xchg ebx, eax
xchg edx, eax
xchg ecx, eax
lahf
cwde
cdq
cwde
cdq
cdq
cld
cld
stc
cdq
wait
cld
lahf
stc
std
wait
wait
std
cld
lahf
cdq
nop
nop
sahf
sahf
xchg ebx, eax
xchg ecx, eax
cld
xchg ebx, eax
lahf
cld
lahf
lahf
cdq
xchg edx, eax
xchg ecx, eax
cdq
stc
xchg ecx, eax
lahf
sahf
cdq
std
cdq
cwde
sahf
cld
clc
stc
sahf
sahf
wait
xchg ebx, eax
cdq
lahf
nop
lahf
cdq
stc
cdq
cld
cld
xchg ecx, eax
std
xchg ebx, eax
stc
wait
lahf
stc
xchg edx, eax
xchg edx, eax
stc
xchg edx, eax
std
cld
and rsp, 0xfffffffffffffff0
call fcn.14000419e
push r9
push r8
push rdx
xor rdx, rdx
push rcx
push rsi
mov rdx, qword gs:[rdx + 0x60]
mov rdx, qword [rdx + 0x18]
mov rdx, qword [rdx + 0x20]
movzx rcx, word [rdx + 0x4a]
mov rsi, qword [rdx + 0x50]
xor r9, r9
xor rax, rax
lodsb al, byte [rsi]
cmp al, 0x61
jl 0x1400040ff
sub al, 0x20
ror r9d, 0xd
add r9d, eax
loop 0x1400040f5
push rdx
push r9
mov rdx, qword [rdx + 0x20]
mov eax, dword [rdx + 0x3c]
add rax, rdx
cmp word [rax + 0x18], 0x20b
jne 0x140004193
mov eax, dword [rax + 0x88]
test rax, rax
je 0x140004193
add rax, rdx
push rax
mov r8d, dword [rax + 0x20]
add r8, rdx
mov ecx, dword [rax + 0x18]
jrcxz 0x140004192
xor r9, r9
dec rcx
mov esi, dword [r8 + rcx*4]
add rsi, rdx
xor rax, rax
ror r9d, 0xd
lodsb al, byte [rsi]
add r9d, eax
cmp al, ah
jne 0x140004149
add r9, qword [rsp + 8]
cmp r9d, r10d
jne 0x14000413a
pop rax
mov r8d, dword [rax + 0x24]
add r8, rdx
mov cx, word [r8 + rcx*2]
mov r8d, dword [rax + 0x1c]
add r8, rdx
mov eax, dword [r8 + rcx*4]
add rax, rdx
pop r8
pop r8
pop rsi
pop rcx
pop rdx
pop r8
pop r9
pop r10
sub rsp, 0x20
push r10
jmp rax
pop rax
pop r9
pop rdx
mov rdx, qword [rdx]
jmp 0x1400040e9

Function at 0x401000
Capabilities:
Execute syscall

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x38
mov rcx, 0xffffffffffffffff
mov r10, rcx
movabs rdx, 0x40311f
xor r8, r8
mov qword [rsp + 0x18], 0x117
lea r9, [rsp + 0x18]
mov qword [rsp + 0x28], 0x1000
mov qword [rsp + 0x30], 0x40
mov eax, 0x18
syscall
leave
ret
Function at 0x140001c1c
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140001c66
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140001c66
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140001c66
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140001c66
cmp dword [rcx + 0x84], 0xe
jbe 0x140001c66
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140001c68
xor al, al
add rsp, 0x28
ret

Function at 0x100403a20
Capabilities:
Encode data using xor

Disassembly:
xor al, 0x6c
xor al, 0x64
xor al, 0x67
xor al, 0x41
xor al, 0x3e
xor al, 0x7d
xor al, 0xa2
xor al, 0x9a
xor al, 0xa3
xor al, 0x88
xor al, 0x9d
xor al, 0xa4
xor al, 0x71
xor al, 0x74
xor al, 0x59
xor al, 0x87
xchg dword [rbp*4 - 0x57cb58cc], esi
xor al, 0x99
xor al, 0xa1
xor al, 0x86
xor al, 0xa3
xor al, 0xa3
movabs dword [0xa73490345934a834], eax
xor al, 0xad
xor al, 0xa7
xor al, 0xa8
xor al, 0x99
cdq
xor al, 0xa1
xor al, 0x67
xor al, 0x66
xor al, 0x90
xor al, 0xa7
xor al, 0x9c
xor al, 0x99
xor al, 0xa0
xor al, 0xa0
xor al, 0x67
xor al, 0x66
xor al, 0x62
Function at 0x140001ab0
Capabilities:
Enumerate threads

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x140008080]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov edi, edx
mov dword [rsp + 0x20], 0x1c
xor edx, edx
mov rsi, rcx
lea ecx, [rdx + 4]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x140001af7
lea rcx, str._INFO__CreateToolhelp32Snapshot_failed._n
jmp 0x140001b73
lea rdx, [rsp + 0x20]
mov rcx, rbx
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x140001b6c
lea rdx, [rsp + 0x20]
mov rcx, rbx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x140001b37
nop dword [rax]
cmp dword [rsp + 0x2c], edi
je 0x140001b57
lea rdx, [rsp + 0x20]
mov rcx, rbx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x140001b20
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, edi
mov rcx, rsi
call fcn.140001ab0
jmp 0x140001b78
mov r8d, dword [rsp + 0x28]
xor edx, edx
lea ecx, [rdx + 0x10]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov qword [rsi], rax
jmp 0x140001b78
lea rcx, str._INFO__Thread32First_failed._n
call fcn.140003180
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140003280
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
Function at 0x140003c78
Capabilities:
Parse pe header

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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x1403a89c0]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x1403a8ed0]
mov edi, edx
mov esi, ecx
cmp byte [rbx + 0x424d], 0
jne 0x140008ee8
cmp byte [rbx + 0x424e], 0
jne 0x140008ee8
movsx r9d, word [rbx + 0x5356]
lea r8, str.Tooltip__02d
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.14000dad0
test sil, 1
je 0x140009019
jmp 0x140008f81
movss xmm1, dword [rbx + 0x3898]
lea r8, str.Tooltip__02d
movaps xmm0, xmm1
lea rcx, [rsp + 0x20]
mulss xmm0, dword [0x1400b14a8]
xor eax, eax
mov edx, reloc.WS2_32.dll_recv
mulss xmm1, dword [0x1400b14a0]
addss xmm0, dword [rbx + 0xdfc]
addss xmm1, dword [rbx + 0xe00]
or dword [rbx + 0x3fa0], 1
mov qword [rbx + 0x3fb8], rax
movss dword [rbx + 0x3fb0], xmm0
mov dword [rbx + 0x3fa4], 1
movss dword [rbx + 0x3fb4], xmm1
movss xmm0, dword [rbx + 0x38f4]
mov rax, qword [0x1403a8ed0]
mulss xmm0, dword [0x1400afc50]
or dword [rax + 0x3fa0], 0x40
movss dword [rax + 0x4000], xmm0
movsx r9d, word [rbx + 0x5356]
call fcn.14000dad0
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x140008fd1
lea r11, [0x1400afd90]
cmp r9b, 0x23
jne 0x140008fb4
cmp byte [r8], r9b
jne 0x140008fb4
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x140008fa1
not ecx
call fcn.14000c810
test rax, rax
je 0x140009019
cmp byte [rax + 0x96], 0
je 0x140009019
mov byte [rax + 0x9d], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xb8], 1
lea rcx, [rsp + 0x20]
inc word [rbx + 0x5356]
mov edx, reloc.WS2_32.dll_recv
movsx r9d, word [rbx + 0x5356]
call fcn.14000dad0
or edi, 0x20c0347
lea rcx, [rsp + 0x20]
mov r8d, edi
xor edx, edx
call fcn.140005f00
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400a9b10
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret

Function at 0x14000c760
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x1403a8ed0]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x14000c7c3
mov qword [rsp], rbx
lea rbx, [0x1400afd90]
nop dword [rax]
cmp r9b, 0x23
jne 0x14000c7a3
cmp byte [r8], r9b
jne 0x14000c7a3
cmp byte [r8 + 1], r9b
cmove eax, r11d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [rbx + rdx*4]
test r9b, r9b
jne 0x14000c790
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x53b0]
xor r8d, r8d
not eax
test ecx, ecx
jle 0x14000c7f7
mov r10, qword [r10 + 0x53b8]
mov r9, rcx
mov edx, r8d
lea rcx, [r10 + 8]
cmp dword [rcx], eax
je 0x14000c7fe
inc r8d
inc rdx
add rcx, 0x48
cmp rdx, r9
jl 0x14000c7e4
xor eax, eax
add rsp, 8
ret
movsxd rax, r8d
lea rcx, [rax + rax*8]
lea rax, [r10 + rcx*8]
add rsp, 8
ret