joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140102990
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov ebp, r9d
mov r15, r8
mov r14, rdx
mov rsi, rcx
call fcn.1401027c0
mov rdi, rax
add ebp, 0xffffffff
je 0x140102b6f
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r12
xor r12d, r12d
nop dword [rax]
mov r9, qword [rsi]
shl rdi, 0x20
mov ecx, dword [r9]
cmp ecx, 0x270
jne 0x140102a34
lea rax, [r9 + 8]
mov r10d, ecx
nop dword [rax]
mov r8d, dword [rax - 4]
xor r8d, dword [rax]
lea rax, [rax + 4]
btr r8d, 0x1f
xor r8d, dword [rax - 8]
mov ecx, r8d
and cl, 1
neg cl
sbb edx, edx
shr r8d, 1
and edx, 0x9908b0df
xor edx, dword [rax + 0x62c]
xor edx, r8d
mov dword [rax + 0x9b8], edx
sub r10, 1
jne 0x1401029f0
mov ecx, dword [r9]
jmp 0x140102b16
cmp ecx, 0x4e0
jb 0x140102b16
lea r10, [r9 + 0x9c4]
mov r11d, 0xe3
mov ebx, dword [r10]
mov eax, ebx
mov r8, r10
mov ebx, dword [r10 + 4]
mov edx, eax
xor edx, ebx
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x634]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub r11, 1
jne 0x140102a50
lea r10, [r9 + 0xd50]
mov r11d, 0x18c
mov ebx, dword [r10]
nop dword [rax]
mov eax, ebx
mov r8, r10
mov ebx, dword [r10 + 4]
mov edx, eax
xor edx, ebx
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 - 0xd4c]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub r11, 1
jne 0x140102aa0
mov eax, dword [r9 + 0x1380]
mov edx, eax
xor edx, dword [r9 + 4]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r9 + 0x634]
xor ecx, edx
mov dword [r9 + 0x9c0], ecx
mov ecx, r12d
mov dword [r9], r12d
mov eax, ecx
mov edx, dword [r9 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r9], eax
mov ecx, edx
mov eax, dword [r9 + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and edx, 0xffffdf8c
shl edx, 0xf
mov ecx, edx
xor rcx, rax
mov rax, rcx
shr rax, 0x12
xor rax, rcx
or rdi, rax
add ebp, 0xffffffff
jne 0x1401029d0
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
mov rax, r15
mov rsi, qword [rsp + 0x58]
mul rdi
mov qword [r14], rax
mov rax, r14
mov qword [r14 + 8], rdx
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
Function at 0x140103730
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
xor ebx, ebx
mov ecx, 0xbeef
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14010374e
test ebx, ebx
je 0x14010396f
mov byte [0x1403178e2], 1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1401037e6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1401037e6
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1401037d8
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1401037c0
cmp r8d, 0xcded1a85
je 0x1401037eb
test r9d, r9d
jne 0x1401037a0
mov rax, qword [rax]
jmp 0x140103770
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
xor ecx, ecx
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140103896
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140103896
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140103888
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140103870
cmp r8d, 0xe80fd3a
je 0x14010389b
test r9d, r9d
jne 0x140103850
mov rax, qword [rax]
jmp 0x140103820
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
xor ecx, ecx
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140103946
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140103946
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
mov r8d, 0x811c9dc5
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140103938
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x140103920
cmp r8d, 0xa52bcaf9
je 0x14010394b
test r9d, r9d
jne 0x140103900
mov rax, qword [rax]
jmp 0x1401038d0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
call rax
mov dword [0], 0xdead
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140103c50
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x28
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x140103e9a
mov byte [0x1403178e2], 1
mov rax, qword gs:[0x60]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x20], rdi
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140103d07
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140103d07
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140103d02
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140103ce0
cmp r8d, 0xcded1a85
je 0x140103d0c
test r9d, r9d
jne 0x140103cc0
mov rax, qword [rax]
jmp 0x140103c90
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
add rax, r10
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140103db7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140103db7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140103db2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140103d90
cmp r8d, 0xe80fd3a
je 0x140103dbc
test r9d, r9d
jne 0x140103d70
mov rax, qword [rax]
jmp 0x140103d40
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
add rax, r10
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140103e67
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140103e67
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140103e62
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x140103e40
cmp r8d, 0xa52bcaf9
je 0x140103e6c
test r9d, r9d
jne 0x140103e20
mov rax, qword [rax]
jmp 0x140103df0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
call rax
mov rdi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x30]
mov dword [0], 0xdead
add rsp, 0x28
ret
Function at 0x14010fbb0
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 8], rcx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xa0
mov rbx, rcx
mov r8, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
mov rax, rcx
sub rax, r8
xor r12d, r12d
cmp rax, 3
jb 0x14010fc6c
lea rax, [r8 + 3]
mov qword [rbx + 0x10], rax
mov rdi, rbx
cmp rcx, 0xf
jbe 0x14010fc00
mov rdi, qword [rbx]
lea rax, [0x1401e88b7]
mov r14d, 3
lea rsi, [0x1401e88b4]
cmp rax, rdi
jbe 0x14010fc34
lea rax, [rdi + r8]
cmp rsi, rax
ja 0x14010fc34
cmp rdi, rsi
ja 0x14010fc2c
mov rbp, r12
jmp 0x14010fc37
mov rbp, rdi
sub rbp, rsi
jmp 0x14010fc37
mov rbp, r14
inc r8
lea rcx, [rdi + 3]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov r8, rbp
mov rdx, rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
sub r14, rbp
lea rdx, [rsi + 3]
add rdx, rbp
lea rcx, [rdi + rbp]
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14010fc9a
mov r14d, 3
mov qword [rsp + 0x28], r14
lea rsi, [0x1401e88b4]
mov qword [rsp + 0x20], rsi
xor r9d, r9d
movzx r8d, byte [rsp + 0xd0]
mov edx, r14d
mov rcx, rbx
call fcn.1400a0290
lea rdi, [rbx + 0x18]
vpxor xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x30], ymm0
vmovups ymmword [rsp + 0x50], ymm0
vmovups ymmword [rsp + 0x70], ymm0
vmovups xmmword [rsp + 0x90], xmm0
mov dword [rsp + 0x30], reloc.WS2_32.dll_WSASetLastError
mov dword [rsp + 0x34], 0x40
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
lea rax, str.cmd.exe
mov qword [rsp + 0x48], rax
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14010fcf0
mov rax, qword [rbx]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r12
mov dword [rsp + 0x60], r12d
mov qword [rsp + 0x68], r12
lea rcx, [rsp + 0x30]
vzeroupper
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
cmp eax, 1
jne 0x14010fd52
mov edx, 0xffffffff
mov rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdi, [rbx + 0x18]
mov rdx, qword [rdi]
cmp rdx, 0xf
jbe 0x14010fd87
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x14010fd82
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14010fdb1
mov rcx, r8
call fcn.1401cb090
mov qword [rbx + 0x10], r12
mov qword [rdi], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x140126730
Capabilities:
Read file via mapping

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x380
mov rax, qword [0x14030ff40]
xor rax, rsp
mov qword [rsp + 0x370], rax
mov edi, 0x104
mov rbx, rdx
mov dword [rsp + 0x40], edi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r9, [rsp + 0x40]
xor edx, edx
mov rcx, rax
lea r8, [rsp + 0x160]
call qword [sym.imp.KERNEL32.dll_QueryFullProcessImageNameW]
and qword [rsp + 0x38], 0
lea rax, [rsp + 0x50]
and qword [rsp + 0x30], 0
lea r8, [rsp + 0x160]
mov dword [rsp + 0x28], edi
or r9d, 0xffffffff
xor edx, edx
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
and qword [rsp + 0x30], 0
lea rcx, [rsp + 0x50]
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14012680d
and qword [rsp + 0x28], 0
xor r9d, r9d
and dword [rsp + 0x20], 0
xor edx, edx
mov rcx, rdi
lea r8d, [r9 + 2]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
test rax, rax
jne 0x14012683a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
and qword [rbx], 0
and qword [rbx + 8], 0
mov rax, rbx
mov rcx, qword [rsp + 0x370]
xor rcx, rsp
call fcn.1401cb920
mov rbx, qword [rsp + 0x390]
add rsp, 0x380
pop rdi
ret
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rbx + 8], rax
mov qword [rbx], rdi
jmp 0x140126816
Function at 0x14015d720
Capabilities:
Allocate or change rwx memory
Parse pe header

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, 0x50
mov rax, qword [0x14030ff40]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov r15, rcx
mov byte [rsp + 0x20], dl
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rsi, rax
test rax, rax
je 0x14015d919
mov r12d, 0x5a4d
cmp word [rax], r12w
jne 0x14015d919
movsxd rbx, dword [rax + 0x3c]
mov r13d, 0x4550
add rbx, rax
cmp dword [rbx], r13d
jne 0x14015d919
movzx ebp, word [rbx + 0x14]
lea rdx, [rsp + 0x30]
add rbp, 0x18
lea rcx, [rsp + 0x21]
mov r8, rax
add rbp, rbx
call fcn.140126730
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x14015d919
mov r14, qword [rsp + 0x30]
lea rax, [r14 - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14015d919
cmp word [rdi], r12w
jne 0x14015d907
movsxd rcx, dword [rdi + 0x3c]
add rcx, rdi
cmp dword [rcx], r13d
jne 0x14015d907
mov eax, dword [rbx + 8]
cmp dword [rcx + 8], eax
jne 0x14015d907
movzx edx, word [rcx + 6]
cmp dx, word [rbx + 6]
jne 0x14015d907
movzx r12d, word [rcx + 0x14]
xor r13b, r13b
add r12, 0x18
xor r9d, r9d
add r12, rcx
mov r10d, edx
test edx, edx
je 0x14015d8f0
mov r8, r15
mov rax, rbp
sub r8, rbp
movzx ecx, byte [rax]
movzx edx, byte [rax + r8]
sub ecx, edx
jne 0x14015d837
inc rax
test edx, edx
jne 0x14015d824
test ecx, ecx
jne 0x14015d844
test dword [rbp + 0x24], 0x20000000
jne 0x14015d859
inc r9d
add rbp, 0x28
add r12, 0x28
cmp r9d, r10d
jl 0x14015d81b
jmp 0x14015d8f0
mov edx, dword [rbp + 0x10]
xor ebx, ebx
test edx, edx
je 0x14015d8f0
mov r14b, byte [rsp + 0x20]
mov eax, dword [r12 + 0x14]
mov r10d, dword [rbp + 0xc]
mov r15d, ebx
add rax, r15
add r10, r15
add r10, rsi
mov cl, byte [rax + rdi]
mov eax, edx
mov byte [rsp + 0x20], cl
cmp byte [r10], cl
je 0x14015d8e3
test r14b, r14b
je 0x14015d8e0
mov edx, 1
mov dword [rsp + 0x24], 0x40
lea r9, [rsp + 0x28]
mov rcx, r10
lea r8d, [rdx + 0x3f]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [rbp + 0xc]
lea r9, [rsp + 0x24]
mov cl, byte [rsp + 0x20]
add rax, r15
mov edx, 1
mov byte [rax + rsi], cl
mov ecx, dword [rbp + 0xc]
mov r8d, dword [rsp + 0x28]
add rcx, r15
add rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [rbp + 0x10]
mov r13b, 1
inc ebx
mov edx, eax
cmp ebx, eax
jb 0x14015d86b
mov r14, qword [rsp + 0x30]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, r13b
jmp 0x14015d91b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1401cb920
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x140161120
Capabilities:
Resolve function by parsing pe exports

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 r13d, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor ebx, ebx
mov rdi, rax
movsxd rcx, dword [rax + 0x3c]
mov esi, dword [rcx + rax + 0x88]
add rsi, rax
mov r14d, dword [rsi + 0x1c]
mov r12d, dword [rsi + 0x20]
add r14, rax
mov r15d, dword [rsi + 0x24]
add r12, rax
add r15, rax
cmp dword [rsi + 0x14], ebx
jbe 0x14016118a
mov ecx, dword [r12 + rbx*4]
add rcx, rdi
call fcn.1401611b8
cmp eax, r13d
je 0x1401611a9
inc ebx
cmp ebx, dword [rsi + 0x14]
jb 0x140161172
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
movzx eax, word [r15 + rbx*2]
mov eax, dword [r14 + rax*4]
add rax, rdi
jmp 0x14016118c
Function at 0x1401649b0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 6], sil
je 0x1401649e4
mov eax, esi
lea ecx, [rax + 0x31]
xor byte [r8 + rax], cl
inc rax
cmp rax, 5
jb 0x1401649d0
mov byte [r8 + 6], sil
add r8, 5
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.1400e7450
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0xf
jbe 0x140164a09
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.14009f720
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140164a83
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140164a7e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140164a7e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401cb090
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret

Function at 0x140164a90
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 7], sil
je 0x140164ac4
mov eax, esi
lea ecx, [rax + 0x31]
xor byte [r8 + rax], cl
inc rax
cmp rax, 6
jb 0x140164ab0
mov byte [r8 + 7], sil
add r8, 6
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.1400e7450
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0xf
jbe 0x140164ae9
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.14009f720
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140164b63
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140164b5e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140164b5e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401cb090
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
Function at 0x140164b70
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 8], sil
je 0x140164ba4
mov eax, esi
lea ecx, [rax + 0x31]
xor byte [r8 + rax], cl
inc rax
cmp rax, 7
jb 0x140164b90
mov byte [r8 + 8], sil
add r8, 7
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.1400e7450
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0xf
jbe 0x140164bc9
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.14009f720
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140164c43
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140164c3e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140164c3e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401cb090
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret

Function at 0x140164c50
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x70
mov r10, r8
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0x28], rcx
xor ebx, ebx
cmp byte [r8 + 9], bl
je 0x140164c84
mov ecx, ebx
lea eax, [rcx + 0x31]
xor byte [r8 + rcx], al
inc rcx
cmp rcx, 8
jb 0x140164c70
mov byte [r8 + 9], bl
add r8, 8
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x50]
call fcn.1400e7450
nop
cmp byte [rdi + 9], 0
je 0x140164cb4
lea eax, [rbx + 0x31]
xor byte [rbx + rdi], al
inc rbx
cmp rbx, 8
jb 0x140164ca1
mov byte [rdi + 9], 0
lea r8, [rdi + 8]
lea r9, [rsp + 0x20]
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.1400e7450
nop
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x30]
movzx edx, byte [rsp + 0x20]
mov rcx, rsi
call fcn.1400ea1d0
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140164d24
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140164d1e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140164d1e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401cb090
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140164d64
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140164d5f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140164d5f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401cb090
mov rax, rsi
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret