joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180002d70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
sub rsp, 0x68
mov eax, dword [rsp + 0x90]
add eax, 0xf21
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x80]
add eax, 0x1121
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x80]
xor eax, 0x15b2
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x98]
add eax, 0xab
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x98]
sub eax, 0x28d2
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x70]
xor eax, 0x16b3
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x90]
sub eax, 0x19b1
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x88]
add eax, 0xa78
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x88]
xor eax, 0x39ed
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x80]
add eax, 0x5c4
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x2c]
xor eax, 0x1b76
cmp dword [rsp + 0x28], eax
je 0x180002e69
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x9c]
sub eax, 0x962ff
mov rcx, qword [rsp + 0x78]
mov ecx, dword [rcx + 0x28]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x28], eax
mov eax, dword [rsp + 0x24]
sub eax, 0xc73
mov dword [rsp + 0x24], eax
jmp 0x180002f08
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x90]
mov dword [rsp + 0x20], eax
jmp 0x180002e85
mov eax, dword [rsp + 0x20]
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x34]
sub ecx, eax
mov eax, ecx
cmp dword [rsp + 0x20], eax
jge 0x180002f08
mov eax, dword [rsp + 0x38]
sub eax, 0x28d2
sub eax, dword [rsp + 0x28]
mov dword [rsp + 0x44], eax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x78]
mov eax, dword [rdx + rax + 0x3c]
mov ecx, dword [rcx + 0x38]
sub ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x78]
and eax, dword [rdx + rcx + 0xa4]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x48]
sub eax, 0x2286
mov dword [rsp + 0x3c], eax
mov r8d, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
call qword [sym.imp.KERNEL32.dll_OpenThread]
jmp 0x180002e7a
mov eax, dword [rsp + 0x2c]
add eax, 0x297d
add rsp, 0x68
ret
Function at 0x180004680
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
sub rsp, 0x68
mov eax, dword [rsp + 0x98]
add eax, 0x6ad
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0xa0]
sub eax, 0x8a4
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x70]
sub eax, 0x2f6
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x70]
sub eax, 0x1f55
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x80]
xor eax, 0x3060
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0xa0]
xor eax, 0x3d8d
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x98]
sub eax, 0x15b2
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x88]
sub eax, 0x16b3
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x98]
xor eax, 0x9ed
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x24]
add eax, 0x1c5f
cmp dword [rsp + 0x2c], eax
je 0x180004817
mov eax, dword [rsp + 0x24]
add eax, 0x21d2
cmp dword [rsp + 0x2c], eax
jge 0x180004765
mov rax, qword [rsp + 0x78]
lea rcx, [0x1800b0140]
mov qword [rax + 0x70], rcx
mov eax, dword [rsp + 0x20]
add eax, 0xc73
mov dword [rsp + 0x20], eax
jmp 0x180004817
mov eax, dword [rsp + 0x30]
or eax, 0x159e
mov rcx, qword [rsp + 0x78]
sub eax, dword [rcx + 0x2c]
cmp dword [rsp + 0x20], eax
jb 0x180004817
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0x28], eax
jmp 0x180004795
mov eax, dword [rsp + 0x28]
add eax, 3
mov dword [rsp + 0x28], eax
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + rax + 0xa4]
add eax, dword [rsp + 0x34]
and eax, dword [rsp + 0x24]
cmp dword [rsp + 0x28], eax
jbe 0x180004817
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x78]
mov eax, dword [rdx + rax + 0xa4]
mov ecx, dword [rcx + 0x98]
xor ecx, eax
mov eax, ecx
mov eax, eax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x98]
mov ecx, dword [rsp + 0x38]
or ecx, eax
mov eax, ecx
sub eax, 0x1b76
mov eax, eax
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
jmp 0x18000478a
mov eax, dword [rsp + 0x3c]
add eax, 0x8a4
add rsp, 0x68
ret
Function at 0x180008260
Capabilities:
Get file attributes
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
sub rsp, 0x58
mov eax, dword [rsp + 0x68]
sub eax, 0x248
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x78]
xor eax, 0x16b3
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x80]
add eax, 0xc9
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x88]
add eax, 0x37c
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x68]
add eax, 0x3df
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x68]
add eax, 0x710
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x78]
add eax, 0x1660
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x68]
sub eax, 0x1b76
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x2c]
xor eax, 0x39f0
cmp dword [rsp + 0x20], eax
jg 0x180008302
mov eax, dword [rsp + 0x20]
xor eax, 0x1b76
mov dword [rsp + 0x20], eax
jmp 0x180008355
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x24], eax
jmp 0x180008317
mov eax, dword [rsp + 0x24]
add eax, 2
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x34]
and eax, 0x1b16
mov rcx, qword [rsp + 0x70]
or eax, dword [rcx + 0x90]
cmp dword [rsp + 0x24], eax
jb 0x180008355
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x2c]
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
mov eax, eax
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
jmp 0x18000830c
mov eax, dword [rsp + 0x28]
add eax, 0x2ddb
add rsp, 0x58
ret
Function at 0x1800215d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
sub rsp, 0x68
mov eax, dword [rsp + 0xa8]
sub eax, 0xc
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xb0]
xor eax, 0x9f
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xa8]
xor eax, 0x346a
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x90]
sub eax, 0xce9
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x98]
sub eax, 0x12ca
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x98]
sub eax, 0xd1e
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x80]
xor eax, 0x3ec4
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x90]
sub eax, 0xbe8
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x34]
xor eax, 0x348d
cmp dword [rsp + 0x2c], eax
jg 0x18002181e
mov eax, dword [rsp + 0x20]
xor eax, 0x3729
cmp dword [rsp + 0x34], eax
jle 0x1800216ef
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rcx + rax + 0x88]
xor eax, 0x1663b7
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 0xa0]
imul ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0xa0], eax
mov eax, dword [rsp + 0x20]
add eax, 0x2a5
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 0xa0]
mov dword [rax + 0x64], ecx
jmp 0x18002181e
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x88]
mov eax, dword [rax + 0x44]
imul eax, dword [rcx + 0x48]
add eax, dword [rsp + 0x20]
cmp dword [rsp + 0x30], eax
jb 0x18002181e
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x24], eax
jmp 0x180021728
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x2c]
add eax, 0x3604
cmp dword [rsp + 0x24], eax
jae 0x18002181e
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
mov eax, dword [rcx + rax + 0xb8]
mov dword [rsp + 0x28], eax
jmp 0x18002176a
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x90]
sub eax, 0x19b1
cmp dword [rsp + 0x28], eax
jae 0x180021819
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x2c]
or ecx, eax
mov eax, ecx
cdqe
mov qword [rsp + 0x50], rax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x88]
mov edx, dword [rdx + 0x18]
mov eax, dword [rcx + rax + 0xb8]
xor eax, edx
mov eax, eax
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov eax, dword [rsp + 0x2c]
xor eax, 0x1c5f
mov ecx, 4
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x88]
add eax, dword [rdx + rcx + 8]
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 0xb4]
xor ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0xb4], eax
jmp 0x180021760
jmp 0x18002171e
mov eax, dword [rsp + 0x30]
add eax, 0x8e1
add rsp, 0x68
ret
Function at 0x140007bc0
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file
Terminate process

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x70
movaps xmmword [rsp + 0x60], xmm6
mov rcx, qword [0x140021048]
test rcx, rcx
je 0x140007bfb
mov edx, 0x1388
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x140007c20
mov rcx, qword [0x140021048]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [0x14002a0a8], 0
jne 0x140007c38
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x70
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rcx, qword [0x140021048]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
jmp 0x140007bee
mov edx, 0x414
lea r12, [rsp + 0x20]
lea rsi, [0x14001a344]
mov qword [rsp + 0x20], 0
lea rdi, [0x14002a0c0]
movq xmm0, rsi
mov rcx, r12
mov dword [rsp + 0x28], 3
movq xmm6, rdi
mov word [rsp + 0x40], dx
mov rbp, qword [sym.imp.SHELL32.dll_SHFileOperationW]
mov ebx, 0x14
punpcklqdq xmm6, xmm0
mov dword [rsp + 0x44], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], rsi
movaps xmmword [rsp + 0x30], xmm6
call rbp
mov r13, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r14, qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140007d04
test al, 0x10
je 0x140007c04
mov ecx, 0x64
call r14
mov eax, 0x414
mov qword [rsp + 0x50], rsi
mov rcx, r12
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 3
mov word [rsp + 0x40], ax
mov dword [rsp + 0x44], 0
mov qword [rsp + 0x48], 0
movaps xmmword [rsp + 0x30], xmm6
call rbp
sub ebx, 1
je 0x140007c04
mov rcx, rdi
call r13
cmp eax, 0xffffffff
jne 0x140007cb0
jmp 0x140007c04
Function at 0x14000f300
Capabilities:
Create directory

Disassembly:
push rdi
mov eax, 0x2020
push rsi
push rbx
call fcn.140014710
sub rsp, rax
mov eax, dword [0x14002e0c0]
mov rsi, rcx
test eax, eax
je 0x14000f3a0
xor ebx, ebx
lea rdi, [0x14002c0c0]
test eax, eax
jg 0x14000f33c
jmp 0x14000f350
add rbx, 1
cmp dword [0x14002e0c0], ebx
jle 0x14000f350
mov rdx, qword [rdi + rbx*8]
mov rcx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14000f330
jmp 0x14000f387
mov rcx, rsi
call sub.msvcrt.dll_wcslen
cmp rax, 2
jne 0x14000f365
cmp word [rsi + 2], 0x3a
je 0x14000f387
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x14000f3f0
movsxd rbx, dword [0x14002e0c0]
cmp ebx, 0x3ff
jle 0x14000f408
mov eax, 1
add rsp, 0x2020
pop rbx
pop rsi
pop rdi
ret
lea rdi, [rsp + 0x20]
lea rbx, str._HOME_
mov r8d, 0x1000
mov rdx, rbx
mov rcx, rdi
call fcn.1400074f0
test al, al
je 0x14000f42a
movsxd rbx, dword [0x14002e0c0]
mov rcx, rdi
lea rdi, [0x14002c0c0]
call sub.msvcrt.dll__wcsdup
mov qword [rdi + rbx*8], rax
mov eax, dword [0x14002e0c0]
add eax, 1
mov dword [0x14002e0c0], eax
jmp 0x14000f321
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x14000f374
xor eax, eax
jmp 0x14000f38c
mov rcx, rsi
call sub.msvcrt.dll__wcsdup
add dword [0x14002e0c0], 1
mov rdx, rax
lea rax, [0x14002c0c0]
mov qword [rax + rbx*8], rdx
jmp 0x14000f387
mov rcx, rbx
call fcn.140007b90
nop
nop word cs:[rax + rax]
nop
Function at 0x140013d64
Capabilities:
Allocate or change rwx memory

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
mov rax, qword [0x14002e158]
xor ebx, ebx
add rax, 0x18
mov r12, rcx
mov ecx, dword [0x14002e154]
mov rsi, rdx
mov rdi, r8
cmp ebx, ecx
jge 0x140013db2
mov rdx, qword [rax]
cmp r12, rdx
jb 0x140013daa
mov r8, qword [rax + 8]
mov r8d, dword [r8 + 8]
add rdx, r8
cmp r12, rdx
jb 0x140013e99
inc ebx
add rax, 0x28
jmp 0x140013d8a
mov rcx, r12
call fcn.140014591
mov rbp, rax
test rax, rax
jne 0x140013dd1
mov rdx, r12
lea rcx, str.Address__p_has_no_image_section
call fcn.140013d00
movsxd rbx, ebx
mov rax, qword [0x14002e158]
xor edx, edx
imul rbx, rbx, 0x28
add rax, rbx
mov dword [rax], edx
mov qword [rax + 0x20], rbp
call fcn.14001463f
mov edx, dword [rbp + 0xc]
mov r8d, 0x30
lea rcx, [rax + rdx]
mov rax, qword [0x14002e158]
lea rdx, [rsp + 0x20]
mov qword [rax + rbx + 0x18], rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
jne 0x140013e33
mov rax, qword [0x14002e158]
mov edx, dword [rbp + 8]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov r8, qword [rax + rbx + 0x18]
call fcn.140013d00
mov eax, dword [rsp + 0x44]
lea edx, [rax - 4]
and edx, 0xfffffffb
je 0x140013e93
lea edx, [rax - 0x40]
and edx, 0xffffffbf
je 0x140013e93
cmp eax, 2
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
mov r8d, 0x40
mov eax, 4
cmove r8d, eax
add rbx, qword [0x14002e158]
mov qword [rbx + 8], rcx
mov r9, rbx
mov qword [rbx + 0x10], rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x140013e93
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call fcn.140013d00
inc dword [0x14002e154]
mov ecx, edi
mov rdi, r12
rep movsb byte [rdi], byte [rsi]
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret

Function at 0x1400142c0
Capabilities:
Get thread local storage value

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
lea rdi, [0x14002e1c0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x14002e1a0]
test rbx, rbx
je 0x14001430c
mov ecx, dword [rbx]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test rsi, rsi
je 0x140014306
test eax, eax
jne 0x140014306
mov rax, qword [rbx + 8]
mov rcx, rsi
call rax
mov rbx, qword [rbx + 0x10]
jmp 0x1400142de
mov rcx, rdi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x1400144c0
Capabilities:
Parse pe header

Disassembly:
xor eax, eax
cmp word [rcx], 0x5a4d
jne 0x1400144e3
movsxd rdx, dword [rcx + 0x3c]
add rcx, rdx
cmp dword [rcx], 0x4550
jne 0x1400144e3
xor eax, eax
cmp word [rcx + 0x18], 0x20b
sete al
ret

Function at 0x1400144e4
Capabilities:
Enumerate pe sections

Disassembly:
xor r8d, r8d
movsxd rax, dword [rcx + 0x3c]
add rcx, rax
movzx eax, word [rcx + 0x14]
movzx r9d, word [rcx + 6]
lea rax, [rcx + rax + 0x18]
cmp r8d, r9d
jae 0x14001451e
mov r10d, dword [rax + 0xc]
mov rcx, r10
cmp rdx, r10
jb 0x140014515
add ecx, dword [rax + 8]
cmp rdx, rcx
jb 0x140014520
inc r8d
add rax, 0x28
jmp 0x1400144fc
xor eax, eax
ret
Function at 0x140014591
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r9, qword [0x14001b990]
mov r8, rcx
mov rcx, r9
call fcn.1400144c0
test eax, eax
je 0x1400145bd
mov rdx, r8
mov rcx, r9
sub rdx, r9
add rsp, 0x28
jmp fcn.1400144e4
xor eax, eax
add rsp, 0x28
ret
Function at 0x413740
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4138eb
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.0042eaa0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
nop
jne 0x4137ae
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x4137c1
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
sub rcx, rbx
add rax, rbx
mov rbx, rcx
test rbx, rbx
jbe 0x4137e5
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rax
mov rcx, rbx
jmp 0x4137f9
cmp rbx, 0x1000
jae 0x4137b8
nop
jmp 0x413869
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 0x41380d
xor edx, edx
jmp 0x413860
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.0042eaa0
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 0x4137ef
jmp 0x4137d5
call fcn.0045a8e0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x30], rax
call fcn.00432f20
lea rax, [0x00477d2a]
mov ebx, 0x18
nop dword [rax + rax]
call fcn.00433820
mov rax, qword [rsp + 0x38]
call fcn.00433520
lea rax, [0x00477dea]
mov ebx, 0x19
nop dword [rax + rax]
call fcn.00433820
mov rax, qword [rsp + 0x30]
call fcn.00433520
call fcn.00433180
call fcn.00432fa0
lea rax, [0x00479659]
mov ebx, 0x21
call fcn.00431660
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00456d80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00413740
Function at 0x413920
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x413b4a
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.0042eb20
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 0x41399b
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x4139ae
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
sub rdx, rbx
add rcx, rbx
mov rbx, rdx
test rbx, rbx
jbe 0x4139d0
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
jmp 0x4139e4
cmp rbx, 0x1000
jae 0x4139a5
jmp 0x413a6e
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x4139f6
xor esi, esi
jmp 0x413a60
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.0042eb20
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 0x4139da
jmp 0x4139c2
call fcn.0045a8e0
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 0x413ae9
call fcn.00432f20
lea rax, [0x00478010]
mov ebx, 0x19
call fcn.00433820
mov rax, qword [rsp + 0x68]
call fcn.00433520
lea rax, [0x00477dea]
mov ebx, 0x19
nop
call fcn.00433820
mov eax, dword [rsp + 0x34]
call fcn.00433520
call fcn.00433180
call fcn.00432fa0
lea rax, [0x00475e0b]
mov ebx, 0xd
call fcn.00431660
cmp eax, 0x5af
je 0x413a93
call fcn.00432f20
lea rax, [0x00478010]
mov ebx, 0x19
call fcn.00433820
mov rax, qword [rsp + 0x38]
call fcn.00433520
lea rax, [0x00477dea]
mov ebx, 0x19
nop dword [rax]
call fcn.00433820
mov eax, dword [rsp + 0x34]
call fcn.00433520
call fcn.00433180
call fcn.00432fa0
lea rax, [0x004790f2]
mov ebx, 0x1f
call fcn.00431660
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00456d80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00413920
Function at 0x41b620
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
cmp byte [0x0052f06f], 0
jne 0x41b70f
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 ebx, 7
mov rsi, rcx
mov rcx, rbx
mov edi, 1
shl edi, cl
nop
add rdx, qword [rax + 0x50]
lock or byte [rdx], dil
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 0x41b705
lea rbx, [0x005014d0]
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 + 0x21040]
lea rdx, [rdx + rcx]
lea rdx, [rdx + 0x21040]
shr rax, 0xd
and eax, 7
mov rcx, rax
mov eax, 1
shl eax, cl
nop dword [rax]
test al, bl
jne 0x41b6e7
lock or byte [rdx], al
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add qword [rax + 0x1250], rsi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov ecx, 0x40
call fcn.00459460
lea rax, [0x0047a77f]
mov ebx, 0x2c
nop dword [rax + rax]
call fcn.00431660
nop
int3

Function at 0x41de60
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x41df61
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 0x41dea0
mov rax, qword [rsp + 0x50]
mov rcx, rdx
mov rbx, qword [rsp + 0x58]
nop
cmp qword [rsp + 8], rbx
jae 0x41df51
test byte [rax], al
lea rcx, [rax + 0x100c0]
mov rax, rcx
call fcn.0041e9c0
nop dword [rax]
test rax, rax
je 0x41df51
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x30], xmm15
lea rcx, [0x0041dfa0]
mov qword [rsp + 0x10], rcx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rbx, [rsp + 8]
mov qword [rsp + 0x38], rbx
lea rbx, [rsp + 0x10]
mov qword [rsp], rbx
call fcn.00456c40
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x60]
test rdx, rdx
jne 0x41df3f
xor eax, eax
jmp 0x41df49
mov rax, qword [rdx]
call rax
mov rdx, qword [rsp + 0x60]
test al, al
je 0x41de92
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
nop
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.00456d80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.0041de60