joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14003ddc0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x30], 0
cmp qword [rsp + 0x68], 0
je 0x14003de66
call fcn.140042830
mov qword [rsp + 0x38], rax
mov r8d, pe_nt_image_headers64
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
je 0x14003de66
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x14003de36
xor eax, eax
jmp 0x14003dea2
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_LockResource]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x14003de66
mov edx, 0x1047
lea rcx, [0x140084760]
call fcn.1400495f0
test eax, eax
je 0x14003de66
int3
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x60]
call fcn.14003deb0
mov dword [rsp + 0x28], eax
cmp qword [rsp + 0x20], 0
je 0x14003de9e
cmp qword [rsp + 0x30], 0
je 0x14003de9e
mov rcx, qword [rsp + 0x30]
call fcn.14003e630
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, dword [rsp + 0x28]
add rsp, 0x58
ret

Function at 0x140042250
Capabilities:
Get graphical window text

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1400422a6
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0xa0], 0
jne 0x1400422a6
mov edx, 0x100
lea rcx, str.f:dd_vctools_vc7libs_ship_atlmfc_srcmfcwinocc.cpp
call fcn.1400495f0
test eax, eax
je 0x1400422a6
int3
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0xa0], 0
jne 0x1400422d2
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x140042343
lea rcx, [rsp + 0x20]
call fcn.1400060a0
nop
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0xa0]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0xa0]
mov rax, qword [rax]
lea rdx, [rsp + 0x20]
call qword [rax + 0x128]
lea rcx, [rsp + 0x20]
call fcn.1400060f0
movsxd rdx, dword [rsp + 0x60]
mov r9, 0xffffffffffffffff
mov r8, rax
mov rcx, qword [rsp + 0x58]
call fcn.140042350
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [rsp + 0x28], eax
lea rcx, [rsp + 0x20]
call fcn.1400060d0
mov eax, dword [rsp + 0x28]
add rsp, 0x48
ret
Function at 0x140002020
Capabilities:
Parse pe header

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

Function at 0x140008600
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x1400083fc
Function at 0x14000dab0
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 0x14000dae0
xor eax, eax
jmp 0x14000dba3
mov rbp, rbx
cmp word [rax], si
je 0x14000db05
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x14000daec
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x14000dae8
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.14000d9d0
movsxd r14, eax
test eax, eax
jne 0x14000db43
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
jmp 0x14000dad9
mov rcx, r14
call fcn.14000a28c
mov rdi, rax
test rax, rax
jne 0x14000db5c
xor ecx, ecx
call fcn.140009484
jmp 0x14000db38
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.14000d9d0
test eax, eax
jne 0x14000db8d
mov rcx, rdi
call fcn.140009484
jmp 0x14000db97
xor ecx, ecx
call fcn.140009484
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 0x140010194
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, [0x14003aef0]
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 0x1400101eb
cmp word [rdx], r13w
jne 0x1400101eb
or byte [rax + rdi*8 + 0x38], cl
jmp 0x1400101f0
and byte [rax + rdi*8 + 0x38], 0xfb
lea r8, [rdx + r8*2]
mov rbx, r14
cmp r14, r8
jae 0x140010315
mov r11d, 0xd
lea r12d, [r11 - 0xb]
movzx ecx, word [rdx]
cmp cx, 0x1a
je 0x140010336
lea r9, [rdx + 2]
cmp cx, r11w
je 0x140010229
mov rdx, r9
mov word [rbx], cx
jmp 0x140010250
cmp r9, r8
jae 0x140010260
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 0x14001020a
jmp 0x140010315
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 0x14001030a
cmp dword [rsp + 0x80], esi
je 0x14001030a
lea r8, [0x14003aef0]
mov rax, qword [r8 + rbp*8]
test byte [rax + rdi*8 + 0x38], 0x48
je 0x1400102e2
movzx eax, word [rsp + 0x70]
cmp ax, r13w
jne 0x1400102b2
mov word [rbx], r13w
jmp 0x140010312
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 0x1400102bf
mov rax, qword [r8 + rbp*8]
mov byte [rax + rdi*8 + 0x3c], r13b
jmp 0x140010312
cmp word [rsp + 0x70], r13w
jne 0x1400102ef
cmp rbx, r14
je 0x1400102ac
mov rdx, 0xfffffffffffffffe
mov ecx, r15d
lea r8d, [rdx + 3]
call fcn.140014114
cmp word [rsp + 0x70], r13w
je 0x140010315
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, [0x14003aef0]
mov rdx, qword [r8 + rbp*8]
mov al, byte [rdx + rdi*8 + 0x38]
test al, 0x40
jne 0x14001030f
or al, r12b
mov byte [rdx + rdi*8 + 0x38], al
jmp 0x140010315
Function at 0x14001292c
Capabilities:
Get file size

Disassembly:
push rbx
sub rsp, 0x20
mov edx, dword [rcx + 0x14]
nop
shr edx, 3
test dl, 1
je 0x140012942
mov al, 1
jmp 0x1400129a2
mov eax, dword [rcx + 0x14]
nop
test al, 0xc0
je 0x140012953
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
je 0x1400129a0
mov ecx, dword [rcx + 0x18]
nop
call fcn.14000e3d0
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400129a0
mov r9d, 1
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x1400129a0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x1400129a0
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x38], rax
sete al
jmp 0x1400129a2
xor al, al
add rsp, 0x20
pop rbx
ret
Function at 0x1400139e0
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.14000caa0
mov rax, qword [rbp - 0x31]
mov ebx, 0xfde9
cmp dword [rax + 0xc], ebx
jne 0x140013a6a
cmp byte [rbp - 0x21], r15b
je 0x140013a65
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, ebx
jmp 0x140013aa0
call fcn.1400096d4
test eax, eax
jne 0x140013a8c
cmp byte [rbp - 0x21], r15b
je 0x140013a84
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, 1
jmp 0x140013aa0
cmp byte [rbp - 0x21], r15b
je 0x140013a9d
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.14000c080
test eax, eax
jne 0x140013b40
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.14000caa0
mov rax, qword [rbp - 0x31]
cmp dword [rax + 0xc], ebx
jne 0x140013adf
cmp byte [rbp - 0x21], r15b
je 0x140013b14
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
jmp 0x140013b14
call fcn.1400096d4
test eax, eax
jne 0x140013b00
cmp byte [rbp - 0x21], r15b
je 0x140013af9
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, 1
jmp 0x140013b14
cmp byte [rbp - 0x21], r15b
je 0x140013b11
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.14000c080
mov rdi, qword [rbp - 9]
test eax, eax
jne 0x140013b40
mov rcx, qword [rbp + 0x27]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov ebx, eax
jmp 0x140013b43
mov ebx, r15d
cmp byte [rbp + 0xf], r15b
je 0x140013b51
mov rcx, rdi
call fcn.140009484
cmp byte [rbp + 0x3f], r15b
je 0x140013b60
mov rcx, qword [rbp + 0x27]
call fcn.140009484
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 0x140016110
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140016138
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x140016138
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x4210e0
Capabilities:
Get common file path

Disassembly:
push rbp
mov eax, 0xfa0
sub rax, 0x1000
mov byte [rsp + rax], al
cmp rax, 0xffffffffffffbfa0
ja 0x4210e7
sub rsp, 0x4060
mov rbp, rsp
mov qword [rbp + 0x30], rcx
mov dword [rbp + 0x3c], edx
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0
nop
mov eax, 1
movsxd rcx, eax
mov word [rbp + rcx*2 + 0x5e], 0x20
add eax, 1
cmp eax, 0x2001
jne 0x421131
nop
mov eax, dword [rbp + 0x3c]
sub eax, 1
cmp eax, 0xffffffff
je 0x421163
test eax, eax
je 0x421195
sub eax, 1
test eax, eax
jne 0x4211ee
jmp 0x4211d5
mov ecx, 0x2000
lea rdx, [rbp + 0x60]
call sub.kernel32.dll_GetTempPathW
lea rcx, [rbp + 0x58]
lea rdx, [rbp + 0x60]
mov r8d, 0x2000
call fcn.00408ae0
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x58]
call fcn.00418b10
jmp 0x4211ee
xor rcx, rcx
mov edx, 0x1c
xor r8, r8
xor r9, r9
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
call sub.SHFolder.dll_SHGetFolderPathW
lea rcx, [rbp + 0x50]
lea rdx, [rbp + 0x60]
mov r8d, 0x2000
call fcn.00408ae0
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x50]
call fcn.00418b10
jmp 0x4211ee
lea rcx, [rbp + 0x48]
xor rdx, rdx
call fcn.004050a0
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x48]
call fcn.00419370
lea rcx, [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rdx, qword [rax]
call fcn.0041f4f0
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x40]
call fcn.00408d80
nop
lea rcx, [rbp + 0x40]
mov edx, 4
call fcn.00408950
mov rax, qword [rbp + 0x30]
lea rsp, [rbp + 0x4060]
pop rbp
ret
Function at 0x421260
Capabilities:
Create process on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x128
mov rbp, rsp
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x110], 0
mov qword [rbp + 0x58], rbp
mov qword [rbp + 0x140], rcx
nop
lea rcx, [rbp + 0xf0]
mov edx, 0x18
xor r8, r8
call fcn.00405440
lea rcx, [rbp + 0x88]
mov edx, 0x68
xor r8, r8
call fcn.00405440
mov dword [rbp + 0x88], 0x68
mov dword [rbp + 0xf0], 0x18
mov dword [rbp + 0xc4], 1
mov word [rbp + 0xc8], 0
mov dword [rbp + 0x100], 0xffffffff
mov byte [rbp + 0x6f], 1
mov rcx, qword [rbp + 0x140]
call fcn.00409650
xor rcx, rcx
mov rdx, rax
lea r8, [rbp + 0xf0]
lea r9, [rbp + 0xf0]
cmp byte [rbp + 0x6f], 0
setne al
movzx rax, al
neg eax
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], 0x20
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
lea rax, [rbp + 0x88]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x70]
mov qword [rsp + 0x48], rax
call sub.kernel32.dll_CreateProcessW
test eax, eax
jne 0x4213c8
lea rcx, [rbp + 0x118]
lea rdx, [0x004210c0]
call fcn.0040c8d0
lea rcx, [rbp + 0x110]
lea rdx, [0x004214a8]
call fcn.00408e00
nop
mov rcx, qword [rbp + 0x118]
call fcn.00409650
mov rbx, rax
mov rcx, qword [rbp + 0x110]
call fcn.00409650
xor rcx, rcx
mov rdx, rbx
mov r8, rax
mov r9d, 0x40
call sub.user32.dll_MessageBoxW
nop
lea rcx, [rbp + 0x118]
call fcn.00408870
lea rcx, [rbp + 0x110]
call fcn.00408870
jmp 0x4213f6
mov rcx, qword [rbp + 0x70]
or edx, 0xffffffff
call sub.kernel32.dll_WaitForSingleObject
mov rcx, qword [rbp + 0x70]
lea rdx, [rbp + 0x10c]
call sub.kernel32.dll_GetExitCodeProcess
mov rcx, qword [rbp + 0x70]
call sub.kernel32.dll_CloseHandle_1
mov rcx, qword [rbp + 0x78]
call sub.kernel32.dll_CloseHandle_1
nop
lea rcx, [rbp + 0x110]
mov edx, 2
call fcn.00408950
mov eax, dword [rbp + 0x10c]
lea rsp, [rbp + 0x128]
pop rbx
pop rbp
ret

Function at 0x421980
Capabilities:
Write file on windows

Disassembly:
push rbp
sub rsp, 0x50
mov rbp, rsp
mov qword [rbp + 0x48], rbp
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rdx
mov rcx, qword [rbp + 0x68]
call fcn.00408a00
nop
mov rcx, qword [rbp + 0x68]
call fcn.00409650
mov rcx, rax
mov edx, 0x40000000
xor r8, r8
xor r9, r9
mov dword [rsp + 0x20], 2
mov dword [rsp + 0x28], 0x102
mov qword [rsp + 0x30], 0
call sub.kernel32.dll_CreateFileW
mov rcx, qword [rbp + 0x60]
mov qword [rcx + 0x58], rax
nop
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax + 0x58]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 0x60]
mov rax, qword [rbp + 0x60]
mov r8d, dword [rax + 0x68]
mov rax, qword [rbp + 0x60]
lea r9, [rax + 0x54]
mov qword [rsp + 0x20], 0
call sub.kernel32.dll_WriteFile_1
nop
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax + 0x58]
call sub.kernel32.dll_CloseHandle_1
nop
lea rcx, [rbp + 0x68]
call fcn.00408870
lea rsp, [rbp + 0x50]
pop rbp
ret
Function at 0x415f00
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4160ab
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.00430500
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
nop
jne 0x415f6e
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x415f81
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
sub rcx, rbx
add rax, rbx
mov rbx, rcx
test rbx, rbx
jbe 0x415fa5
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rax
mov rcx, rbx
jmp 0x415fb9
cmp rbx, 0x1000
jae 0x415f78
nop
jmp 0x416029
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 0x415fcd
xor edx, edx
jmp 0x416020
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.00430500
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
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
test dl, dl
jne 0x415faf
jmp 0x415f95
call fcn.0045f740
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x30], rax
call fcn.004354c0
lea rax, [0x004be791]
mov ebx, 0x18
nop dword [rax + rax]
call fcn.00435dc0
mov rax, qword [rsp + 0x38]
call fcn.00435ac0
lea rax, [0x004be821]
mov ebx, 0x19
nop dword [rax + rax]
call fcn.00435dc0
mov rax, qword [rsp + 0x30]
call fcn.00435ac0
call fcn.00435720
call fcn.00435540
lea rax, [0x004c092d]
mov ebx, 0x21
call fcn.00433d40
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045bbc0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00415f00
Function at 0x4160e0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x41630a
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.00430580
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 0x41615b
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x41616e
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
sub rdx, rbx
add rcx, rbx
mov rbx, rdx
test rbx, rbx
jbe 0x416190
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
jmp 0x4161a4
cmp rbx, 0x1000
jae 0x416165
jmp 0x41622e
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x4161b6
xor esi, esi
jmp 0x416220
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.00430580
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 0x41619a
jmp 0x416182
call fcn.0045f740
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 0x4162a9
call fcn.004354c0
lea rax, [0x004bebd7]
mov ebx, 0x19
call fcn.00435dc0
mov rax, qword [rsp + 0x68]
call fcn.00435ac0
lea rax, [0x004be821]
mov ebx, 0x19
nop
call fcn.00435dc0
mov eax, dword [rsp + 0x34]
call fcn.00435ac0
call fcn.00435720
call fcn.00435540
lea rax, [0x004bb807]
mov ebx, 0xd
call fcn.00433d40
cmp eax, 0x5af
je 0x416253
call fcn.004354c0
lea rax, [0x004bebd7]
mov ebx, 0x19
call fcn.00435dc0
mov rax, qword [rsp + 0x38]
call fcn.00435ac0
lea rax, [0x004be821]
mov ebx, 0x19
nop dword [rax]
call fcn.00435dc0
mov eax, dword [rsp + 0x34]
call fcn.00435ac0
call fcn.00435720
call fcn.00435540
lea rax, [0x004c029f]
mov ebx, 0x1f
call fcn.00433d40
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045bbc0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004160e0
Function at 0x41d7c0
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
cmp byte [0x005b76f4], 0
jne 0x41d8b9
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 0x41d8af
lea rbx, [0x00589b58]
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 0x41d88a
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.0045e2e0
lea rax, [0x004c2220]
mov ebx, 0x2c
call fcn.00433d40
nop
int3
Function at 0x42c940
Capabilities:
Hash data using murmur3

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x42cbe6
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 0x42cbda
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], rcx
mov qword [rax + 0x16c0], 0
cmp byte [0x005b76f4], 0
jne 0x42c9a2
xor edx, edx
xor ebx, ebx
nop
jmp 0x42c9eb
xor edx, edx
jmp 0x42c9ce
mov qword [rsp + 0x28], rdx
mov rcx, qword [rax + rdx*8 + 0x16d0]
mov rax, rcx
call fcn.0041cfe0
mov rcx, qword [rsp + 0x28]
lea rdx, [rcx + 1]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
jl 0x42c9a6
add rax, 0x16c0
call fcn.0042c800
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
inc rdx
cmp rdx, rcx
jge 0x42cb72
mov rsi, qword [rax + rdx*8 + 0x16d0]
nop dword [rax]
cmp rsi, 0x1000
jb 0x42c9e8
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.00411f40
test rax, rax
jne 0x42ca42
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
nop
jmp 0x42c9e8
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 0x42ca85
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
nop
jmp 0x42c9e8
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 0x42cbcd
lea r10, [0x00589b58]
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 0x42cb0c
lock or byte [r9], r8b
movzx r8d, byte [rbx + 0x62]
test r8b, 1
je 0x42cb45
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 0x42c9e8
mov r8, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
cmp r8, rcx
jae 0x42cbc5
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 0x42c9e8
cmp rbx, 0x200
ja 0x42cbb7
lea rdx, [rax + 0x16d0]
lea rsi, [rax + 0x1698]
mov rcx, rbx
mov edi, 0x200
mov rbx, rdx
mov rax, rsi
call fcn.004226a0
mov rdx, qword [rsp + 0x48]
lea rax, [rdx + 0x16c0]
call fcn.0042c800
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
mov rcx, rbx
mov edx, 0x200
nop
call fcn.0045e340
mov rax, r8
call fcn.0045e2c0
mov rax, r8
mov ecx, 0x40
call fcn.0045e2e0
mov edx, 0x200
nop
call fcn.0045e320
nop
mov qword [rsp + 8], rax
call fcn.004602a0
mov rax, qword [rsp + 8]
jmp fcn.0042c940