joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1401552d0
Capabilities:
Allocate thread local storage

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rsi, rcx
cmp qword [rcx], 0
je 0x140155355
mov dword [rsp + 0x2c], 0
lea rbx, [rsi + 0x10]
lea r8, [rsp + 0x2c]
mov rcx, rbx
xor edx, edx
xor r9d, r9d
call sub.kernel32.dll_InitOnceBeginInitialize
mov dword [rsp + 0x28], eax
cmp eax, 1
jne 0x140155396
cmp dword [rsp + 0x2c], 0
je 0x14015537a
call sub.kernel32.dll_TlsAlloc
cmp eax, 0xffffffff
je 0x1401553be
mov edi, eax
inc eax
mov dword [rsi + 0x18], eax
mov rax, qword [0x14038d268]
nop
mov qword [rsi + 8], rax
lock cmpxchg qword [0x14038d268], rsi
jne 0x140155330
mov byte [0x14038d260], 1
mov rcx, rbx
xor edx, edx
xor r8d, r8d
call sub.kernel32.dll_InitOnceComplete
jmp 0x14015538c
call sub.kernel32.dll_TlsAlloc
mov dword [rsp + 0x28], eax
cmp eax, 0xffffffff
je 0x14015540a
mov ecx, eax
inc ecx
xor eax, eax
lock cmpxchg dword [rsi + 0x18], ecx
jne 0x14015537f
mov edi, dword [rsp + 0x28]
jmp 0x14015538c
mov edi, dword [rsi + 0x18]
jmp 0x14015538a
mov edi, eax
mov ecx, dword [rsp + 0x28]
call sub.kernel32.dll_TlsFree
dec edi
mov eax, edi
add rsp, 0x60
pop rbx
pop rdi
pop rsi
ret
mov qword [rsp + 0x30], 0
lea rdx, [0x14031cb08]
lea r9, str.library_std_src_syswindows_thread_local_key.rs
lea rcx, [rsp + 0x28]
lea r8, [rsp + 0x30]
call fcn.140155470
ud2
mov rcx, rbx
mov edx, 4
xor r8d, r8d
call sub.kernel32.dll_InitOnceComplete
lea rax, str.out_of_TLS_indexes
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
lea rax, str._rustc_cc66ad468955717ab92600c770da8c1601a4ff33librarycore_src_fmtmod.rs
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rdx, str.library_std_src_syswindows_thread_local_key.rs
lea rcx, [rsp + 0x30]
call fcn.14004f100
ud2
lea rax, str.out_of_TLS_indexes
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
lea rax, str._rustc_cc66ad468955717ab92600c770da8c1601a4ff33librarycore_src_fmtmod.rs
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x30]
call fcn.1401554b0
ud2

Function at 0x140155ad0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov ecx, dword [0x1402651b8]
test ecx, ecx
je 0x140155b6f
dec ecx
call fcn.1401b7924
cmp rax, 1
jbe 0x140155af9
mov rsi, rax
cmp byte [rax + 8], 0
jne 0x140155b5e
mov ecx, dword [0x1402651b8]
test ecx, ecx
je 0x140155b82
dec ecx
call fcn.1401b7924
cmp rax, 1
je 0x140155b64
mov rsi, rax
test rax, rax
jne 0x140155b58
movzx eax, byte [0x14038d300]
mov ecx, 0x10
mov edx, 8
call fcn.14002a350
test rax, rax
je 0x140155ba5
mov rsi, rax
lea rax, [0x1402651a0]
mov qword [rsi], rax
mov byte [rsi + 8], 0
mov ecx, dword [0x1402651b8]
test ecx, ecx
je 0x140155b95
dec ecx
mov rdx, rsi
call fcn.1401b792c
mov word [rsi + 8], 1
add rsi, 9
jmp 0x140155b66
xor esi, esi
mov rax, rsi
add rsp, 0x20
pop rsi
ret
lea rcx, [0x1402651a0]
call fcn.1401552d0
mov ecx, eax
jmp 0x140155ae5
lea rcx, [0x1402651a0]
call fcn.1401552d0
mov ecx, eax
jmp 0x140155b05
lea rcx, [0x1402651a0]
call fcn.1401552d0
mov ecx, eax
jmp 0x140155b50
mov ecx, 8
mov edx, 0x10
call fcn.14004a310
ud2
Function at 0x140156550
Capabilities:
Write file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov rdi, rdx
mov rsi, rcx
movups xmm0, xmmword [0x14031c220]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r9, rax
cmovb rax, r9
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rcx, rdx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call sub.ntdll.dll_NtWriteFile
cmp eax, 0x103
jne 0x1401565c1
mov rcx, rdi
mov edx, 0xffffffff
call sub.kernel32.dll_WaitForSingleObject
mov eax, dword [rsp + 0x60]
cmp eax, 0x103
je 0x1401565f7
test eax, eax
js 0x1401565d2
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x1401565ea
mov ecx, eax
call sub.ntdll.dll_RtlNtStatusToDosError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
add rsp, 0xa8
pop rdi
pop rsi
ret
mov byte [rsp + 0x5c], 0
mov dword [rsp + 0x58], 0
lea rax, [0x14031c288]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x78]
call fcn.1401546b0
mov rcx, rax
call fcn.140154790
mov ecx, 7
int 0x29
ud2

Function at 0x140156a70
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov ecx, dword [0x140265178]
test ecx, ecx
je 0x140156b2d
dec ecx
call fcn.1401b7924
cmp rax, 1
jbe 0x140156aa0
cmp qword [rax + 8], 0
je 0x140156aa0
add rax, 0x10
jmp 0x140156b27
mov ecx, dword [0x140265178]
test ecx, ecx
je 0x140156b40
dec ecx
call fcn.1401b7924
cmp rax, 1
je 0x140156b25
mov rsi, rax
test rax, rax
jne 0x140156b0b
movzx eax, byte [0x14038d300]
mov ecx, 0x20
mov edx, 8
call fcn.14002a350
test rax, rax
je 0x140156b63
mov rsi, rax
lea rax, [0x140265160]
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x140265178]
test ecx, ecx
je 0x140156b53
dec ecx
mov rdx, rsi
call fcn.1401b792c
mov qword [rsi + 8], 1
lea rax, [rsi + 0x10]
mov qword [rsi + 0x10], 0
mov byte [rsi + 0x18], 0
jmp 0x140156b27
xor eax, eax
add rsp, 0x20
pop rsi
ret
lea rcx, [0x140265160]
call fcn.1401552d0
mov ecx, eax
jmp 0x140156a85
lea rcx, [0x140265160]
call fcn.1401552d0
mov ecx, eax
jmp 0x140156ab0
lea rcx, [0x140265160]
call fcn.1401552d0
mov ecx, eax
jmp 0x140156b03
mov ecx, 8
mov edx, 0x20
call fcn.14004a310
ud2
Function at 0x140157d50
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x468
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], 2
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x20], rax
xor esi, esi
mov r14d, 0xffffffff
xor edi, edi
xor r15d, r15d
cmp r8, 0x201
jae 0x140157dd0
jmp 0x140157dbf
jae 0x140157e74
cmp r8, 0x201
jae 0x140157dd0
mov r12d, 0x200
lea r13, [rsp + 0x68]
mov rbp, r8
jmp 0x140157e17
sub r8, r15
sub rdi, r15
cmp rdi, r8
jae 0x140157df7
lea rcx, [rsp + 0x30]
mov rdx, r15
call fcn.1401578b0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov rsi, qword [rsp + 0x38]
cmp rsi, r14
mov r15d, 0xffffffff
cmovb r15, rsi
mov qword [rsp + 0x40], r15
mov rdi, rsi
mov r12, r15
mov r13, qword [rsp + 0x20]
mov rbp, r15
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov ecx, ebp
mov rdx, r13
call sub.kernel32.dll_GetCurrentDirectoryW
mov ebx, eax
test eax, eax
jne 0x140157e3b
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x140157ec9
mov r8d, ebx
cmp rbp, r8
jne 0x140157db0
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x140157ee9
add rbp, rbp
cmp rbp, r14
cmovae rbp, r14
mov r8, rbp
cmp r8, 0x201
jb 0x140157dbf
jmp 0x140157dd0
cmp r12, r8
jb 0x140157f03
lea rcx, [rsp + 0x48]
mov rdx, r13
call fcn.140158840
movups xmm0, xmmword [rsp + 0x48]
movups xmm1, xmmword [rsp + 0x58]
mov rax, qword [rsp + 0x28]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
test rsi, rsi
je 0x140157eb4
mov edx, 2
mov rcx, qword [rsp + 0x20]
call fcn.14002a3e0
nop
add rsp, 0x468
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0x28]
mov qword [rcx], rax
mov byte [rcx + 0x18], 2
test rsi, rsi
jne 0x140157ea5
jmp 0x140157eb4
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.140050c60
jmp 0x140157f18
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r12
mov r8, rax
call fcn.140050440
ud2
Function at 0x14015a010
Capabilities:
Read file via mapping

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
mov rax, r8
mov rdi, rcx
mov dword [rsp + 0x60], 0
mov word [rsp + 0x64], 0
mov dword [rsp + 0x40], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], 7
mov byte [rsp + 0x60], 1
lea r8, [rsp + 0x40]
mov rcx, rdx
mov rdx, rax
call fcn.140172d10
mov rsi, rdx
test rax, rax
je 0x14015a0bf
mov eax, esi
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x14015a0b3
test rax, rax
je 0x14015a0b3
mov rax, rsi
dec rsi
mov rbx, qword [rax - 1]
mov r14, qword [rax + 7]
mov rcx, rbx
call qword [r14]
cmp qword [r14 + 8], 0
je 0x14015a0a6
mov rdx, qword [r14 + 0x10]
mov rcx, rbx
call fcn.14002a3e0
mov edx, 8
mov rcx, rsi
call fcn.14002a3e0
mov qword [rdi], 0
jmp 0x14015a21f
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.140172f20
cmp dword [rsp + 0x40], 2
jne 0x14015a13d
mov rax, qword [rsp + 0x48]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x14015a11e
test rcx, rcx
je 0x14015a11e
lea rbx, [rax - 1]
mov r14, qword [rax - 1]
mov r15, qword [rax + 7]
mov rcx, r14
call qword [r15]
cmp qword [r15 + 8], 0
je 0x14015a111
mov rdx, qword [r15 + 0x10]
mov rcx, r14
call fcn.14002a3e0
mov edx, 8
mov rcx, rbx
call fcn.14002a3e0
mov qword [rdi], 0
mov rcx, rsi
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp sub.kernel32.dll_CloseHandle
mov r12, qword [rsp + 0x78]
test rsi, rsi
je 0x14015a18f
mov qword [rsp + 0x40], 0
call sub.kernel32.dll_GetCurrentProcess
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x40]
mov rcx, rax
mov rdx, rsi
mov r8, rax
call sub.kernel32.dll_DuplicateHandle
test eax, eax
je 0x14015a20b
mov rbx, qword [rsp + 0x40]
jmp 0x14015a191
xor ebx, ebx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rbx
xor edx, edx
mov r8d, 2
xor r9d, r9d
call sub.kernel32.dll_CreateFileMappingA
test rax, rax
je 0x14015a1fa
mov r14, rax
mov qword [rsp + 0x20], r12
mov rcx, rax
mov edx, 4
xor r8d, r8d
xor r9d, r9d
call sub.kernel32.dll_MapViewOfFile
mov r15, rax
mov rcx, r14
call sub.kernel32.dll_CloseHandle
test r15, r15
je 0x14015a1fa
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r12
mov qword [rdi], 1
jmp 0x14015a217
mov qword [rdi], 0
mov rcx, rbx
call sub.kernel32.dll_CloseHandle
jmp 0x14015a217
call sub.kernel32.dll_GetLastError
mov qword [rdi], 0
mov rcx, rsi
call sub.kernel32.dll_CloseHandle
nop
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x140175fe0
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov rdi, rdx
mov rsi, rcx
movups xmm0, xmmword [0x14031c220]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r9, rax
cmovb rax, r9
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rcx, rdx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call sub.ntdll.dll_NtReadFile
cmp eax, 0x103
jne 0x14017604a
mov rcx, rdi
mov edx, 0xffffffff
call sub.kernel32.dll_WaitForSingleObject
mov eax, dword [rsp + 0x60]
cmp eax, 0xc0000011
jne 0x140176059
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
jmp 0x140176090
cmp eax, 0x103
je 0x14017609a
test eax, eax
js 0x140176076
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
mov qword [rsi], 0
jmp 0x140176090
mov ecx, eax
call sub.ntdll.dll_RtlNtStatusToDosError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
add rsp, 0xa8
pop rdi
pop rsi
ret
mov byte [rsp + 0x5c], 0
mov dword [rsp + 0x58], 0
lea rax, [0x14031c288]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x78]
call fcn.1401546b0
mov rcx, rax
call fcn.140154790
mov ecx, 7
int 0x29
ud2
Function at 0x1401764c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4f0
mov rbx, rdx
mov rsi, rcx
mov eax, dword [rdx + 0x10]
movzx ebp, word [rdx + 0x40]
movzx r15d, word [rdx + 0x42]
movzx r12d, word [rdx + 0x44]
mov dword [rdx + 0x10], 0
cmp eax, 1
jne 0x14017651c
mov r14, qword [rbx]
cmp bp, 0x2e
jne 0x140176611
test r15w, r15w
je 0x14017651c
cmp r15w, 0x2e
jne 0x140176611
test r12w, r12w
jne 0x140176611
lea r14, [rsp + 0x80]
mov r8d, 0x250
mov rcx, r14
xor edx, edx
call sub.msvcrt.dll_memset
mov rdi, qword [rbx + 8]
mov rcx, rdi
mov rdx, r14
call sub.kernel32.dll_FindNextFileW
test eax, eax
je 0x1401765f7
mov r14, qword [rbx]
lea rbx, [rsp + 0x80]
jmp 0x140176573
mov rcx, rdi
mov rdx, rbx
call sub.kernel32.dll_FindNextFileW
test eax, eax
je 0x1401765f7
cmp word [rsp + 0xac], 0x2e
jne 0x14017659c
movzx eax, word [rsp + 0xae]
test ax, ax
je 0x140176560
cmp ax, 0x2e
jne 0x14017659c
cmp word [rsp + 0xb0], 0
je 0x140176560
lock inc qword [r14]
jle 0x1401766f9
mov rdi, qword [rsp + 0x80]
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [rsp + 0x98]
movaps xmmword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x40], eax
movzx ebp, word [rsp + 0xac]
movzx r15d, word [rsp + 0xae]
movzx r12d, word [rsp + 0xb0]
lea rdx, [rsp + 0xb2]
jmp 0x14017663c
call sub.kernel32.dll_GetLastError
cmp eax, 0x12
jne 0x140176688
mov qword [rsi], 0
jmp 0x1401766e7
lock inc qword [r14]
jle 0x1401766f9
lea rdx, [rbx + 0x46]
mov rdi, qword [rbx + 0x14]
mov eax, dword [rbx + 0x3c]
mov dword [rsp + 0x40], eax
movups xmm0, xmmword [rbx + 0x2c]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rbx + 0x1c]
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x2d2]
mov r8d, 0x21e
call sub.msvcrt.dll_memcpy
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x70], eax
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x2d2]
mov r8d, 0x21e
call sub.msvcrt.dll_memcpy
jmp 0x14017669a
call sub.kernel32.dll_GetLastError
mov edi, eax
shl rdi, 0x20
or rdi, 2
xor r14d, r14d
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x18], xmm0
movups xmmword [rsi + 0x28], xmm1
mov eax, dword [rsp + 0x70]
mov dword [rsi + 0x38], eax
mov word [rsi + 0x3c], bp
mov word [rsi + 0x3e], r15w
mov word [rsi + 0x40], r12w
lea rcx, [rsi + 0x42]
lea rdx, [rsp + 0x80]
mov r8d, 0x21e
call sub.msvcrt.dll_memcpy
mov qword [rsi], 1
add rsp, 0x4f0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
ud2
Function at 0x140179680
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov ecx, dword [0x1402651d8]
test ecx, ecx
je 0x140179774
dec ecx
call fcn.1401b7924
cmp rax, 1
jbe 0x1401796b4
mov rdi, rax
cmp qword [rax + 8], 0
je 0x1401796b4
add rdi, 0x10
jmp 0x14017976a
mov ecx, dword [0x1402651d8]
test ecx, ecx
je 0x140179787
dec ecx
call fcn.1401b7924
cmp rax, 1
je 0x140179768
mov rsi, rax
test rax, rax
jne 0x140179737
mov qword [rsp + 0x28], 0
lea rax, [0x1402651c0]
mov qword [rsp + 0x20], rax
movzx eax, byte [0x14038d300]
mov ecx, 0x18
mov edx, 8
call fcn.14002a350
test rax, rax
je 0x1401797aa
mov rsi, rax
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi], xmm0
mov ecx, dword [0x1402651d8]
test ecx, ecx
je 0x14017979a
dec ecx
mov rdx, rsi
call fcn.1401b792c
lea rdi, [rsi + 0x10]
mov rcx, qword [rsi + 0x10]
cmp qword [rsi + 8], 0
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], 0
je 0x14017976a
test rcx, rcx
je 0x14017976a
lock dec qword [rcx]
jne 0x14017976a
call fcn.1401797e0
jmp 0x14017976a
xor edi, edi
mov rax, rdi
add rsp, 0x38
pop rdi
pop rsi
ret
lea rcx, [0x1402651c0]
call fcn.1401552d0
mov ecx, eax
jmp 0x140179696
lea rcx, [0x1402651c0]
call fcn.1401552d0
mov ecx, eax
jmp 0x1401796c4
lea rcx, [0x1402651c0]
call fcn.1401552d0
mov ecx, eax
jmp 0x14017972f
mov ecx, 8
mov edx, 0x18
call fcn.14004a310
ud2
Function at 0x14017a180
Capabilities:
Resolve dns

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1e0
mov rsi, rcx
mov r14, qword [rdx]
mov rbx, qword [rdx + 8]
movzx edi, word [rdx + 0x10]
mov rax, qword [0x14038d238]
cmp rax, 3
jne 0x14017a347
cmp rbx, 0x17f
ja 0x14017a359
lea r15, [rsp + 0x60]
mov rcx, r15
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov byte [rsp + rbx + 0x60], 0
lea rax, [rbx + 1]
cmp rbx, 0xe
ja 0x14017a1f8
xor edx, edx
nop
cmp byte [rsp + rdx + 0x60], 0
je 0x14017a2b4
inc rdx
cmp rax, rdx
jne 0x14017a1e0
jmp 0x14017a30e
lea rcx, [rsp + 0x67]
and rcx, 0xfffffffffffffff8
sub rcx, r15
je 0x14017a22e
je 0x14017a22e
xor edx, edx
nop word [rax + rax]
cmp byte [rsp + rdx + 0x60], 0
je 0x14017a2b4
inc rdx
cmp rcx, rdx
jne 0x14017a210
lea rdx, [rbx - 0xf]
cmp rcx, rdx
jbe 0x14017a234
jmp 0x14017a285
lea rdx, [rbx - 0xf]
xor ecx, ecx
movabs r8, 0xfefefefefefefeff
movabs r9, 0x8080808080808080
nop dword [rax + rax]
mov r10, qword [rsp + rcx + 0x60]
mov r11, r10
not r11
add r10, r8
and r11, r9
test r11, r10
jne 0x14017a285
mov r10, qword [rsp + rcx + 0x68]
mov r11, r10
not r11
add r10, r8
and r11, r9
test r11, r10
jne 0x14017a285
add rcx, 0x10
cmp rcx, rdx
jbe 0x14017a250
sub rax, rcx
je 0x14017a30e
lea r8, [rsp + rcx]
add r8, 0x60
xor edx, edx
nop dword [rax + rax]
cmp byte [r8 + rdx], 0
je 0x14017a2b1
inc rdx
cmp rax, rdx
jne 0x14017a2a0
jmp 0x14017a30e
add rdx, rcx
cmp rdx, rbx
jne 0x14017a30e
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x60]
lea r8, [rsp + 0x30]
lea r9, [rsp + 0x28]
xor edx, edx
call sub.ws2_32.dll_getaddrinfo
test eax, eax
je 0x14017a322
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
jmp 0x14017a335
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x14017a338
mov rax, qword [rsp + 0x28]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], di
xor eax, eax
mov qword [rsi], rax
add rsp, 0x1e0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call fcn.14017a7b0
cmp rbx, 0x17f
jbe 0x14017a1ba
mov rcx, rsi
mov rdx, r14
mov r8, rbx
mov r9d, edi
add rsp, 0x1e0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp 0x14017a810
push r14
Function at 0x14017a810
Capabilities:
Resolve dns

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x1e0
mov rsi, rcx
mov r14, qword [rdx]
mov rbx, qword [rdx + 8]
movzx edi, word [rdx + 0x10]
mov rax, qword [0x14038d238]
cmp rax, 3
jne 0x14017a347
cmp rbx, 0x17f
ja 0x14017a359
lea r15, [rsp + 0x60]
mov rcx, r15
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov byte [rsp + rbx + 0x60], 0
lea rax, [rbx + 1]
cmp rbx, 0xe
ja 0x14017a1f8
xor edx, edx
nop
cmp byte [rsp + rdx + 0x60], 0
je 0x14017a2b4
inc rdx
cmp rax, rdx
jne 0x14017a1e0
jmp 0x14017a30e
lea rcx, [rsp + 0x67]
and rcx, 0xfffffffffffffff8
sub rcx, r15
je 0x14017a22e
je 0x14017a22e
xor edx, edx
nop word [rax + rax]
cmp byte [rsp + rdx + 0x60], 0
je 0x14017a2b4
inc rdx
cmp rcx, rdx
jne 0x14017a210
lea rdx, [rbx - 0xf]
cmp rcx, rdx
jbe 0x14017a234
jmp 0x14017a285
lea rdx, [rbx - 0xf]
xor ecx, ecx
movabs r8, 0xfefefefefefefeff
movabs r9, 0x8080808080808080
nop dword [rax + rax]
mov r10, qword [rsp + rcx + 0x60]
mov r11, r10
not r11
add r10, r8
and r11, r9
test r11, r10
jne 0x14017a285
mov r10, qword [rsp + rcx + 0x68]
mov r11, r10
not r11
add r10, r8
and r11, r9
test r11, r10
jne 0x14017a285
add rcx, 0x10
cmp rcx, rdx
jbe 0x14017a250
sub rax, rcx
je 0x14017a30e
lea r8, [rsp + rcx]
add r8, 0x60
xor edx, edx
nop dword [rax + rax]
cmp byte [r8 + rdx], 0
je 0x14017a2b1
inc rdx
cmp rax, rdx
jne 0x14017a2a0
jmp 0x14017a30e
add rdx, rcx
cmp rdx, rbx
jne 0x14017a30e
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x60]
lea r8, [rsp + 0x30]
lea r9, [rsp + 0x28]
xor edx, edx
call sub.ws2_32.dll_getaddrinfo
test eax, eax
je 0x14017a322
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
jmp 0x14017a335
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x14017a338
mov rax, qword [rsp + 0x28]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], di
xor eax, eax
mov qword [rsi], rax
add rsp, 0x1e0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call fcn.14017a7b0
cmp rbx, 0x17f
jbe 0x14017a1ba
mov rcx, rsi
mov rdx, r14
mov r8, rbx
mov r9d, edi
add rsp, 0x1e0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp 0x14017a810
push r14
Function at 0x1401818e0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rsi
push rdi
sub rsp, 0x88
movdqa xmmword [rsp + 0x70], xmm6
mov rsi, rcx
lea rcx, [rsp + 0x40]
call fcn.1401572f0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
test rcx, rcx
je 0x140181955
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x58]
call fcn.140181a60
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x140181963
movdqu xmm6, xmmword [rsp + 0x30]
mov rcx, rdi
call sub.kernel32.dll_GetFileAttributesW
cmp eax, 0xffffffff
je 0x140181983
mov qword [rsi], rdi
movdqu xmmword [rsi + 8], xmm6
jmp 0x140181974
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
call fcn.1401574a0
mov qword [rsi], 0
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rdi
pop rsi
ret
mov qword [rsi], 0
movq rax, xmm6
test rax, rax
je 0x140181974
mov edx, 2
mov rcx, rdi
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rdi
pop rsi
jmp fcn.14002a3e0
Function at 0x140183290
Capabilities:
Create thread

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rdi, r8
mov rbx, rdx
mov r14, rcx
movzx eax, byte [0x14038d300]
mov ecx, 0x10
mov edx, 8
call fcn.14002a350
test rax, rax
je 0x140183347
mov rsi, rax
mov qword [rax], rbx
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x140183620]
xor edi, edi
xor ecx, ecx
mov rdx, r14
mov r9, rax
call sub.kernel32.dll_CreateThread
mov rdx, rax
test rax, rax
jne 0x14018333a
mov rdi, qword [rsi]
mov rbx, qword [rsi + 8]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x140183319
mov rdx, qword [rbx + 0x10]
mov rcx, rdi
call fcn.14002a3e0
mov edx, 8
mov rcx, rsi
call fcn.14002a3e0
call sub.kernel32.dll_GetLastError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov edi, 1
mov rax, rdi
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
ret
mov ecx, 8
mov edx, 0x10
call fcn.14004a310
ud2