joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001c940
Capabilities:
Create udp socket
Set socket configuration

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov ebp, r9d
mov r14d, r8d
mov r15d, edx
mov rbx, rcx
mov rax, qword [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0x30], rax
movzx ecx, word [rcx]
mov edx, 2
mov r8d, shutdown
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, 0xffffffffffffffff
cmp rax, 0xffffffffffffffff
je 0x14001cae8
mov rsi, rax
test r15b, r15b
je 0x14001c9c6
mov dword [rsp + 0x2c], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x2c]
mov rcx, rsi
mov edx, 0xffff
mov r8d, 4
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14001cacf
test r14b, r14b
je 0x14001c9e4
lea rcx, str.Dart_Socket_ERROR:__s:_d:__reusePort__not_supported_for_Windows.
lea rdx, str..._.._runtime_bin_socket_win.cc
mov r8d, 0xc2
call fcn.1400011f0
mov dword [rsp + 0x2c], ebp
xor eax, eax
cmp word [rbx], 2
mov edx, 0x29
cmove edx, eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x2c]
mov rcx, rsi
mov r8d, 0xa
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x14001ca3b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, 0xffffffffffffffff
jmp 0x14001cae8
mov rcx, rbx
xor edx, edx
call fcn.14001ab50
mov rcx, rsi
mov rdx, rbx
mov r8d, eax
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
je 0x14001ca16
mov ecx, 0xc8
call fcn.140259128
mov rdi, rax
mov rcx, rax
mov rdx, rsi
call fcn.140009e40
mov qword [rdi + 0xa0], rsi
mov qword [rdi + 0xa8], 0
mov dword [rdi + 0xb0], reloc.WS2_32.dll_recv
mov qword [rdi + 0xb8], 0
mov byte [rdi + 0xc0], 1
lea rax, [0x140299820]
mov qword [rdi], rax
lea rax, [0x140299880]
mov qword [rdi + 0x10], rax
mov dword [rdi + 0x50], 5
call fcn.140009cb0
mov r8, qword [rdi]
mov rcx, rdi
mov rdx, rax
call qword [r8 + 0x38]
jmp 0x14001cae8
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140258ea0
mov rax, rdi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x14001cb10
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov ebx, r8d
mov rdi, rdx
mov r14, rcx
mov rax, qword [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0x38], rax
movzx ecx, word [rcx]
mov edx, 1
mov r8d, 6
call qword [sym.imp.WS2_32.dll_socket]
cmp rax, 0xffffffffffffffff
je 0x14001ccf7
mov rsi, rax
mov dword [rsp + 0x34], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov rcx, rax
mov edx, 0xffff
mov r8d, 0xfffffffb
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14001ccde
cmp word [r14], 0x17
jne 0x14001cbb5
movzx eax, bl
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov rcx, rsi
mov edx, 0x29
mov r8d, 0x1b
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rcx, r14
xor edx, edx
call fcn.14001ab50
mov rcx, rsi
mov rdx, r14
mov r8d, eax
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
je 0x14001ccde
mov ecx, 0x100
call fcn.140259128
mov r15, rax
mov rcx, rax
mov rdx, rsi
call fcn.140009e40
mov qword [r15 + 0xa0], rsi
lea rax, method.icu_68::LanguageBreakEngine.virtual_0
mov qword [r15], rax
lea rax, method.icu_68::LanguageBreakEngine.virtual_0
mov qword [r15 + 0x10], rax
mov qword [r15 + 0xa8], 0
lea rcx, [r15 + 0xb0]
lea rdx, [method.icu_68::SimpleFilteredSentenceBreakIterator.virtual_16]
mov r8d, 4
call fcn.140006da0
mov byte [r15 + 0xc8], 1
lea rax, [0x1402998d0]
mov qword [r15], rax
lea rax, [0x140299930]
mov qword [r15 + 0x10], rax
xorps xmm0, xmm0
movups xmmword [r15 + 0xd0], xmm0
mov dword [r15 + 0xe0], 0
movups xmmword [r15 + 0xe8], xmm0
mov dword [r15 + 0xf8], 0
mov dword [r15 + 0x50], 4
mov rcx, r14
call fcn.14001aec0
test rax, rax
jne 0x14001cd1a
mov rcx, r15
call fcn.14001b600
cmp rax, 0xffff
jne 0x14001cd1a
mov rcx, r14
mov rdx, rdi
mov r8d, ebx
call fcn.14001cb10
mov rdi, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
lock dec qword [r15 + 8]
jne 0x14001ccd4
mov rax, qword [r15]
mov rcx, r15
mov edx, 1
call qword [rax]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14001ccfe
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140258ea0
mov rax, rdi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
test rdi, rdi
mov edx, 0x7fffffff
cmovg edx, edi
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
je 0x14001cd38
mov rdi, r15
jmp 0x14001ccfe
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
lock dec qword [r15 + 8]
jne 0x14001ccef
mov rax, qword [r15]
mov rcx, r15
mov edx, 1
call qword [rax]
jmp 0x14001ccef
Function at 0x14001dcc0
Capabilities:
Read file on windows

Disassembly:
push rsi
sub rsp, 0x40
mov rsi, rdx
mov rax, qword [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x37]
lea r9, [rsp + 0x30]
mov rcx, rax
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14001dd1b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
jne 0x14001dd47
cmp dword [rsp + 0x30], 1
movzx eax, byte [rsp + 0x37]
mov ecx, 0xffffffff
cmove ecx, eax
mov dword [rsi], ecx
mov sil, 1
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140258ea0
mov eax, esi
add rsp, 0x40
pop rsi
ret
xor esi, esi
jmp 0x14001dd32

Function at 0x14001f160
Capabilities:
Connect socket

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rdi, rcx
movzx ecx, word [rcx]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_WSASocketW]
mov rsi, rax
test rax, rax
js 0x14001f1bc
mov rcx, rdi
xor edx, edx
call fcn.14001ab50
mov rcx, rsi
mov rdx, rdi
mov r8d, eax
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
mov rax, 0xffffffffffffffff
cmove rsi, rax
mov rax, rsi
add rsp, 0x38
pop rdi
pop rsi
ret

Function at 0x14001f1d0
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rax, qword [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x24]
mov edx, 0x4004667f
call qword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
mov eax, dword [rsp + 0x24]
mov rsi, 0xffffffffffffffff
cmovne rsi, rax
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140258ea0
mov rax, rsi
add rsp, 0x30
pop rsi
ret

Function at 0x14001f220
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push rsi
sub rsp, 0xb0
mov rax, qword [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x24], 0x80
lea rdx, [rsp + 0x28]
lea r8, [rsp + 0x24]
call qword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x14001f266
lea rcx, [rsp + 0x28]
call fcn.14001aec0
mov rsi, rax
jmp 0x14001f268
xor esi, esi
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140258ea0
mov rax, rsi
add rsp, 0xb0
pop rsi
ret

Function at 0x14001f320
Capabilities:
Receive data
Receive data on socket

Disassembly:
sub rsp, 0x28
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_recv]
cdqe
add rsp, 0x28
ret

Function at 0x14001f340
Capabilities:
Send data
Send data on socket

Disassembly:
sub rsp, 0x28
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
cdqe
add rsp, 0x28
ret
Function at 0x14002f860
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov r11, qword [rsp + 0x68]
inc r11
xor eax, eax
cmp r11, r9
ja 0x14002f96d
lea rax, [r9 - 1]
movzx eax, byte [r8 + rax]
add r11, rax
mov r10, r9
sub r10, r11
xor r11, r9
xor r10, r9
or r10, r11
xor r10, r9
not r10
sar r10, 0x3f
cmp r9, 0x100
mov esi, 0x100
cmovb rsi, r9
mov r11, r9
sub r11, 1
jb 0x14002f947
jne 0x14002f8c6
xor edi, edi
jmp 0x14002f91e
mov ebx, esi
and ebx, 0x1fe
lea r14, [r8 + r11]
xor edi, edi
mov r15, 0xffffffffffffffff
mov r12, r10
nop
movzx r10d, byte [r14]
xor r10b, al
movzx r13d, r10b
not r13
movzx r10d, byte [r14 - 1]
xor r10b, al
cmp rdi, rax
cmova r13, r15
movzx r10d, r10b
not r10
cmovae r10, r15
and r10, r12
and r10, r13
add rdi, 2
add r14, 0xfffffffffffffffe
mov r12, r10
cmp rbx, rdi
jne 0x14002f8e0
test sil, 1
je 0x14002f947
sub r11, rdi
movzx r8d, byte [r8 + r11]
xor r8b, al
cmp rdi, rax
movzx r8d, r8b
not r8
mov r11, 0xffffffffffffffff
cmovbe r11, r8
and r10, r11
xor r8d, r8d
xor r11d, r11d
cmp r10b, 0xff
sete r11b
not rax
cmove r8, rax
neg r11
add r8, r9
mov qword [rdx], r8
mov qword [rcx], r11
mov eax, 1
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x14002f980
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov rbx, r9
mov rdi, r8
mov rsi, rdx
mov qword [rsp + 0x28], rcx
mov r12, qword [rsp + 0x120]
mov rax, qword [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0xb0], rax
lea r14, [rdx + 0x100]
xor r15d, r15d
mov rax, r12
sub rax, r14
cmovae r15, rax
test rdx, rdx
je 0x14002f9e3
lea rcx, [rsp + 0x70]
xor edx, edx
mov r8, rsi
call fcn.14025c7b0
cmp r15, r12
jae 0x14002fb7d
mov rcx, rbx
sub rcx, rsi
cmp r12, r14
cmovb r14, r12
mov r8, rbx
neg r8
xor eax, eax
xor r9d, r9d
xor r10d, r10d
nop word [rax + rax]
cmp r9, rsi
mov r11d, 0
cmovae r11, rsi
mov r12, r9
mov r13, r15
xor r13, rcx
mov rbp, r13
not rbp
dec r13
and r13, rbp
sar r13, 0x3f
or r10, r13
mov rbp, r15
xor rbp, rbx
mov rdx, rbx
lea rbx, [r8 + r15]
xor rbx, r15
or rbx, rbp
xor rbx, r15
sar rbx, 0x3f
and ebx, r10d
and bl, byte [rdi + r15]
sub r12, r11
or byte [rsp + r12 + 0x70], bl
mov rbx, rdx
and r13, r12
or rax, r13
inc r15
neg r11
add r9, r11
inc r9
dec r14
jne 0x14002fa10
cmp rsi, 2
jb 0x14002fb89
mov r8, rsi
and r8, 0xfffffffffffffffe
mov r9d, 1
lea r10, [rsp + 0x30]
lea r11, [rsp + 0x70]
jmp 0x14002fab2
add r9, r9
shr rax, 1
mov r11, rdx
cmp r9, rsi
jae 0x14002fb93
mov rdx, r10
mov r10, r11
mov r11d, eax
and r11d, 1
dec r11d
movzx r11d, r11b
mov ebx, r11d
not bl
mov r14, r9
xor edi, edi
jmp 0x14002fb08
sub r14, r15
movzx ebp, byte [r10 + rdi + 1]
and bpl, r11b
movzx r15d, byte [r10 + r14]
and r15b, bl
or r15b, bpl
mov byte [rdx + rdi + 1], r15b
add rdi, 2
inc r14
cmp r8, rdi
je 0x14002fb50
mov r15d, 0
cmp r14, rsi
jb 0x14002fb16
mov r15, rsi
mov r12, r14
sub r12, r15
movzx ebp, byte [r10 + rdi]
and bpl, r11b
movzx r12d, byte [r10 + r12]
and r12b, bl
or r12b, bpl
mov byte [rdx + rdi], r12b
neg r15
add r14, r15
inc r14
mov r15d, 0
cmp r14, rsi
jb 0x14002fae0
mov r15, rsi
jmp 0x14002fae0
test sil, 1
je 0x14002faa0
cmp r14, rsi
mov r15d, 0
cmovae r15, rsi
sub r14, r15
and r11b, byte [r10 + rdi]
and bl, byte [r10 + r14]
or bl, r11b
mov byte [rdx + rdi], bl
jmp 0x14002faa0
xor eax, eax
cmp rsi, 2
jae 0x14002fa86
test rsi, rsi
je 0x14002fba0
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x28]
mov r8, rsi
call fcn.14025bfc0
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.140258ea0
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140037010
Capabilities:
Encrypt data using curve25519

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1a8
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
lea r14, [rsp + 0xc0]
mov edx, 0x20
mov rcx, r8
mov r8, r14
call fcn.140062040
and byte [rsp + 0xc0], 0xf8
movzx eax, byte [rsp + 0xdf]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0xdf], al
lea r8, [0x1402a1fb0]
lea r15, [rsp + 0x20]
mov rcx, r15
mov rdx, r14
call fcn.140035520
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x170], rax
movups xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x150], xmm0
lea r14, [rsp + 0x128]
lea rdx, [rsp + 0x150]
mov rcx, r14
call fcn.14003c080
lea r12, [rsp + 0x150]
mov rcx, r12
mov rdx, r15
mov r8, r14
call fcn.14003ead0
lea rdx, [rsp + 0x48]
lea r15, [rsp + 0x100]
mov rcx, r15
mov r8, r14
call fcn.14003ead0
mov rcx, rdi
mov rdx, r15
call fcn.140031720
lea rcx, [rsp + 0x180]
mov rdx, r12
call fcn.140031720
movzx eax, byte [rsp + 0x180]
shl al, 7
xor byte [rdi + 0x1f], al
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm1
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.140258ea0
nop
add rsp, 0x1a8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
Function at 0x14003aa30
Capabilities:
Encrypt data using curve25519

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
mov qword [rsp + 0x20], rcx
mov rax, qword [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0x160], rax
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x140], xmm0
movaps xmmword [rsp + 0x150], xmm1
and byte [rsp + 0x140], 0xf8
movzx eax, byte [rsp + 0x15f]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0x15f], al
lea r8, [0x1402a1fb0]
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x140]
call fcn.140035520
mov rax, qword [rsp + 0xf0]
mov r11, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
lea rdi, [r11 + rax]
mov rcx, qword [rsp + 0xf8]
lea rbx, [rsi + rcx]
mov rdx, qword [rsp + 0x100]
mov r14, qword [rsp + 0xd8]
lea r15, [r14 + rdx]
mov r8, qword [rsp + 0x108]
mov r12, qword [rsp + 0xe0]
lea r13, [r12 + r8]
mov r9, qword [rsp + 0x110]
mov rbp, qword [rsp + 0xe8]
lea r10, [rbp + r9]
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r10
movabs r10, 0xffffffffffffe
add rax, r10
sub rax, r11
add rax, 0xffffffffffffffdc
add rcx, r10
sub rcx, rsi
add rdx, r10
sub rdx, r14
add r8, r10
sub r8, r12
add r9, r10
sub r9, rbp
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], r9
lea rdi, [rsp + 0x28]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.14003c080
lea rdx, [rsp + 0x78]
mov rcx, rdi
mov r8, rdi
call fcn.14003ead0
mov rcx, qword [rsp + 0x20]
mov rdx, rdi
call fcn.140031720
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140258ea0
nop
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140045910
Capabilities:
Encrypt data using openssl rsa

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rsi, rdx
mov rax, qword [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x28]
mov r8d, 6
call fcn.14002ba50
xor edi, edi
test eax, eax
je 0x140045ac7
lea rcx, [rsp + 0x28]
call fcn.140022a00
movzx r15d, byte [reloc.WS2_32.dll_htons]
cmp rax, r15
jne 0x140045995
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.14002b260
lea r14, [0x1402a4770]
test r15b, r15b
je 0x140045abd
lea rdx, [0x1402a4774]
mov rcx, rax
mov r8, rbx
call fcn.14025bec0
test eax, eax
je 0x140045abd
lea rcx, [rsp + 0x28]
call fcn.140022a00
movzx r15d, byte [reloc.WS2_32.dll_getsockopt]
cmp rax, r15
jne 0x1400459e3
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.14002b260
lea r14, [0x1402a43d8]
test r15b, r15b
je 0x140045abd
lea rdx, [0x1402a43dc]
mov rcx, rax
mov r8, rbx
call fcn.14025bec0
test eax, eax
je 0x140045abd
lea rcx, [rsp + 0x28]
call fcn.140022a00
movzx r15d, byte [reloc.WS2_32.dll_getsockopt]
cmp rax, r15
jne 0x140045a31
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.14002b260
lea r14, [0x1402a4248]
test r15b, r15b
je 0x140045abd
lea rdx, [0x1402a424c]
mov rcx, rax
mov r8, rbx
call fcn.14025bec0
test eax, eax
je 0x140045abd
lea rcx, [rsp + 0x28]
call fcn.140022a00
movzx r15d, byte [reloc.WS2_32.dll_closesocket]
cmp rax, r15
jne 0x140045a77
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.14002b260
lea r14, [0x1402a4568]
test r15b, r15b
je 0x140045abd
lea rdx, [0x1402a456c]
mov rcx, rax
mov r8, rbx
call fcn.14025bec0
test eax, eax
je 0x140045abd
lea rcx, [rsp + 0x28]
call fcn.140022a00
movzx r15d, byte [reloc.WS2_32.dll_closesocket]
cmp rax, r15
jne 0x140045ac7
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.14002b260
lea r14, [0x1402a4900]
test r15b, r15b
je 0x140045abd
lea rdx, [0x1402a4904]
mov rcx, rax
mov r8, rbx
call fcn.14025bec0
test eax, eax
jne 0x140045ac7
mov eax, dword [r14]
mov dword [rsi], eax
mov edi, 1
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140258ea0
mov eax, edi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x140049900
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], r8
mov r14, rdx
mov r15, rcx
mov r12, qword [rsp + 0x178]
mov rax, qword [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rcx, r12
call fcn.1400455e0
mov rbx, rax
lea r13, [rsp + 0x50]
mov rcx, r13
call fcn.14006e130
mov qword [rsp + 0x20], 0
mov rcx, r13
mov rdx, r15
mov r8, r14
mov r9, r12
call fcn.14006e160
test eax, eax
je 0x140049bb9
mov rsi, qword [rsp + 0x180]
test rsi, rsi
je 0x140049bbd
mov r14, qword [rsp + 0x188]
mov ecx, 1
lea r15, [rsp + 0x50]
jmp 0x1400499ba
add r14, rsi
mov ecx, dword [rsp + 0x34]
inc ecx
mov rax, qword [rsp + 0x38]
sub rax, rsi
mov rsi, rax
je 0x140049bbd
cmp rbx, rsi
mov qword [rsp + 0x38], rsi
cmovb rsi, rbx
mov dword [rsp + 0x34], ecx
mov eax, ecx
bswap eax
mov dword [rsp + 0xbc], eax
mov qword [rsp + 0x20], 0
mov rcx, r15
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.14006e160
test eax, eax
je 0x140049bb9
mov rcx, r15
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
call fcn.14006e490
test eax, eax
je 0x140049bb9
mov r8d, 4
mov rcx, r15
lea rdx, [rsp + 0xbc]
call fcn.14006e490
test eax, eax
je 0x140049bb9
mov rcx, r15
lea rdx, [rsp + 0xc0]
xor r8d, r8d
call fcn.14006e4b0
test eax, eax
je 0x140049bb9
test rbx, rbx
je 0x140049a61
mov rcx, r14
lea rdx, [rsp + 0xc0]
mov r8, rsi
call fcn.14025bfc0
cmp dword [rsp + 0x170], 2
jb 0x1400499a0
cmp rsi, 1
mov rbp, rsi
adc rbp, 0
mov r13, rbp
and r13, 0xffffffffffffffe0
mov rdi, rbp
and rdi, 0xfffffffffffffff8
mov r12d, 1
jmp 0x140049aa1
inc r12d
cmp r12d, dword [rsp + 0x170]
je 0x1400499a0
mov qword [rsp + 0x20], 0
mov rcx, r15
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.14006e160
test eax, eax
je 0x140049bb9
mov rcx, r15
lea rdx, [rsp + 0xc0]
mov r8, rbx
call fcn.14006e490
test eax, eax
je 0x140049bb9
mov rcx, r15
lea rdx, [rsp + 0xc0]
xor r8d, r8d
call fcn.14006e4b0
test eax, eax
je 0x140049bb9
test rbx, rbx
je 0x140049a90
cmp rsi, 8
jae 0x140049b10
xor eax, eax
jmp 0x140049ba0
cmp rsi, 0x20
jae 0x140049b1a
xor ecx, ecx
jmp 0x140049b70
xor eax, eax
nop dword [rax]
movups xmm0, xmmword [r14 + rax]
movups xmm1, xmmword [r14 + rax + 0x10]
xorps xmm0, xmmword [rsp + rax + 0xc0]
xorps xmm1, xmmword [rsp + rax + 0xd0]
movups xmmword [r14 + rax], xmm0
movups xmmword [r14 + rax + 0x10], xmm1
add rax, 0x20
cmp r13, rax
jne 0x140049b20
cmp rbp, r13
je 0x140049a90
mov rcx, r13
mov rax, r13
test bpl, 0x18
je 0x140049ba0
nop word cs:[rax + rax]
mov rax, qword [rsp + rcx + 0xc0]
xor qword [r14 + rcx], rax
add rcx, 8
cmp rdi, rcx
jne 0x140049b70
mov rax, rdi
cmp rbp, rdi
je 0x140049a90
nop word cs:[rax + rax]
movzx ecx, byte [rsp + rax + 0xc0]
xor byte [r14 + rax], cl
inc rax
cmp rbp, rax
jne 0x140049ba0
jmp 0x140049a90
xor esi, esi
jmp 0x140049bcb
xor esi, esi
cmp dword [rsp + 0x170], 0
setne sil
lea rcx, [rsp + 0x50]
call fcn.14006e570
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.140258ea0
mov eax, esi
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x14004f480
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
cmp rdx, r9
mov r10, r9
cmovb r10, rdx
xor eax, eax
test r10, r10
je 0x14004f4e4
xor r11d, r11d
nop dword [rax + rax]
mov rsi, qword [r8 + r11*8]
mov rdi, qword [rcx + r11*8]
mov rbx, rdi
xor rbx, rsi
lea r14, [rbx - 1]
mov r15, rdi
sub r15, rsi
xor r15, rdi
or r15, rbx
not rbx
and r14, rbx
sar r14, 0x3f
xor r15, rdi
sar r15, 0x3f
or r15, 1
xor rax, r15
and rax, r14
xor rax, r15
inc r11
cmp r10, r11
jne 0x14004f4a0
mov r11, rdx
sub r11, r9
jae 0x14004f503
mov r11, r9
sub r11, rdx
cmp r11, 4
jae 0x14004f51e
xor r10d, r10d
mov rcx, rdx
jmp 0x14004f580
jbe 0x14004f635
cmp r11, 4
jae 0x14004f5a7
xor r10d, r10d
mov r8, r9
jmp 0x14004f610
mov rsi, r11
and rsi, 0xfffffffffffffffc
lea rcx, [rsi + rdx]
lea rdx, [r8 + rdx*8]
add rdx, 0x10
pxor xmm0, xmm0
xor r10d, r10d
pxor xmm1, xmm1
nop dword [rax]
movdqu xmm2, xmmword [rdx + r10*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [rdx + r10*8]
por xmm1, xmm2
add r10, 4
cmp rsi, r10
jne 0x14004f540
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp r11, rsi
je 0x14004f58c
nop word cs:[rax + rax]
or r10, qword [r8 + rcx*8]
inc rcx
cmp r9, rcx
jne 0x14004f580
mov rcx, r10
not rcx
dec r10
and r10, rcx
sar r10, 0x3f
not r10d
or eax, r10d
jmp 0x14004f635
mov rsi, r11
and rsi, 0xfffffffffffffffc
lea r8, [rsi + r9]
lea r9, [rcx + r9*8]
add r9, 0x10
pxor xmm0, xmm0
xor r10d, r10d
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r9 + r10*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r9 + r10*8]
por xmm1, xmm2
add r10, 4
cmp rsi, r10
jne 0x14004f5d0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp r11, rsi
je 0x14004f61c
nop word cs:[rax + rax]
or r10, qword [rcx + r8*8]
inc r8
cmp rdx, r8
jne 0x14004f610
mov rcx, r10
not rcx
dec r10
and r10, rcx
sar r10, 0x3f
xor eax, 1
and eax, r10d
xor eax, 1
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x14004f7e0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
movsxd r8, dword [rcx + 8]
movsxd rax, dword [rdx + 8]
cmp r8d, eax
jge 0x14004f807
mov r10, qword [rdx]
mov rsi, rax
sub rsi, r8
cmp rsi, 4
jae 0x14004f80c
xor r9d, r9d
mov r11, r8
jmp 0x14004f870
xor r9d, r9d
jmp 0x14004f87c
mov rdi, rsi
and rdi, 0xfffffffffffffffc
lea r11, [rdi + r8]
lea r9, [r10 + r8*8]
add r9, 0x10
pxor xmm0, xmm0
xor ebx, ebx
pxor xmm1, xmm1
nop dword [rax]
movdqu xmm2, xmmword [r9 + rbx*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r9 + rbx*8]
por xmm1, xmm2
add rbx, 4
cmp rdi, rbx
jne 0x14004f830
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r9, xmm0
cmp rsi, rdi
je 0x14004f87c
nop word cs:[rax + rax]
or r9, qword [r10 + r11*8]
inc r11
cmp rax, r11
jne 0x14004f870
cmp eax, r8d
jge 0x14004f90c
mov r10, qword [rcx]
mov rsi, r8
sub rsi, rax
cmp rsi, 4
jae 0x14004f899
mov r11, rax
jmp 0x14004f900
mov rdi, rsi
and rdi, 0xfffffffffffffffc
lea r11, [rdi + rax]
movq xmm1, r9
lea r9, [r10 + rax*8]
add r9, 0x10
pxor xmm0, xmm0
xor ebx, ebx
nop word [rax + rax]
movdqu xmm2, xmmword [r9 + rbx*8 - 0x10]
por xmm1, xmm2
movdqu xmm2, xmmword [r9 + rbx*8]
por xmm0, xmm2
add rbx, 4
cmp rdi, rbx
jne 0x14004f8c0
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r9, xmm1
cmp rsi, rdi
je 0x14004f90c
nop word cs:[rax + rax]
or r9, qword [r10 + r11*8]
inc r11
cmp r8, r11
jne 0x14004f900
cmp r8d, eax
cmovl eax, r8d
test eax, eax
jle 0x14004f9c3
mov r8, qword [rcx]
mov r10, qword [rdx]
mov r11d, eax
cmp eax, 4
jae 0x14004f930
xor eax, eax
jmp 0x14004f9b0
mov eax, r11d
and eax, 0x7ffffffc
movq xmm0, r9
mov r9d, r11d
shr r9d, 2
and r9d, 0x1fffffff
shl r9, 5
pxor xmm1, xmm1
xor esi, esi
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r8 + rsi]
movdqu xmm3, xmmword [r8 + rsi + 0x10]
movdqu xmm4, xmmword [r10 + rsi]
pxor xmm4, xmm2
por xmm0, xmm4
movdqu xmm2, xmmword [r10 + rsi + 0x10]
pxor xmm2, xmm3
por xmm1, xmm2
add rsi, 0x20
cmp r9, rsi
jne 0x14004f960
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r9, xmm0
cmp rax, r11
je 0x14004f9c3
nop word [rax + rax]
mov rsi, qword [r10 + rax*8]
xor rsi, qword [r8 + rax*8]
or r9, rsi
inc rax
cmp r11, rax
jne 0x14004f9b0
mov eax, dword [rdx + 0x10]
xor eax, dword [rcx + 0x10]
movsxd rcx, eax
xor eax, eax
or rcx, r9
sete al
pop rbx
pop rdi
pop rsi
ret