joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140001000
Capabilities:
Allocate or change rwx memory
Create thread
Spawn thread to rwx shellcode

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x30
mov edx, 4
mov dword [rsp + 0x48], 0
mov r9d, edx
mov dword [rsp + 0x40], 0xc3cc9090
xor ecx, ecx
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
lea r8, [rsp + 0x40]
mov rdi, rax
lea rdx, str.shellcodePayload_addr
lea rcx, [0x140023018]
call fcn.1400010f0
mov r8, rdi
lea rdx, str.alloc_mem_addr
lea rcx, str.__20s_:_0x__016p_n
call fcn.1400010f0
mov eax, dword [rsp + 0x40]
lea r9, [rsp + 0x48]
mov edx, 4
mov dword [rdi], eax
mov rcx, rdi
lea r8d, [rdx + 0x1c]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea rcx, str._nPress_Enter_to_Create_Thread__n
mov ebx, eax
call fcn.1400010f0
call fcn.1400055d0
test ebx, ebx
je 0x1400010c4
mov qword [rsp + 0x28], 0
xor r9d, r9d
mov r8, rdi
mov dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rbx, qword [rsp + 0x50]
xor eax, eax
add rsp, 0x30
pop rdi
ret

Function at 0x140001868
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400018b2
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400018b2
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400018b2
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400018b2
cmp dword [rcx + 0x84], 0xe
jbe 0x1400018b2
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1400018b4
xor al, al
add rsp, 0x28
ret

Function at 0x1400083d0
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x1400081cc
Function at 0x14000d880
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor esi, esi
mov rbx, rax
test rax, rax
jne 0x14000d8b0
xor eax, eax
jmp 0x14000d973
mov rbp, rbx
cmp word [rax], si
je 0x14000d8d5
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x14000d8bc
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x14000d8b8
mov qword [rsp + 0x38], rsi
sub rbp, rbx
mov qword [rsp + 0x30], rsi
add rbp, 2
sar rbp, 1
mov r8, rbx
mov r9d, ebp
mov dword [rsp + 0x28], esi
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call fcn.14000d7a0
movsxd r14, eax
test eax, eax
jne 0x14000d913
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
jmp 0x14000d8a9
mov rcx, r14
call fcn.14000a05c
mov rdi, rax
test rax, rax
jne 0x14000d92c
xor ecx, ecx
call fcn.140009254
jmp 0x14000d908
mov qword [rsp + 0x38], rsi
mov r9d, ebp
mov qword [rsp + 0x30], rsi
mov r8, rbx
mov dword [rsp + 0x28], r14d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
call fcn.14000d7a0
test eax, eax
jne 0x14000d95d
mov rcx, rdi
call fcn.140009254
jmp 0x14000d967
xor ecx, ecx
call fcn.140009254
mov rsi, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret
Function at 0x14000ff64
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movsxd r15, ecx
lea r9, [0x140024100]
mov rax, r15
mov rbp, r15
and eax, 0x3f
sar rbp, 6
mov ecx, 4
xor esi, esi
mov r14, rdx
lea rdi, [rax + rax*8]
mov rax, qword [r9 + rbp*8]
lea r13d, [rcx + 6]
mov r10, qword [rax + rdi*8 + 0x28]
test r8, r8
je 0x14000ffbb
cmp word [rdx], r13w
jne 0x14000ffbb
or byte [rax + rdi*8 + 0x38], cl
jmp 0x14000ffc0
and byte [rax + rdi*8 + 0x38], 0xfb
lea r8, [rdx + r8*2]
mov rbx, r14
cmp r14, r8
jae 0x1400100e5
mov r11d, 0xd
lea r12d, [r11 - 0xb]
movzx ecx, word [rdx]
cmp cx, 0x1a
je 0x140010106
lea r9, [rdx + 2]
cmp cx, r11w
je 0x14000fff9
mov rdx, r9
mov word [rbx], cx
jmp 0x140010020
cmp r9, r8
jae 0x140010030
cmp word [r9], r13w
mov rax, r12
mov ecx, 4
cmove rax, rcx
add rdx, rax
mov eax, r13d
cmp word [r9], r13w
cmovne ax, r11w
mov word [rbx], ax
mov rax, r12
add rbx, rax
cmp rdx, r8
jb 0x14000ffda
jmp 0x1400100e5
lea r9, [rsp + 0x80]
mov qword [rsp + 0x20], rsi
mov r8d, r12d
lea rdx, [rsp + 0x70]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400100da
cmp dword [rsp + 0x80], esi
je 0x1400100da
lea r8, [0x140024100]
mov rax, qword [r8 + rbp*8]
test byte [rax + rdi*8 + 0x38], 0x48
je 0x1400100b2
movzx eax, word [rsp + 0x70]
cmp ax, r13w
jne 0x140010082
mov word [rbx], r13w
jmp 0x1400100e2
mov ecx, 0xd
mov word [rsp + 0x78], ax
mov word [rbx], cx
mov rax, qword [r8 + rbp*8]
lea rcx, [rax + rdi*8]
mov al, byte [rsp + rsi + 0x78]
mov byte [rcx + rsi + 0x3a], al
inc rsi
cmp rsi, r12
jl 0x14001008f
mov rax, qword [r8 + rbp*8]
mov byte [rax + rdi*8 + 0x3c], r13b
jmp 0x1400100e2
cmp word [rsp + 0x70], r13w
jne 0x1400100bf
cmp rbx, r14
je 0x14001007c
mov rdx, 0xfffffffffffffffe
mov ecx, r15d
lea r8d, [rdx + 3]
call fcn.140013ee4
cmp word [rsp + 0x70], r13w
je 0x1400100e5
mov ecx, 0xd
mov word [rbx], cx
add rbx, r12
sub rbx, r14
sar rbx, 1
lea eax, [rbx + rbx]
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r8, [0x140024100]
mov rdx, qword [r8 + rbp*8]
mov al, byte [rdx + rdi*8 + 0x38]
test al, 0x40
jne 0x1400100df
or al, r12b
mov byte [rdx + rdi*8 + 0x38], al
jmp 0x1400100e5
Function at 0x1400126fc
Capabilities:
Get file size

Disassembly:
push rbx
sub rsp, 0x20
mov edx, dword [rcx + 0x14]
nop
shr edx, 3
test dl, 1
je 0x140012712
mov al, 1
jmp 0x140012772
mov eax, dword [rcx + 0x14]
nop
test al, 0xc0
je 0x140012723
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
je 0x140012770
mov ecx, dword [rcx + 0x18]
nop
call fcn.14000e1a0
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140012770
mov r9d, 1
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x140012770
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x140012770
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x38], rax
sete al
jmp 0x140012772
xor al, al
add rsp, 0x20
pop rbx
ret
Function at 0x1400137b0
Capabilities:
Set environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
xor r15d, r15d
mov r14, rdx
mov rsi, rcx
mov qword [rbp + 0x17], r15
xor edx, edx
mov qword [rbp + 0x1f], r15
lea rcx, [rbp - 0x39]
mov qword [rbp + 0x27], r15
mov qword [rbp + 0x2f], r15
mov edi, r15d
mov qword [rbp + 0x37], r15
mov byte [rbp + 0x3f], r15b
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], r15
mov qword [rbp - 1], r15
mov qword [rbp + 7], r15
mov byte [rbp + 0xf], r15b
call fcn.14000c870
mov rax, qword [rbp - 0x31]
mov ebx, 0xfde9
cmp dword [rax + 0xc], ebx
jne 0x14001383a
cmp byte [rbp - 0x21], r15b
je 0x140013835
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, ebx
jmp 0x140013870
call fcn.1400094a4
test eax, eax
jne 0x14001385c
cmp byte [rbp - 0x21], r15b
je 0x140013854
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, 1
jmp 0x140013870
cmp byte [rbp - 0x21], r15b
je 0x14001386d
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, r15d
lea r8, [rbp + 0x77]
mov rcx, rsi
lea rdx, [rbp + 0x17]
call fcn.14000be50
test eax, eax
jne 0x140013910
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.14000c870
mov rax, qword [rbp - 0x31]
cmp dword [rax + 0xc], ebx
jne 0x1400138af
cmp byte [rbp - 0x21], r15b
je 0x1400138e4
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
jmp 0x1400138e4
call fcn.1400094a4
test eax, eax
jne 0x1400138d0
cmp byte [rbp - 0x21], r15b
je 0x1400138c9
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, 1
jmp 0x1400138e4
cmp byte [rbp - 0x21], r15b
je 0x1400138e1
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, r15d
mov r9d, ebx
lea r8, [rbp + 0x77]
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.14000be50
mov rdi, qword [rbp - 9]
test eax, eax
jne 0x140013910
mov rcx, qword [rbp + 0x27]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov ebx, eax
jmp 0x140013913
mov ebx, r15d
cmp byte [rbp + 0xf], r15b
je 0x140013921
mov rcx, rdi
call fcn.140009254
cmp byte [rbp + 0x3f], r15b
je 0x140013930
mov rcx, qword [rbp + 0x27]
call fcn.140009254
lea r11, [rsp + 0xa0]
mov eax, ebx
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret

Function at 0x140015ee0
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140015f08
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x140015f08
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x1400322a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
lea rcx, [rsp + 0x40]
call fcn.1400291b0
mov qword [rsp + 0x28], 0
jmp 0x1400322d5
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x28], rax
jae 0x140032352
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 8]
mov qword [rsp + 0x38], rax
xor edx, edx
mov rax, qword [rsp + 0x28]
div qword [rsp + 0x38]
mov rax, rdx
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x20], al
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x28]
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x20]
xor eax, ecx
mov dword [rsp + 0x24], eax
movzx edx, byte [rsp + 0x24]
lea rcx, [rsp + 0x40]
call fcn.1400299c0
jmp 0x1400322c8
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x70]
call fcn.140029040
cmp qword [rsp + 0x40], 0
je 0x140032373
mov rcx, qword [rsp + 0x40]
call fcn.14009c21c
mov rax, qword [rsp + 0x70]
jmp 0x14003239b
add rsp, 0x68
ret

Function at 0x140099ad4
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140099b1e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140099b1e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140099b1e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140099b1e
cmp dword [rcx + 0x84], 0xe
jbe 0x140099b1e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140099b20
xor al, al
add rsp, 0x28
ret

Function at 0x14009c514
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x14009c340
Function at 0x4175c0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x417766
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call fcn.00433dc0
xorps xmm15, xmm15
mov r14, qword [0x009485a0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
jne 0x41762b
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x417640
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
sub rcx, rbx
add rax, rbx
mov rbx, rcx
nop
test rbx, rbx
jbe 0x417665
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rax
mov rcx, rbx
jmp 0x417679
cmp rbx, 0x1000
jae 0x417635
nop dword [rax]
jmp 0x4176e9
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
nop
cmp rbx, 0x1000
jae 0x41768d
xor edx, edx
jmp 0x4176e0
mov rcx, qword [sym.imp.kernel32.dll_VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call fcn.00433dc0
xorps xmm15, xmm15
mov r14, qword [0x009485a0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
sete al
mov rcx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x38]
mov edx, eax
mov rax, qword [rsp + 0x40]
nop dword [rax]
test dl, dl
jne 0x41766f
jmp 0x417654
call fcn.00466fa0
xorps xmm15, xmm15
mov r14, qword [0x009485a0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x30], rax
call fcn.004385a0
lea rax, [0x006dde2e]
mov ebx, 0x18
call fcn.00438ea0
mov rax, qword [rsp + 0x38]
call fcn.00438ba0
lea rax, [0x006ddf7e]
mov ebx, 0x19
call fcn.00438ea0
mov rax, qword [rsp + 0x30]
nop
call fcn.00438ba0
call fcn.00438800
call fcn.00438620
lea rax, [0x006e23cd]
mov ebx, 0x21
nop dword [rax + rax]
call fcn.00436c60
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.004633c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
nop
jmp fcn.004175c0
Function at 0x4177a0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4179ca
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.00433e40
xorps xmm15, xmm15
mov r14, qword [0x009485a0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp qword [rsp + 0x28], rax
je 0x417819
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x41782c
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
sub rdx, rbx
add rcx, rbx
mov rbx, rdx
test rbx, rbx
jbe 0x417850
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
nop
jmp 0x417864
cmp rbx, 0x1000
jae 0x417823
jmp 0x4178e5
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x417876
xor esi, esi
jmp 0x4178d6
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.00433e40
xorps xmm15, xmm15
mov r14, qword [0x009485a0]
mov r14, qword gs:[r14]
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]
test sil, sil
jne 0x41785a
nop
jmp 0x417842
call fcn.00466fa0
xorps xmm15, xmm15
mov r14, qword [0x009485a0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x34], eax
cmp eax, 8
jne 0x417965
call fcn.004385a0
lea rax, [0x006de5a5]
mov ebx, 0x19
call fcn.00438ea0
mov rax, qword [rsp + 0x68]
call fcn.00438ba0
lea rax, [0x006ddf7e]
mov ebx, 0x19
call fcn.00438ea0
mov eax, dword [rsp + 0x34]
nop dword [rax]
call fcn.00438ba0
call fcn.00438800
call fcn.00438620
lea rax, [0x006d9006]
mov ebx, 0xd
nop dword [rax + rax]
call fcn.00436c60
cmp eax, 0x5af
je 0x417908
call fcn.004385a0
lea rax, [0x006de5a5]
mov ebx, 0x19
nop dword [rax]
call fcn.00438ea0
mov rax, qword [rsp + 0x38]
call fcn.00438ba0
lea rax, [0x006ddf7e]
mov ebx, 0x19
nop dword [rax + rax]
call fcn.00438ea0
mov eax, dword [rsp + 0x34]
call fcn.00438ba0
call fcn.00438800
call fcn.00438620
lea rax, [0x006e14d4]
mov ebx, 0x1f
call fcn.00436c60
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.004633c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004177a0
Function at 0x41fc80
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
cmp byte [0x00948383], 0
jne 0x41fd6f
mov rdx, qword [rax + 0x50]
test byte [rdx], al
nop
nop
nop
sub rbx, qword [rax + 0x18]
mov esi, dword [rax + 0x5c]
imul rbx, rsi
mov rsi, rbx
shr rbx, 0x20
shr rsi, 0x23
and ebx, 7
mov rdi, rcx
mov rcx, rbx
mov r8d, 1
shl r8d, cl
add rdx, rsi
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 0x41fd65
lea rbx, [0x0091a7b0]
mov rax, qword [rbx + rax*8]
shr rdx, 0x16
and edx, 0xfffff
mov rdx, qword [rax + rdx*8]
test byte [rdx], al
test byte [rax], al
mov rax, rcx
shr rcx, 0x10
and ecx, 0x3f
movzx ebx, byte [rdx + rcx + 0x11440]
lea rdx, [rdx + rcx]
lea rdx, [rdx + 0x11440]
shr rax, 0xd
and eax, 7
mov rcx, rax
mov eax, 1
shl eax, cl
test al, bl
jne 0x41fd47
lock or byte [rdx], al
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add qword [rax + 0x1248], rdi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov ecx, 0x40
call fcn.00465a40
lea rax, [0x006e6667]
mov ebx, 0x2c
nop dword [rax + rax]
call fcn.00436c60
nop
int3

Function at 0x422160
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x42225e
sub rsp, 0x48
mov qword [rsp + 0x40], rbp
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 8], 0
jmp 0x4221a0
mov rax, qword [rsp + 0x50]
mov rcx, rdx
mov rbx, qword [rsp + 0x58]
nop
cmp qword [rsp + 8], rbx
jae 0x42224f
test byte [rax], al
lea rcx, [rax + 0x100b8]
mov rax, rcx
call fcn.00422d20
nop dword [rax]
test rax, rax
je 0x42224f
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x30], xmm15
lea rcx, [0x004222a0]
mov qword [rsp + 0x10], rcx
lea rdx, [rsp + 8]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rbx, [rsp + 0x10]
mov qword [rsp], rbx
call fcn.00463280
xorps xmm15, xmm15
mov r14, qword [0x009485a0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x60]
test rdx, rdx
jne 0x42223d
xor eax, eax
jmp 0x422247
mov rax, qword [rdx]
call rax
mov rdx, qword [rsp + 0x60]
test al, al
je 0x422192
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.004633c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00422160
Function at 0x42fe00
Capabilities:
Hash data using murmur3

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x4300a6
sub rsp, 0x40
mov qword [rsp + 0x38], rbp
lea rbp, [rsp + 0x38]
test byte [rax], al
lea rsi, [rax + 0x1270]
mov rcx, qword [rax + 0x1260]
sub rcx, rsi
shr rcx, 3
cmp rcx, 0x200
ja 0x43009a
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], rcx
mov qword [rax + 0x1260], 0
cmp byte [0x00948383], 0
jne 0x42fe62
xor edx, edx
xor ebx, ebx
nop
jmp 0x42feaa
xor edx, edx
jmp 0x42fe8d
mov qword [rsp + 0x28], rdx
mov rcx, qword [rax + rdx*8 + 0x1270]
mov rax, rcx
call fcn.0041f4a0
mov rdx, qword [rsp + 0x28]
inc rdx
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
jl 0x42fe66
add rax, 0x1260
call fcn.0042fcc0
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
inc rdx
cmp rdx, rcx
jge 0x430034
mov rsi, qword [rax + rdx*8 + 0x1270]
nop dword [rax + rax]
cmp rsi, 0x1000
jb 0x42fea7
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.00414540
test rax, rax
jne 0x42ff02
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
nop
jmp 0x42fea7
mov rsi, qword [rbx + 0x50]
test byte [rsi], al
nop
mov r8, rcx
shr rcx, 3
movzx r9d, byte [rsi + rcx]
and r8d, 7
mov rdx, rcx
mov rcx, r8
mov r10d, 1
shl r10d, cl
add rsi, rdx
test r10b, r9b
je 0x42ff49
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x42fea7
nop
lock or byte [rsi], r10b
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 0x43008d
lea r10, [0x0091a7b0]
mov r8, qword [r10 + r8*8]
shr r9, 0x16
and r9d, 0xfffff
mov r9, qword [r8 + r9*8]
test byte [r9], al
test byte [r8], al
mov r8, rcx
shr rcx, 0x10
and ecx, 0x3f
movzx r10d, byte [r9 + rcx + 0x11440]
lea r9, [r9 + rcx]
lea r9, [r9 + 0x11440]
shr r8, 0xd
and r8d, 7
mov rcx, r8
mov r8d, 1
shl r8d, cl
test r8b, r10b
jne 0x42ffcf
lock or byte [r9], r8b
movzx r8d, byte [rbx + 0x62]
test r8b, 1
je 0x430005
mov rax, qword [rsp + 0x48]
mov r8, qword [rax + 0x1248]
add r8, qword [rbx + 0x68]
mov qword [rax + 0x1248], r8
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x42fea7
mov r8, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
cmp r8, rcx
jae 0x430085
mov rbx, qword [rsp + 0x48]
mov qword [rbx + r8*8 + 0x1270], rax
inc r8
mov rax, rbx
mov rdx, qword [rsp + 0x28]
mov rbx, r8
jmp 0x42fea7
cmp rbx, 0x200
ja 0x430078
lea rdx, [rax + 0x1270]
lea rsi, [rax + 0x1238]
mov rcx, rbx
mov edi, 0x200
mov rbx, rdx
mov rax, rsi
call fcn.00425620
mov rax, qword [rsp + 0x48]
add rax, 0x1260
call fcn.0042fcc0
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
mov rcx, rbx
mov edx, 0x200
call fcn.00465aa0
mov rax, r8
call fcn.00465a20
mov rax, r8
mov ecx, 0x40
call fcn.00465a40
mov edx, 0x200
nop
call fcn.00465a80
nop
mov qword [rsp + 8], rax
call fcn.00467e40
mov rax, qword [rsp + 8]
jmp fcn.0042fe00
Function at 0x445420
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x44558a
sub rsp, 0x20
mov qword [rsp + 0x18], rbp
lea rbp, [rsp + 0x18]
mov ecx, dword [rax + 0x190]
mov edx, dword [rax + 0x194]
mov rsi, qword [rax + 0x998]
mov edi, dword [rax + 0x194]
cmp edi, edx
jne 0x445438
cmp edx, ecx
jne 0x445578
nop dword [rax]
test rsi, rsi
jne 0x445578
mov qword [rsp + 0x28], rax
test rbx, rbx
jne 0x445494
nop
call fcn.00467400
xorps xmm15, xmm15
mov r14, qword [0x009485a0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rbx, qword [rsp]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x10], rbx
call fcn.00445320
mov rcx, qword [0x008f3b08]
mov rdx, qword [0x008f3b00]
mov rbx, qword [rsp + 0x28]
mov esi, dword [rbx]
mov edi, esi
sar esi, 0x1f
shr esi, 0x1b
add esi, edi
mov r8d, esi
and esi, 0xffffffe0
sub edi, esi
test edi, edi
jl 0x445573
cmp edi, 0x20
sbb esi, esi
sar r8d, 5
mov rax, rcx
mov ecx, edi
mov r9d, 1
shl r9d, cl
and r9d, esi
movsxd rsi, r8d
cmp rax, rsi
jbe 0x445568
lea rcx, [rdx + rsi*4]
lock or dword [rcx], r9d
mov rcx, qword [0x008f4e10]
mov qword [rbx + 8], rcx
nop
mov rcx, rbx
mov qword [0x008f4e10], rbx
nop
mov edx, 1
lea rsi, [0x008f4e18]
lock xadd dword [rsi], edx
mov rdx, qword [rcx + 0x1220]
shr rdx, 0x3d
test dl, dl
jne 0x445557
nop
nop
mov rax, qword [rsp + 0x10]
movabs rdx, 0x1fffffffffffffff
and rdx, rax
bts rdx, 0x3f
xchg qword [rcx + 0x1220], rdx
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
lea rax, [0x006e53cc]
mov ebx, 0x28
call fcn.00436c60
mov rcx, rax
mov rax, rsi
call fcn.00465a20
call fcn.00435120
lea rax, [0x006e3382]
mov ebx, 0x23
call fcn.00436c60
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.004633c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00445420