joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140057930
Capabilities:
Convert ip address from string

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rdi
sub rsp, 0xc0
lea rdi, [rsp + 0x20]
mov ecx, 0x28
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov ecx, dword [rsp + 0xd0]
mov rax, qword [0x14013be00]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x28], 0x1c
mov rcx, qword [rsp + 0xd8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0xd0]
and eax, 0xffff
mov word [rsp + 0xa4], ax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
lea rax, [rax + rcx + 0x31]
lea r9, [0x140119170]
mov r8d, 0x213
mov rdx, rax
mov ecx, 1
call fcn.140048f70
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x1400579d7
xor eax, eax
jmp 0x140057ada
mov eax, reloc.WS2_32.dll_socket
mov word [rsp + 0x48], ax
movzx ecx, word [rsp + 0xa4]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x4a], ax
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x60], 0
lea r8, [rsp + 0x88]
lea rdx, [0x140118f0c]
mov ecx, reloc.WS2_32.dll_socket
call qword [sym.imp.WS2_32.dll_inet_pton]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x20]
mov dword [rax], 0
mov rax, qword [rsp + 0x20]
mov dword [rax + 4], reloc.WS2_32.dll_socket
mov rax, qword [rsp + 0x20]
mov dword [rax + 8], 1
mov rax, qword [rsp + 0x20]
mov dword [rax + 0xc], 6
mov rax, qword [rsp + 0x20]
mov ecx, dword [rsp + 0x28]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x20]
mov qword [rax + 0x28], 0
mov rax, qword [rsp + 0x20]
add rax, 0x30
mov rcx, qword [rsp + 0x20]
mov qword [rcx + 0x20], rax
mov r8, qword [rsp + 0x28]
lea rdx, [rsp + 0x48]
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax + 0x20]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x20]
add rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov qword [rcx + 0x18], rax
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax + 0x18]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
mov rax, qword [rsp + 0x20]
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_bind
call fcn.1400d050c
mov rax, rdi
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1400d0280
add rsp, 0xc0
pop rdi
ret
Function at 0x140057b10
Capabilities:
Convert ip address from string

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rdi
sub rsp, 0xa0
lea rdi, [rsp + 0x20]
mov ecx, 0x20
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov ecx, dword [rsp + 0xb0]
mov rax, qword [0x14013be00]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x30], reloc.WS2_32.dll_recv
mov rcx, qword [rsp + 0xb8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0xb0]
and eax, 0xffff
mov word [rsp + 0x84], ax
mov r8d, reloc.WS2_32.dll_recv
xor edx, edx
lea rcx, [rsp + 0x48]
call sub.VCRUNTIME140.dll_memset
mov eax, 2
mov word [rsp + 0x48], ax
movzx ecx, word [rsp + 0x84]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x4a], ax
lea r8, [rsp + 0x74]
lea rdx, [0x1401191b8]
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jge 0x140057bcc
xor eax, eax
jmp 0x140057ceb
mov r8d, 4
lea rdx, [rsp + 0x74]
lea rcx, [rsp + 0x4c]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
lea rax, [rax + rcx + 0x31]
lea r9, [0x1401191d0]
mov r8d, 0x242
mov rdx, rax
mov ecx, 1
call fcn.140048f70
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140057c1e
xor eax, eax
jmp 0x140057ceb
mov rax, qword [rsp + 0x20]
mov dword [rax], 0
mov rax, qword [rsp + 0x20]
mov dword [rax + 4], 2
mov rax, qword [rsp + 0x20]
mov dword [rax + 8], 1
mov rax, qword [rsp + 0x20]
mov dword [rax + 0xc], 6
mov rax, qword [rsp + 0x20]
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x20]
add rax, 0x30
mov rcx, qword [rsp + 0x20]
mov qword [rcx + 0x20], rax
mov r8, qword [rsp + 0x30]
lea rdx, [rsp + 0x48]
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax + 0x20]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x20]
add rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
mov qword [rcx + 0x18], rax
mov rdx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax + 0x18]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
mov rdx, qword [rsp + 0xb8]
mov ecx, dword [rsp + 0xb0]
call fcn.140057930
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
jne 0x140057cd8
mov rax, qword [rsp + 0x20]
jmp 0x140057ceb
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov qword [rax + 0x28], rcx
mov rax, qword [rsp + 0x28]
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_bind
call fcn.1400d050c
mov rax, rdi
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400d0280
add rsp, 0xa0
pop rdi
ret
Function at 0x14006ad10
Capabilities:
Move file

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xd8
lea rdi, [rsp + 0x20]
mov ecx, 0x2e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xf0]
mov rax, qword [0x14013be00]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0x20], 0x3e8
lea rcx, [rsp + 0x78]
call fcn.14001c520
lea rcx, [rsp + 0x38]
mov rdi, rcx
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0xf0]
call fcn.1400712a0
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0xf8]
call fcn.1400712a0
mov qword [rsp + 0x60], rax
mov r8d, 1
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x14006adf7
cmp qword [rsp + 0x58], 0
je 0x14006adcb
mov rcx, qword [rsp + 0x58]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov qword [rsp + 0x58], 0
xor eax, eax
test eax, eax
jne 0x14006adb0
cmp qword [rsp + 0x60], 0
je 0x14006adec
mov rcx, qword [rsp + 0x60]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov qword [rsp + 0x60], 0
xor eax, eax
test eax, eax
jne 0x14006add1
jmp 0x14006aebb
lea rax, [rsp + 0xb0]
lea rcx, [rsp + 0x38]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x88]
call fcn.14001c520
lea rcx, [rsp + 0xa0]
mov rdi, rcx
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xa0]
call fcn.14001c630
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x68], 0
jl 0x14006ae61
movsxd rax, dword [rsp + 0x20]
cmp qword [rsp + 0x68], rax
jle 0x14006aeaa
cmp qword [rsp + 0x58], 0
je 0x14006ae7c
mov rcx, qword [rsp + 0x58]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov qword [rsp + 0x58], 0
xor eax, eax
test eax, eax
jne 0x14006ae61
cmp qword [rsp + 0x60], 0
je 0x14006ae9d
mov rcx, qword [rsp + 0x60]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov qword [rsp + 0x60], 0
xor eax, eax
test eax, eax
jne 0x14006ae82
mov eax, 1
jmp 0x14006aebd
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x14006ad96
xor eax, eax
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_accept
call fcn.1400d050c
mov rax, rdi
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1400d0280
add rsp, 0xd8
pop rdi
pop rsi
ret
Function at 0x14006c250
Capabilities:
Convert ip address from string

Disassembly:
mov dword [rsp + 0x10], edx
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 [0x14013be00]
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
jle 0x14006c2c6
mov r9d, dword [rsp + 0x98]
mov r8, qword [rsp + 0x90]
lea rdx, [rsp + 0x24]
mov ecx, 2
call fcn.14006c010
jmp 0x14006c305
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 0x14006c303
mov r9d, dword [rsp + 0x98]
mov r8, qword [rsp + 0x90]
lea rdx, [rsp + 0x48]
mov ecx, reloc.WS2_32.dll_socket
call fcn.14006c010
jmp 0x14006c305
xor eax, eax
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_bind
call fcn.1400d050c
mov rax, rdi
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400d0280
add rsp, 0x80
pop rdi
ret

Function at 0x14006c4d0
Capabilities:
Resolve dns

Disassembly:
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 0x14006c52f
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.140049540
nop
jmp 0x14006c546
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
lea rcx, str.ADDR__s:_d_getaddrinfo___failed_n
call fcn.140049540
nop
mov eax, dword [rsp + 0x20]
add rsp, 0x30
pop rdi
ret

Function at 0x14006c6a0
Capabilities:
Create thread

Disassembly:
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 sub.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x14006c6fb
mov ecx, 0xffffffff
call fcn.14006c7b0
cmp qword [rsp + 0x30], rax
jne 0x14006c6ff
xor eax, eax
jmp 0x14006c704
mov rax, qword [rsp + 0x30]
add rsp, 0x40
pop rdi
ret

Function at 0x140071820
Capabilities:
Generate random numbers via winapi

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x20
mov r8, qword [rsp + 0x38]
xor edx, edx
mov rcx, qword [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
mov r9d, 2
mov r8d, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
xor ecx, ecx
call sub.bcrypt.dll_BCryptGenRandom
test eax, eax
je 0x140071862
mov eax, 2
jmp 0x140071864
xor eax, eax
add rsp, 0x20
pop rdi
ret
Function at 0x140071870
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xb8
lea rdi, [rsp + 0x20]
mov ecx, 0x26
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xd0]
mov rax, qword [0x14013be00]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x20], 0
lea rcx, str.CURL_ENTROPY
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
je 0x140071989
movzx eax, byte [0x14013c044]
test eax, eax
jne 0x140071964
mov dword [rsp + 0x34], 0
mov rcx, qword [rsp + 0x28]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 4
mov rax, qword [rsp + 0x50]
cmp qword [rsp + 0x48], rax
jae 0x14007191d
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xa0], rax
jmp 0x14007192a
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x58], rax
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x34]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rsp + 0x34]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [0x14013c040], eax
mov byte [0x14013c044], 1
jmp 0x140071972
mov eax, dword [0x14013c040]
inc eax
mov dword [0x14013c040], eax
mov rax, qword [rsp + 0xd8]
mov ecx, dword [0x14013c040]
mov dword [rax], ecx
xor eax, eax
jmp 0x140071ad7
mov r8d, 4
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
call fcn.140029140
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 4
je 0x1400719b8
mov eax, dword [rsp + 0x20]
jmp 0x140071ad7
movzx eax, byte [0x14013c044]
test eax, eax
jne 0x1400719e9
mov edx, 4
mov rcx, qword [rsp + 0xd8]
call fcn.140071820
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 4
je 0x1400719e9
mov eax, dword [rsp + 0x20]
jmp 0x140071ad7
movzx eax, byte [0x14013c044]
test eax, eax
jne 0x140071a8d
lea rcx, [rsp + 0x90]
call fcn.14001c520
lea rcx, [rsp + 0x68]
mov rdi, rcx
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, str.WARNING:_using_weak_random_seed
mov rcx, qword [rsp + 0xd0]
call fcn.14003d050
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x70]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x14013c040]
add ecx, eax
mov eax, ecx
mov dword [0x14013c040], eax
imul eax, dword [0x14013c040], 0x41c64e6d
add eax, 0x3039
mov dword [0x14013c040], eax
imul eax, dword [0x14013c040], 0x41c64e6d
add eax, 0x3039
mov dword [0x14013c040], eax
imul eax, dword [0x14013c040], 0x41c64e6d
add eax, 0x3039
mov dword [0x14013c040], eax
mov byte [0x14013c044], 1
imul eax, dword [0x14013c040], 0x41c64e6d
add eax, 0x3039
mov dword [0x14013c040], eax
mov eax, dword [0x14013c040]
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x84]
shl eax, 0x10
mov ecx, dword [rsp + 0x84]
shr ecx, 0x10
and ecx, 0xffff
or eax, ecx
mov rcx, qword [rsp + 0xd8]
mov dword [rcx], eax
xor eax, eax
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_bind
call fcn.1400d050c
mov rax, rdi
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.1400d0280
add rsp, 0xb8
pop rdi
pop rsi
ret
Function at 0x140079760
Capabilities:
Create new key via cryptacquirecontext
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xd0
lea rdi, [rsp + 0x30]
mov ecx, 0x28
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x74], 0
mov dword [rsp + 0x94], 4
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0xb4], eax
mov r8, qword [rsp + 0xf8]
xor edx, edx
mov rcx, qword [rsp + 0xf0]
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0x20], 0xf0000040
mov r9d, dword [rsp + 0x100]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x140079808
jmp 0x1400798f4
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x140079833
jmp 0x1400798ca
xor r9d, r9d
mov r8d, dword [rsp + 0xe8]
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x140079857
jmp 0x1400798ca
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x94]
lea r8, [rsp + 0x74]
mov edx, 4
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x140079882
jmp 0x1400798ca
mov eax, dword [rsp + 0x74]
cmp qword [rsp + 0xf8], rax
jae 0x140079892
jmp 0x1400798ca
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0xb4]
mov r8, qword [rsp + 0xf0]
mov edx, 2
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
je 0x1400798c0
jmp 0x1400798ca
xor eax, eax
test eax, eax
jne 0x140079808
cmp qword [rsp + 0x58], 0
je 0x1400798de
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
nop
cmp qword [rsp + 0x38], 0
je 0x1400798f4
xor edx, edx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
nop
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_getpeername
call fcn.1400d050c
add rsp, 0xd0
pop rdi
ret
Function at 0x140079ae0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x40
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x34], 1
mov dword [rsp + 0x38], 0x8000
mov eax, dword [rsp + 0x34]
lea r9, [0x140125bf0]
mov r8d, 0x30
mov edx, eax
mov rcx, qword [rsp + 0x20]
call fcn.1400490e0
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
jne 0x140079b47
lea r8, [0x140125c40]
mov edx, 0x32
mov rcx, qword [rsp + 0x20]
call fcn.140049210
xor eax, eax
jmp 0x140079bbd
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x30], eax
mov r8d, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0
je 0x140079b8d
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x34], eax
je 0x140079b8d
mov eax, dword [rsp + 0x38]
cmp dword [rsp + 0x34], eax
jbe 0x140079ba7
lea r8, str.C:_vcpkg_buildtreescurl_srccurl_8_9_1_bb74e44024.cleanlibgetenv.c
mov edx, 0x3d
mov rcx, qword [rsp + 0x20]
call fcn.140049210
xor eax, eax
jmp 0x140079bbd
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x34], eax
jae 0x140079bb8
mov rax, qword [rsp + 0x20]
jmp 0x140079bbd
jmp 0x140079b03
add rsp, 0x40
pop rdi
ret
Function at 0x140090520
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x130
lea rdi, [rsp + 0x30]
mov ecx, 0x40
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x140]
mov rax, qword [0x14013be00]
xor rax, rsp
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x140]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x30], rax
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + rax + 0x220]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], 0xffffffffffffffff
mov dword [rsp + 0x104], 0x80
lea r8, [rsp + 0x104]
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x1400905ed
mov dword [rsp + 0x104], 0x80
lea rax, [0x140129790]
mov qword [rsp + 0x20], rax
mov r9d, 0x1be
lea r8, [rsp + 0x104]
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x38]
call fcn.140049770
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0xffffffffffffffff
jne 0x140090613
lea rdx, str.Error_accept__ing_server_connect
mov rcx, qword [rsp + 0x140]
call fcn.14003ce90
mov eax, 0x1e
jmp 0x14009071c
lea rdx, str.Connection_accepted_from_server
mov rcx, qword [rsp + 0x140]
call fcn.14003d050
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x3ad], 0
mov edx, 1
mov rcx, qword [rsp + 0x48]
call fcn.1400b1aa0
lea r9, [rsp + 0x48]
mov r8d, 1
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x140]
call fcn.14004af00
mov dword [rsp + 0x114], eax
cmp dword [rsp + 0x114], 0
je 0x140090692
lea r8, [0x140129820]
mov edx, 0x1ce
mov rcx, qword [rsp + 0x48]
call fcn.140049720
mov eax, dword [rsp + 0x114]
jmp 0x14009071c
mov rax, qword [rsp + 0x140]
cmp qword [rax + 0x280], 0
je 0x14009071a
mov dword [rsp + 0x118], 0
mov dl, 1
mov rcx, qword [rsp + 0x140]
call fcn.14000f000
mov r8d, 1
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x140]
mov rcx, qword [rax + 0x288]
mov rax, qword [rsp + 0x140]
call qword [rax + 0x280]
mov dword [rsp + 0x118], eax
xor edx, edx
mov rcx, qword [rsp + 0x140]
call fcn.14000f000
cmp dword [rsp + 0x118], 0
je 0x14009071a
mov rcx, qword [rsp + 0x140]
call fcn.140090340
mov eax, 0x2a
jmp 0x14009071c
xor eax, eax
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_closesocket
call fcn.1400d050c
mov rax, rdi
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.1400d0280
add rsp, 0x130
pop rdi
ret
Function at 0x140094410
Capabilities:
Check http status code

Disassembly:
mov byte [rsp + 0x18], r8b
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x30
mov dword [rsp + 0x20], 0
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x48]
cdq
mov ecx, 0x64
idiv ecx
cmp eax, 2
je 0x140094465
lea rdx, str.Couldnt_set_desired_mode
mov rcx, qword [rsp + 0x40]
call fcn.14003ce90
mov eax, reloc.WS2_32.dll_recvfrom
jmp 0x1400944f5
cmp dword [rsp + 0x48], 0xc8
je 0x140094486
mov r8d, dword [rsp + 0x48]
lea rdx, str.Got_a__03d_response_code_instead_of_the_assumed_200
mov rcx, qword [rsp + 0x40]
call fcn.14003d050
nop
movzx eax, byte [rsp + 0x50]
cmp eax, 0x13
jne 0x1400944a5
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
call fcn.140092650
mov dword [rsp + 0x20], eax
jmp 0x1400944f1
movzx eax, byte [rsp + 0x50]
cmp eax, 0x14
jne 0x1400944bf
mov rcx, qword [rsp + 0x40]
call fcn.140092710
mov dword [rsp + 0x20], eax
jmp 0x1400944f1
movzx eax, byte [rsp + 0x50]
cmp eax, 0x15
jne 0x1400944d9
mov rcx, qword [rsp + 0x40]
call fcn.140092a00
mov dword [rsp + 0x20], eax
jmp 0x1400944f1
movzx eax, byte [rsp + 0x50]
cmp eax, 0x16
jne 0x1400944f1
mov rcx, qword [rsp + 0x40]
call fcn.140092a30
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
add rsp, 0x30
pop rdi
ret
Function at 0x1400a5730
Capabilities:
Convert ip address from string

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x70
lea rdi, [rsp + 0x20]
mov ecx, reloc.WS2_32.dll_sendto
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0x24], 0
mov dword [rsp + 0x44], 0
cmp dword [rsp + 0x90], 0x20
jbe 0x1400a577e
xor al, al
jmp 0x1400a586e
lea r8, [rsp + 0x24]
mov rdx, qword [rsp + 0x80]
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
je 0x1400a57a2
xor al, al
jmp 0x1400a586e
lea r8, [rsp + 0x44]
mov rdx, qword [rsp + 0x88]
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
je 0x1400a57c6
xor al, al
jmp 0x1400a586e
cmp dword [rsp + 0x90], 0
je 0x1400a5834
cmp dword [rsp + 0x90], 0x20
je 0x1400a5834
mov eax, 0x20
sub eax, dword [rsp + 0x90]
mov ecx, 0xffffffff
mov dword [rsp + 0x60], ecx
movzx ecx, al
mov eax, dword [rsp + 0x60]
shl eax, cl
mov dword [rsp + 0x54], eax
mov ecx, dword [rsp + 0x24]
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x58], eax
mov ecx, dword [rsp + 0x44]
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x58]
xor ecx, eax
mov eax, ecx
and eax, dword [rsp + 0x54]
test eax, eax
je 0x1400a5830
xor al, al
jmp 0x1400a586e
mov al, 1
jmp 0x1400a586e
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x24], eax
jne 0x1400a5848
mov dword [rsp + 0x64], 1
jmp 0x1400a5850
mov dword [rsp + 0x64], 0
cmp dword [rsp + 0x64], 0
jne 0x1400a5861
mov dword [rsp + 0x68], 0
jmp 0x1400a5869
mov dword [rsp + 0x68], 1
movzx eax, byte [rsp + 0x68]
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_bind
call fcn.1400d050c
mov rax, rdi
add rsp, 0x70
pop rdi
ret
Function at 0x1400a5890
Capabilities:
Convert ip address from string

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xa0
lea rdi, [rsp + 0x20]
mov ecx, 0x20
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xb0]
mov rax, qword [0x14013be00]
xor rax, rsp
mov qword [rsp + 0x90], rax
cmp dword [rsp + 0xc0], 0
jne 0x1400a58e7
mov dword [rsp + 0xc0], 0x80
xor edx, edx
mov eax, dword [rsp + 0xc0]
mov ecx, 8
div ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0xc0]
and eax, 7
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x20], 0x10
ja 0x1400a591e
cmp dword [rsp + 0x20], 0x10
jne 0x1400a5925
cmp dword [rsp + 0x24], 0
je 0x1400a5925
xor al, al
jmp 0x1400a59c5
lea r8, [rsp + 0x38]
mov rdx, qword [rsp + 0xb0]
mov ecx, reloc.WS2_32.dll_socket
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
je 0x1400a5946
xor al, al
jmp 0x1400a59c5
lea r8, [rsp + 0x68]
mov rdx, qword [rsp + 0xb8]
mov ecx, reloc.WS2_32.dll_socket
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
je 0x1400a5967
xor al, al
jmp 0x1400a59c5
cmp dword [rsp + 0x20], 0
je 0x1400a598c
mov eax, dword [rsp + 0x20]
mov r8d, eax
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x38]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400a598c
xor al, al
jmp 0x1400a59c5
cmp dword [rsp + 0x24], 0
je 0x1400a59c3
mov eax, dword [rsp + 0x20]
movzx eax, byte [rsp + rax + 0x38]
mov ecx, dword [rsp + 0x20]
movzx ecx, byte [rsp + rcx + 0x68]
xor eax, ecx
mov ecx, 8
sub ecx, dword [rsp + 0x24]
mov edx, 0xff
shl edx, cl
mov ecx, edx
and eax, ecx
test eax, eax
jne 0x1400a59c3
xor al, al
jmp 0x1400a59c5
mov al, 1
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_bind
call fcn.1400d050c
mov rax, rdi
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400d0280
add rsp, 0xa0
pop rdi
ret