joyce8/EMBER2024-capa huggingface dataset:
Function at 0x5a64e0
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x5a64ed
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x5a64fd
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x5a64e5
lea eax, [rcx + 1]
jmp 0x5a650b
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x5a651e
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x5a6504
sub eax, 3
jb 0x5a653e
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x5a658d
sar eax, 1
movsxd rbp, eax
jb 0x5a6574
jmp 0x5a654c
add ebx, ebx
jne 0x5a654a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x5a6574
inc ecx
add ebx, ebx
jne 0x5a655a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x5a6574
call r11
adc ecx, ecx
add ebx, ebx
jne 0x5a656d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x5a655c
add ecx, 2
jmp 0x5a6579
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.005a64a2
jmp 0x5a64ed
pop rsi
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x82a00
mov dl, 0x18
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0x5a65d9
cmp rsi, rcx
jae 0x5a65e1
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0x5a65c0
cmp al, 0x8f
ja 0x5a65c0
cmp byte [rsi - 2], 0xf
je 0x5a65c6
sub al, 0xe8
cmp al, 1
ja 0x5a65aa
cmp rsi, rcx
jae 0x5a65e1
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0x5a65b0
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0x5a65e1
lodsb al, byte [rsi]
jmp 0x5a65c0
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x1a3000]
mov eax, dword [rdi]
or eax, eax
je 0x5a663e
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x1a6000]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x5a65ee
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x5a6638
mov qword [rbx], rax
add rbx, 8
jmp 0x5a660e
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x5a6678
cmp al, 0xef
ja 0x5a666a
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x5a664a
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
jmp 0x5a6659
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x1af]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x5a66cc
sub rsp, 0xffffffffffffff80
jmp 0x45e320
Function at 0x140004884
Capabilities:
Delete directory

Disassembly:
push rbp
push r15
xor rax, rax
push rax
push rax
sub rsp, 0x28
call fcn.140012b50
mov r15, qword [0x140020514]
cmp r15, 1
jne 0x140004953
push qword [0x140020604]
pop rcx
call fcn.14000dd04
mov r15, rax
and r15, r15
jle 0x1400048e9
mov rcx, qword [0x140020604]
call fcn.14000dd0c
mov rcx, qword [0x140020604]
call fcn.14000dd20
or rax, rax
je 0x1400048e9
mov rbp, qword [0x14002060c]
push qword [rbp + 0x10]
pop rcx
call fcn.14000e1bc
jmp 0x1400048c6
push qword [0x1400205f4]
pop rcx
call fcn.14000dd04
mov qword [rsp + 0x28], rax
mov r15, qword [rsp + 0x28]
and r15, r15
jle 0x140004953
push 5
push 0
push 1
push qword [0x1400205f4]
pop rcx
pop rdx
pop r8
pop r9
call fcn.140009060
mov rcx, qword [0x1400205f4]
call fcn.14000dd0c
mov rcx, qword [0x1400205f4]
call fcn.14000dd20
or rax, rax
je 0x140004953
mov rbp, qword [0x1400205fc]
push qword [rbp + 0x14]
pop rcx
call sub.KERNEL32.dll_RemoveDirectoryW
jmp 0x140004930
mov rax, 1
jmp 0x14000495f
add rsp, 0x38
pop r15
pop rbp
ret

Function at 0x140006b38
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x48
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rcx
call sub.KERNEL32.dll_GetLastError
mov qword [rsp + 0x38], rax
mov rcx, qword [0x14001f190]
call sub.KERNEL32.dll_TlsGetValue
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x38]
call sub.KERNEL32.dll_SetLastError
mov rax, qword [rsp + 0x28]
add rsp, 0x48
ret

Function at 0x140007204
Capabilities:
Terminate thread

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
call fcn.140007194
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateThread]
lea rcx, [0x140021210]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x140020640]
jmp 0x140007240
cmp qword [rbx + 0x18], rdi
je 0x140007247
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140007237
jmp 0x140007261
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rbx + 0x10]
lea rcx, [0x140020640]
call fcn.1400123b8
lea rcx, [0x140021210]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
invalid
sub ebp, eax
and bl, byte [rbp - 0x75]
and ebx, dword [rbp + 1]
leave
sbb al, 0x36
rcl edi, cl
xchg dword [rsi + 0x548327c5], ebp
add bh, byte [rdi - 0x24f223d8]
fmul qword [0xeb5ba077]
jrcxz 0x14003f657
fmul qword [0xeb5ba077]
jrcxz 0x14003f657
outsb dx, byte [rsi]
scasd eax, dword [rdi]
invalid
iretd
invalid
idiv ecx
jmp case.0x140007272.2
push rsi
xor dl, byte [rbp - 0x481d6f1a]
or eax, 0xc8179b47
wait
invalid
enter 0xffffffffffff8c96, 0x67
mov r14d, 0x85edebbf
xor eax, 0xf0cc4fd8
mov ebp, 0x5c9b8e73
pop rsp
wait
invalid
pop rsp
push rbx
movabs dword [0x93580f1d224d5e30], eax
xor byte [rsi + 0x4d], bl
invalid
invalid
invalid
pop rax
xchg ebx, eax
xchg esi, eax
sal dword [rsp + rbx*8 - 0x3d], 0x40
xor eax, 0x8805fa91
je 0x14003f798
clc
ret
and al, 0xa7
call 0xca6a6824
invalid
Function at 0x140017724
Capabilities:
Allocate thread local storage
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x40
cmp dword [0x1400211b8], 0
mov r14, rdx
mov r15, rcx
lea rbx, [0x1400211c8]
jne 0x140017771
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov rcx, rbx
mov dword [0x1400211f0], eax
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x1400211b8], 1
mov ecx, dword [0x1400211f0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
test rax, rax
jne 0x140017846
mov rcx, qword [0x1400204cc]
lea edx, [rax + 8]
lea r8d, [rax + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbp, rax
test rax, rax
je 0x140017871
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1400211c0]
test rax, rax
je 0x1400177c1
mov qword [rax], rbp
mov rcx, rbx
mov qword [rbp + 8], rax
mov qword [0x1400211c0], rbp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
and dword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
lea r9, [rbp + 0x20]
mov r8, rdi
mov rcx, rax
mov rdx, rbx
mov dword [rsp + 0x20], 0x100000
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x18]
lea r8, [0x14001788c]
mov r9, rbp
mov dword [rsp + 0x28], 8
or dword [rsp + 0x20], 0xffffffff
call qword [sym.imp.KERNEL32.dll_RegisterWaitForSingleObject]
mov ecx, dword [0x1400211f0]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rcx, qword [0x1400204cc]
xor edx, edx
lea r8d, [rdx + 0x18]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140017871
mov qword [rax + 8], r15
mov qword [rax + 0x10], r14
mov rcx, qword [rbp + 0x10]
mov qword [rax], rcx
mov qword [rbp + 0x10], rax
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret

Function at 0x14001e290
Capabilities:
Read file on windows

Disassembly:
je 0x14001e306
test byte [rbp + 0xc], 2
je 0x14001e306
push 2
push 0xffffffffffffffff
push rbx
call fcn.14001d91d
add esp, 0xc
cmp eax, 0xffffffff
mov dword [rbp - 0x10], eax
jne 0x14001e2bb
cmp dword [0x14042a2a7], 0x83
je 0x14001e306
jmp 0x14001e2fa
and byte [rbp + 0x13], 0
lea eax, [rbp + 0x13]
push 1
push rax
push rbx
call fcn.14001d727
add esp, 0xc
test eax, eax
jne 0x14001e2e8
cmp byte [rbp + 0x13], 0x1a
jne 0x14001e2e8
push qword [rbp - 0x10]
push rbx
call fcn.14001fe4a
pop rcx
cmp eax, 0xffffffff
pop rcx
je 0x14001e2fa
push 0
push 0
push rbx
call fcn.14001d91d
add esp, 0xc
cmp eax, 0xffffffff
jne 0x14001e306
push rbx
call fcn.14001d4c7
pop rcx
or eax, 0xffffffff
jmp 0x14001e31f
cmp byte [rbp + 0xb], 0
jne 0x14001e31d
test byte [rbp + 0xc], 8
je 0x14001e31d
mov eax, dword [rdi]
or byte [rax + rsi + 4], 0x20
lea eax, [rax + rsi + 4]
mov eax, ebx
pop rdi
pop rsi
pop rbx
leave
ret
Function at 0x140003a40
Capabilities:
Parse pe header

Disassembly:
push rbx
sub rsp, 0x40
mov qword [rsp + 0x58], rdx
mov rbx, r8
xor edx, edx
test rcx, rcx
je 0x140003a74
cmp word [rcx], 0x5a4d
jne 0x140003a74
movsxd rax, dword [rcx + 0x3c]
cmp eax, 0x400
jg 0x140003a74
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140003a74
mov edx, dword [rcx + 0x28]
add rdx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.140003980
test eax, eax
jne 0x140003a90
xor eax, eax
add rsp, 0x40
pop rbx
ret
mov rcx, rbx
call fcn.1400039f0
test rax, rax
je 0x140003a85
lea rdx, [rax + 0x10]
lea rax, [rsp + 0x38]
mov rcx, qword [rbx]
mov r9d, 8
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x58]
mov qword [rsp + 0x38], 0
call fcn.140004242
not eax
shr eax, 0x1f
add rsp, 0x40
pop rbx
ret

Function at 0x140004140
Capabilities:
Execute syscall

Disassembly:
pop rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
sub rsp, 0x28
mov rcx, r10
call fcn.1400040e0
add rsp, 0x28
mov rcx, qword [rsp + 8]
mov rdx, qword [rsp + 0x10]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x20]
mov r10, rcx
syscall
ret

Function at 0x1400045a4
Capabilities:
Allocate or change rwx memory

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
mov rax, qword [0x140536198]
xor ebx, ebx
add rax, 0x18
mov r12, rcx
mov ecx, dword [0x140536194]
mov rsi, rdx
mov rdi, r8
cmp ebx, ecx
jge 0x1400045f2
mov rdx, qword [rax]
cmp r12, rdx
jb 0x1400045ea
mov r8, qword [rax + 8]
mov r8d, dword [r8 + 8]
add rdx, r8
cmp r12, rdx
jb 0x1400046d9
inc ebx
add rax, 0x28
jmp 0x1400045ca
mov rcx, r12
call fcn.140004dd1
mov rbp, rax
test rax, rax
jne 0x140004611
mov rdx, r12
lea rcx, str.Address__p_has_no_image_section
call fcn.140004540
movsxd rbx, ebx
mov rax, qword [0x140536198]
xor edx, edx
imul rbx, rbx, 0x28
add rax, rbx
mov dword [rax], edx
mov qword [rax + 0x20], rbp
call fcn.140004e7f
mov edx, dword [rbp + 0xc]
mov r8d, 0x30
lea rcx, [rax + rdx]
mov rax, qword [0x140536198]
lea rdx, [rsp + 0x20]
mov qword [rax + rbx + 0x18], rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
jne 0x140004673
mov rax, qword [0x140536198]
mov edx, dword [rbp + 8]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov r8, qword [rax + rbx + 0x18]
call fcn.140004540
mov eax, dword [rsp + 0x44]
lea edx, [rax - 4]
and edx, 0xfffffffb
je 0x1400046d3
lea edx, [rax - 0x40]
and edx, 0xffffffbf
je 0x1400046d3
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 [0x140536198]
mov qword [rbx + 8], rcx
mov r9, rbx
mov qword [rbx + 0x10], rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1400046d3
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call fcn.140004540
inc dword [0x140536194]
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 0x140004b00
Capabilities:
Get thread local storage value

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
lea rdi, [0x140536200]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x1405361e0]
test rbx, rbx
je 0x140004b4c
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 0x140004b46
test eax, eax
jne 0x140004b46
mov rax, qword [rbx + 8]
mov rcx, rsi
call rax
mov rbx, qword [rbx + 0x10]
jmp 0x140004b1e
mov rcx, rdi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x140004d00
Capabilities:
Parse pe header

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

Function at 0x140004d24
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 0x140004d5e
mov r10d, dword [rax + 0xc]
mov rcx, r10
cmp rdx, r10
jb 0x140004d55
add ecx, dword [rax + 8]
cmp rdx, rcx
jb 0x140004d60
inc r8d
add rax, 0x28
jmp 0x140004d3c
xor eax, eax
ret

Function at 0x140004dd1
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r9, qword [0x140532310]
mov r8, rcx
mov rcx, r9
call fcn.140004d00
test eax, eax
je 0x140004dfd
mov rdx, r8
mov rcx, r9
sub rdx, r9
add rsp, 0x28
jmp fcn.140004d24
xor eax, eax
add rsp, 0x28
ret
Function at 0x14000b4c0
Capabilities:
Accept command line arguments
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x160
mov rax, qword [0x140019060]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov dword [rsp + 0x30], 0x114
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x14000b500
mov eax, 0xff
jmp 0x14000b6ab
mov r8d, dword [rsp + 0x3c]
and r8d, 0x7fff
mov r9d, dword [rsp + 0x40]
cmp r9d, 2
je 0x14000b51c
bts r8d, 0xf
mov edx, dword [rsp + 0x34]
mov ecx, edx
shl ecx, 8
mov eax, dword [rsp + 0x38]
add ecx, eax
mov dword [0x14001acc8], r9d
mov dword [0x14001acd0], ecx
mov dword [0x14001acd4], edx
mov dword [0x14001acd8], eax
mov dword [0x14001accc], r8d
mov eax, 0x5a4d
cmp word [0x140000000], ax
jne 0x14000b593
movsxd rax, dword [0x14000003c]
lea rcx, [0x140000000]
add rax, rcx
cmp dword [rax], 0x4550
jne 0x14000b593
mov ecx, 0x20b
cmp word [rax + 0x18], cx
jne 0x14000b593
xor ebx, ebx
cmp dword [rax + 0x84], 0xe
jbe 0x14000b595
cmp dword [rax + 0xf8], ebx
setne bl
jmp 0x14000b595
xor ebx, ebx
mov dword [rsp + 0x20], ebx
mov edi, 1
mov ecx, edi
call fcn.14000d244
test eax, eax
jne 0x14000b5cb
cmp dword [0x14001a71c], 2
je 0x14000b5b7
call fcn.14000d028
mov ecx, 0x1c
call fcn.14000d074
mov ecx, 0xff
call fcn.14000cc40
call fcn.14000cb0c
test eax, eax
jne 0x14000b5f7
cmp dword [0x14001a71c], 2
je 0x14000b5e2
call fcn.14000d028
mov ecx, 0x10
call fcn.14000d074
mov ecx, 0xff
call fcn.14000cc40
nop
call fcn.14000d2b8
test eax, eax
jns 0x14000b60a
mov ecx, 0x1b
call fcn.14000cc5c
call sub.KERNEL32.dll_GetCommandLineW
mov qword [0x14001c8d0], rax
call fcn.14000da58
mov qword [0x14001a720], rax
call fcn.14000d554
test eax, eax
jns 0x14000b635
mov ecx, 8
call fcn.14000cc5c
call fcn.14000d834
test eax, eax
jns 0x14000b648
mov ecx, 9
call fcn.14000cc5c
mov ecx, edi
call fcn.14000cccc
test eax, eax
je 0x14000b65a
mov ecx, eax
call fcn.14000cc5c
mov r8, qword [0x14001acb8]
mov qword [0x14001ace8], r8
mov rdx, qword [0x14001acb0]
mov ecx, dword [0x14001acac]
call fcn.1400070f4
mov edi, eax
mov dword [rsp + 0x24], eax
test ebx, ebx
jne 0x14000b68b
mov ecx, eax
call fcn.14000d018
call fcn.14000ccb8
jmp 0x14000b6a9
mov eax, edi
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.14000b710
mov rbx, qword [rsp + 0x170]
add rsp, 0x160
pop rdi
ret
sub rsp, 0x28
call fcn.14018f000
add rsp, 0x28
jmp 0x14000b4c0

Function at 0x14000c1ac
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_TerminateProcess]
Function at 0x140002344
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000238e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14000238e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14000238e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14000238e
cmp dword [rcx + 0x84], 0xe
jbe 0x14000238e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140002390
xor al, al
add rsp, 0x28
ret
Function at 0x140003300
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x14000335d
lea rbx, [0x1400bfb60]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x140003344
cmp r10, 2
jb 0x140003344
cmp byte [r9], r8b
jne 0x140003344
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x140003320
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x14000339f
lea rbx, [0x1400bfb60]
cmp r8b, 0x23
jne 0x140003383
cmp byte [r9], r8b
jne 0x140003383
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x140003370
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x140003560
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x20
mov rdi, r8
mov rbx, rcx
test rcx, rcx
jne 0x14000358f
mov r8d, 0x802
lea rdx, str.C:Users_sixifyaccountDocumentsSourcesKronix_Solutions_Loaderimgui.cpp
lea rcx, str.filename__mode
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test rdi, rdi
je 0x14000359b
mov qword [rdi], 0
lea rdx, [0x1400bf378]
mov rcx, rbx
call fcn.1400033b0
mov rbx, rax
test rax, rax
jne 0x1400035bd
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 0x30], rbp
mov rcx, rbx
mov qword [rsp + 0x38], rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebp, eax
cmp eax, 0xffffffff
je 0x140003694
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140003694
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rsi, eax
cmp esi, 0xffffffff
je 0x140003694
xor r8d, r8d
mov edx, ebp
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140003694
cmp rsi, 0xffffffffffffffff
je 0x140003694
mov rax, qword [0x140a91ac0]
test rax, rax
je 0x140003631
inc dword [rax + 0xec]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbp, rax
test rax, rax
je 0x140003694
mov r9, rbx
mov r8, rsi
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rbx
cmp rax, rsi
je 0x140003681
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x140a91ac0]
test rax, rax
je 0x140003676
dec dword [rax + 0xec]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14000369d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test rdi, rdi
je 0x14000368f
mov qword [rdi], rsi
mov rax, rbp
jmp 0x14000369f
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x140006eb0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov dword [rsp + 0x10], edx
push rdi
sub rsp, 0x20
cmp dword [rcx + 0xf0], 0
mov rsi, rcx
movsxd rdi, edx
jg 0x140006eec
mov r8d, 0x736
lea rdx, str.C:Users_sixifyaccountDocumentsSourcesKronix_Solutions_Loaderimgui.h
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rsi + 0xf8]
lea rdx, [0x1400bfb60]
movsxd r8, dword [rsi + 0xf0]
mov ebx, dword [rax + r8*4 - 4]
not ebx
movzx eax, dil
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x39]
xor ebx, dword [rdx + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3a]
xor ebx, dword [rdx + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3b]
xor ebx, dword [rdx + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
xor ebx, dword [rdx + rcx*4]
mov rcx, qword [rsi]
not ebx
cmp dword [rcx + 0x3f20], ebx
jne 0x140006f67
mov r8, rdi
mov edx, 4
mov ecx, ebx
call fcn.14001da60
mov rsi, qword [rsp + 0x40]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140006f80
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
cmp dword [rcx + 0xf0], 0
mov rdi, rdx
mov rbx, rcx
jg 0x140006fb3
mov r8d, 0x736
lea rdx, str.C:Users_sixifyaccountDocumentsSourcesKronix_Solutions_Loaderimgui.h
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movss xmm2, dword [rbx + 0x110]
lea r9, [0x1400bfb60]
movss xmm0, dword [rdi]
movsxd rcx, dword [rbx + 0xf0]
subss xmm0, xmm2
mov rax, qword [rbx + 0xf8]
movss xmm3, dword [rbx + 0x114]
movss xmm1, dword [rdi + 4]
subss xmm1, xmm3
mov r8d, dword [rax + rcx*4 - 4]
not r8d
movss dword [rsp + 0x20], xmm0
movzx eax, byte [rsp + 0x20]
movss xmm0, dword [rdi + 8]
movzx ecx, r8b
subss xmm0, xmm2
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x21]
movss dword [rsp + 0x24], xmm1
movss xmm1, dword [rdi + 0xc]
xor r8d, dword [r9 + rcx*4]
subss xmm1, xmm3
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x22]
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x2c], xmm1
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x23]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x24]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x25]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x26]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x27]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x28]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x29]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x2a]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x2b]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x2c]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
mov rbx, qword [rsp + 0x40]
xor rcx, rax
movzx eax, byte [rsp + 0x2d]
shr r8d, 8
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0x2e]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
xor r8d, dword [r9 + rcx*4]
movzx ecx, byte [rsp + 0x2f]
movzx edx, r8b
shr r8d, 8
xor rdx, rcx
xor r8d, dword [r9 + rdx*4]
not r8d
mov eax, r8d
add rsp, 0x30
pop rdi
ret