joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180071030
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x40
mov rbp, r8
mov r14, rdx
mov rsi, rcx
cmp rdx, r8
je 0x18007112e
mov rdx, qword [rcx + 0x18]
movabs r8, 0x100000001b3
mov qword [rsp + 0x60], rbx
movabs rax, 0xcbf29ce484222325
mov qword [rsp + 0x38], rdi
mov rbx, r14
mov qword [rsp + 0x30], r12
mov r12, qword [rcx + 8]
movzx ecx, byte [r14 + 0x10]
xor rcx, rax
mov qword [rsp + 0x28], r13
movzx eax, byte [r14 + 0x11]
mov r13, qword [r14 + 8]
imul rcx, r8
mov qword [rsp + 0x20], r15
mov r15, qword [rsi + 0x30]
xor rcx, rax
movzx eax, byte [r14 + 0x12]
imul rcx, r8
mov qword [rsp + 0x78], rdx
xor rcx, rax
movzx eax, byte [r14 + 0x13]
imul rcx, r8
xor rcx, rax
imul rcx, r8
and r15, rcx
shl r15, 4
add r15, rdx
mov rax, qword [r15]
mov qword [rsp + 0x68], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x70], rax
nop dword [rax + rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, Ordinal_26
call fcn.18011f9bc
dec qword [rsi + 0x10]
cmp rdi, qword [rsp + 0x70]
je 0x18007113a
cmp rbx, rbp
jne 0x1800710e0
cmp qword [rsp + 0x68], r14
jne 0x18007110d
mov qword [r15], rbx
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x20]
mov qword [r13], rbx
mov qword [rbx + 8], r13
mov r13, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x60]
mov rax, rbp
add rsp, 0x40
pop r14
pop rsi
pop rbp
ret
cmp qword [rsp + 0x68], r14
jne 0x180071149
mov qword [r15], r12
mov rax, r12
jmp 0x18007114c
mov rax, r13
mov qword [r15 + 8], rax
cmp rbx, rbp
je 0x18007110d
nop word [rax + rax]
movzx ecx, byte [rbx + 0x10]
movabs rdx, 0x100000001b3
mov r15, qword [rsi + 0x30]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movzx eax, byte [rbx + 0x11]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rbx + 0x12]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rbx + 0x13]
imul rcx, rdx
xor rcx, rax
imul rcx, rdx
and r15, rcx
shl r15, 4
add r15, qword [rsp + 0x78]
mov r14, qword [r15 + 8]
nop dword [rax]
nop dword [rax + rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, Ordinal_26
call fcn.18011f9bc
dec qword [rsi + 0x10]
cmp rdi, r14
je 0x1800711e6
cmp rbx, rbp
jne 0x1800711c0
jmp 0x18007110a
mov qword [r15], r12
mov qword [r15 + 8], r12
cmp rbx, rbp
jne 0x180071160
jmp 0x18007110d
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x18007185c
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x1800717ea
mov rdx, qword [rdi + 8]
mov rcx, rdi
mov r8, rdx
mov rdx, qword [rdx]
add rsp, 0x20
pop rdi
jmp 0x180071030
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rcx, qword [rcx]
test rcx, rcx
je 0x18007182a
mov qword [rsp + 0x38], rbx
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, Ordinal_26
call fcn.18011f9bc
mov rcx, rbx
test rbx, rbx
jne 0x180071810
mov rbx, qword [rsp + 0x38]
mov rax, qword [rdi + 8]
lea r8, [rsp + 0x30]
mov qword [rax], rax
mov rax, qword [rdi + 8]
mov qword [rax + 8], rax
mov qword [rdi + 0x10], 0
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x30], rax
call fcn.18005e580
add rsp, 0x20
pop rdi
ret
Function at 0x1800717b0
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x40
mov rbp, r8
mov r14, rdx
mov rsi, rcx
cmp rdx, r8
je 0x18007112e
mov rdx, qword [rcx + 0x18]
movabs r8, 0x100000001b3
mov qword [rsp + 0x60], rbx
movabs rax, 0xcbf29ce484222325
mov qword [rsp + 0x38], rdi
mov rbx, r14
mov qword [rsp + 0x30], r12
mov r12, qword [rcx + 8]
movzx ecx, byte [r14 + 0x10]
xor rcx, rax
mov qword [rsp + 0x28], r13
movzx eax, byte [r14 + 0x11]
mov r13, qword [r14 + 8]
imul rcx, r8
mov qword [rsp + 0x20], r15
mov r15, qword [rsi + 0x30]
xor rcx, rax
movzx eax, byte [r14 + 0x12]
imul rcx, r8
mov qword [rsp + 0x78], rdx
xor rcx, rax
movzx eax, byte [r14 + 0x13]
imul rcx, r8
xor rcx, rax
imul rcx, r8
and r15, rcx
shl r15, 4
add r15, rdx
mov rax, qword [r15]
mov qword [rsp + 0x68], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x70], rax
nop dword [rax + rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, Ordinal_26
call fcn.18011f9bc
dec qword [rsi + 0x10]
cmp rdi, qword [rsp + 0x70]
je 0x18007113a
cmp rbx, rbp
jne 0x1800710e0
cmp qword [rsp + 0x68], r14
jne 0x18007110d
mov qword [r15], rbx
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x20]
mov qword [r13], rbx
mov qword [rbx + 8], r13
mov r13, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x60]
mov rax, rbp
add rsp, 0x40
pop r14
pop rsi
pop rbp
ret
cmp qword [rsp + 0x68], r14
jne 0x180071149
mov qword [r15], r12
mov rax, r12
jmp 0x18007114c
mov rax, r13
mov qword [r15 + 8], rax
cmp rbx, rbp
je 0x18007110d
nop word [rax + rax]
movzx ecx, byte [rbx + 0x10]
movabs rdx, 0x100000001b3
mov r15, qword [rsi + 0x30]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movzx eax, byte [rbx + 0x11]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rbx + 0x12]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rbx + 0x13]
imul rcx, rdx
xor rcx, rax
imul rcx, rdx
and r15, rcx
shl r15, 4
add r15, qword [rsp + 0x78]
mov r14, qword [r15 + 8]
nop dword [rax]
nop dword [rax + rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, Ordinal_26
call fcn.18011f9bc
dec qword [rsi + 0x10]
cmp rdi, r14
je 0x1800711e6
cmp rbx, rbp
jne 0x1800711c0
jmp 0x18007110a
mov qword [r15], r12
mov qword [r15 + 8], r12
cmp rbx, rbp
jne 0x180071160
jmp 0x18007110d
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x18007185c
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x1800717ea
mov rdx, qword [rdi + 8]
mov rcx, rdi
mov r8, rdx
mov rdx, qword [rdx]
add rsp, 0x20
pop rdi
jmp 0x180071030
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rcx, qword [rcx]
test rcx, rcx
je 0x18007182a
mov qword [rsp + 0x38], rbx
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, Ordinal_26
call fcn.18011f9bc
mov rcx, rbx
test rbx, rbx
jne 0x180071810
mov rbx, qword [rsp + 0x38]
mov rax, qword [rdi + 8]
lea r8, [rsp + 0x30]
mov qword [rax], rax
mov rax, qword [rdi + 8]
mov qword [rax + 8], rax
mov qword [rdi + 0x10], 0
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x30], rax
call fcn.18005e580
add rsp, 0x20
pop rdi
ret
Function at 0x180071a50
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
movabs rax, 0xcbf29ce484222325
mov r9d, 0
sub r8, rdx
je 0x180071a84
movabs r10, 0x100000001b3
nop
movzx ecx, byte [r9 + rdx]
inc r9
xor rax, rcx
imul rax, r10
cmp r9, r8
jb 0x180071a70
ret

Function at 0x18007a720
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov eax, dword [rdx]
lea rdi, [rdx + 8]
mov ebp, r8d
mov rsi, rdx
mov rbx, rcx
cmp eax, 0xd
jne 0x18007a782
mov rax, qword [rcx]
movsxd r10, dword [rdi]
mov r9, qword [rax + 0x38]
mov edx, dword [r9 + r10*4]
mov eax, edx
and eax, 0x3f
cmp al, 0x1c
jne 0x18007a787
dec dword [rcx + 0x20]
and edx, 0xffc7ffff
or edx, 0x460000
xor eax, eax
shr edx, 0x11
mov ecx, 0x4000
test r8d, r8d
cmove eax, ecx
or edx, eax
jmp 0x18007a7e1
cmp eax, 8
je 0x18007a7be
mov rdx, qword [rbx]
movzx ecx, byte [rcx + 0x3c]
inc ecx
movzx eax, byte [rdx + 0xc]
cmp ecx, eax
jbe 0x18007a7a3
cmp ecx, 0xff
jae 0x18007a805
mov byte [rdx + 0xc], cl
inc byte [rbx + 0x3c]
mov rdx, rsi
movzx r8d, byte [rbx + 0x3c]
mov rcx, rbx
dec r8d
call fcn.18007a320
cmp dword [rsi], 8
jne 0x18007a7d1
mov edx, dword [rdi]
bt edx, 8
jb 0x18007a7d1
movzx eax, byte [rbx + 0x3a]
cmp edx, eax
jl 0x18007a7d1
dec byte [rbx + 0x3c]
mov edx, dword [rdi]
shl edx, 9
or edx, ebp
shl edx, 0xe
or edx, 0x3fe4
mov rcx, rbx
call fcn.18007a860
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp fcn.18007b2f0
mov rcx, qword [rbx + 0x10]
lea rdx, str.function_or_expression_needs_too_many_registers
call fcn.180085500
int3

Function at 0x1800843e0
Capabilities:
Read file on windows

Disassembly:
push rbx
mov eax, 0x2050
call fcn.180120150
sub rsp, rax
mov rax, qword [0x18030b348]
xor rax, rsp
mov qword [rsp + 0x2040], rax
mov rbx, rdx
lea rdx, [rsp + 0x20]
call fcn.180075e50
nop
mov edx, 0x2000
lea rcx, [rsp + 0x20]
call fcn.180076d50
mov r9, rbx
mov edx, 1
mov r8d, 0x2000
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add qword [rsp + 0x30], rax
cmp rax, 0x2000
je 0x180084410
lea rcx, [rsp + 0x20]
call fcn.180076e20
mov rcx, qword [rsp + 0x2040]
xor rcx, rsp
call fcn.18011fa50
add rsp, 0x2050
pop rbx
ret

Function at 0x180084470
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
mov eax, 0x2050
call fcn.180120150
sub rsp, rax
mov rax, qword [0x18030b348]
xor rax, rsp
mov qword [rsp + 0x2040], rax
mov rbx, rdx
mov rdi, r8
lea rdx, [rsp + 0x20]
call fcn.180075e50
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.180076d50
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add qword [rsp + 0x30], rax
lea rcx, [rsp + 0x20]
mov rbx, rax
call fcn.180076e20
xor eax, eax
test rbx, rbx
setne al
mov rcx, qword [rsp + 0x2040]
xor rcx, rsp
call fcn.18011fa50
mov rbx, qword [rsp + 0x2078]
add rsp, 0x2050
pop rdi
ret
Function at 0x18008b400
Capabilities:
Query environment variable

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x140
mov rax, qword [0x18030b348]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov rbp, qword [rsp + 0x190]
mov rdi, rcx
mov rcx, r8
mov rbx, r9
mov r14, rdx
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov rsi, rax
test rax, rax
jne 0x18008b453
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov rsi, rax
test rax, rax
je 0x18008b4d1
lea r8, str.LUA_NOENV
mov edx, 0xfff0b9d8
mov rcx, rdi
call fcn.180072c50
mov edx, 0xffffffff
mov rcx, rdi
call fcn.180074da0
mov edx, 0xfffffffe
mov rcx, rdi
mov ebx, eax
call fcn.180074a90
test ebx, ebx
jne 0x18008b4d1
lea r9, [0x180136c1c]
mov rdx, rsi
lea r8, [0x180136c20]
mov rcx, rdi
call fcn.180076600
mov r9, rbp
lea r8, reloc.WS2_32.dll_accept
mov rdx, rax
mov rcx, rdi
call fcn.180076600
lea edx, [rbx - 2]
mov rcx, rdi
lea r8d, [rbx - 1]
call fcn.180074670
lea edx, [rbx - 2]
mov rcx, rdi
call fcn.180074a90
jmp 0x18008b4dc
mov rdx, rbp
mov rcx, rdi
call fcn.180073d70
mov r8d, 0x105
lea rdx, [rsp + 0x20]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x18008b557
cmp eax, 0x105
je 0x18008b557
mov edx, 0x5c
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll_strrchr
test rax, rax
je 0x18008b557
xor r8d, r8d
mov byte [rax], 0
mov rcx, rdi
lea edx, [r8 - 1]
call fcn.180074f00
mov rdx, rax
lea r9, [rsp + 0x20]
lea r8, reloc.WLDAP32.dll_Ordinal_33
mov rcx, rdi
call fcn.180076600
mov edx, 0xfffffffe
mov rcx, rdi
lea r8d, [rdx + 1]
call fcn.180074670
mov edx, 0xfffffffe
mov rcx, rdi
call fcn.180074a90
jmp 0x18008b566
lea rdx, str.unable_to_get_ModuleFileName
mov rcx, rdi
call fcn.180076300
mov r8, r14
mov edx, 0xfffffffe
mov rcx, rdi
call fcn.1800747d0
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.18011fa50
add rsp, 0x140
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x18008c350
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x20
mov qword [rsp + 0x50], rbx
mov r12, rdx
mov rbx, rcx
call qword [sym.imp.api_ms_win_crt_locale_l1_1_0.dll_localeconv]
xor edi, edi
lea r13, [0x180134f70]
xorps xmm1, xmm1
mov r10d, edi
mov esi, edi
mov r9d, edi
mov r8, qword [rax]
mov r11d, edi
movsx r14d, byte [r8]
mov qword [r12], rbx
movzx eax, byte [rbx]
test byte [rax + r13 + 1], 8
je 0x18008c3af
nop
movzx eax, byte [rbx + 1]
inc rbx
test byte [rax + r13 + 1], 8
jne 0x18008c3a0
mov qword [rsp + 0x58], r15
lea rdx, [rbx + 1]
mov ebp, 1
cmp al, 0x2d
jne 0x18008c3c6
mov r15d, ebp
jmp 0x18008c3cf
cmp al, 0x2b
mov r15d, edi
cmovne rdx, rbx
cmp byte [rdx], 0x30
mov rbx, qword [rsp + 0x50]
jne 0x18008c508
movzx eax, byte [rdx + 1]
sub al, 0x58
test al, 0xdf
jne 0x18008c508
movsd xmm2, qword [0x180136f48]
add rdx, 2
nop word [rax + rax]
movzx r8d, byte [rdx]
movsx rcx, r8b
cmp ecx, r14d
jne 0x18008c41a
test r11d, r11d
jne 0x18008c46f
mov r11d, ebp
inc rdx
jmp 0x18008c400
test byte [r8 + r13 + 1], 0x10
je 0x18008c46f
test r10d, r10d
jne 0x18008c431
cmp r8b, 0x30
jne 0x18008c431
inc esi
jmp 0x18008c462
inc r10d
cmp r10d, 0x1e
jg 0x18008c45f
test byte [rcx + r13 + 1], 2
je 0x18008c447
add ecx, 0xffffffd0
jmp 0x18008c44d
or ecx, 0x20
sub ecx, 0x57
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
addsd xmm1, xmm0
jmp 0x18008c462
inc r9d
test r11d, r11d
je 0x18008c46a
dec r9d
inc rdx
jmp 0x18008c400
lea eax, [rsi + r10]
test eax, eax
je 0x18008c508
mov qword [r12], rdx
lea r9d, [r9*4]
movzx eax, byte [rdx]
sub al, 0x50
test al, 0xdf
jne 0x18008c4ee
movzx ecx, byte [rdx + 1]
cmp cl, 0x2d
jne 0x18008c4a0
mov eax, 2
jmp 0x18008c4ae
cmp cl, 0x2b
mov rax, rdi
mov ebp, edi
sete al
inc rax
lea r8, [rdx + rax]
movzx edx, byte [rdx + rax]
test byte [rdx + r13 + 1], 2
je 0x18008c508
nop
movsx eax, dl
lea edi, [rdi + rdi*4]
inc r8
lea edi, [rdi - 0x18]
lea edi, [rax + rdi*2]
movzx eax, byte [r8]
movzx edx, al
test byte [rax + r13 + 1], 2
jne 0x18008c4c0
mov eax, edi
mov qword [r12], r8
neg eax
test ebp, ebp
cmove eax, edi
add r9d, eax
test r15d, r15d
je 0x18008c4fa
xorps xmm1, xmmword [0x1801326d0]
mov edx, r9d
movaps xmm0, xmm1
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_ldexp]
jmp 0x18008c50b
xorps xmm0, xmm0
mov r15, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x20
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret

Function at 0x18008d9e0
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
xor r9d, r9d
mov qword [rdx + 0x10], 0xffffffffffffffff
lea r10, [r8 + 0x18]
mov dword [rdx + 8], r9d
mov dword [rdx], 7
mov r11, rdx
movzx r8d, byte [r10]
test r8b, r8b
je 0x18008da48
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x18008da10
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
movsxd rcx, eax
mov qword [r11 + 8], rcx
ret
Function at 0x18008e720
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov rax, qword [0x18030b348]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rsi, qword [rcx + 0x30]
mov rbx, rcx
mov ecx, dword [rcx + 0x10]
xor edi, edi
mov ebp, r8d
mov r14, rdx
sub ecx, 0x28
je 0x18008e838
sub ecx, 0x53
je 0x18008e829
sub ecx, 0xaa
je 0x18008e7fe
cmp ecx, 1
jne 0x18008e91d
mov r9, qword [rbx + 0x18]
mov r10d, edi
add r9, 0x18
mov qword [rsp + 0x40], 0xffffffffffffffff
mov dword [rsp + 0x30], 7
movzx r8d, byte [r9]
test r8b, r8b
je 0x18008e7d8
nop dword [rax + rax]
movzx edx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r9]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r10d
imul r10d, eax, 0x401
mov eax, r10d
shr eax, 6
xor r10d, eax
test r8b, r8b
jne 0x18008e7a0
lea eax, [r10 + r10*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
movsxd rcx, eax
mov qword [rsp + 0x38], rcx
mov rcx, rbx
call fcn.180085430
jmp 0x18008e8a1
mov rdx, qword [rbx + 0x18]
mov rcx, rsi
call fcn.18007be00
mov rcx, rbx
mov qword [rsp + 0x40], 0xffffffffffffffff
mov dword [rsp + 0x30], 4
mov dword [rsp + 0x38], eax
call fcn.180085430
jmp 0x18008e8a1
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18008da70
jmp 0x18008e8a1
mov rcx, rbx
call fcn.180085430
cmp dword [rbx + 0x10], 0x29
jne 0x18008e84c
mov dword [rsp + 0x30], edi
jmp 0x18008e88d
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180090120
cmp dword [rbx + 0x10], 0x2c
jne 0x18008e87a
mov rcx, rbx
call fcn.180085430
mov rcx, qword [rbx + 0x30]
lea rdx, [rsp + 0x30]
call fcn.18007ae70
jmp 0x18008e84c
mov r8d, 0xffffffff
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.18007bc40
mov edx, reloc.WLDAP32.dll_Ordinal_41
mov r9d, ebp
mov rcx, rbx
lea r8d, [rdx - 1]
call fcn.18008d810
mov ecx, dword [rsp + 0x30]
mov ebx, dword [r14 + 8]
lea eax, [rcx - 0xe]
cmp eax, 1
jbe 0x18008e8c8
test ecx, ecx
je 0x18008e8c2
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.18007ae70
movzx edi, byte [rsi + 0x3c]
sub edi, ebx
mov r9d, edi
mov dword [rsp + 0x20], 2
mov r8d, ebx
mov edx, Ordinal_41
mov rcx, rsi
call fcn.18007a960
mov edx, ebp
mov qword [r14 + 0x10], 0xffffffffffffffff
mov rcx, rsi
mov dword [r14], reloc.WS2_32.dll_ntohl
mov dword [r14 + 8], eax
call fcn.18007af10
inc bl
mov byte [rsi + 0x3c], bl
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.18011fa50
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea rdx, str.function_arguments_expected
mov rcx, rbx
call fcn.180085500
int3
Function at 0x180091670
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbp, qword [rcx + 0x18]
mov r10, r8
shr r10, 5
mov edi, r8d
inc r10
mov rsi, r8
mov r14, rdx
mov r13, rcx
xor edi, dword [rbp + 0x60]
mov r9, r8
cmp r8, r10
jb 0x18009142e
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rdx + r9 - 1]
mov eax, edi
shl eax, 5
sub r9, r10
add ecx, eax
mov eax, edi
shr eax, 2
add ecx, eax
xor edi, ecx
cmp r9, r10
jae 0x180091410
mov r15d, dword [rbp + 0x3c]
movsxd rdx, edi
lea eax, [r15 - 1]
movsxd rcx, eax
mov rax, qword [rbp + 0x30]
and rcx, rdx
mov rbx, qword [rax + rcx*8]
lea r12, [rax + rcx*8]
test rbx, rbx
je 0x180091479
movzx eax, byte [rbx + 0xb]
cmp rsi, rax
jne 0x180091470
lea rdx, [rbx + 0x18]
mov r8, rsi
mov rcx, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18009150c
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x180091450
cmp dword [rbp + 0x38], r15d
jl 0x1800914aa
cmp r15d, 0x3fffffff
jg 0x1800914aa
lea edx, [r15 + r15]
mov rcx, r13
call fcn.1800917c0
mov eax, dword [rbp + 0x3c]
dec eax
movsxd rcx, eax
movsxd rax, edi
and rcx, rax
mov rax, qword [rbp + 0x30]
lea r12, [rax + rcx*8]
lea r8, [rsi + 0x19]
mov edx, 8
mov rcx, r13
call fcn.180081190
mov r8, rsi
mov rdx, r14
mov rbx, rax
lea rcx, [rax + 0x18]
mov dword [rax + 0xc], edi
mov byte [rax + 0xa], 0
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rsi + 0x18], 0
mov byte [rbx + 0xb], sil
mov rcx, qword [r12]
mov qword [rbx + 0x10], rcx
mov qword [r12], rbx
inc dword [rbp + 0x38]
mov rbp, qword [rsp + 0x58]
mov rax, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
movzx eax, byte [rbx + 9]
movzx ecx, byte [rbp + 0x64]
xor al, 3
xor cl, 3
test al, cl
jne 0x1800914ec
mov byte [rbx + 9], al
jmp 0x1800914ec
mov qword [rsp + 0x18], rbp
push rsi
sub rsp, 0x20
mov rsi, r8
mov rbp, rdx
cmp r8, 0x28
ja 0x180091695
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
jmp 0x1800913c0
lea rax, [r8 + 1]
movabs rdx, 0x7fffffffffffffe7
cmp rax, rdx
ja 0x180091701
mov rax, qword [rcx + 0x18]
add r8, 0x19
mov qword [rsp + 0x30], rbx
mov edx, Ordinal_26
mov qword [rsp + 0x38], rdi
mov ebx, dword [rax + 0x60]
call fcn.180081190
mov r8, rsi
mov rdx, rbp
mov rdi, rax
lea rcx, [rax + 0x18]
mov dword [rax + 0xc], ebx
mov byte [rax + 0xa], 0
call sub.VCRUNTIME140.dll_memcpy
mov rbx, qword [rsp + 0x30]
mov rax, rdi
mov rbp, qword [rsp + 0x40]
mov byte [rdi + rsi + 0x18], 0
mov qword [rdi + 0x10], rsi
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rsi
ret
call fcn.18008a4e0
int3
Function at 0x1800b2780
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x18030b348]
xor rax, rsp
mov qword [rbp - 8], rax
mov ecx, dword [0x18030e868]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x18030cde0], eax
jg 0x1800b2824
mov rax, qword [0x18030cdd8]
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.18011fa50
add rsp, 0x60
pop rbp
ret
lea eax, [r8 + rdx]
xor word [rbp + rdx*2 - 0x40], ax
inc rdx
cmp rdx, 0xa
jb 0x1800b27e0
mov byte [rbp - 0x2a], 0
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [rbp - 0x28]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x18030cdd8], rax
lea rcx, [0x18030cde0]
call fcn.180120054
jmp 0x1800b27ba
lea rcx, [0x18030cde0]
call fcn.1801200c0
cmp dword [0x18030cde0], 0xffffffff
jne 0x1800b27ba
movdqa xmm0, xmmword [0x180159a20]
movdqu xmmword [rbp - 0x28], xmm0
mov dword [rbp - 0x18], 0xf0fff2c4
mov dword [rbp - 0x14], 0xe4eeefe9
mov word [rbp - 0x10], 0x100
xor edx, edx
mov eax, edx
nop
lea ecx, [rax - 0x7a]
xor byte [rbp + rax - 0x28], cl
inc rax
cmp rax, 0x18
jb 0x1800b2860
mov byte [rbp - 0xf], dl
mov dword [rbp - 0x40], 0x15e815c5
mov dword [rbp - 0x3c], 0x15ec15fa
mov dword [rbp - 0x38], 0x15df15d8
mov dword [rbp - 0x34], 0x15e915a2
mov dword [rbp - 0x30], 0x15e315e2
mov word [rbp - 0x2c], dx
mov byte [rbp - 0x2a], 1
mov r8d, 0x1586
jmp 0x1800b27e0

Function at 0x1800b28b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x18030b348]
xor rax, rsp
mov qword [rbp - 8], rax
mov ecx, dword [0x18030e868]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x18030d948], eax
jg 0x1800b2954
mov rax, qword [0x18030d940]
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.18011fa50
add rsp, 0x60
pop rbp
ret
lea eax, [r8 + rdx]
xor word [rbp + rdx*2 - 0x40], ax
inc rdx
cmp rdx, 0xa
jb 0x1800b2910
mov byte [rbp - 0x2a], 0
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [rbp - 0x28]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x18030d940], rax
lea rcx, [0x18030d948]
call fcn.180120054
jmp 0x1800b28ea
lea rcx, [0x18030d948]
call fcn.1801200c0
cmp dword [0x18030d948], 0xffffffff
jne 0x1800b28ea
movdqa xmm0, xmmword [0x180159a50]
movdqu xmmword [rbp - 0x28], xmm0
mov dword [rbp - 0x18], 0xfaf6f6e2
mov dword [rbp - 0x14], 0xfaf9c9ff
mov dword [rbp - 0x10], 0xd3d4ecf7
mov word [rbp - 0xc], 0xdb
mov byte [rbp - 0xa], 1
xor edx, edx
mov eax, edx
nop dword [rax]
lea ecx, [rax - 0x7a]
xor byte [rbp + rax - 0x28], cl
inc rax
cmp rax, 0x1d
jb 0x1800b29a0
mov byte [rbp - 0xa], dl
mov dword [rbp - 0x40], 0x15e815c5
mov dword [rbp - 0x3c], 0x15ec15fa
mov dword [rbp - 0x38], 0x15df15d8
mov dword [rbp - 0x34], 0x15e915a2
mov dword [rbp - 0x30], 0x15e315e2
mov word [rbp - 0x2c], dx
mov byte [rbp - 0x2a], 1
mov r8d, 0x1586
jmp 0x1800b2910