joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400013d0
Capabilities:
Initialize winsock library

Disassembly:
sub rsp, 0x1d8
mov rax, qword [0x1400e3008]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
mov ecx, 0x202
lea rdx, [rsp + 0x20]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x140001417
xor al, al
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1400a02d0
add rsp, 0x1d8
ret
xor r8d, r8d
lea edx, [r8 + 1]
lea ecx, [rdx + 1]
call qword [sym.imp.WS2_32.dll_socket]
mov qword [0x1400e6908], rax
cmp rax, 0xffffffffffffffff
je 0x1400013fd
call qword [sym.imp.WS2_32.dll_WSACreateEvent]
mov qword [0x1400e6910], rax
test rax, rax
je 0x1400013fd
lea rax, [0x140001d10]
mov qword [0x1400ea920], rax
mov al, 1
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1400a02d0
add rsp, 0x1d8
ret

Function at 0x140001470
Capabilities:
Connect socket
Resolve dns

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x1400e3008]
xor rax, rsp
mov qword [rsp + 0x30], rax
cmp qword [0x1400e6908], 0xffffffffffffffff
mov rbx, rdx
jne 0x1400014a7
xor al, al
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400a02d0
add rsp, 0x40
pop rbx
ret
mov eax, 2
mov ecx, 0xe072
mov word [rsp + 0x20], ax
call qword [sym.imp.WS2_32.dll_htons]
mov rcx, rbx
mov word [rsp + 0x22], ax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rsp + 0x24], eax
cmp eax, 0xffffffff
jne 0x1400014f7
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_gethostbyname]
test rax, rax
je 0x1400014f7
mov rdx, qword [rax + 0x18]
lea rcx, [rsp + 0x24]
movsx r8, word [rax + 0x12]
mov rdx, qword [rdx]
call fcn.1400a12f0
mov rcx, qword [0x1400e6908]
lea rdx, [rsp + 0x20]
mov r8d, reloc.WS2_32.dll_recv
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x140001525
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x140001492
mov al, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400a02d0
add rsp, 0x40
pop rbx
ret
Function at 0x140001570
Capabilities:
Encode data using xor
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
movsxd rax, dword [0x1400e8918]
lea r14, [0x1400e6918]
mov rcx, qword [0x1400e6908]
mov r8d, 0x2000
sub r8d, eax
xor r9d, r9d
xor edi, edi
lea rdx, [r14 + rax]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x1400015f4
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x1400015c8
mov al, 1
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov rcx, qword [0x1400e6908]
cmp rcx, 0xffffffffffffffff
je 0x1400015e6
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [0x1400e6908], 0xffffffffffffffff
xor al, al
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov edx, dword [0x1400e8918]
add edx, eax
mov dword [0x1400e8918], edx
cmp edx, 4
jl 0x1400015ba
cmp byte [0x1400e6918], 0x20
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], rsi
jne 0x14000170c
lea rbp, [0x140000000]
nop word [rax + rax]
lea eax, [rdi + 1]
movsxd rcx, eax
movzx ebx, byte [rcx + rbp + 0xe6918]
cmp ebx, 4
jb 0x14000170c
cmp ebx, edx
jg 0x140001747
lea r10d, [rbx - 3]
xor r9d, r9d
test r10d, r10d
jle 0x1400016c3
movsxd rax, edi
lea r11, [rbp + 0xe691a]
lea rsi, [rbp + 0xe691a]
add r11, rax
add rsi, rax
lea r8, [rbp + 0xe691b]
add r8, rax
nop dword [rax]
mov ecx, r9d
lea r8, [r8 + 1]
mov eax, 0xcccccccd
mul r9d
inc r9d
shr edx, 2
lea eax, [rdx + rdx*4]
sub ecx, eax
movsxd rdx, ecx
movzx eax, byte [rdx + rbp + 0xc6750]
xor al, byte [r11]
add byte [r8 - 1], al
movzx eax, byte [rdx + rbp + 0xc6758]
xor al, byte [r8 - 1]
xor al, byte [rsi]
mov byte [r8 - 1], al
cmp r9d, r10d
jl 0x140001680
movsxd rax, edi
lea rdx, [rbp + 0xe6918]
add rdx, rax
mov r8d, ebx
lea eax, [rdi + 3]
movsxd rcx, eax
movzx ecx, byte [rcx + rbp + 0xe6918]
call qword [0x1400ea920]
mov edx, dword [0x1400e8918]
add edi, ebx
sub edx, ebx
mov dword [0x1400e8918], edx
test edx, edx
jle 0x14000176d
movsxd rax, edi
cmp byte [rax + rbp + 0xe6918], 0x20
je 0x140001630
mov rcx, qword [0x1400e6908]
cmp rcx, 0xffffffffffffffff
je 0x14000172a
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [0x1400e6908], 0xffffffffffffffff
xor al, al
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
test edi, edi
jle 0x14000176d
lea eax, [rdx - 1]
cmp eax, 0x1ffe
ja 0x14000176d
movsxd r8, edx
mov rcx, r14
movsxd rax, edi
lea rdx, [rbp + 0xe6918]
add rdx, rax
call fcn.1400a12f0
mov al, 1
jmp 0x14000172c
Function at 0x140001780
Capabilities:
Encode data using xor
Send data
Send data on socket

Disassembly:
push rbx
push rsi
push rdi
mov eax, 0x2030
call fcn.1400bc1e0
sub rsp, rax
mov rax, qword [0x1400e3008]
xor rax, rsp
mov qword [rsp + 0x2020], rax
lea rcx, [0x1400ea930]
movsxd rbx, r8d
mov rdi, rdx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rsi, qword [0x1400e6908]
cmp rsi, 0xffffffffffffffff
jne 0x1400017d7
lea rcx, [0x1400ea930]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor al, al
jmp 0x1400018ab
mov r8, rbx
mov qword [rsp + 0x2050], rbp
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.1400a12f0
xor edi, edi
lea r10d, [rbx - 3]
mov r9d, edi
test r10d, r10d
jle 0x14000185a
lea r8, [rsp + 0x23]
lea r11, [0x140000000]
nop dword [rax]
mov eax, 0xcccccccd
lea r8, [r8 + 1]
mul r9d
mov ecx, r9d
inc r9d
shr edx, 2
lea eax, [rdx + rdx*4]
sub ecx, eax
movsxd rax, ecx
movzx ecx, byte [rax + r11 + 0xc6758]
xor cl, byte [r8 - 1]
xor cl, byte [rsp + 0x22]
movzx eax, byte [rax + r11 + 0xc6750]
mov byte [r8 - 1], cl
xor al, byte [rsp + 0x22]
sub cl, al
mov byte [r8 - 1], cl
cmp r9d, r10d
jl 0x140001810
movsxd rcx, dword [0x1400ea91c]
test ecx, ecx
jle 0x1400018c6
lea eax, [rcx + rbx]
cmp eax, 0x2000
jl 0x140001877
mov rcx, rsi
jmp 0x140001948
lea rax, [0x1400e891c]
mov r8, rbx
add rcx, rax
lea rdx, [rsp + 0x20]
call fcn.1400a12f0
add dword [0x1400ea91c], ebx
lea rcx, [0x1400ea930]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, 1
mov rbp, qword [rsp + 0x2050]
mov rcx, qword [rsp + 0x2020]
xor rcx, rsp
call fcn.1400a02d0
add rsp, 0x2030
pop rdi
pop rsi
pop rbx
ret
test ebx, ebx
jle 0x140001894
nop word [rax + rax]
movsxd rax, edi
lea rdx, [rsp + 0x20]
add rdx, rax
xor r9d, r9d
mov r8d, ebx
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x140001900
add edi, eax
sub ebx, eax
test ebx, ebx
jle 0x140001894
mov rsi, qword [0x1400e6908]
jmp 0x1400018d0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14000193b
movsxd rcx, dword [0x1400ea91c]
lea eax, [rcx + rbx]
cmp eax, 0x2000
jge 0x14000193b
movsxd rax, edi
lea rdx, [rsp + 0x20]
add rdx, rax
movsxd r8, ebx
lea rax, [0x1400e891c]
add rcx, rax
jmp 0x140001889
mov rcx, qword [0x1400e6908]
cmp rcx, 0xffffffffffffffff
je 0x140001959
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [0x1400e6908], 0xffffffffffffffff
lea rcx, [0x1400ea930]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor al, al
jmp 0x1400018a3
Function at 0x140001970
Capabilities:
Send data
Send data on socket

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
lea rcx, [0x1400ea930]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x1400ea91c]
xor ebx, ebx
test eax, eax
jle 0x1400019d4
lea rdi, [0x1400e891c]
nop word [rax + rax]
mov rcx, qword [0x1400e6908]
xor r9d, r9d
movsxd rdx, ebx
mov r8d, eax
add rdx, rdi
call qword [sym.imp.WS2_32.dll_send]
mov ecx, eax
cmp eax, 0xffffffff
je 0x1400019ee
add ebx, eax
mov eax, dword [0x1400ea91c]
sub eax, ecx
mov dword [0x1400ea91c], eax
test eax, eax
jg 0x1400019a0
lea rcx, [0x1400ea930]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x140001a16
movsxd r8, dword [0x1400ea91c]
lea rcx, [0x1400e891c]
movsxd rdx, ebx
add rdx, rcx
call fcn.1400a12f0
jmp 0x1400019d4
mov rcx, qword [0x1400e6908]
cmp rcx, 0xffffffffffffffff
je 0x140001a34
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [0x1400e6908], 0xffffffffffffffff
lea rcx, [0x1400ea930]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x30]
xor al, al
add rsp, 0x20
pop rdi
ret
Function at 0x140001b60
Capabilities:
Create thread

Disassembly:
sub rsp, 0x68
mov rax, qword [0x1400e3008]
xor rax, rsp
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x30]
call fcn.140001fe0
lea rax, [rsp + 0x30]
lea r8, [0x1400eaf68]
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140001ba3
inc rax
test ecx, ecx
jne 0x140001b90
test edx, edx
jne 0x140001cd4
call fcn.1400013d0
test al, al
je 0x140001cda
lea rdx, str.auth.xteamdev.com
call fcn.140001470
test al, al
jne 0x140001bec
lea rdx, str.auth.xteamdev.net
call fcn.140001470
test al, al
jne 0x140001bec
lea rdx, str.198.245.55.196
call fcn.140001470
test al, al
je 0x140001ce0
mov rdx, qword [0x1400e6910]
mov r8d, 0x23
mov rcx, qword [0x1400e6908]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
cmp eax, 0xffffffff
jne 0x140001c21
mov rcx, qword [0x1400e6908]
cmp rcx, 0xffffffffffffffff
je 0x140001d03
jmp 0x140001cf2
xor edx, edx
mov qword [rsp + 0x60], rbx
mov r8d, 0x2000
lea rcx, [0x1400e6918]
call fcn.1400a3240
xor ebx, ebx
lea rcx, [0x1400e891c]
xor edx, edx
mov dword [0x1400e8918], ebx
mov r8d, 0x2000
call fcn.1400a3240
lea r9, vtable.CAuthenticate.0
mov qword [rsp + 0x28], rbx
lea r8, [0x140001a50]
mov dword [0x1400ea91c], ebx
xor edx, edx
mov dword [rsp + 0x20], ebx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
call fcn.140001d60
cmp byte [0x1400ea958], 0
mov rbx, qword [rsp + 0x60]
jne 0x140001ca4
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x1400ea958], 0
je 0x140001c90
mov rcx, qword [0x1400e6908]
cmp rcx, 0xffffffffffffffff
je 0x140001cc2
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [0x1400e6908], 0xffffffffffffffff
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400a02d0
add rsp, 0x68
ret
call fcn.1400020b0
int3
call fcn.1400020b0
int3
lea rcx, vtable.CAuthenticate.0
call fcn.140001540
call fcn.1400020b0
int3
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [0x1400e6908], 0xffffffffffffffff
call fcn.1400020b0
int3
Function at 0x140001e00
Capabilities:
Get storage device properties

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rbp
push rsi
sub rsp, 0x180
mov rax, qword [0x1400e3008]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov rbx, r8
lea rdx, str..PhysicalDrive_d
xor r8d, r8d
lea rcx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_wsprintfA]
xor ebp, ebp
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x30], rbp
xor r9d, r9d
mov dword [rsp + 0x28], ebp
xor edx, edx
mov dword [rsp + 0x20], 3
lea r8d, [rbp + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x140001ec6
xor eax, eax
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x50], rax
lea r9d, [rbp + 0xc]
mov qword [rsp + 0x54], rax
lea r8, [rsp + 0x50]
mov qword [rsp + 0x40], rax
mov edx, 0x2d1400
lea rax, [rsp + 0x48]
mov dword [rsp + 0x50], ebp
mov qword [rsp + 0x30], rax
mov rcx, rsi
lea rax, [rsp + 0x40]
mov dword [rsp + 0x28], 8
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x140001ecd
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x140001fbb
mov ecx, dword [rsp + 0x44]
mov qword [rsp + 0x190], rdi
call fcn.1400a05a4
mov r8d, dword [rsp + 0x44]
xor edx, edx
mov rcx, rax
mov rdi, rax
call fcn.1400a3240
mov ecx, dword [rsp + 0x44]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x38], rbp
lea r8, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov r9d, reloc.WS2_32.dll_inet_ntoa
mov dword [rsp + 0x28], ecx
mov edx, 0x2d1400
mov rcx, rsi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140001f30
mov eax, dword [rdi + 0x18]
test eax, eax
jne 0x140001f45
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.1400a02f4
xor al, al
jmp 0x140001fb3
add rax, rdi
mov ecx, 2
nop dword [rax]
movups xmm0, xmmword [rax]
lea rbx, [rbx + 0x80]
movups xmmword [rbx - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx - 0x70], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbx - 0x60], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rbx - 0x50], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rbx - 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rbx - 0x30], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rbx - 0x20], xmm0
movups xmm1, xmmword [rax + 0x70]
sub rax, 0xffffffffffffff80
movups xmmword [rbx - 0x10], xmm1
sub rcx, 1
jne 0x140001f50
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.1400a02f4
mov al, 1
mov rdi, qword [rsp + 0x190]
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400a02d0
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x28]
mov rsp, r11
pop rsi
ret
Function at 0x140002b80
Capabilities:
Hash data using crc32b

Disassembly:
mov r11, rcx
xor r10d, r10d
nop word [rax + rax]
mov edx, r10d
mov r9d, r10d
and edx, 1
shr r9d, 1
shl edx, 7
mov eax, r9d
mov ecx, edx
or ecx, 0x40
and al, 1
cmove ecx, edx
shr r9d, 1
mov edx, ecx
mov eax, r9d
or edx, 0x20
and al, 1
cmove edx, ecx
shr r9d, 1
mov ecx, edx
mov eax, r9d
or ecx, 0x10
and al, 1
cmove ecx, edx
shr r9d, 1
mov edx, ecx
mov eax, r9d
or edx, 8
and al, 1
cmove edx, ecx
shr r9d, 1
mov r8d, edx
mov eax, r9d
or r8d, 4
and al, 1
cmove r8d, edx
shr r9d, 1
mov eax, r9d
mov ecx, r8d
or ecx, 2
and al, 1
cmove ecx, r8d
mov eax, ecx
or eax, 1
and r9b, 2
cmove eax, ecx
shl eax, 0x18
mov ecx, eax
add eax, eax
sar ecx, 0x1f
and ecx, 0x4c11db7
xor ecx, eax
mov edx, ecx
sar edx, 0x1f
and edx, 0x4c11db7
lea eax, [rcx + rcx]
xor edx, eax
mov ecx, edx
sar ecx, 0x1f
and ecx, 0x4c11db7
lea eax, [rdx + rdx]
xor ecx, eax
mov edx, ecx
sar edx, 0x1f
and edx, 0x4c11db7
lea eax, [rcx + rcx]
xor edx, eax
mov ecx, edx
sar ecx, 0x1f
and ecx, 0x4c11db7
lea eax, [rdx + rdx]
xor ecx, eax
mov edx, ecx
sar edx, 0x1f
and edx, 0x4c11db7
lea eax, [rcx + rcx]
xor edx, eax
mov ecx, edx
sar ecx, 0x1f
and ecx, 0x4c11db7
lea eax, [rdx + rdx]
xor ecx, eax
mov eax, ecx
sar eax, 0x1f
add ecx, ecx
and eax, 0x4c11db7
xor eax, ecx
xor r9d, r9d
mov dword [r11], eax
lea r8d, [r9 + 0x1e]
test al, 1
je 0x140002ca9
lea ecx, [r8 + 1]
mov edx, 1
shl edx, cl
or r9d, edx
shr eax, 1
test al, 1
je 0x140002cbc
mov ecx, r8d
mov edx, 1
shl edx, cl
or r9d, edx
shr eax, 1
sub r8d, 2
cmp r8d, 0xfffffffe
jg 0x140002c97
mov dword [r11], r9d
inc r10d
add r11, 4
cmp r10d, 0xff
jle 0x140002b90
ret

Function at 0x140002ce0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rsi
sub rsp, 0x20
mov rbx, r8
mov dword [r8], 0xffffffff
mov rsi, rcx
mov qword [rsp + 0x38], 0
lea r8, [0x1400cbf78]
lea rcx, [rsp + 0x38]
lea rdx, str..MHPClient.xtm
call fcn.1400a4a60
test eax, eax
je 0x140002d2e
xor al, al
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
mov ecx, 0x400
mov qword [rsp + 0x30], rdi
call fcn.1400a4e08
mov rdi, rax
test rax, rax
jne 0x140002d61
mov rcx, qword [rsp + 0x38]
call fcn.1400a4924
mov rdi, qword [rsp + 0x30]
xor al, al
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
mov r9, qword [rsp + 0x38]
mov edx, 1
mov r8d, 0x400
mov rcx, rdi
call fcn.1400a4d40
test eax, eax
je 0x140002dcf
nop dword [rax]
mov r9, rdi
test eax, eax
je 0x140002db3
nop word [rax + rax]
movzx ecx, byte [r9]
lea r9, [r9 + 1]
mov r8d, dword [rbx]
movzx edx, r8b
xor rdx, rcx
shr r8d, 8
mov ecx, dword [rsi + rdx*4]
xor ecx, r8d
mov dword [rbx], ecx
add eax, 0xffffffff
jne 0x140002d90
mov r9, qword [rsp + 0x38]
mov edx, 1
mov r8d, 0x400
mov rcx, rdi
call fcn.1400a4d40
test eax, eax
jne 0x140002d80
mov rcx, rdi
call fcn.1400a4ab8
mov rcx, qword [rsp + 0x38]
call fcn.1400a4924
mov eax, dword [rbx]
mov rdi, qword [rsp + 0x30]
not eax
mov dword [rbx], eax
mov al, 1
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
Function at 0x1400048a0
Capabilities:
Connect socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
mov eax, 0x10050
call fcn.1400bc1e0
sub rsp, rax
mov rax, qword [0x1400e3008]
xor rax, rsp
mov qword [rsp + 0x10040], rax
mov esi, edx
mov rdi, r8
mov edx, 1
mov rbx, rcx
mov r14d, 2
mov ecx, r14d
lea r8d, [rdx + 5]
call qword [sym.imp.WS2_32.dll_socket]
mov rbp, rax
test eax, eax
je 0x140004ac1
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_gethostbyname]
test rax, rax
je 0x140004ac1
mov word [rsp + 0x30], r14w
movzx ecx, si
mov rax, qword [rax + 0x18]
mov rdx, qword [rax]
mov eax, dword [rdx]
mov dword [rsp + 0x34], eax
call qword [sym.imp.WS2_32.dll_htons]
movsxd rsi, ebp
lea r8d, [r14 + 0xe]
mov rcx, rsi
mov word [rsp + 0x32], ax
lea rdx, [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x140004ac1
mov r9, rbx
lea rdx, str.GET__s_HTTP_1.1_r_nHost:__s_r_nConnection:_close_r_n_r_n
mov r8, rdi
lea rcx, [rsp + 0x40]
call fcn.140004af0
lea rax, [rsp + 0x40]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140004962
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
xor dil, dil
xor r14d, r14d
nop dword [rax]
nop word [rax + rax]
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0xffff
mov rbx, r14
call fcn.1400a3240
nop word [rax + rax]
xor r9d, r9d
lea rdx, [rsp + 0x20]
mov rcx, rsi
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x1400049e2
movzx eax, byte [rsp + 0x20]
mov byte [rsp + rbx + 0x40], al
cmp al, 0xa
je 0x1400049e2
inc rbx
cmp rbx, 0xfffe
jl 0x1400049b0
test rbx, rbx
jle 0x140004ab3
sub rbx, 1
js 0x140004a10
cmp byte [rsp + rbx + 0x40], 0x20
jge 0x140004a10
cmp rbx, 0xffff
jae 0x140004ae5
mov byte [rsp + rbx + 0x40], r14b
sub rbx, 1
jns 0x1400049f1
lea rcx, [rsp + 0x40]
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], r14b
jne 0x140004a20
test rax, rax
je 0x140004ab3
lea r8, [rsp + 0x28]
mov qword [rsp + 0x28], r14
lea rdx, [0x1400cc45c]
lea rcx, [rsp + 0x40]
call fcn.1400a4f18
mov rbx, rax
test rax, rax
je 0x140004ab3
lea rdx, str.HTTP_1.0
mov rcx, rax
call fcn.1400bc4f0
test eax, eax
je 0x140004a7f
lea rdx, str.HTTP_1.1
mov rcx, rbx
call fcn.1400bc4f0
test eax, eax
jne 0x140004990
lea r8, [rsp + 0x28]
xor ecx, ecx
lea rdx, [0x1400cc45c]
call fcn.1400a4f18
mov rcx, rax
call fcn.1400a6b04
mov dword [0x1400ec740], eax
cmp eax, 0xc8
jne 0x140004990
mov dil, 1
jmp 0x140004990
test dil, dil
jne 0x140004ac5
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
jmp 0x140004ac7
mov eax, ebp
mov rcx, qword [rsp + 0x10040]
xor rcx, rsp
call fcn.1400a02d0
add rsp, 0x10050
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.1400a085c
int3
Function at 0x140009180
Capabilities:
Create directory

Disassembly:
sub rsp, 0x68
mov rax, qword [0x1400e3008]
xor rax, rsp
mov qword [rsp + 0x50], rax
movsxd rcx, dword [0x1400eae58]
cmp ecx, 1
ja 0x1400092ba
lea rax, [0x1400eaa28]
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x60], rdi
mov edx, 0x100
imul rdi, rcx, 0x218
inc ecx
add rdi, rax
mov dword [0x1400eae58], ecx
lea rcx, [rdi + 4]
mov dword [rdi], 1
call fcn.1400a42fc
cmp dword [rdi], 0
je 0x1400092b0
xor edx, edx
mov qword [rsp + 0x70], rbx
lea rcx, [rdi + 4]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edx, word [rsp + 0x46]
lea r8, [rdi + 4]
movzx eax, word [rsp + 0x42]
lea rcx, [rdi + 0x110]
movzx r9d, word [rsp + 0x40]
mov dword [rsp + 0x28], edx
mov dword [rdi + 0x104], edx
lea rdx, str.._s_04d__02d__02d.txt
mov dword [rdi + 0x108], eax
mov dword [rdi + 0x10c], r9d
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_wsprintfA]
xor esi, esi
lea rcx, [rdi + 0x110]
mov qword [rsp + 0x30], rsi
xor r9d, r9d
mov dword [rsp + 0x28], pe_nt_image_headers64
mov edx, 0x40000000
mov dword [rsp + 0x20], 4
lea r8d, [rsi + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, qword [rsp + 0x70]
mov qword [rdi + 0x210], rax
cmp rax, 0xffffffffffffffff
jne 0x140009288
mov dword [rdi], esi
jmp 0x1400092b0
mov r9d, 2
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x1400092b0
mov rcx, qword [rdi + 0x210]
mov dword [rdi], esi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400a02d0
add rsp, 0x68
ret
Function at 0x1400092d0
Capabilities:
Write file on windows

Disassembly:
test edx, edx
js 0x140009514
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x20], r9
sub rsp, 0x888
mov rax, qword [0x1400e3008]
xor rax, rsp
mov qword [rsp + 0x860], rax
cmp edx, dword [rcx + 0x438]
jge 0x1400094fd
mov qword [r11 - 0x18], rdi
movsxd rax, edx
imul rdi, rax, 0x218
add rdi, rcx
cmp dword [rdi + 8], 0
je 0x1400094f5
mov qword [r11 - 8], rbx
lea rcx, [rsp + 0x48]
mov qword [r11 - 0x10], rsi
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [rsp + 0x4e]
xor esi, esi
cmp eax, dword [rdi + 0x10c]
jne 0x140009363
movzx eax, word [rsp + 0x4a]
cmp eax, dword [rdi + 0x110]
jne 0x140009363
movzx eax, word [rsp + 0x48]
cmp eax, dword [rdi + 0x114]
je 0x140009424
mov rcx, qword [rdi + 0x218]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movzx edx, word [rsp + 0x4e]
lea r8, [rdi + 0xc]
movzx eax, word [rsp + 0x4a]
lea rcx, [rdi + 0x118]
movzx r9d, word [rsp + 0x48]
mov dword [rsp + 0x28], edx
mov dword [rdi + 0x10c], edx
lea rdx, str.._s_04d__02d__02d.txt
mov dword [rdi + 0x110], eax
mov dword [rdi + 0x114], r9d
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_wsprintfA]
xor r9d, r9d
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], pe_nt_image_headers64
lea rcx, [rdi + 0x118]
mov edx, 0x40000000
mov dword [rsp + 0x20], 4
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rdi + 0x218], rax
cmp rax, 0xffffffffffffffff
jne 0x1400093f6
mov dword [rdi + 8], esi
jmp 0x1400094e5
mov r9d, 2
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x140009424
mov rcx, qword [rdi + 0x218]
mov dword [rdi + 8], esi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400094e5
xor edx, edx
lea rcx, [rsp + 0x460]
mov r8d, 0x400
call fcn.1400a3240
lea rbx, [rsp + 0x8a8]
call fcn.140004890
mov r9, qword [rsp + 0x8a0]
lea rdx, [rsp + 0x460]
mov qword [rsp + 0x28], rbx
mov r8d, 0x400
mov qword [rsp + 0x20], rsi
mov rcx, qword [rax]
call fcn.1400a63e0
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x400
call fcn.1400a3240
movzx eax, word [rsp + 0x54]
lea rcx, [rsp + 0x460]
movzx r9d, word [rsp + 0x52]
lea rdx, str._02d:_02d:_02d__s_r_n
movzx r8d, word [rsp + 0x50]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_wsprintfA]
lea rax, [rsp + 0x60]
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], sil
jne 0x1400094c0
mov rcx, qword [rdi + 0x218]
lea r9, [rsp + 0x40]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rsi, qword [rsp + 0x878]
mov rbx, qword [rsp + 0x880]
mov rdi, qword [rsp + 0x870]
mov rcx, qword [rsp + 0x860]
xor rcx, rsp
call fcn.1400a02d0
add rsp, 0x888
ret