joyce8/EMBER2024-capa huggingface dataset:
Function at 0x416ae0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x416d0a
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualAlloc]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
call fcn.00431340
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp qword [rsp + 0x28], rax
je 0x416b5b
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x416b6e
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
sub rdx, rbx
add rcx, rbx
mov rbx, rdx
test rbx, rbx
jbe 0x416b90
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
jmp 0x416ba4
cmp rbx, 0x1000
jae 0x416b65
jmp 0x416c2e
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x416bb6
xor esi, esi
jmp 0x416c20
mov rax, qword [sym.imp.kernel32.dll_VirtualAlloc]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
nop dword [rax]
call fcn.00431340
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x28], 0
sete al
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov esi, eax
mov rax, qword [rsp + 0x68]
nop dword [rax + rax]
test sil, sil
jne 0x416b9a
jmp 0x416b82
call fcn.004628c0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x34], eax
cmp eax, 8
jne 0x416ca9
call fcn.00436420
lea rax, [0x004f9f4a]
mov ebx, 0x19
call fcn.00436d20
mov rax, qword [rsp + 0x68]
call fcn.00436a20
lea rax, [0x004f9b49]
mov ebx, 0x19
nop
call fcn.00436d20
mov eax, dword [rsp + 0x34]
call fcn.00436a20
call fcn.00436680
call fcn.004364a0
lea rax, [0x004f677a]
mov ebx, 0xd
call fcn.00434ca0
cmp eax, 0x5af
je 0x416c53
call fcn.00436420
lea rax, [0x004f9f4a]
mov ebx, 0x19
call fcn.00436d20
mov rax, qword [rsp + 0x38]
call fcn.00436a20
lea rax, [0x004f9b49]
mov ebx, 0x19
nop dword [rax]
call fcn.00436d20
mov eax, dword [rsp + 0x34]
call fcn.00436a20
call fcn.00436680
call fcn.004364a0
lea rax, [0x004fb822]
mov ebx, 0x1f
call fcn.00434ca0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045ed20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00416ae0
Function at 0x41e1c0
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
cmp byte [0x00618ab8], 0
jne 0x41e2b9
nop
nop
nop
nop
sub rbx, qword [rax + 0x18]
nop
mov edx, dword [rax + 0x5c]
imul rbx, rdx
mov rdx, rbx
shr rbx, 0x20
nop
shr rdx, 0x23
and rbx, 7
mov rsi, rcx
mov rcx, rbx
mov r8d, 1
shl r8d, cl
nop
add rdx, qword [rax + 0x50]
lock or byte [rdx], r8b
nop
nop
mov rcx, qword [rax + 0x18]
nop
movabs rdx, 0x800000000000
lea rax, [rdx + rcx]
mov rdx, rax
shr rax, 0x2a
cmp rax, 0x40
jae 0x41e2af
lea rbx, [0x005eaf18]
mov rax, qword [rbx + rax*8]
shr rdx, 0x16
and rdx, 0xfffff
mov rdx, qword [rax + rdx*8]
test byte [rdx], al
test byte [rax], al
mov rax, rcx
shr rcx, 0x10
and rcx, 0x3f
movzx ebx, byte [rdx + rcx + 0x21040]
lea rdx, [rdx + rcx]
lea rdx, [rdx + 0x21040]
shr rax, 0xd
and rax, 7
mov rcx, rax
mov eax, 1
shl eax, cl
test al, bl
jne 0x41e28a
lock or byte [rdx], al
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add qword [rax + 0x16a8], rsi
add qword [rax + 0x16b0], rdi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov ecx, 0x40
call fcn.00461440
lea rax, [0x004fdc73]
mov ebx, 0x2c
call fcn.00434ca0
nop
int3
Function at 0x42d340
Capabilities:
Hash data using murmur3

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x42d5e6
sub rsp, 0x40
mov qword [rsp + 0x38], rbp
lea rbp, [rsp + 0x38]
test byte [rax], al
lea rsi, [rax + 0x16d0]
mov rcx, qword [rax + 0x16c0]
sub rcx, rsi
shr rcx, 3
cmp rcx, 0x200
ja 0x42d5da
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], rcx
mov qword [rax + 0x16c0], 0
cmp byte [0x00618ab8], 0
jne 0x42d3a2
xor edx, edx
xor ebx, ebx
nop
jmp 0x42d3eb
xor edx, edx
jmp 0x42d3ce
mov qword [rsp + 0x28], rdx
mov rcx, qword [rax + rdx*8 + 0x16d0]
mov rax, rcx
call fcn.0041d9e0
mov rcx, qword [rsp + 0x28]
lea rdx, [rcx + 1]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
jl 0x42d3a6
add rax, 0x16c0
call fcn.0042d200
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
inc rdx
cmp rdx, rcx
jge 0x42d572
mov rsi, qword [rax + rdx*8 + 0x16d0]
nop dword [rax]
cmp rsi, 0x1000
jb 0x42d3e8
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rbx
mov rax, rsi
xor ebx, ebx
mov rcx, rbx
nop dword [rax + rax]
call fcn.00412940
test rax, rax
jne 0x42d442
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
nop
jmp 0x42d3e8
nop
mov rsi, rcx
shr rcx, 3
and rsi, 7
mov rdx, rcx
mov rcx, rsi
mov r8d, 1
shl r8d, cl
nop
add rdx, qword [rbx + 0x50]
movzx esi, byte [rdx]
test r8b, sil
je 0x42d485
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
nop
jmp 0x42d3e8
nop
lock or byte [rdx], r8b
nop
nop
mov rcx, qword [rbx + 0x18]
nop
movabs rsi, 0x800000000000
lea r8, [rsi + rcx]
mov r9, r8
shr r8, 0x2a
cmp r8, 0x40
jae 0x42d5cd
lea r10, [0x005eaf18]
mov r8, qword [r10 + r8*8]
shr r9, 0x16
and r9, 0xfffff
mov r9, qword [r8 + r9*8]
test byte [r9], al
test byte [r8], al
mov r8, rcx
shr rcx, 0x10
and rcx, 0x3f
movzx r10d, byte [r9 + rcx + 0x21040]
lea r9, [r9 + rcx]
lea r9, [r9 + 0x21040]
shr r8, 0xd
and r8, 7
mov rcx, r8
mov r8d, 1
shl r8d, cl
test r8b, r10b
jne 0x42d50c
lock or byte [r9], r8b
movzx r8d, byte [rbx + 0x62]
test r8b, 1
je 0x42d545
mov r8, qword [rsp + 0x48]
mov r9, qword [r8 + 0x16a8]
add r9, qword [rbx + 0x68]
mov qword [r8 + 0x16a8], r9
mov rax, r8
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x42d3e8
mov r8, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
cmp r8, rcx
jae 0x42d5c5
mov r9, qword [rsp + 0x48]
mov qword [r9 + r8*8 + 0x16d0], rax
lea rbx, [r8 + 1]
mov rax, r9
mov rdx, qword [rsp + 0x28]
jmp 0x42d3e8
cmp rbx, 0x200
ja 0x42d5b7
lea rdx, [rax + 0x16d0]
lea rsi, [rax + 0x1698]
mov rcx, rbx
mov edi, 0x200
mov rbx, rdx
mov rax, rsi
call fcn.004230a0
mov rdx, qword [rsp + 0x48]
lea rax, [rdx + 0x16c0]
call fcn.0042d200
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
mov rcx, rbx
mov edx, 0x200
nop
call fcn.004614a0
mov rax, r8
call fcn.00461420
mov rax, r8
mov ecx, 0x40
call fcn.00461440
mov edx, 0x200
nop
call fcn.00461480
nop
mov qword [rsp + 8], rax
call fcn.00463440
mov rax, qword [rsp + 8]
jmp fcn.0042d340
Function at 0x44f360
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
mov qword [rsp + 0x20], rax
test rbx, rbx
jbe 0x44f4d8
movzx edx, byte [rax]
nop
test edx, edx
jne 0x44f39c
test r8b, r8b
jne 0x44f39c
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
bt edx, 7
jae 0x44f3af
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x44f498
mov r8d, 1
mov r9d, edx
and edx, 1
neg edx
shr r9d, 1
xor edx, r9d
add dword [rsi], edx
cmp rbx, r8
jb 0x44f486
sub rbx, r8
sub rcx, r8
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and r8, rcx
lea rsi, [rax + r8]
test rbx, rbx
jbe 0x44f47c
movzx r8d, byte [rax + r8]
bt r8d, 7
jae 0x44f403
xor eax, eax
xor ecx, ecx
xor r8d, r8d
jmp 0x44f446
mov eax, 1
cmp rax, rbx
ja 0x44f435
add qword [rdi], r8
sub rdx, rax
sub rbx, rax
mov rcx, rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
add rax, rsi
mov edi, 1
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov rcx, rbx
call fcn.004614e0
lea r8d, [rcx + 7]
mov ecx, eax
mov eax, r10d
cmp rax, rbx
jae 0x44f474
movzx r9d, byte [rax + rsi]
lea r10d, [rax + 1]
mov r11d, r9d
and r9d, 0x7f
mov eax, ecx
mov ecx, r8d
shl r9d, cl
or eax, r9d
test r11b, 0x80
jne 0x44f43d
mov r8d, eax
mov eax, r10d
jmp 0x44f408
mov rcx, rbx
call fcn.00461420
xor eax, eax
mov rcx, rbx
call fcn.00461420
mov eax, r8d
mov rcx, rbx
call fcn.004614e0
lea r9d, [rcx + 7]
mov rcx, r12
cmp rbx, rdx
jbe 0x44f4ce
movzx r10d, byte [rdx + rax]
inc edx
mov r11d, r10d
and r10d, 0x7f
mov r12, rcx
mov ecx, r9d
shl r10d, cl
or r8d, r10d
test r11b, 0x80
jne 0x44f491
mov rcx, r12
mov r9d, edx
mov edx, r8d
mov r8d, r9d
jmp 0x44f3b5
mov eax, edx
mov rcx, rbx
call fcn.00461420
xor eax, eax
mov rcx, rbx
nop dword [rax]
call fcn.00461420
nop
int3
Function at 0x456be0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x456caa
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 8], 0
mov qword [rsp + 0x10], 0
lea rdx, [rsp + 0x18]
movups xmmword [rdx], xmm15
lea rdx, [rsp + 0x28]
movups xmmword [rdx], xmm15
lea rdx, [rsp + 0x38]
movups xmmword [rdx], xmm15
lea rdx, [rsp + 0x48]
movups xmmword [rdx], xmm15
lea rdx, [0x00456ce0]
mov qword [rsp + 0x10], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x18], rdx
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x20], rdx
mov rdx, r14
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rdi
lea rax, [rsp + 8]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.0045ebe0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
nop
call fcn.0045ed20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00456be0

Function at 0x45d840
Capabilities:
Access peb ldr_data

Disassembly:
sub rsp, 0x30
mov qword [rsp + 0x28], rbp
lea rbp, [rsp + 0x28]
mov r13, 0
mov qword [rsp + 0x20], r13
mov byte [rsp + 0x17], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x30]
nop
inc dword [rcx + 0x244]
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
mov rdx, qword [rcx + 0x30]
nop
mov rsi, rcx
mov qword [rdx + 0x138], rcx
mov rcx, qword [rsi + 0x30]
mov qword [rsi + 0xe8], rcx
lea rcx, fcn.004403a0
mov qword [rsp + 0x20], rcx
mov byte [rsp + 0x17], 1
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x30]
mov qword [rsp + 0x18], rcx
mov rdx, qword [rsp + 0x38]
mov qword [rcx + 0x2e0], rdx
mov rdx, qword [rsp + 0x40]
mov qword [rcx + 0x2e8], rdx
lea rdx, [rsp + 0x48]
mov qword [rcx + 0x2f0], rdx
lea rbx, [rcx + 0x2e0]
mov rax, qword [0x005c3a60]
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
call fcn.004032a0
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rcx + 0x2f8]
mov rsi, qword [rcx + 0x300]
mov rcx, qword [rcx + 0x308]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rcx
mov byte [rsp + 0x17], 0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
call fcn.004403a0
mov rbp, qword [rsp + 0x28]
add rsp, 0x30
ret
Function at 0x460e60
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4024af
sub rsp, 0x20
mov qword [rsp + 0x18], rbp
lea rbp, [rsp + 0x18]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
nop
call fcn.00408be0
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045ed20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x402480
cmp byte [0x00618ab7], 0
je 0x460e75
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x45de40
jmp 0x402480

Function at 0x460e80
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov eax, dword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x00618e20]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d124b
mul rcx
nop
nop
xor rax, rdx
ret
cmp byte [0x00618ab7], 0
je 0x460eb5
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x006190a0]
aesenc xmm0, xmmword [0x006190b0]
aesenc xmm0, xmmword [0x006190c0]
movq rax, xmm0
ret
jmp 0x408de0

Function at 0x460ec0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, qword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x00618e20]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d1247
mul rcx
nop
nop
xor rax, rdx
ret
cmp byte [0x00618ab7], 0
je 0x460ef6
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x006190a0]
aesenc xmm0, xmmword [0x006190b0]
aesenc xmm0, xmmword [0x006190c0]
movq rax, xmm0
ret
jmp 0x408e40

Function at 0x462840
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0x30
mov rcx, 0xfffffffffffffff4
mov qword [rsp], rcx
mov rax, qword [sym.imp.kernel32.dll_GetStdHandle]
call rax
mov rcx, rax
mov qword [rsp], rcx
lea rdx, [0x00619020]
mov qword [rsp + 8], rdx
lea r8d, [0x00618ad4]
mov qword [rsp + 0x10], r8
lea r9, [rsp + 0x28]
mov qword [r9], 0
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], 0
mov rax, qword [sym.imp.kernel32.dll_WriteFile]
call rax
call fcn.00460dc0
add rsp, 0x30
ret

Function at 0x463720
Capabilities:
Access peb ldr_data

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], r11
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x50], rax
call fcn.0045db20
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
Function at 0x48d9e0
Capabilities:
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
mov ecx, 0x14
lea rax, str.expand_32_byte_k
movdqa xmm0, xmmword [rax]
movdqa xmm5, xmmword [rax + 0x10]
movdqa xmm6, xmmword [rax + 0x20]
movdqu xmm1, xmmword [rdi]
movdqu xmm2, xmmword [rdi + 0x10]
movdqu xmm3, xmmword [rsi]
paddd xmm0, xmm1
pxor xmm3, xmm0
pshufb xmm3, xmm5
paddd xmm2, xmm3
pxor xmm1, xmm2
movdqa xmm4, xmm1
pslld xmm1, 0xc
psrld xmm4, 0x14
pxor xmm1, xmm4
paddd xmm0, xmm1
pxor xmm3, xmm0
pshufb xmm3, xmm6
pshufd xmm0, xmm0, 0x93
paddd xmm2, xmm3
pshufd xmm3, xmm3, 0x4e
pxor xmm1, xmm2
pshufd xmm2, xmm2, 0x39
movdqa xmm4, xmm1
pslld xmm1, 7
psrld xmm4, 0x19
pxor xmm1, xmm4
sub rcx, 2
paddd xmm0, xmm1
pxor xmm3, xmm0
pshufb xmm3, xmm5
paddd xmm2, xmm3
pxor xmm1, xmm2
movdqa xmm4, xmm1
pslld xmm1, 0xc
psrld xmm4, 0x14
pxor xmm1, xmm4
paddd xmm0, xmm1
pxor xmm3, xmm0
pshufb xmm3, xmm6
pshufd xmm0, xmm0, 0x39
paddd xmm2, xmm3
pshufd xmm3, xmm3, 0x4e
pxor xmm1, xmm2
pshufd xmm2, xmm2, 0x93
movdqa xmm4, xmm1
pslld xmm1, 7
psrld xmm4, 0x19
pxor xmm1, xmm4
ja 0x48da16
movdqu xmmword [rdx], xmm0
movdqu xmmword [rdx + 0x10], xmm3
ret
Function at 0x140bd6108
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.140bd628f
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x140bd6139
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140bd611f
add dl, dl
jne 0x140bd6146
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140bd61a6
xor eax, eax
add dl, dl
jne 0x140bd6155
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140bd625d
add dl, dl
jne 0x140bd6166
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140bd6173
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140bd6180
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140bd618d
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x140bd619a
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x140bd612e
mov eax, 1
add dl, dl
jne 0x140bd61b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140bd61c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140bd61ab
sub eax, ebx
mov ebx, 1
jne 0x140bd61fc
mov ecx, 1
add dl, dl
jne 0x140bd61de
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140bd61eb
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140bd61d3
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140bd612e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x140bd6218
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140bd6225
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140bd620d
cmp eax, 0x7d00
jae 0x140bd624b
cmp eax, 0x500
jb 0x140bd6246
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140bd612e
cmp eax, 0x7f
ja 0x140bd624e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140bd612e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x140bd6282
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x140bd612e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x1400543c0
Capabilities:
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r15
sub rsp, 0x30
mov qword [rsp + 0x58], r14
mov rdi, rcx
lea r14, [rcx + 0x38]
mov r15, r8
mov ecx, dword [r14]
mov rsi, rdx
test ecx, ecx
je 0x140054426
mov rax, qword [rdi + 0x20]
mov edx, ecx
mov r8d, ecx
mov ecx, 0x40000
call rax
mov r8d, dword [r14]
xor edx, edx
mov rcx, rax
mov qword [rdi + 0x30], rax
call fcn.14025ab90
mov r9, qword [rdi + 0x30]
lea rdx, section..text
mov r8d, dword [0x1403a2044]
mov rcx, rdi
mov qword [rsp + 0x20], r14
call fcn.140058dc0
mov rcx, qword [rdi + 0x30]
mov qword [rsp + 0x50], rbp
lea rax, [rcx + 4]
call rax
mov ecx, dword [rsi + 0x30]
mov edx, dword [rsi + 0x28]
mov r14, qword [rsp + 0x58]
cmp ecx, edx
je 0x1400544da
nop dword [rax + rax]
mov eax, dword [rdi + 0x80]
sub ecx, edx
mov rdx, qword [rsi + 0x28]
cmp ecx, eax
cmovge ecx, eax
xor r9d, r9d
mov r8d, ecx
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.WS2_32.dll_send]
mov ebp, eax
test eax, eax
jle 0x1400544c7
lea rcx, [rdi + 0x1c8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [rdi + 0x228]
sub ecx, ebp
mov dword [rdi + 0x228], ecx
lea rcx, [rdi + 0x1c8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r9, qword [rdi]
mov r8d, ebp
mov rdx, qword [rsi + 0x28]
mov rcx, rdi
call qword [r9 + 0x190]
mov edx, ebp
mov rcx, rsi
call fcn.1400577f0
jmp 0x1400544cc
cmp ebp, 0xffffffff
je 0x1400544f2
mov ecx, dword [rsi + 0x30]
mov edx, dword [rsi + 0x28]
cmp ecx, edx
jne 0x140054450
mov eax, 1
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop rdi
pop rsi
ret
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x140054508
mov dword [r15], 1
jmp 0x1400544da
mov dword [rdi + 0x58], eax
xor eax, eax
mov dword [rdi + 0x50], 1
mov dword [rdi + 0x54], 3
mov dword [rdi + 0x5c], 1
jmp 0x1400544df
Function at 0x1400549b0
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov eax, dword [rcx + 0x22c]
mov rbx, rcx
test eax, eax
jne 0x140054aa4
nop dword [rax + rax]
mov r8d, dword [rbx + 0x80]
xor r9d, r9d
mov rdx, qword [rbx + 0xc0]
mov rcx, qword [rbx + 0x60]
call qword [sym.imp.WS2_32.dll_recv]
mov edi, eax
test eax, eax
jle 0x140054a4d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbx]
mov r8d, edi
mov rdx, qword [rbx + 0xc0]
mov r9, qword [rcx + 0x1a0]
mov rcx, rbx
call r9
cmp eax, 2
jne 0x140054a56
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 0x4c7
cmove eax, ecx
mov dword [rbx + 0x50], 1
mov dword [rbx + 0x54], 4
mov dword [rbx + 0x58], eax
xor eax, eax
mov dword [rbx + 0x5c], 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp edi, 0xffffffff
je 0x140054a97
test edi, edi
je 0x140054a74
mov eax, dword [rbx + 0x22c]
test eax, eax
je 0x1400549d0
mov eax, 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rbx + 0x50], 1
xor eax, eax
mov qword [rbx + 0x54], 5
mov dword [rbx + 0x5c], 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x140054a28
mov rbx, qword [rsp + 0x30]
mov eax, 1
add rsp, 0x20
pop rdi
ret
Function at 0x140057510
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov edi, r8d
mov rsi, rdx
mov rbp, rcx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x140057588
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x140057588
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, eax
add rcx, rbx
and edi, 0xf
jbe 0x140057575
nop
cmp rbx, rcx
jae 0x140057588
movzx eax, word [rbx]
lea rbx, [rbx + rax*2]
add rbx, 2
add edi, 0xffffffff
jne 0x140057560
cmp rbx, rcx
jae 0x140057588
xor eax, eax
cmp word [rbx], ax
cmove rbx, rax
mov rax, rbx
jmp 0x14005758a
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x140057c70
Capabilities:
Resolve dns

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x100
mov rax, qword [0x1403a9200]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rsi, r8
movzx ebp, dx
mov rdi, rcx
call fcn.140057ae0
mov word [rsi], ax
test ax, ax
je 0x140057cb6
mov r8, rsi
movzx edx, bp
mov rcx, rdi
call fcn.140057be0
jmp 0x140057d8c
xor eax, eax
mov qword [rsp + 0x138], rbx
xorps xmm0, xmm0
mov dword [rsp + 0x28], 0xc00
movups xmmword [rsi + 2], xmm0
mov qword [rsi + 0x12], rax
lea rcx, [rsp + 0x60]
mov word [rsi + 0x1a], ax
xor ebx, ebx
movzx eax, word [rsi]
xorps xmm1, xmm1
mov dword [rsp + 0x2c], eax
mov r8d, 3
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rbx
mov rdx, rdi
mov qword [rsp + 0x60], rax
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x50], rbx
movdqu xmmword [rsp + 0x40], xmm1
call fcn.140058050
mov rcx, qword [rsp + 0x60]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
xor edx, edx
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov rcx, qword [rsp + 0x60]
mov edi, eax
lea rax, [rsp + 0x68]
cmp rcx, rax
je 0x140057d43
call fcn.14023426c
test edi, edi
je 0x140057d4b
mov ecx, edi
jmp 0x140057d7c
mov rdi, qword [rsp + 0x20]
mov rdx, rdi
test rdi, rdi
je 0x140057d6e
mov eax, dword [rdx + 4]
cmp eax, 2
je 0x140057da7
cmp eax, 0x17
je 0x140057da7
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x140057d58
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov ecx, 0x2af9
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov eax, ebx
mov rbx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.14022dda0
add rsp, 0x100
pop rdi
pop rsi
pop rbp
ret
mov r8, qword [rdx + 0x10]
mov rcx, rsi
mov rdx, qword [rdx + 0x20]
call fcn.14025a4f0
mov rcx, rdi
mov ebx, 1
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
movzx ecx, bp
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsi + 2], ax
jmp 0x140057d82