joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1401d9836
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
jmp 0x1405839dc
sub rsp, 0x18
mov r8, rcx
mov eax, 0x5a4d
cmp word [0x140000000], ax
jne 0x140583a69
movsxd rcx, dword [0x14000003c]
lea rdx, [0x140000000]
add rcx, rdx
cmp dword [rcx], 0x4550
jne 0x140583a69
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140583a69
sub r8, rdx
movzx edx, word [rcx + 0x14]
add rdx, 0x18
add rdx, rcx
movzx eax, word [rcx + 6]
lea rcx, [rax + rax*4]
lea r9, [rdx + rcx*8]
mov qword [rsp], rdx
cmp rdx, r9
je 0x140583a50
mov ecx, dword [rdx + 0xc]
cmp r8, rcx
jb 0x140583a4a
mov eax, dword [rdx + 8]
add eax, ecx
cmp r8, rax
jb 0x140583a52
add rdx, 0x28
jmp 0x140583a2f
xor edx, edx
test rdx, rdx
jne 0x140583a5b
xor al, al
jmp 0x140583a6f
cmp dword [rdx + 0x24], 0
jge 0x140583a65
xor al, al
jmp 0x140583a6f
mov al, 1
jmp 0x140583a6f
xor al, al
jmp 0x140583a6f
add rsp, 0x18
ret
Function at 0x1401d9c55
Capabilities:
Receive data
Receive data on socket

Disassembly:
jmp 0x140479b50
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x40
mov r8, qword [rsp + 0x78]
mov edx, dword [rsp + 0x70]
lea rcx, str.recv
call fcn.140479dd0
movzx eax, al
test eax, eax
je 0x140479b8c
mov eax, 0xffffffff
jmp 0x140479bda
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_recv]
mov dword [rsp + 0x30], eax
cmp qword [rsp + 0x78], 0
je 0x140479bd6
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
lea rcx, str.RECV__s:_d_recv__lu____ld_n
call fcn.1401dfbf0
nop
mov eax, dword [rsp + 0x30]
add rsp, 0x40
pop rdi
ret
Function at 0x1401dacdb
Capabilities:
Query environment variable

Disassembly:
jmp 0x1404aa480
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x80
lea rdi, [rsp + 0x30]
mov ecx, reloc.WS2_32.dll_sendto
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x90]
mov dword [rsp + 0x44], 0
cmp dword [rsp + 0x98], 0
jl 0x1404aa4d0
cmp dword [rsp + 0x98], 2
jl 0x1404aa4eb
mov r8d, 0x335
lea rdx, [0x1407e5d90]
lea rcx, str.sockindex___0__sockindex___2
call fcn.1401d6933
xor eax, eax
cmp qword [rsp + 0xb0], 0
jne 0x1404aa511
mov r8d, 0x336
lea rdx, [0x1407e5e60]
lea rcx, str.pnwritten
call fcn.1401d6933
xor eax, eax
cmp qword [rsp + 0x90], 0
jne 0x1404aa537
mov r8d, 0x337
lea rdx, [0x1407e5f10]
lea rcx, [0x1407e5fa0]
call fcn.1401d6933
xor eax, eax
mov rax, qword [rsp + 0x90]
cmp qword [rax + 0x20], 0
jne 0x1404aa561
mov r8d, 0x338
lea rdx, [0x1407e5fb0]
lea rcx, [0x1407e6040]
call fcn.1401d6933
xor eax, eax
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x58], rax
lea rcx, str.CURL_SMALLSENDS
call fcn.1401d9070
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x1404aa5e1
mov r8d, 0xa
xor edx, edx
mov rcx, qword [rsp + 0x60]
call fcn.1401d7dd3
mov eax, eax
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x68], 0
je 0x1404aa5e1
mov rax, qword [rsp + 0x68]
cmp qword [rsp + 0xa8], rax
jae 0x1404aa5ca
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x70], rax
jmp 0x1404aa5d4
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xa8], rax
movsxd rax, dword [rsp + 0x98]
lea rcx, [rsp + 0x44]
mov qword [rsp + 0x20], rcx
mov r9, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
mov r10, qword [rsp + 0x58]
call qword [r10 + rax*8 + 0x240]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jge 0x1404aa64e
cmp dword [rsp + 0x44], 0
jne 0x1404aa64e
mov r8d, 0x347
lea rdx, [0x1407e6070]
lea rcx, str._nwritten___0___result
call fcn.1401d6933
xor eax, eax
cmp qword [rsp + 0x30], 0
jge 0x1404aa661
mov qword [rsp + 0x78], 0
jmp 0x1404aa66b
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
mov eax, dword [rsp + 0x44]
mov edi, eax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_accept
call fcn.1401ddb7f
mov eax, edi
add rsp, 0x80
pop rdi
ret
Function at 0x1401db32f
Capabilities:
Terminate process

Disassembly:
jmp 0x140583dcc
push rbx
sub rsp, 0x20
mov rbx, rcx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xc0000409
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_TerminateProcess]
Function at 0x1401dbbae
Capabilities:
Initialize winsock library

Disassembly:
jmp 0x1404b0ca0
mov dword [rsp + 8], ecx
push rdi
sub rsp, 0x220
lea rdi, [rsp + 0x30]
mov ecx, 0x7c
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov ecx, dword [rsp + 0x230]
mov rax, qword [0x140818ac0]
xor rax, rsp
mov qword [rsp + 0x210], rax
mov eax, dword [rsp + 0x230]
and eax, 2
test eax, eax
je 0x1404b0d77
mov eax, 0x202
mov word [rsp + 0x38], ax
lea rdx, [rsp + 0x50]
movzx ecx, word [rsp + 0x38]
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [rsp + 0x1f4], eax
cmp dword [rsp + 0x1f4], 0
je 0x1404b0d1d
mov eax, 2
jmp 0x1404b0ecb
movzx eax, word [rsp + 0x50]
and rax, 0xff
movzx eax, al
movzx ecx, word [rsp + 0x38]
and rcx, 0xff
movzx ecx, cl
cmp eax, ecx
jne 0x1404b0d67
movzx eax, word [rsp + 0x50]
shr rax, 8
and rax, 0xff
movzx eax, al
movzx ecx, word [rsp + 0x38]
shr rcx, 8
and rcx, 0xff
movzx ecx, cl
cmp eax, ecx
je 0x1404b0d77
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 2
jmp 0x1404b0ecb
call fcn.1401df97f
mov dword [rsp + 0x1f8], eax
cmp dword [rsp + 0x1f8], 0
je 0x1404b0d99
mov eax, dword [rsp + 0x1f8]
jmp 0x1404b0ecb
lea rcx, str.iphlpapi.dll
call fcn.1401de5c0
mov qword [0x140823b50], rax
cmp qword [0x140823b50], 0
je 0x1404b0dec
lea rdx, str.if_nametoindex
mov rcx, qword [0x140823b50]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x200], rax
cmp qword [rsp + 0x200], 0
je 0x1404b0dec
mov rax, qword [rsp + 0x200]
mov qword [0x140823b30], rax
lea rcx, str.ws2_32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x1404b0e51
lea rdx, str.FreeAddrInfoExW
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140823b38], rax
lea rdx, str.GetAddrInfoExCancel
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140823b40], rax
lea rdx, str.GetAddrInfoExW
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140823b48], rax
mov dword [rsp + 0x20], 3
mov r9d, 2
xor r8d, r8d
xor edx, edx
mov ecx, 6
call fcn.1401ddc97
movzx eax, al
test eax, eax
je 0x1404b0e7e
mov byte [0x14082457c], 1
jmp 0x1404b0e85
mov byte [0x14082457c], 0
mov dword [rsp + 0x20], 3
mov r9d, 2
xor r8d, r8d
mov edx, 2
mov ecx, 6
call fcn.1401ddc97
movzx eax, al
test eax, eax
je 0x1404b0eb5
mov byte [0x140824571], 1
jmp 0x1404b0ebc
mov byte [0x140824571], 0
lea rcx, [0x140824580]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
xor eax, eax
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_accept
call fcn.1401ddb7f
mov rax, rdi
mov rcx, qword [rsp + 0x210]
xor rcx, rsp
call fcn.1401da763
add rsp, 0x220
pop rdi
ret
Function at 0x1401dbeb5
Capabilities:
Write file on windows

Disassembly:
jmp 0x1402e2b00
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0xe8
lea rbp, [rsp + 0x20]
lea rcx, reloc.WS2_32.dll_accept
call fcn.1401df641
nop
mov r9, qword [rbp + 0xf8]
mov r8, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
lea rsp, [rbp + 0xc8]
pop rdi
pop rbp
ret

Function at 0x1401dbf55
Capabilities:
Get geographical location

Disassembly:
jmp 0x140580dd4
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 0x140580e0e
xor r9d, r9d
mov dword [rsp + 0x60], r9d
jmp 0x140580e13
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 0x140580e5c
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 0x140580e5c
dec r8
sub rdx, 1
jne 0x140580e42
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret
Function at 0x1401dc1b7
Capabilities:
Query environment variable

Disassembly:
jmp 0x14048ddb0
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x30
call fcn.1401ddefe
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x80], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x80], 0
jne 0x14048ddee
mov eax, 1
jmp 0x14048de8f
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x80]
mov byte [rax + 0x12bf], 1
lea rcx, str.CURL_DEBUG
call fcn.1401d9070
test rax, rax
je 0x14048de25
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x80]
mov byte [rax + 0xa5e], 1
mov rax, qword [rsp + 0x40]
lea rcx, [0x1404904d0]
mov qword [rsp + 0x20], rcx
lea r9, [0x1401dee53]
lea r8, [0x1401d890e]
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.1401d9f4d
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x80]
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0xc20], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x88], rcx
mov rax, qword [rsp + 0x40]
add rax, 0x58
xor edx, edx
mov rcx, rax
call fcn.1401dba05
xor eax, eax
add rsp, 0x30
pop rdi
ret

Function at 0x1401dc35b
Capabilities:
Read file on windows

Disassembly:
jmp 0x1402e2a80
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0xe8
lea rbp, [rsp + 0x20]
lea rcx, reloc.WS2_32.dll_accept
call fcn.1401df641
nop
mov r9, qword [rbp + 0xf8]
mov r8, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
lea rsp, [rbp + 0xc8]
pop rdi
pop rbp
ret
Function at 0x1401dc388
Capabilities:
Hash data with crc32

Disassembly:
jmp 0x1402e49e0
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x198
lea rbp, [rsp + 0x20]
lea rcx, reloc.WS2_32.dll_accept
call fcn.1401df641
nop
mov eax, dword [rbp + 0x1a0]
not eax
mov dword [rbp + 0x1a0], eax
mov eax, dword [rbp + 0x1a0]
mov dword [rbp + 4], eax
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x28], rax
lea rax, [0x1405cd4a0]
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x198], 0
je 0x1402e4b26
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x198]
dec rax
mov qword [rbp + 0x198], rax
cmp qword [rbp + 0x158], 0
je 0x1402e4a7a
mov dword [rbp + 0x160], 1
jmp 0x1402e4a84
mov dword [rbp + 0x160], 0
cmp dword [rbp + 0x160], 0
je 0x1402e4b21
mov rax, qword [rbp + 0x28]
movzx eax, byte [rax]
mov byte [rbp + 0x154], al
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
movzx eax, byte [rbp + 0x154]
mov byte [rbp + 0x64], al
movzx eax, byte [rbp + 0x64]
cmp eax, 0x23
jne 0x1402e4afb
cmp qword [rbp + 0x198], 2
jb 0x1402e4afb
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movzx eax, byte [rcx + rax]
cmp eax, 0x23
jne 0x1402e4afb
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rbp + 0x28]
movzx eax, byte [rcx + rax]
cmp eax, 0x23
jne 0x1402e4afb
mov eax, dword [rbp + 0x1a0]
mov dword [rbp + 4], eax
mov eax, dword [rbp + 4]
shr eax, 8
mov ecx, dword [rbp + 4]
and ecx, 0xff
movzx edx, byte [rbp + 0x64]
xor ecx, edx
mov ecx, ecx
mov rdx, qword [rbp + 0x48]
xor eax, dword [rdx + rcx*4]
mov dword [rbp + 4], eax
jmp 0x1402e4a45
jmp 0x1402e4bc0
mov rax, qword [rbp + 0x28]
movzx eax, byte [rax]
mov byte [rbp + 0x154], al
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
movzx eax, byte [rbp + 0x154]
mov byte [rbp + 0x84], al
movzx eax, byte [rbp + 0x84]
test eax, eax
je 0x1402e4bc0
movzx eax, byte [rbp + 0x84]
cmp eax, 0x23
jne 0x1402e4b97
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movzx eax, byte [rcx + rax]
cmp eax, 0x23
jne 0x1402e4b97
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rbp + 0x28]
movzx eax, byte [rcx + rax]
cmp eax, 0x23
jne 0x1402e4b97
mov eax, dword [rbp + 0x1a0]
mov dword [rbp + 4], eax
mov eax, dword [rbp + 4]
shr eax, 8
mov ecx, dword [rbp + 4]
and ecx, 0xff
movzx edx, byte [rbp + 0x84]
xor ecx, edx
mov ecx, ecx
mov rdx, qword [rbp + 0x48]
xor eax, dword [rdx + rcx*4]
mov dword [rbp + 4], eax
jmp 0x1402e4b26
mov eax, dword [rbp + 4]
not eax
lea rsp, [rbp + 0x178]
pop rdi
pop rbp
ret
Function at 0x1401dc581
Capabilities:
Terminate process

Disassembly:
jmp 0x1405845fc
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov ecx, 1
call fcn.1401dfc36
test al, al
je 0x1405844eb
xor sil, sil
mov byte [rsp + 0x20], sil
call fcn.1401ddf17
mov bl, al
mov ecx, dword [0x140823d68]
cmp ecx, 1
je 0x1405844f6
test ecx, ecx
jne 0x140584421
mov dword [0x140823d68], 1
lea rdx, [0x1405a3b18]
lea rcx, [0x1405a37e8]
call fcn.1401da5fb
test eax, eax
je 0x140584402
mov eax, 0xff
jmp 0x1405844db
lea rdx, [0x1405a36d8]
lea rcx, [section..rdata]
call fcn.1401dde86
mov dword [0x140823d68], 2
jmp 0x140584429
mov sil, 1
mov byte [rsp + 0x20], sil
mov cl, bl
call fcn.1401ddaa3
call fcn.1401dcac7
mov rbx, rax
cmp qword [rax], 0
je 0x14058445c
mov rcx, rax
call fcn.1401d9836
test al, al
je 0x14058445c
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
mov rax, qword [rbx]
call qword [0x140857020]
call fcn.1401dd1d9
mov rbx, rax
cmp qword [rax], 0
je 0x14058447e
mov rcx, rax
call fcn.1401d9836
test al, al
je 0x14058447e
mov rcx, qword [rbx]
call fcn.1401df187
call fcn.1401d73e2
mov rdi, rax
call fcn.1401dd95e
mov rbx, qword [rax]
call fcn.1401dd0bc
mov r8, rdi
mov rdx, rbx
mov ecx, dword [rax]
call fcn.1401dc42d
mov ebx, eax
call fcn.1401dc6d5
test al, al
je 0x140584500
test sil, sil
jne 0x1405844b5
call fcn.1401df35d
xor edx, edx
mov cl, 1
call fcn.1401d9566
mov eax, ebx
jmp 0x1405844db
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov ecx, 7
call fcn.1401ddc5b
nop
mov ecx, 7
call fcn.1401ddc5b
mov ecx, ebx
call fcn.1401d6ac8
nop
mov ecx, ebx
call fcn.1401db749
nop
int3
sub rsp, 0x28
call fcn.1401dc842
add rsp, 0x28
jmp 0x140584394

Function at 0x1401dc6d5
Capabilities:
Parse pe header

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

Disassembly:
jmp 0x1404f09e0
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x30
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jne 0x1404f0a3f
mov rax, qword [rsp + 0x58]
mov r9, qword [rax]
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
lea rcx, str.ADDR__s:_d_getaddrinfo_____p_n
call fcn.1401dfbf0
nop
jmp 0x1404f0a56
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
lea rcx, str.ADDR__s:_d_getaddrinfo___failed_n
call fcn.1401dfbf0
nop
mov eax, dword [rsp + 0x20]
add rsp, 0x30
pop rdi
ret

Function at 0x1401dc9f5
Capabilities:
Create thread

Disassembly:
jmp 0x1404f0f00
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x40
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
xor edx, edx
xor ecx, ecx
call fcn.1401df529
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x1404f0f5b
mov ecx, 0xffffffff
call fcn.1401db10e
cmp qword [rsp + 0x30], rax
jne 0x1404f0f5f
xor eax, eax
jmp 0x1404f0f64
mov rax, qword [rsp + 0x30]
add rsp, 0x40
pop rdi
ret
Function at 0x1401dd98b
Capabilities:
Create process on windows

Disassembly:
jmp 0x140289440
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0xf8
lea rbp, [rsp + 0x30]
lea rcx, reloc.WS2_32.dll_accept
call fcn.1401df641
nop
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rbp + 0xe0]
lea rdx, [0x1405ccac0]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
nop
lea rsp, [rbp + 0xc8]
pop rdi
pop rbp
ret

Function at 0x1401ddbe8
Capabilities:
Convert ip address from string

Disassembly:
jmp 0x1404d6260
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x80
lea rdi, [rsp + 0x20]
mov ecx, 0x18
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x90]
mov rax, qword [0x140818ac0]
xor rax, rsp
mov qword [rsp + 0x70], rax
lea r8, [rsp + 0x24]
mov rdx, qword [rsp + 0x90]
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jg 0x1404d62cd
lea r8, [rsp + 0x48]
mov rdx, qword [rsp + 0x90]
mov ecx, reloc.WS2_32.dll_socket
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x1404d62d1
mov al, 1
jmp 0x1404d62d3
xor al, al
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_bind
call fcn.1401ddb7f
mov rax, rdi
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1401da763
add rsp, 0x80
pop rdi
ret
Function at 0x1401de29b
Capabilities:
Enumerate pe sections

Disassembly:
jmp 0x1405800d0
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
mov rdi, rdx
mov ecx, dword [rcx + 0x28]
cmp ecx, 0x40
jae 0x140580288
lea r8d, [rcx*8]
mov qword [rsp + 0x30], rsi
add qword [rbx], r8
mov byte [rcx + rbx + 0x2c], 0x80
mov eax, dword [rbx + 0x28]
inc eax
mov dword [rbx + 0x28], eax
cmp eax, 0x38
jbe 0x140580148
cmp eax, 0x40
jae 0x140580132
nop dword [rax]
nop word [rax + rax]
mov byte [rax + rbx + 0x2c], 0
mov eax, dword [rbx + 0x28]
inc eax
mov dword [rbx + 0x28], eax
cmp eax, 0x40
jb 0x140580120
lea rsi, [rbx + 0x2c]
mov rcx, rbx
mov rdx, rsi
call fcn.140580460
xor eax, eax
mov dword [rbx + 0x28], eax
jmp 0x140580150
lea rsi, [rbx + 0x2c]
jae 0x140580162
nop
mov byte [rax + rbx + 0x2c], 0
mov eax, dword [rbx + 0x28]
inc eax
mov dword [rbx + 0x28], eax
cmp eax, 0x38
jb 0x140580150
movzx eax, byte [rbx + 7]
mov rdx, rsi
mov byte [rbx + 0x64], al
mov rcx, rbx
movzx eax, byte [rbx + 6]
mov byte [rbx + 0x65], al
movzx eax, byte [rbx + 5]
mov byte [rbx + 0x66], al
movzx eax, byte [rbx + 4]
mov byte [rbx + 0x67], al
movzx eax, byte [rbx + 3]
mov byte [rbx + 0x68], al
movzx eax, byte [rbx + 2]
mov byte [rbx + 0x69], al
movzx eax, byte [rbx + 1]
mov byte [rbx + 0x6a], al
movzx eax, byte [rbx]
mov byte [rbx + 0x6b], al
call fcn.140580460
movzx eax, byte [rbx + 0xb]
mov byte [rdi], al
movzx eax, byte [rbx + 0xa]
mov byte [rdi + 1], al
movzx eax, byte [rbx + 9]
mov byte [rdi + 2], al
movzx eax, byte [rbx + 8]
mov byte [rdi + 3], al
movzx eax, byte [rbx + 0xf]
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 5], al
movzx eax, byte [rbx + 0xd]
mov byte [rdi + 6], al
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 7], al
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 8], al
movzx eax, byte [rbx + 0x12]
mov byte [rdi + 9], al
movzx eax, byte [rbx + 0x11]
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xb], al
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 0xc], al
movzx eax, byte [rbx + 0x16]
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xe], al
movzx eax, byte [rbx + 0x14]
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1b]
mov byte [rdi + 0x10], al
movzx eax, byte [rbx + 0x1a]
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x19]
mov byte [rdi + 0x12], al
movzx eax, byte [rbx + 0x18]
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x1f]
mov byte [rdi + 0x14], al
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x15], al
movzx eax, byte [rbx + 0x1d]
mov byte [rdi + 0x16], al
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x23]
mov byte [rdi + 0x18], al
movzx eax, byte [rbx + 0x22]
mov byte [rdi + 0x19], al
movzx eax, byte [rbx + 0x21]
mov byte [rdi + 0x1a], al
movzx eax, byte [rbx + 0x20]
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x27]
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x24]
mov rsi, qword [rsp + 0x30]
mov byte [rdi + 0x1f], al
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1401de46c
Capabilities:
Write file on windows

Disassembly:
jmp 0x140477840
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x40
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xa5e]
test eax, eax
je 0x14047794c
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x270], 0
je 0x1404778d6
mov rcx, qword [rsp + 0x50]
call fcn.1401dc734
mov byte [rsp + 0x30], al
mov dl, 1
mov rcx, qword [rsp + 0x50]
call fcn.1401dda58
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x1e8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x68]
mov r8, qword [rsp + 0x60]
mov edx, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
call qword [rax + 0x270]
movzx edx, byte [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
call fcn.1401dda58
nop
jmp 0x14047794c
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0
je 0x1404778f5
cmp dword [rsp + 0x34], 1
je 0x1404778f5
cmp dword [rsp + 0x34], 2
je 0x1404778f5
jmp 0x14047794c
movsxd rax, dword [rsp + 0x58]
imul rax, rax, 3
lea rcx, [0x14062ba60]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x50]
mov r9, qword [rcx + 0x1e0]
mov r8d, 1
mov edx, 2
mov rcx, rax
call fcn.1401dfc31
mov rax, qword [rsp + 0x50]
mov r9, qword [rax + 0x1e0]
mov r8d, 1
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
call fcn.1401dfc31
nop
add rsp, 0x40
pop rdi
ret