joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001b270
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rdi, rcx
mov rsi, qword [rcx + 0x18]
mov byte [rsi + 0x6b], dl
cmp byte [rsi + 0x66], 0
je 0x14001b347
mov rcx, qword [rsi + 0x70]
movzx eax, byte [rsi + 0x64]
and al, 0x18
test rcx, rcx
je 0x14001b2b4
nop word [rax + rax]
movzx edx, byte [rcx + 9]
and dl, 0xc0
or dl, al
mov byte [rcx + 9], dl
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14001b2a0
xorps xmm0, xmm0
movups xmmword [rsi + 0xc0], xmm0
mov qword [rsi + 0xd0], 0
mov rcx, qword [rsi + 0x80]
test rcx, rcx
je 0x14001b2f4
nop word cs:[rax + rax]
nop
movzx edx, byte [rcx + 9]
and dl, 0xc0
or dl, al
mov byte [rcx + 9], dl
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14001b2e0
mov rcx, qword [rsi + 0xb0]
test rcx, rcx
je 0x14001b314
movzx edx, byte [rcx + 9]
and dl, 0xc0
or dl, al
mov byte [rcx + 9], dl
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14001b300
xorps xmm0, xmm0
movups xmmword [rsi + 0xe0], xmm0
mov qword [rsi + 0xf0], 0
mov word [rsi + 0x65], 8
mov qword [rsi + 0x28], 0
mov rcx, rdi
mov rdx, rsi
call fcn.14001a220
jmp 0x14001b491
movzx eax, byte [rsi + 0x65]
mov rbx, rsi
cmp al, 2
ja 0x14001b3cb
mov byte [rsi + 0x65], 3
lea rbx, [rsi + 0x70]
jmp 0x14001b371
mov rdx, rbx
xor eax, eax
test rax, rax
cmove rdx, rax
cmp rdx, rbx
jne 0x14001b3bf
mov rdx, qword [rbx]
test rdx, rdx
je 0x14001b360
mov rax, qword [rdi + 0x18]
movzx eax, byte [rax + 0x64]
mov r8d, eax
xor r8b, 0x18
movzx ecx, byte [rdx + 9]
test cl, r8b
je 0x14001b3b0
mov rax, qword [rdx]
mov qword [rbx], rax
mov rcx, rdi
call fcn.14001b4a0
mov rdx, rbx
jmp 0x14001b3ba
and al, 0x18
and cl, 0xc0
or cl, al
mov byte [rdx + 9], cl
mov rax, qword [rdx]
jmp 0x14001b365
mov qword [rsi + 0x78], rdx
mov rbx, qword [rdi + 0x18]
movzx eax, byte [rbx + 0x65]
cmp al, 8
je 0x14001b3f0
nop
mov rcx, rdi
call fcn.14001a4b0
cmp byte [rbx + 0x65], 8
jne 0x14001b3d0
mov rbx, qword [rdi + 0x18]
cmp byte [rbx + 0x65], 0
je 0x14001b402
nop dword [rax + rax]
mov rcx, rdi
call fcn.14001a4b0
cmp byte [rbx + 0x65], 0
jne 0x14001b3f0
mov rbx, qword [rdi + 0x18]
mov byte [rsi + 0x65], 1
cmp byte [rbx + 0x65], 7
je 0x14001b424
nop dword [rax]
mov rcx, rdi
call fcn.14001a4b0
cmp byte [rbx + 0x65], 7
jne 0x14001b410
mov rbx, qword [rdi + 0x18]
jmp 0x14001b42c
mov rcx, rdi
call fcn.14001a4b0
cmp byte [rbx + 0x65], 8
jne 0x14001b424
movzx r9d, byte [rsi + 0x6c]
shl r9, 2
mov r10, qword [rsi + 0x18]
mov rax, qword [rsi + 0x20]
shr rax, 2
movabs rcx, 0x28f5c28f5c28f5c3
mul rcx
mov rcx, rdx
shr rcx, 2
movabs r8, 0x7fffffffffffffff
mov rax, r8
xor edx, edx
div rcx
imul rcx, r9
cmp r9, rax
cmovae rcx, r8
add r10, qword [rsi + 0x10]
sub r10, rcx
mov rdx, r10
sar rdx, 0x3f
and rdx, r10
mov rcx, rsi
call fcn.1400078b0
mov byte [rsi + 0x6b], 0
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
Function at 0x140022af0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rdx
mov rdi, rcx
cmp r8d, 0x78
jne 0x140022b61
call qword [sym.imp.msvcrt.dll_localeconv]
mov rax, qword [rax]
movzx r8d, byte [rax]
mov qword [rsp + 0x20], rdi
mov rax, qword [0x1400d7b28]
mov rbx, rdi
nop word cs:[rax + rax]
nop
movzx edx, byte [rbx]
add rbx, 1
test byte [rdx + rax + 1], 8
jne 0x140022b30
cmp edx, 0x2b
je 0x140022bc4
mov ecx, 1
cmp edx, 0x2d
je 0x140022bc6
add rbx, 0xffffffffffffffff
xor ecx, ecx
cmp dl, 0x30
je 0x140022bd2
jmp 0x140022c97
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.14008a410
movapd xmm1, xmm0
mov rbx, qword [rsp + 0x20]
movsd qword [rsi], xmm1
cmp rbx, rdi
je 0x140022c9e
movzx ecx, byte [rbx]
mov rax, qword [0x1400d7b28]
test byte [rcx + rax + 1], 8
je 0x140022bb7
add rbx, 1
nop dword [rax]
mov qword [rsp + 0x20], rbx
movzx ecx, byte [rbx]
add rbx, 1
test byte [rcx + rax + 1], 8
jne 0x140022ba0
add rbx, 0xffffffffffffffff
xor eax, eax
test cl, cl
cmove rax, rbx
jmp 0x140022ca0
xor ecx, ecx
movzx edx, byte [rbx]
cmp dl, 0x30
jne 0x140022c97
movzx edx, byte [rbx + 1]
or edx, 0x20
cmp edx, 0x78
jne 0x140022c97
add rbx, 2
xorpd xmm0, xmm0
xor r11d, r11d
movsd xmm1, qword [0x1400d79a0]
xor r9d, r9d
xor edx, edx
xor r10d, r10d
jmp 0x140022c16
mov r14d, 1
test r10d, r10d
jne 0x140022c92
add rbx, 1
mov r10d, r14d
movzx r14d, byte [rbx]
cmp r14b, r8b
je 0x140022c00
test byte [r14 + rax + 1], 0x10
je 0x140022c92
test r11d, r11d
jne 0x140022c40
cmp r14b, 0x30
jne 0x140022c40
add r9d, 1
xor ebp, ebp
jmp 0x140022c7d
lea ebp, [r11 + 1]
cmp r11d, 0x1d
jg 0x140022c7a
movsx r11d, r14b
movsx r14, r14b
lea r15d, [r11 - 0x30]
or r11d, 0x20
add r11d, 0xffffffa9
test byte [r14 + rax + 1], 2
cmovne r11d, r15d
xorps xmm2, xmm2
cvtsi2sd xmm2, r11d
mulsd xmm0, xmm1
addsd xmm0, xmm2
jmp 0x140022c7d
add edx, 1
xor r14d, r14d
test r10d, r10d
setne r14b
sub edx, r14d
mov r11d, ebp
jmp 0x140022c0f
add r9d, r11d
jne 0x140022cad
mov qword [rsi], 0
xor eax, eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov qword [rsp + 0x20], rbx
shl edx, 2
movzx r8d, byte [rbx]
or r8d, 0x20
cmp r8d, 0x70
jne 0x140022d47
movzx r10d, byte [rbx + 1]
cmp r10d, 0x2b
je 0x140022ce7
mov r8d, 1
cmp r10d, 0x2d
je 0x140022cea
lea r9, [rbx + 1]
xor r8d, r8d
jmp 0x140022cf3
xor r8d, r8d
lea r9, [rbx + 2]
movzx r10d, byte [rbx + 2]
movzx r11d, r10b
xorpd xmm1, xmm1
test byte [r11 + rax + 1], 2
je 0x140022b77
xor r11d, r11d
nop word [rax + rax]
lea r11d, [r11 + r11*4]
movsx r10d, r10b
lea r11d, [r10 + r11*2]
add r11d, 0xffffffd0
movzx r10d, byte [r9 + 1]
add r9, 1
test byte [r10 + rax + 1], 2
jne 0x140022d10
mov eax, r11d
neg eax
test r8d, r8d
cmove eax, r11d
add edx, eax
mov qword [rsp + 0x20], r9
mov rbx, r9
test ecx, ecx
je 0x140022d53
xorpd xmm0, xmmword [0x1400d79b0]
call fcn.140085780
movapd xmm1, xmm0
jmp 0x140022b77
Function at 0x140024b70
Capabilities:
Encode data using xor

Disassembly:
xor r8d, edx
test rdx, rdx
je 0x140024b88
test dl, 1
jne 0x140024b8c
mov r9, rdx
cmp rdx, 1
jne 0x140024bb4
jmp 0x140024bfa
mov eax, r8d
ret
mov eax, r8d
shl eax, 5
mov r10d, r8d
shr r10d, 2
add r10d, eax
lea r9, [rdx - 1]
movzx eax, byte [rcx + rdx - 1]
add eax, r10d
xor eax, r8d
mov r8d, eax
cmp rdx, 1
je 0x140024bfa
mov eax, r8d
nop word [rax + rax]
mov edx, eax
shl edx, 5
mov r8d, eax
shr r8d, 2
add r8d, edx
movzx edx, byte [rcx + r9 - 1]
add edx, r8d
xor edx, eax
mov eax, edx
shl eax, 5
mov r8d, edx
shr r8d, 2
add r8d, eax
movzx eax, byte [rcx + r9 - 2]
add eax, r8d
xor eax, edx
add r9, 0xfffffffffffffffe
jne 0x140024bc0
ret
Function at 0x140024f90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, r8
mov rdi, rdx
cmp r8, 0x28
ja 0x140024fda
mov r12, qword [rcx + 0x18]
mov r8d, dword [r12 + 0x60]
xor r8d, esi
test rsi, rsi
mov qword [rsp + 0x20], rcx
je 0x14002502d
test sil, 1
jne 0x140025032
mov rax, rsi
cmp rsi, 1
jne 0x140025057
jmp 0x140025094
movabs rax, 0x7fffffffffffffdf
cmp rsi, rax
jae 0x1400251a9
mov rax, qword [rcx + 0x18]
mov ebx, dword [rax + 0x60]
lea r8, [rsi + 0x19]
mov edx, 0x14
call fcn.140019f40
mov r14, rax
mov dword [rax + 0xc], ebx
mov byte [rax + 0xa], 0
lea rcx, [rax + 0x18]
mov byte [rax + rsi + 0x18], 0
mov qword [rax + 0x10], rsi
mov byte [rax + 0xb], 0xff
mov rdx, rdi
mov r8, rsi
call fcn.1400176a0
jmp 0x140025195
mov ebp, r8d
jmp 0x140025094
mov eax, r8d
shl eax, 5
mov edx, r8d
shr edx, 2
add edx, eax
lea rax, [rsi - 1]
movzx ebp, byte [rdi + rsi - 1]
add ebp, edx
xor ebp, r8d
mov r8d, ebp
cmp rsi, 1
je 0x140025094
mov ebp, r8d
nop word [rax + rax]
mov ecx, ebp
shl ecx, 5
mov edx, ebp
shr edx, 2
add edx, ecx
movzx ecx, byte [rdi + rax - 1]
add ecx, edx
xor ecx, ebp
mov edx, ecx
shl edx, 5
mov r8d, ecx
shr r8d, 2
add r8d, edx
movzx ebp, byte [rdi + rax - 2]
add ebp, r8d
xor ebp, ecx
add rax, 0xfffffffffffffffe
jne 0x140025060
mov r13, qword [r12 + 0x30]
mov r15d, dword [r12 + 0x3c]
lea eax, [r15 - 1]
and eax, ebp
movsxd rbx, eax
mov r14, qword [r13 + rbx*8]
jmp 0x1400250b4
mov r14, qword [r14 + 0x10]
test r14, r14
je 0x1400250f7
movzx eax, byte [r14 + 0xb]
cmp rax, rsi
jne 0x1400250b0
lea rdx, [r14 + 0x18]
mov rcx, rdi
mov r8, rsi
call fcn.140017a10
test eax, eax
jne 0x1400250b0
movzx eax, byte [r14 + 9]
movzx ecx, byte [r12 + 0x64]
xor cl, 0x18
test cl, al
je 0x140025195
xor al, 0x18
mov byte [r14 + 9], al
jmp 0x140025195
mov eax, dword [r12 + 0x38]
cmp eax, r15d
jge 0x140025113
lea rbx, [rbx*8]
add rbx, r13
mov r14, qword [rsp + 0x20]
jmp 0x140025152
cmp eax, 0x7fffffff
mov r14, qword [rsp + 0x20]
je 0x1400251ae
cmp r15d, 0x3fffffff
jg 0x14002513f
add r15d, r15d
mov rcx, r14
mov edx, r15d
call fcn.140024cb0
mov r15d, dword [r12 + 0x3c]
add r15d, 0xffffffff
and r15d, ebp
movsxd rbx, r15d
shl rbx, 3
add rbx, qword [r12 + 0x30]
lea r8, [rsi + 0x19]
mov rcx, r14
mov edx, 4
call fcn.140019f40
mov r14, rax
mov dword [rax + 0xc], ebp
mov byte [rax + 0xa], 0
lea rcx, [rax + 0x18]
mov byte [rax + rsi + 0x18], 0
mov byte [rax + 0xb], sil
mov rdx, rdi
mov r8, rsi
call fcn.1400176a0
mov rax, qword [rbx]
mov qword [r14 + 0x10], rax
mov qword [rbx], r14
add dword [r12 + 0x38], 1
mov rax, r14
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140034de0
mov rcx, r14
mov edx, 1
call fcn.14001b270
cmp dword [r12 + 0x38], 0x7fffffff
je 0x1400251dd
mov r15d, dword [r12 + 0x3c]
cmp r15d, 0x3fffffff
jle 0x14002512c
jmp 0x14002513f
mov rcx, r14
mov edx, 4
call fcn.140017ab0
int3
Function at 0x140029bc0
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x440
mov rbx, r9
mov r15, r8
mov rdi, rdx
mov rsi, rcx
lea rdx, str._s_s
lea r9, str._5_4
call fcn.140003060
mov rcx, rax
call sub.msvcrt.dll_getenv
mov r14, rax
test rax, rax
jne 0x140029c10
mov rcx, r15
call sub.msvcrt.dll_getenv
mov r14, rax
test rax, rax
je 0x140029c44
lea r8, str.LUA_NOENV
mov rcx, rsi
mov edx, 0xfff0b9d8
call fcn.1400033d0
mov rcx, rsi
mov edx, 0xffffffff
call fcn.140002900
mov ebp, eax
mov rcx, rsi
mov edx, 0xfffffffe
call fcn.140001c70
test ebp, ebp
je 0x140029c54
mov rcx, rsi
mov rdx, rbx
call fcn.140002fd0
jmp 0x140029d3e
lea rdx, [0x1400d866f]
mov rcx, r14
call sub.msvcrt.dll_strstr
test rax, rax
je 0x140029dfb
mov r15, rax
mov rcx, r14
call sub.msvcrt.dll_strlen
mov r12, rax
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.140005610
cmp r14, r15
jae 0x140029cd1
mov r8, r15
sub r8, r14
lea rcx, [rsp + 0x20]
mov rdx, r14
call fcn.140006470
mov rax, qword [rsp + 0x30]
cmp rax, qword [rsp + 0x28]
jb 0x140029cbf
lea rcx, [rsp + 0x20]
mov edx, 1
call fcn.140005680
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
lea rdx, [rax + 1]
mov qword [rsp + 0x30], rdx
mov byte [rcx + rax], 0x3b
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.140005630
lea rbx, [r14 + r12]
add rbx, 0xfffffffffffffffe
cmp r15, rbx
jae 0x140029d34
mov rax, qword [rsp + 0x30]
cmp rax, qword [rsp + 0x28]
jb 0x140029d0b
lea rcx, [rsp + 0x20]
mov edx, 1
call fcn.140005680
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
lea rdx, [rax + 1]
mov qword [rsp + 0x30], rdx
mov byte [rcx + rax], 0x3b
sub rbx, r15
add r15, 2
lea rcx, [rsp + 0x20]
mov rdx, r15
mov r8, rbx
call fcn.140006470
lea rcx, [rsp + 0x20]
call fcn.140005700
lea rdx, [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x105
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x140029dbc
cmp eax, 0x105
je 0x140029dbc
lea rcx, [rsp + 0x20]
mov edx, 0x5c
call sub.msvcrt.dll_strrchr
test rax, rax
je 0x140029dbc
mov byte [rax], 0
mov rcx, rsi
mov edx, 0xffffffff
xor r8d, r8d
call fcn.140002990
lea r8, [0x1400d8699]
lea r9, [rsp + 0x20]
mov rcx, rsi
mov rdx, rax
call fcn.140007170
mov rcx, rsi
mov edx, 0xfffffffe
mov r8d, 0xffffffff
call fcn.140001d50
mov rcx, rsi
mov edx, 0xfffffffe
call fcn.140001c70
jmp 0x140029dcb
lea rdx, str.unable_to_get_ModuleFileName
mov rcx, rsi
call fcn.140005840
mov rcx, rsi
mov edx, 0xfffffffd
mov r8, rdi
call fcn.140003cf0
mov rcx, rsi
mov edx, 0xfffffffe
call fcn.140001c70
nop
add rsp, 0x440
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rcx, rsi
mov rdx, r14
jmp 0x140029c4a
Function at 0x1400462d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xfd0
mov rdi, rdx
mov rsi, rcx
mov edx, 1
call fcn.140046530
mov ebp, eax
mov rax, qword [rsi]
mov rax, qword [rax]
movsxd r15, ebp
mov byte [rax + r15*4], 0xd
mov rax, qword [rsi]
mov rax, qword [rax]
mov byte [rax + r15*4 + 1], 0
mov rcx, rsi
mov edx, 1
call fcn.140046530
mov rcx, qword [rsi]
mov rcx, qword [rcx]
cdqe
mov byte [rcx + rax*4], 0
mov rcx, qword [rsi]
mov rcx, qword [rcx]
mov byte [rcx + rax*4 + 1], 0
mov rcx, rsi
mov edx, 1
call fcn.140046530
mov ebx, eax
mov rax, qword [rsi]
mov rax, qword [rax]
movsxd rcx, ebx
mov byte [rax + rcx*4], 0xc
mov rax, qword [rsi]
mov rax, qword [rax]
mov byte [rax + rcx*4 + 1], 0
mov rcx, rsi
mov edx, 1
call fcn.140046530
mov rcx, qword [rsi]
mov rcx, qword [rcx]
cdqe
mov byte [rcx + rax*4], 0
mov rcx, qword [rsi]
mov rcx, qword [rcx]
mov byte [rcx + rax*4 + 1], 0
mov r14d, dword [rsi + 8]
test r15d, r15d
js 0x140046396
mov eax, r14d
sub eax, ebp
mov rcx, qword [rsi]
mov rcx, qword [rcx]
mov edx, ebp
mov dword [rcx + rdx*4 + 4], eax
cmp byte [rdi + 8], 0xd
jne 0x140046406
add rdi, 8
lea r15, [rsp + 0x30]
lea r12, [0x1400daf51]
nop dword [rax]
mov eax, dword [rsi + 8]
mov dword [r15], eax
lea rdx, [rdi + 0x10]
mov qword [rsp + 0x20], r12
mov rcx, rsi
xor r8d, r8d
mov r9d, 0xffffffff
call fcn.140045390
mov rcx, rsi
mov edx, 1
call fcn.140046530
mov rcx, qword [rsi]
mov rcx, qword [rcx]
cdqe
mov byte [rcx + rax*4], 9
mov rcx, qword [rsi]
mov rcx, qword [rcx]
mov byte [rcx + rax*4 + 1], 0
movsxd rax, dword [rdi + 4]
add r15, 4
cmp byte [rdi + rax*8], 0xd
lea rdi, [rdi + rax*8]
je 0x1400463b0
test ebx, ebx
js 0x14004641b
mov eax, dword [rsi + 8]
sub eax, ebx
mov rcx, qword [rsi]
mov rcx, qword [rcx]
mov edx, ebx
mov dword [rcx + rdx*4 + 4], eax
mov eax, dword [rsi + 8]
cmp r14d, eax
jge 0x140046510
mov rcx, qword [rsi]
mov rcx, qword [rcx]
mov edx, 0x3f898
mov r8d, 0x44
jmp 0x14004645c
movzx r10d, byte [rcx + r9*4 + 3]
add r10d, 1
nop word cs:[rax + rax]
nop
add r14d, r10d
cmp r14d, eax
jge 0x140046510
movsxd r9, r14d
movzx r10d, byte [rcx + r9*4]
cmp r10b, 0xe
jne 0x1400464cc
movzx r10d, byte [rcx + r9*4 + 8]
cmp r10b, 0xc
jne 0x140046496
lea r11d, [r14 + 2]
nop word [rax + rax]
movsxd r10, r11d
movsxd r11, dword [rcx + r10*4 + 4]
add r11, r10
movzx r10d, byte [rcx + r11*4]
cmp r10b, 0xc
je 0x140046480
movsx r11, word [rcx + r9*4 + 2]
mov r11d, dword [rsp + r11*4 + 0x30]
cmp r10b, 9
sete r10b
xor r10b, 0xd
mov byte [rcx + r9*4], r10b
test r14d, r14d
js 0x1400464cc
sub r11d, r14d
mov r10, qword [rsi]
mov r10, qword [r10]
mov edi, r14d
mov dword [r10 + rdi*4 + 4], r11d
movzx r10d, byte [rcx + r9*4]
cmp r10b, 0x11
ja 0x140046505
movzx r11d, r10b
mov r10d, 2
bt edx, r11d
jb 0x140046450
bt r8d, r11d
jb 0x14004643a
cmp r11d, 5
jne 0x140046505
movzx r10d, byte [rcx + r9*4 + 3]
add r10d, 2
jmp 0x140046450
mov r10d, 1
jmp 0x140046450
add rsp, 0xfd0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x140074fc0
Capabilities:
Initialize winsock library

Disassembly:
sub rsp, 0x1b8
lea rdx, [rsp + 0x20]
mov cx, 2
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov ecx, eax
xor eax, eax
test ecx, ecx
je 0x140074fe6
add rsp, 0x1b8
ret
movzx ecx, word [rsp + 0x20]
mov eax, 1
cmp ecx, 2
je 0x140074fde
cmp ecx, 0x101
je 0x140074fde
call qword [sym.imp.WS2_32.dll_WSACleanup]
xor eax, eax
jmp 0x140074fde

Function at 0x140075030
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x648
movsd xmm0, qword [r8]
mov esi, 0xffffffff
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x140075069
jp 0x140075069
mov eax, esi
add rsp, 0x648
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov ebx, edx
mov rdi, rcx
test bl, 1
jne 0x1400750b5
xor r14d, r14d
test bl, 2
je 0x1400750d8
mov rax, qword [rdi]
mov qword [rsp + 0x240], rax
mov dword [rsp + 0x238], 1
lea r15, [rsp + 0x238]
test bl, 6
je 0x1400750e0
mov rax, qword [rdi]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 1
lea r12, [rsp + 0x30]
jmp 0x1400750e3
mov rax, qword [rdi]
mov qword [rsp + 0x448], rax
mov dword [rsp + 0x440], 1
lea r14, [rsp + 0x440]
test bl, 2
jne 0x14007507b
xor r15d, r15d
test bl, 6
jne 0x14007509e
xor r12d, r12d
mov rcx, r8
call fcn.140076a70
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jae 0x1400750f9
xor eax, eax
jmp 0x140075122
cvttsd2si eax, xmm0
cvttpd2dq xmm1, xmm0
cvtdq2pd xmm1, xmm1
mov dword [rsp + 0x28], eax
subsd xmm0, xmm1
mulsd xmm0, qword [0x1400db910]
cvttsd2si eax, xmm0
mov dword [rsp + 0x2c], eax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x20], rax
xor ecx, ecx
mov rdx, r14
mov r8, r15
mov r9, r12
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
je 0x140075056
cmp eax, 0xffffffff
jne 0x140075152
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
jmp 0x140075056
cmp ebx, 6
jne 0x140075171
mov rcx, qword [rdi]
lea rdx, [rsp + 0x30]
call sub.WS2_32.dll___WSAFDIsSet
mov esi, 0xfffffffe
test eax, eax
jne 0x140075056
xor esi, esi
jmp 0x140075056

Function at 0x140075180
Capabilities:
Get socket status

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rsi, r9
mov rdi, r8
mov rbx, rdx
mov r14, rcx
mov rcx, qword [rsp + 0x80]
call fcn.140076a70
cvttsd2si eax, xmm0
mov dword [rsp + 0x30], eax
cvttpd2dq xmm1, xmm0
cvtdq2pd xmm1, xmm1
movapd xmm2, xmm0
subsd xmm2, xmm1
mulsd xmm2, qword [0x1400db918]
cvttsd2si eax, xmm2
mov dword [rsp + 0x34], eax
test r14, r14
je 0x1400751fa
xor eax, eax
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
lea rcx, [rsp + 0x30]
cmovb rcx, rax
mov qword [rsp + 0x20], rcx
xor ecx, ecx
mov rdx, rbx
mov r8, rdi
mov r9, rsi
call qword [sym.imp.WS2_32.dll_select]
jmp 0x14007520f
mulsd xmm0, qword [0x1400db920]
cvttsd2si rcx, xmm0
call qword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
ret
Function at 0x140075220
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rsi, rcx
mov rcx, qword [rcx]
cmp rcx, 0xffffffffffffffff
je 0x140075259
mov dword [rsp + 0x2c], 0
lea r8, [rsp + 0x2c]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov rcx, qword [rsi]
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rsi], 0xffffffffffffffff
add rsp, 0x30
pop rsi
ret

Function at 0x140075290
Capabilities:
Set socket configuration

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov esi, edx
mov rdi, rcx
mov dword [rsp + 0x28], 0
mov rcx, qword [rcx]
mov rbx, qword [sym.imp.WS2_32.dll_ioctlsocket]
lea r8, [rsp + 0x28]
mov edx, 0x8004667e
call rbx
mov rcx, qword [rdi]
mov edx, esi
call qword [sym.imp.WS2_32.dll_shutdown]
mov dword [rsp + 0x2c], 1
mov rcx, qword [rdi]
lea r8, [rsp + 0x2c]
mov edx, 0x8004667e
call rbx
nop
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret

Function at 0x1400752f0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x28
mov dword [rsp + 0x24], 1
mov rcx, qword [rcx]
lea r8, [rsp + 0x24]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
nop
add rsp, 0x28
ret

Function at 0x140075360
Capabilities:
Connect socket

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rsi, rcx
mov rcx, qword [rcx]
cmp rcx, 0xffffffffffffffff
je 0x14007540e
mov rdi, r9
call qword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x140075415
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
add ecx, 0xffffd8cb
cmp ecx, 0xfffffffe
jb 0x140075417
movsd xmm0, qword [rdi]
mov eax, 0xffffffff
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x1400753af
jnp 0x140075417
mov rcx, rsi
mov edx, 6
mov r8, rdi
call fcn.140075030
mov dword [rsp + 0x30], eax
cmp eax, 0xfffffffe
jne 0x140075417
mov dword [rsp + 0x34], 4
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsi]
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov edx, 0xffff
mov r8d, 0x1007
call qword [sym.imp.WS2_32.dll_getsockopt]
mov ecx, dword [rsp + 0x30]
test ecx, ecx
mov eax, 0xfffffffd
cmovg eax, ecx
jmp 0x140075417
mov eax, 0xfffffffe
jmp 0x140075417
xor eax, eax
add rsp, 0x38
pop rdi
pop rsi
ret

Function at 0x140075420
Capabilities:
Set socket configuration

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov edi, r8d
mov rbx, rdx
mov rsi, rcx
mov dword [rsp + 0x28], 0
mov rcx, qword [rcx]
lea r8, [rsp + 0x28]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov rcx, qword [rsi]
mov rdx, rbx
mov r8d, edi
call qword [sym.imp.WS2_32.dll_bind]
xor edi, edi
test eax, eax
jns 0x140075468
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov dword [rsp + 0x2c], 1
mov rcx, qword [rsi]
lea r8, [rsp + 0x2c]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, edi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
Function at 0x140075490
Capabilities:
Set socket configuration

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov edi, edx
mov rsi, rcx
mov dword [rsp + 0x20], 0
mov rcx, qword [rcx]
lea r8, [rsp + 0x20]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov rcx, qword [rsi]
mov edx, edi
call qword [sym.imp.WS2_32.dll_listen]
xor edi, edi
test eax, eax
jns 0x1400754cf
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov dword [rsp + 0x24], 1
mov rcx, qword [rsi]
lea r8, [rsp + 0x24]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, edi
add rsp, 0x28
pop rdi
pop rsi
ret

Function at 0x140075500
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
movapd xmmword [rsp + 0x250], xmm7
movapd xmmword [rsp + 0x240], xmm6
mov r14, rcx
mov rcx, qword [rcx]
cmp rcx, 0xffffffffffffffff
je 0x14007564f
mov rsi, r9
mov rdi, r8
mov rbx, rdx
mov rdx, r8
mov r8, r9
call qword [sym.imp.WS2_32.dll_accept]
mov rcx, rax
mov qword [rbx], rax
xor eax, eax
cmp rcx, 0xffffffffffffffff
jne 0x140075654
mov r15, qword [rsp + 0x2d0]
mov r13, qword [sym.imp.WS2_32.dll_WSAGetLastError]
xorpd xmm6, xmm6
lea r12, [rsp + 0x38]
mov rbp, qword [sym.imp.WS2_32.dll_select]
movsd xmm7, qword [0x1400db928]
jmp 0x1400755b7
call r13
test eax, eax
jne 0x140075654
mov rcx, qword [r14]
mov rdx, rdi
mov r8, rsi
call qword [sym.imp.WS2_32.dll_accept]
mov qword [rbx], rax
cmp rax, 0xffffffffffffffff
jne 0x140075678
call r13
cmp eax, 0x2745
je 0x1400755cc
cmp eax, 0x2733
jne 0x140075654
movsd xmm0, qword [r15]
ucomisd xmm0, xmm6
jne 0x1400755d9
jnp 0x140075648
mov rax, qword [r14]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 1
mov rcx, r15
call fcn.140076a70
ucomisd xmm0, xmm6
jae 0x140075600
xor eax, eax
jmp 0x140075625
cvttsd2si eax, xmm0
mov dword [rsp + 0x30], eax
cvttpd2dq xmm1, xmm0
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm1
mulsd xmm0, xmm7
cvttsd2si eax, xmm0
mov dword [rsp + 0x34], eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor ecx, ecx
mov rdx, r12
xor r8d, r8d
xor r9d, r9d
call rbp
cmp eax, 0xffffffff
je 0x140075590
test eax, eax
jne 0x14007559b
mov eax, 0xffffffff
jmp 0x140075654
mov eax, 0xfffffffe
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x140075654