joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1800c8a88
Capabilities:
Send data
Send data on socket

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0xd0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x10], rcx
mov rdi, rdx
mov ebx, r8d
mov rsi, r9
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1800b86f0
mov rcx, qword [rbp + 0x10]
mov r14, qword [rcx + 8]
mov qword [rbp - 0x48], rsi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov r15d, dword [rbp + 0x30]
mov dword [rsp + 0x20], r15d
mov r15, qword [rbp + 0x38]
mov qword [rsp + 0x28], r15
mov r15, qword [rbp + 0x40]
mov qword [rsp + 0x30], r15
mov rcx, r14
mov qword [rbp - 0x54], rcx
mov rdx, rdi
mov qword [rbp - 0x5c], rdx
mov r8d, ebx
mov dword [rbp - 0x4c], r8d
mov r9, rsi
mov qword [rbp - 0x64], r9
lea rcx, [rbp - 0x90]
call fcn.180003a80
mov rcx, qword [rbp - 0x54]
mov rdx, qword [rbp - 0x5c]
mov r8d, dword [rbp - 0x4c]
mov r9, qword [rbp - 0x64]
call sub.WS2_32.dll_WSASend
mov esi, eax
lea rcx, [rbp - 0x90]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1800c8b5d
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1800b8778
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1800c8c78
Capabilities:
Initialize winsock library

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x1f8
lea rbp, [rsp + 0x230]
xor eax, eax
mov qword [rbp - 0x1e0], rax
lea rdx, [rbp - 0x1d0]
mov qword [rbp - 0x1e8], rdx
mov ecx, 0x202
mov dword [rbp - 0x1d4], ecx
lea rcx, [rbp - 0x210]
call fcn.180003a80
mov rdx, qword [rbp - 0x1e8]
mov ecx, dword [rbp - 0x1d4]
call sub.WS2_32.dll_WSAStartup
mov esi, eax
lea rcx, [rbp - 0x210]
call fcn.180003ad0
test esi, esi
jne 0x1800c8d39
call fcn.180001265
mov qword [rbp - 0x1e0], rax
mov ecx, 1
xor eax, eax
mov rdx, qword [rbp - 0x1e0]
lock cmpxchg dword [rdx], ecx
test eax, eax
je 0x1800c8d24
lea rcx, [rbp - 0x210]
call fcn.180003a80
call sub.WS2_32.dll_WSACleanup
lea rcx, [rbp - 0x210]
call fcn.180003ad0
nop
add rsp, 0x1f8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x180130000]
call fcn.180003770
mov rdi, rax
mov rcx, rdi
mov edx, esi
call fcn.1800f089c
mov rcx, rdi
call fcn.180003be0
int3
Function at 0x1800d38a0
Capabilities:
Encrypt or decrypt data via bcrypt

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xf0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], rax
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov edi, r8d
mov rbx, r9
mov r15, qword [rbp + 0x30]
mov r14, qword [rbp + 0x50]
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1800b86f0
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 8]
test r15, r15
jne 0x1800d38fb
xor eax, eax
jmp 0x1800d38ff
lea rax, [r15 + 0x10]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], r14
mov r8d, edi
mov r9, rbx
mov edi, dword [rbp + 0x38]
mov rbx, qword [rbp + 0x40]
mov r15d, dword [rbp + 0x48]
mov r12d, dword [rbp + 0x58]
mov dword [rsp + 0x48], r12d
mov rcx, rdx
mov qword [rbp - 0x5c], rcx
mov rdx, rsi
mov qword [rbp - 0x64], rdx
mov dword [rbp - 0x54], r8d
mov qword [rbp - 0x6c], r9
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x40], r14
lea rcx, [rbp - 0x98]
call fcn.180003a80
mov rcx, qword [rbp - 0x5c]
mov rdx, qword [rbp - 0x64]
mov r8d, dword [rbp - 0x54]
mov r9, qword [rbp - 0x6c]
call sub.bcrypt.dll_BCryptEncrypt
mov esi, eax
lea rcx, [rbp - 0x98]
call fcn.180003ad0
nop
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1800d399c
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1800b8778
mov eax, esi
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1800d3a38
Capabilities:
Encrypt or decrypt data via bcrypt

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xf0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], rax
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov edi, r8d
mov rbx, r9
mov r15, qword [rbp + 0x30]
mov r14, qword [rbp + 0x50]
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1800b86f0
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 8]
test r15, r15
jne 0x1800d3a93
xor eax, eax
jmp 0x1800d3a97
lea rax, [r15 + 0x10]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], r14
mov r8d, edi
mov r9, rbx
mov edi, dword [rbp + 0x38]
mov rbx, qword [rbp + 0x40]
mov r15d, dword [rbp + 0x48]
mov r12d, dword [rbp + 0x58]
mov dword [rsp + 0x48], r12d
mov rcx, rdx
mov qword [rbp - 0x5c], rcx
mov rdx, rsi
mov qword [rbp - 0x64], rdx
mov dword [rbp - 0x54], r8d
mov qword [rbp - 0x6c], r9
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x40], r14
lea rcx, [rbp - 0x98]
call fcn.180003a80
mov rcx, qword [rbp - 0x5c]
mov rdx, qword [rbp - 0x64]
mov r8d, dword [rbp - 0x54]
mov r9, qword [rbp - 0x6c]
call sub.bcrypt.dll_BCryptDecrypt
mov esi, eax
lea rcx, [rbp - 0x98]
call fcn.180003ad0
nop
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1800d3b34
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1800b8778
mov eax, esi
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1800d3e60
Capabilities:
Hash data via bcrypt

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov edi, r8d
mov ebx, r9d
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1800b86f0
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 8]
mov r8, qword [rsi]
mov qword [rbp - 0x48], r8
mov rcx, rdx
mov qword [rbp - 0x58], rcx
mov rdx, r8
mov qword [rbp - 0x60], rdx
mov r8d, edi
mov dword [rbp - 0x4c], r8d
mov r9d, ebx
mov dword [rbp - 0x50], r9d
lea rcx, [rbp - 0x88]
call fcn.180003a80
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x4c]
mov r9d, dword [rbp - 0x50]
call sub.bcrypt.dll_BCryptHashData
mov esi, eax
lea rcx, [rbp - 0x88]
call fcn.180003ad0
nop
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1800d3f0d
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1800b8778
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1800d5dfc
Capabilities:
Generate random numbers via winapi

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
mov r8d, edx
mov dword [rbp - 0x3c], r8d
mov rdx, rcx
mov qword [rbp - 0x48], rdx
xor ecx, ecx
mov qword [rbp - 0x50], rcx
mov r9d, 2
mov dword [rbp - 0x40], r9d
lea rcx, [rbp - 0x78]
call fcn.180003a80
mov r8d, dword [rbp - 0x3c]
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov r9d, dword [rbp - 0x40]
call sub.bcrypt.dll_BCryptGenRandom
mov esi, eax
lea rcx, [rbp - 0x78]
call fcn.180003ad0
mov ecx, esi
test ecx, ecx
jne 0x1800d5e72
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
or ecx, 0x1000000
call fcn.1800d51cc
mov rcx, rax
call fcn.180003be0
int3
Function at 0x1800e86a8
Capabilities:
Resolve dns

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x48], rax
mov rsi, r8
mov rdi, r9
test rcx, rcx
je 0x1800e86db
add rcx, 0xc
jmp 0x1800e86dd
xor ecx, ecx
mov qword [rbp - 0x40], rcx
mov rbx, rcx
test rdx, rdx
je 0x1800e86f2
add rdx, 0xc
mov r14, rdx
jmp 0x1800e86f5
xor r14d, r14d
mov qword [rbp - 0x48], r14
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rbx
mov qword [rbp - 0x50], rcx
mov rdx, r14
mov qword [rbp - 0x58], rdx
mov r8, rsi
mov qword [rbp - 0x60], r8
mov r9, rdi
mov qword [rbp - 0x68], r9
lea rcx, [rbp - 0x90]
call fcn.180003a80
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x68]
call sub.WS2_32.dll_GetAddrInfoW
mov esi, eax
lea rcx, [rbp - 0x90]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1800e87dc
Capabilities:
Resolve dns

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0xe0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x48], rax
mov esi, r8d
mov rdi, r9
test rcx, rcx
je 0x1800e8812
add rcx, 0xc
jmp 0x1800e8814
xor ecx, ecx
mov qword [rbp - 0x40], rcx
mov rbx, rcx
test rdx, rdx
je 0x1800e8829
add rdx, 0xc
mov r14, rdx
jmp 0x1800e882c
xor r14d, r14d
mov qword [rbp - 0x48], r14
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov r15, qword [rbp + 0x30]
mov qword [rsp + 0x20], r15
mov r15, qword [rbp + 0x38]
mov qword [rsp + 0x28], r15
mov r15, qword [rbp + 0x40]
mov qword [rsp + 0x30], r15
mov r15, qword [rbp + 0x48]
mov qword [rsp + 0x38], r15
mov r15, qword [rbp + 0x50]
mov qword [rsp + 0x40], r15
mov r15, qword [rbp + 0x58]
mov qword [rsp + 0x48], r15
mov rcx, rbx
mov qword [rbp - 0x54], rcx
mov rdx, r14
mov qword [rbp - 0x5c], rdx
mov r8d, esi
mov dword [rbp - 0x4c], r8d
mov r9, rdi
mov qword [rbp - 0x64], r9
lea rcx, [rbp - 0x90]
call fcn.180003a80
mov rcx, qword [rbp - 0x54]
mov rdx, qword [rbp - 0x5c]
mov r8d, dword [rbp - 0x4c]
mov r9, qword [rbp - 0x64]
call sub.WS2_32.dll_GetAddrInfoExW
mov esi, eax
lea rcx, [rbp - 0x90]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1800e8948
Capabilities:
Initialize winsock library

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x1f8
lea rbp, [rsp + 0x230]
xor eax, eax
mov qword [rbp - 0x1e0], rax
lea rdx, [rbp - 0x1d0]
mov qword [rbp - 0x1e8], rdx
mov ecx, 0x202
mov dword [rbp - 0x1d4], ecx
lea rcx, [rbp - 0x210]
call fcn.180003a80
mov rdx, qword [rbp - 0x1e8]
mov ecx, dword [rbp - 0x1d4]
call sub.WS2_32.dll_WSAStartup
mov esi, eax
lea rcx, [rbp - 0x210]
call fcn.180003ad0
test esi, esi
jne 0x1800e8a09
call fcn.18000131e
mov qword [rbp - 0x1e0], rax
mov ecx, 1
xor eax, eax
mov rdx, qword [rbp - 0x1e0]
lock cmpxchg dword [rdx], ecx
test eax, eax
je 0x1800e89f4
lea rcx, [rbp - 0x210]
call fcn.180003a80
call sub.WS2_32.dll_WSACleanup
lea rcx, [rbp - 0x210]
call fcn.180003ad0
nop
add rsp, 0x1f8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x180130000]
call fcn.180003770
mov rdi, rax
mov rcx, rdi
mov edx, esi
call fcn.1800f089c
mov rcx, rdi
call fcn.180003be0
int3

Function at 0x180109418
Capabilities:
Hash data using murmur3

Disassembly:
push rdi
push rsi
sub rsp, 0x28
mov esi, ecx
mov edi, edx
call fcn.18000103a
mov eax, dword [rax]
add eax, 0x165667b1
add eax, 8
imul edx, esi, 0xc2b2ae3d
add edx, eax
rol edx, 0x11
imul eax, edx, 0x27d4eb2f
imul edx, edi, 0xc2b2ae3d
add edx, eax
rol edx, 0x11
imul eax, edx, 0x27d4eb2f
mov edx, eax
shr edx, 0xf
xor eax, edx
imul eax, eax, 0x85ebca77
mov edx, eax
shr edx, 0xd
xor eax, edx
imul eax, eax, 0xc2b2ae3d
mov edx, eax
shr edx, 0x10
xor eax, edx
add rsp, 0x28
pop rsi
pop rdi
ret

Function at 0x18010947c
Capabilities:
Hash data using murmur3

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov esi, ecx
mov edi, edx
mov ebx, r8d
call fcn.18000103a
mov eax, dword [rax]
add eax, 0x165667b1
add eax, 0xc
imul edx, esi, 0xc2b2ae3d
add edx, eax
rol edx, 0x11
imul eax, edx, 0x27d4eb2f
imul edx, edi, 0xc2b2ae3d
add edx, eax
rol edx, 0x11
imul eax, edx, 0x27d4eb2f
imul edx, ebx, 0xc2b2ae3d
add edx, eax
rol edx, 0x11
imul eax, edx, 0x27d4eb2f
mov edx, eax
shr edx, 0xf
xor eax, edx
imul eax, eax, 0x85ebca77
mov edx, eax
shr edx, 0xd
xor eax, edx
imul eax, eax, 0xc2b2ae3d
mov edx, eax
shr edx, 0x10
xor eax, edx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret

Function at 0x180109a30
Capabilities:
Hash data using murmur3

Disassembly:
push rsi
sub rsp, 0x20
mov esi, ecx
call fcn.18000103a
mov eax, dword [rax]
add eax, 0x165667b1
add eax, 4
imul edx, esi, 0xc2b2ae3d
add edx, eax
rol edx, 0x11
imul eax, edx, 0x27d4eb2f
mov edx, eax
shr edx, 0xf
xor eax, edx
imul eax, eax, 0x85ebca77
mov edx, eax
shr edx, 0xd
xor eax, edx
imul eax, eax, 0xc2b2ae3d
mov edx, eax
shr edx, 0x10
xor eax, edx
add rsp, 0x20
pop rsi
ret
Function at 0x180109b1c
Capabilities:
Hash data using murmur3

Disassembly:
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x28
mov esi, ecx
mov edi, edx
mov ebx, r8d
mov ebp, r9d
call fcn.18000103a
mov eax, dword [rax]
lea edx, [rax + 0x24234428]
lea ecx, [rax - 0x7a143589]
mov r8d, eax
add eax, 0x61c8864f
imul r9d, esi, 0x85ebca77
add edx, r9d
rol edx, 0xd
imul edx, edx, 0x9e3779b1
imul r9d, edi, 0x85ebca77
add ecx, r9d
rol ecx, 0xd
imul ecx, ecx, 0x9e3779b1
imul r9d, ebx, 0x85ebca77
add r8d, r9d
rol r8d, 0xd
imul r8d, r8d, 0x9e3779b1
imul r9d, ebp, 0x85ebca77
add eax, r9d
rol eax, 0xd
imul eax, eax, 0x9e3779b1
rol edx, 1
rol ecx, 7
add edx, ecx
mov ecx, r8d
rol ecx, 0xc
add edx, ecx
rol eax, 0x12
add eax, edx
add eax, 0x14
imul edx, dword [rsp + 0x70], 0xc2b2ae3d
add edx, eax
rol edx, 0x11
imul eax, edx, 0x27d4eb2f
mov edx, eax
shr edx, 0xf
xor eax, edx
imul eax, eax, 0x85ebca77
mov edx, eax
shr edx, 0xd
xor eax, edx
imul eax, eax, 0xc2b2ae3d
mov edx, eax
shr edx, 0x10
xor eax, edx
add rsp, 0x28
pop rbx
pop rbp
pop rsi
pop rdi
ret
Function at 0x97b120
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x97b12d
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x97b13d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x97b125
lea eax, [rcx + 1]
jmp 0x97b14b
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x97b15e
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x97b144
sub eax, 3
jb 0x97b17e
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x97b1cd
sar eax, 1
movsxd rbp, eax
jb 0x97b1b4
jmp 0x97b18c
add ebx, ebx
jne 0x97b18a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x97b1b4
inc ecx
add ebx, ebx
jne 0x97b19a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x97b1b4
call r11
adc ecx, ecx
add ebx, ebx
jne 0x97b1ad
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x97b19c
add ecx, 2
jmp 0x97b1b9
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.0097b0e2
jmp 0x97b12d
pop rsi
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x320600
mov dl, 0x36
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0x97b219
cmp rsi, rcx
jae 0x97b221
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0x97b200
cmp al, 0x8f
ja 0x97b200
cmp byte [rsi - 2], 0xf
je 0x97b206
sub al, 0xe8
cmp al, 1
ja 0x97b1ea
cmp rsi, rcx
jae 0x97b221
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0x97b1f0
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0x97b221
lodsb al, byte [rsi]
jmp 0x97b200
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x573000]
mov eax, dword [rdi]
or eax, eax
je 0x97b27e
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x57b000]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x97b22e
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x97b278
mov qword [rbx], rax
add rbx, 8
jmp 0x97b24e
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x97b2c2
cmp al, 0xef
ja 0x97b2aa
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x97b28a
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
or eax, eax
jne 0x97b299
mov eax, dword [rdi]
add rdi, 4
jmp 0x97b299
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x1af]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x97b316
sub rsp, 0xffffffffffffff80
jmp 0x4658c0
Function at 0x140001a50
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
test rcx, rcx
jne 0x140001b10
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, qword gs:[0x60]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov ebx, dword [rdx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140001b0b
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140001b0b
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x5b9ae4b0
lea rax, [rdi + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140001b06
nop
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x140001ae0
cmp r8d, 0x600e1184
je 0x140001bac
test r9d, r9d
jne 0x140001ac0
mov rcx, qword [rcx]
jmp 0x140001a90
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140001ba7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140001ba7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xcb7f8ad8
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140001ba2
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x140001b80
cmp r8d, 0x20cbc3dc
je 0x140001bac
test r9d, r9d
jne 0x140001b60
mov rax, qword [rax]
jmp 0x140001b30
mov ecx, dword [rbx + 0x24]
xor r8d, r8d
add rcx, r10
movzx edx, word [rcx + r9*2]
xor r9d, r9d
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov edx, reloc.WS2_32.dll_recvfrom
add rax, r10
mov rcx, rsi
call rax
mov rbx, qword [rsp + 0x30]
test eax, eax
mov rsi, qword [rsp + 0x38]
sete al
add rsp, 0x20
pop rdi
ret
Function at 0x140006250
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
je case.default.0x140006271
add rsp, 0x20
pop r15
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
mov qword [rsp + 0x58], r14
mov r9, qword [rax]
test r9, r9
je 0x14000629e
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x1400062a0
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x1400062f9
test ecx, ecx
jle 0x1400062d9
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
add r15, rbp
sub rbx, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x1400062f9
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x1400062f9
mov r8, rbx
mov edx, 1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov r14, qword [rsp + 0x58]
sub rsi, rbx
mov rbp, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret
Function at 0x140006320
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x140006342
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je case.default.0x140006351
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x28], rbx
mov rbx, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x140006374
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x140006376
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x1400063b2
mov qword [rsp + 0x20], rdi
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rdi
sub rbx, rdi
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
mov rdi, qword [rsp + 0x20]
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x14000644e
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x1400063ed
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
cmp rbx, 0xfff
jbe 0x14000642e
nop word [rax + rax]
mov r9, qword [rsi + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add r14, rax
sub rbx, rax
cmp rax, 0xfff
jne 0x14000644e
cmp rbx, rax
ja 0x140006400
test rbx, rbx
je 0x14000644e
mov r9, qword [rsi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
sub rbp, rbx
mov rbx, qword [rsp + 0x28]
mov rax, rbp
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
shl r15, 3
mov r10, rbp
add r10, 0xd7
mov r10, qword [r10]
add r10, r15
mov r9, qword [r10]
mov r11, rbp
add r11, 0xb2
mov r11, qword [r11]
add r11, 9
movsxd r10, dword [r11]
mov r15, rbp
add r15, 0xb2
add qword [r15], r10
jmp r9