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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
mov eax, 0x40
call fcn.180047320
sub rsp, rax
mov rsi, qword [rdx]
lea r14, [rcx + 0x60]
mov rbx, rdx
mov edx, dword [r14]
mov rdi, rcx
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x28], r8
lea r8, [rsp + 0x20]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
call fcn.180004770
test rax, rax
je 0x18000a593
mov rax, qword [rax]
test rax, rax
je 0x18000a593
mov rax, qword [rax + 0x10]
cmp byte [rax + 4], 0
je 0x18000a581
cmp byte [rbx + 0x1c], 0
je 0x18000a581
mov edx, 1
mov byte [rax + 4], dl
xor eax, eax
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
xor edx, edx
mov byte [rax + 4], dl
xor eax, eax
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov edx, dword [rdi + 0xe8]
mov rcx, qword [rdi + 0xf8]
lea r8, [rsp + 0x28]
xor r9d, r9d
call fcn.180004770
test rax, rax
je 0x18000a5b5
mov rax, qword [rax]
mov rdi, qword [rax + 0x10]
mov r8, qword [rbx + 8]
lea rcx, [rsp + 0x38]
mov rdx, qword [rdi + 8]
call qword [0x1800ddb08]
cmp eax, 0x1f4
je 0x18000a72e
test eax, eax
je 0x18000a5ed
mov ecx, eax
call fcn.180004380
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x18
call fcn.18000cdd0
test rax, rax
je 0x18000a73b
mov edx, dword [rbx + 0x18]
mov r9, qword [rsp + 0x38]
movzx r8d, byte [rbx + 0x1c]
mov dword [rax], edx
lea rdx, [rsp + 0x28]
mov rcx, r14
mov byte [rax + 4], r8b
mov qword [rax + 8], rsi
mov qword [rax + 0x10], r9
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], rax
call fcn.18000aef0
mov ecx, dword [rdi + 0x60]
test ecx, ecx
jne 0x18000a650
lea edx, [rcx + 1]
lea rcx, [rdi + 0x60]
call fcn.18000b9a0
mov ecx, dword [rdi + 0x60]
test ecx, ecx
je 0x18000a73b
mov r8, qword [rdi + 0x70]
test ecx, ecx
jne 0x18000a663
mov ebp, dword [rsp + 0x20]
xor ebx, ebx
jmp 0x18000a6f2
movzx eax, byte [rsp + 0x21]
movzx ebp, sil
xor edx, edx
xor ebp, 0x811c9dc5
imul ebp, ebp, 0x1000193
xor ebp, eax
movzx eax, byte [rsp + 0x22]
imul ebp, ebp, 0x1000193
xor ebp, eax
movzx eax, byte [rsp + 0x23]
imul ebp, ebp, 0x1000193
xor ebp, eax
movzx eax, byte [rsp + 0x24]
imul ebp, ebp, 0x1000193
xor ebp, eax
movzx eax, byte [rsp + 0x25]
imul ebp, ebp, 0x1000193
xor ebp, eax
movzx eax, byte [rsp + 0x26]
imul ebp, ebp, 0x1000193
xor ebp, eax
movzx eax, byte [rsp + 0x27]
imul ebp, ebp, 0x1000193
xor ebp, eax
imul ebp, ebp, 0x1000193
mov eax, ebp
div ecx
mov rax, qword [r8 + rdx*8]
lea rbx, [r8 + rdx*8]
test rax, rax
je 0x18000a6f2
cmp qword [rax + 8], rsi
je 0x18000a6f2
mov rbx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a6e1
cmp qword [rbx], 0
jne 0x18000a72e
mov ecx, 0x18
call fcn.18000cdd0
test rax, rax
je 0x18000a715
mov qword [rax], 0
mov qword [rax + 8], rsi
mov dword [rax + 0x10], ebp
mov qword [rbx], rax
test rax, rax
je 0x18000a73b
inc qword [rdi + 0x68]
mov rdx, qword [rdi + 0x68]
lea rcx, [rdi + 0x60]
call fcn.18000b9a0
xor eax, eax
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, 2
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x18000d9f0
Capabilities:
Hash data using fnv

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
mov eax, 0x68
call fcn.180047320
sub rsp, rax
lea rax, [rcx + 0x30]
mov rsi, rcx
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov rbx, r8
mov rbp, rdx
mov qword [rsp + 0x38], rdx
xor edi, edi
mov qword [rsp + 0x48], rax
call fcn.18000cce0
mov r14, qword [rbx + 0x10]
mov eax, dword [rbx]
lea rax, [r14 + rax*8]
mov r12d, edi
mov qword [rsp + 0x50], rax
cmp r14, rax
je 0x18000da59
cmp qword [r14], rdi
jne 0x18000da56
add r14, 8
cmp r14, rax
jne 0x18000da43
jmp 0x18000dc30
mov r12, qword [r14]
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0x60], r15
mov r15d, dword [rsp + 0x20]
nop dword [rax + rax]
test r12, r12
je 0x18000dc23
mov rbx, qword [r12 + 8]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
je 0x18000dbf0
nop dword [rax + rax]
mov r8, qword [rbx]
lea rdx, [rsp + 0x40]
xor r9d, r9d
mov rcx, rbp
call fcn.18000ada0
test eax, eax
jne 0x18000dc21
mov r13, qword [rsp + 0x40]
test r13, r13
je 0x18000dbde
mov ecx, dword [rsi + 0x58]
mov rbp, qword [r13 + 8]
mov qword [rsp + 0x28], rbp
test ecx, ecx
jne 0x18000dae0
lea edx, [rax + 1]
lea rcx, [rsi + 0x58]
call fcn.18000e1a0
mov ecx, dword [rsi + 0x58]
test ecx, ecx
je 0x18000dc1a
mov r8, qword [rsi + 0x68]
test ecx, ecx
je 0x18000db91
movzx eax, byte [rsp + 0x29]
movzx r15d, bpl
xor edx, edx
xor r15d, 0x811c9dc5
imul r15d, r15d, 0x1000193
xor r15d, eax
movzx eax, byte [rsp + 0x2a]
imul r15d, r15d, 0x1000193
xor r15d, eax
movzx eax, byte [rsp + 0x2b]
imul r15d, r15d, 0x1000193
xor r15d, eax
movzx eax, byte [rsp + 0x2c]
imul r15d, r15d, 0x1000193
xor r15d, eax
movzx eax, byte [rsp + 0x2d]
imul r15d, r15d, 0x1000193
xor r15d, eax
movzx eax, byte [rsp + 0x2e]
imul r15d, r15d, 0x1000193
xor r15d, eax
movzx eax, byte [rsp + 0x2f]
imul r15d, r15d, 0x1000193
xor r15d, eax
imul r15d, r15d, 0x1000193
mov eax, r15d
div ecx
mov rax, qword [r8 + rdx*8]
lea rdi, [r8 + rdx*8]
test rax, rax
je 0x18000db91
nop dword [rax + rax]
cmp qword [rax + 8], rbp
je 0x18000db91
mov rdi, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000db80
cmp qword [rdi], 0
jne 0x18000dbd2
mov ecx, 0x20
call fcn.18000cdd0
test rax, rax
je 0x18000dbb9
mov qword [rax], 0
mov qword [rax + 8], rbp
mov qword [rax + 0x10], r13
mov dword [rax + 0x18], r15d
mov qword [rdi], rax
test rax, rax
je 0x18000dc1a
inc qword [rsi + 0x60]
mov rdx, qword [rsi + 0x60]
lea rcx, [rsi + 0x58]
call fcn.18000e1a0
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x20]
xor edi, edi
mov rbx, qword [rbx + 0x50]
test rbx, rbx
jne 0x18000da90
mov rax, qword [rsp + 0x50]
mov r12, qword [r12]
test r12, r12
jne 0x18000da79
nop dword [rax]
add r14, 8
cmp r14, rax
je 0x18000da70
mov r12, qword [r14]
test r12, r12
je 0x18000dc00
jmp 0x18000da70
mov edi, 2
jmp 0x18000dc23
mov edi, eax
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
call fcn.18000cd90
mov eax, edi
add rsp, 0x68
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x18000efc0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
mov eax, 0x20
call fcn.180047320
sub rsp, rax
xor edi, edi
mov rbx, rcx
mov esi, edi
test rcx, rcx
je 0x18000f084
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
or rdx, 0xffffffffffffffff
mov ebp, eax
nop dword [rax]
inc rdx
cmp word [rbx + rdx*2], si
jne 0x18000f000
lea ecx, [rax + 1]
add rdx, rcx
mov ecx, 0x40
add rdx, rdx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, rax
test rax, rax
je 0x18000f087
mov edx, ebp
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov r8d, eax
lea ecx, [r8 - 1]
cmp word [rsi + rcx*2], 0x5c
je 0x18000f04b
mov eax, 0x5c
mov word [rsi + r8*2], ax
inc r8d
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rbx + rax*2], di
jne 0x18000f050
test rax, rax
je 0x18000f084
mov rdx, rdi
movzx eax, word [rbx + rdx*2]
lea ecx, [rdi + r8]
inc edi
mov word [rsi + rcx*2], ax
or rax, 0xffffffffffffffff
mov edx, edi
inc rax
cmp word [rbx + rax*2], 0
jne 0x18000f075
cmp rdx, rax
jb 0x18000f061
mov rax, rsi
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x180010e60
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
mov eax, 0x30
call fcn.180047320
sub rsp, rax
mov rbx, rcx
xor ecx, ecx
xor ebp, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rbx, rbx
je 0x18001108a
xor edx, edx
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rbx + rax*2], dx
jne 0x180010e90
test rax, rax
je 0x180010ec4
xor ecx, ecx
movzx r8d, word [rbx + rcx*2]
cmp r8w, 0x5c
je 0x18001108a
cmp r8w, 0x2f
je 0x18001108a
inc edx
mov ecx, edx
cmp rcx, rax
jb 0x180010ea0
mov rcx, rbx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rdi
call fcn.1800110b0
mov rsi, rax
test rax, rax
je 0x180010fb5
mov qword [rsp + 0x50], r14
call fcn.180011860
mov r14, rax
test rax, rax
je 0x180010fa2
mov rcx, rsi
call fcn.18000ee10
test eax, eax
je 0x180010f8b
lea rax, str.system32_
lea rdi, [rsp + 0x20]
mov qword [rsp + 0x20], rax
lea rax, str.SystemRoot_system32_
mov qword [rsp + 0x28], rax
nop word [rax + rax]
mov rdx, qword [rdi]
or rbx, 0xffffffffffffffff
inc rbx
cmp word [rdx + rbx*2], bp
jne 0x180010f37
mov r8, rbx
mov rcx, rsi
call fcn.180055ee4
test eax, eax
je 0x180010f5f
lea rax, [rsp + 0x30]
add rdi, 8
cmp rdi, rax
jb 0x180010f30
jmp 0x180010f6e
lea rdx, [rsi + rbx*2]
mov rcx, r14
call fcn.180010860
mov rbp, rax
lea rax, [rsp + 0x30]
cmp rdi, rax
jne 0x180010f99
mov rcx, rsi
call fcn.18000edb0
test eax, eax
je 0x180010f99
mov rbp, rsi
xor esi, esi
jmp 0x180010f99
mov rdx, rsi
mov rcx, r14
call fcn.180010860
mov rbp, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov r14, qword [rsp + 0x50]
jmp 0x180011056
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7e
jne 0x18001105f
mov rcx, rbx
call fcn.18000ec80
mov rdi, rax
test rax, rax
je 0x18001105f
mov ecx, 0x37e4
call fcn.1800103d0
test eax, eax
je 0x180010ff4
lea rcx, [0x1800a0b28]
call fcn.180011590
jmp 0x180010ff9
call fcn.180011860
mov rbx, rax
test rax, rax
je 0x18001104d
mov rdx, rdi
mov rcx, rax
call fcn.180010860
mov rbp, rax
test rax, rax
je 0x180011044
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x180011026
test al, 0x50
je 0x180011044
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x180011039
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor ebp, ebp
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
test rbp, rbp
je 0x18001105f
xor ecx, ecx
jmp 0x18001106c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180011072
lea ecx, [rax + 0x7e]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov rax, rbp
mov rbx, qword [rsp + 0x58]
add rsp, 0x30
pop rbp
ret
mov ecx, 0xa0
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, qword [rsp + 0x58]
xor eax, eax
add rsp, 0x30
pop rbp
ret
Function at 0x180011860
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
push rdi
mov eax, 0x20
call fcn.180047320
sub rsp, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ecx, 0x40
mov edx, eax
mov edi, eax
add rdx, rdx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
test rax, rax
je 0x1800118cb
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1800118c0
cmp edi, eax
jb 0x1800118c0
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x180012860
Capabilities:
Hash data using sha256

Disassembly:
push rbx
sub rsp, 0xb0
mov rax, qword [0x1800cc218]
xor rax, rsp
mov qword [rsp + 0xa0], rax
xor eax, eax
mov dword [rsp + 0x20], 0x6a09e667
mov rbx, rcx
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x50], rax
lea r8, [r8*8]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x24], 0xbb67ae85
mov dword [rsp + 0x28], 0x3c6ef372
mov dword [rsp + 0x2c], 0xa54ff53a
mov dword [rsp + 0x30], 0x510e527f
mov dword [rsp + 0x34], 0x9b05688c
mov dword [rsp + 0x38], 0x1f83d9ab
mov qword [rsp + 0x3c], 0x5be0cd19
call fcn.180012920
mov r9b, 1
lea rcx, [rsp + 0x20]
mov r8b, 0x81
mov rdx, rbx
call fcn.180012600
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.180046780
add rsp, 0xb0
pop rbx
ret

Function at 0x18002d930
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
sub rsp, 0x48
test ecx, ecx
jle 0x18002da14
mov qword [rsp + 0x40], rbx
movsxd rbx, ecx
cmp ecx, 0x64
jle 0x18002d9a4
imul rax, rbx, 0xfffffffffffffff6
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x58], rax
lea edx, [r8 + 1]
call qword [sym.imp.KERNEL32.dll_CreateWaitableTimerA]
xor r9d, r9d
lea rdx, [rsp + 0x58]
mov rbx, rax
xor r8d, r8d
xor eax, eax
mov rcx, rbx
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_SetWaitableTimer]
mov edx, 0xffffffff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x40]
add rsp, 0x48
ret
lea rcx, [rsp + 0x68]
movaps xmmword [rsp + 0x30], xmm6
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
movss xmm6, dword [0x1800941bc]
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x58]
xorps xmm1, xmm1
sub rax, qword [rsp + 0x60]
xorps xmm0, xmm0
cvtsi2ss xmm0, qword [rsp + 0x68]
cvtsi2ss xmm1, rax
divss xmm1, xmm0
mulss xmm1, xmm6
mulss xmm1, xmm6
cvttss2si rax, xmm1
cmp rax, rbx
jl 0x18002d9c7
movaps xmm6, xmmword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
add rsp, 0x48
ret
Function at 0x180050a78
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov ebx, ecx
test r8d, r8d
jne 0x18005094f
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x18005094f
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x18005094f
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x18005094f
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x18005094f
cmp dword [rcx + 0x84], 0xe
jbe 0x18005094f
cmp dword [rcx + 0xf8], 0
je 0x18005094f
mov ecx, ebx
call fcn.1800509f0
lea rax, [rbp + 0x18]
mov byte [rbp + 0x28], 0
mov qword [rbp - 0x20], rax
lea r9, [rbp - 0x2c]
lea rax, [rbp + 0x20]
mov qword [rbp - 0x18], rax
lea r8, [rbp - 0x20]
lea rax, [rbp + 0x28]
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x28]
mov eax, 2
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
call fcn.1800507e0
cmp dword [rbp + 0x20], 0
je 0x18005099c
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.1800509a4
int3
xor r8d, r8d
xor edx, edx
jmp 0x1800508e8
Function at 0x415f20
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4160ab
push rbp
mov rbp, rsp
sub 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 sym.runtime.stdcall3.abi0
xorps xmm15, xmm15
mov r14, qword [0x00635ca8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
jne 0x415f85
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x415f94
add rsp, 0x48
pop rbp
ret
sub rcx, rbx
add rax, rbx
mov rbx, rcx
test rbx, rbx
jbe 0x415fb3
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rax
mov rcx, rbx
jmp 0x415fc3
cmp rbx, 0x1000
jae 0x415f8b
jmp 0x41602d
add rsp, 0x48
pop rbp
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x415fd5
xor edx, edx
jmp 0x416024
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 sym.runtime.stdcall3.abi0
xorps xmm15, xmm15
mov r14, qword [0x00635ca8]
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]
test dl, dl
jne 0x415fb9
jmp 0x415fa8
call sym.runtime.getlasterror.abi0
xorps xmm15, xmm15
mov r14, qword [0x00635ca8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x30], rax
call sym.runtime.printlock
lea rax, [0x00511010]
mov ebx, 0x18
nop dword [rax]
call sym.runtime.printstring
mov rax, qword [rsp + 0x38]
call sym.runtime.printuint
lea rax, [0x0051152b]
mov ebx, 0x19
nop dword [rax + rax]
call sym.runtime.printstring
mov rax, qword [rsp + 0x30]
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x00513ad4]
mov ebx, 0x21
call sym.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp sym.runtime.sysUnusedOS
Function at 0x4160e0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x416306
push rbp
mov rbp, rsp
sub 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 sym.runtime.stdcall4.abi0
xorps xmm15, xmm15
mov r14, qword [0x00635ca8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp qword [rsp + 0x28], rax
je 0x416153
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x416162
add rsp, 0x50
pop rbp
ret
sub rdx, rbx
add rcx, rbx
mov rbx, rdx
test rbx, rbx
jbe 0x416185
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
jmp 0x416195
cmp rbx, 0x1000
jae 0x416159
nop
jmp 0x416218
add rsp, 0x50
pop rbp
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
nop word [rax + rax]
cmp rbx, 0x1000
jae 0x4161ad
xor esi, esi
jmp 0x41620a
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
call sym.runtime.stdcall4.abi0
xorps xmm15, xmm15
mov r14, qword [0x00635ca8]
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 0x41618b
jmp 0x416176
call sym.runtime.getlasterror.abi0
xorps xmm15, xmm15
mov r14, qword [0x00635ca8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x34], eax
cmp eax, 8
jne 0x4162a0
nop dword [rax + rax]
call sym.runtime.printlock
lea rax, [0x00511544]
mov ebx, 0x19
call sym.runtime.printstring
mov rax, qword [rsp + 0x68]
nop dword [rax + rax]
call sym.runtime.printuint
lea rax, [0x0051152b]
mov ebx, 0x19
call sym.runtime.printstring
mov eax, dword [rsp + 0x34]
call sym.runtime.printuint
nop
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x0050dc79]
mov ebx, 0xd
call sym.runtime.throw
nop dword [rax + rax]
cmp eax, 0x5af
je 0x416240
call sym.runtime.printlock
lea rax, [0x00511544]
mov ebx, 0x19
call sym.runtime.printstring
mov rax, qword [rsp + 0x38]
call sym.runtime.printuint
lea rax, [0x0051152b]
mov ebx, 0x19
call sym.runtime.printstring
mov eax, dword [rsp + 0x34]
nop dword [rax]
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x00513218]
mov ebx, 0x1f
nop dword [rax + rax]
call sym.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
nop
jmp sym.runtime.sysUsedOS
Function at 0x41f780
Capabilities:
Hash data using murmur3

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x10
cmp byte [0x00635a72], 0
jne 0x41f867
sub rbx, qword [rax + 0x18]
mov rdx, qword [rax + 0x50]
test byte [rdx], al
mov esi, dword [rax + 0x64]
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
nop
nop
nop
nop
lock or byte [rdx], r8b
mov rcx, qword [rax + 0x18]
movabs rdx, 0x800000000000
lea rax, [rdx + rcx]
mov rdx, rax
shr rdx, 0x2a
nop
nop
nop
cmp rdx, 0x40
jae 0x41f85a
lea rbx, [0x00607e58]
mov rdx, qword [rbx + rdx*8]
test byte [rdx], al
mov rbx, rcx
shr rbx, 0x10
and ebx, 0x3f
shr rcx, 0xd
and ecx, 7
mov esi, 1
shl esi, cl
shr rax, 0x16
and eax, 0xfffff
mov rax, qword [rdx + rax*8]
test byte [rax], al
movzx edx, byte [rax + rbx + 0x11440]
lea rax, [rax + rbx]
lea rax, [rax + 0x11440]
test sil, dl
jne 0x41f840
lock or byte [rax], sil
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add qword [rax + 0x1250], rdi
add rsp, 0x10
pop rbp
ret
mov rax, rdx
mov ecx, 0x40
call sym.runtime.panicIndexU
lea rax, [0x00515cc2]
mov ebx, 0x2c
call sym.runtime.throw
nop
int3

Function at 0x421b40
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x421c46
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rsp + 0x70], rcx
mov byte [rsp + 0x17], dil
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x18], 0
jmp 0x421b83
mov rax, qword [rsp + 0x60]
mov rcx, rdx
mov rbx, qword [rsp + 0x68]
movzx edi, byte [rsp + 0x17]
cmp qword [rsp + 0x18], rbx
jae 0x421c3b
test byte [rax], al
lea rcx, [rax + 0x100b8]
mov ebx, edi
mov rax, rcx
nop dword [rax]
call sym.runtime._scavengeIndex_.find
test rax, rax
je 0x421c3b
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x30], xmm15
movups xmmword [rsp + 0x40], xmm15
lea rcx, [sym.runtime._pageAlloc_.scavenge.func1]
mov qword [rsp + 0x20], rcx
lea rdx, [rsp + 0x18]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x48], rax
lea rbx, [rsp + 0x20]
mov qword [rsp], rbx
nop dword [rax]
call sym.runtime.systemstack.abi0
xorps xmm15, xmm15
mov r14, qword [0x00635ca8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x70]
nop dword [rax]
test rdx, rdx
jne 0x421c29
xor eax, eax
jmp 0x421c33
mov rax, qword [rdx]
call rax
mov rdx, qword [rsp + 0x70]
test al, al
je 0x421b71
mov rax, qword [rsp + 0x18]
add rsp, 0x50
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov byte [rsp + 0x20], dil
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movzx edi, byte [rsp + 0x20]
jmp sym.runtime._pageAlloc_.scavenge