joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140016080
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x20
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x1400160b1
xor eax, eax
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
cmp qword [rcx + 0x68], 0
je case.default.0x1400160c8
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x30], rbx
mov rbx, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x1400160eb
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x1400160ed
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x140016129
mov qword [rsp + 0x38], rdi
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rdi
sub rbx, rdi
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
mov rdi, qword [rsp + 0x38]
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x1400161be
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x140016164
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
cmp rbx, 0xfff
jbe 0x14001619e
nop dword [rax]
mov r9, qword [rsi + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add r14, rax
sub rbx, rax
cmp rax, 0xfff
jne 0x1400161be
cmp rbx, rax
ja 0x140016170
test rbx, rbx
je 0x1400161be
mov r9, qword [rsi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
mov rsi, qword [rsp + 0x48]
sub rbp, rbx
mov rbx, qword [rsp + 0x30]
mov rax, rbp
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
adc al, 0x16
invalid
Function at 0x140035e70
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
sub rsp, 0x190
movaps xmmword [rsp + 0x180], xmm6
mov rdi, rdx
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rsi, rax
cmp byte [0x1400cf0e0], 0
je 0x140035f52
mov rcx, rbx
call fcn.140025cf0
cmp byte [0x1401c0bdb], 0
jne 0x140035eca
mov ecx, dword [0x1400cf238]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140035f15
mov rcx, qword [rdi + 8]
sub rcx, qword [rdi]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140035f15
movsd xmm0, qword [rbx + 0xac]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rbx + 0xb4]
mov dword [rsp + 0x38], eax
mov r8, rdi
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140039690
cmp byte [0x1401c0a08], 0
je 0x140035f45
mov ecx, dword [0x1400cf238]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140035f45
cmp esi, 0xc8
jb 0x140035f45
cmp byte [0x1401c0bdb], 0
sete byte [0x1401c0bdb]
cmp byte [0x1400cf0e0], 0
jne 0x1400360dc
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140035b00
mov rbx, rax
cmp byte [0x1401c0a20], 0
je 0x1400360b4
mov eax, 8
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov ecx, dword [rax + rcx]
cmp dword [0x1401c0ffc], ecx
jle 0x140035fb7
lea rcx, [0x1401c0ffc]
call fcn.1400a83d8
cmp dword [0x1401c0ffc], 0xffffffff
jne 0x140035fb7
mov qword [0x1401c1000], 0
lea rcx, [0x1401c0ffc]
call fcn.1400a836c
mov eax, dword [0x1400cf108]
cmp dword [rbx + 0xe0], eax
jbe 0x1400360a9
movss xmm5, dword [rbx + 0x90]
movss xmm4, dword [rbx + 0x94]
movss xmm1, dword [rbx + 0xe8]
movss xmm6, dword [0x1400bc40c]
mulss xmm1, xmm6
movss xmm0, dword [rbx + 0xe4]
mulss xmm0, xmm6
movss xmm2, dword [0x1401c1004]
subss xmm2, xmm1
movss xmm3, dword [0x1401c1000]
subss xmm3, xmm0
addss xmm2, xmm4
addss xmm3, xmm5
subss xmm4, xmm2
movss xmm0, dword [rbx + 0x130]
mulss xmm0, dword [0x1400bc3a4]
divss xmm4, xmm0
mulss xmm4, dword [0x1401be750]
cvttss2si ebp, xmm4
subss xmm5, xmm3
divss xmm5, xmm0
mulss xmm5, dword [0x1401be754]
cvttss2si esi, xmm5
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14003607f
neg esi
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, esi
mov edx, ebp
mov ecx, 1
call qword [sym.imp.USER32.dll_mouse_event]
movss xmm1, dword [rbx + 0xe8]
mulss xmm1, xmm6
movss xmm0, dword [rbx + 0xe4]
mulss xmm0, xmm6
movss dword [0x1401c1000], xmm0
movss dword [0x1401c1004], xmm1
jmp 0x1400360b4
mov qword [0x1401c1000], 0
lea rcx, [rbx + 0xc0]
call fcn.140009140
lea rcx, [rbx + 0x78]
call fcn.140037330
lea rcx, [rbx + 0x50]
call fcn.140009040
lea rcx, [rbx + 0x30]
call fcn.140009140
nop
mov rcx, rdi
mov rbx, qword [rsp + 0x1b0]
movaps xmm6, xmmword [rsp + 0x180]
add rsp, 0x190
pop rdi
pop rsi
pop rbp
jmp fcn.1400372b0
Function at 0x140036390
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [0x1401c0af0]
mov rbx, rcx
movss xmm0, dword [0x1400cf118]
lea rcx, str.Radar
xor edx, edx
mov r8d, 3
or dword [rax + 0x47d0], 0x40
movss dword [rax + 0x4830], xmm0
call fcn.140059aa0
movss xmm0, dword [0x1400cf110]
lea rdx, [rsp + 0x30]
movss xmm5, dword [0x1400bc4d8]
xor r8d, r8d
mov r11, qword [0x1401c0af0]
mulss xmm0, xmm5
mov rcx, qword [r11 + 0x3ef8]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm0
call fcn.14005c750
mov rcx, qword [r11 + 0x3ef8]
lea rdx, [0x1401c0838]
mov r8d, 2
call fcn.14005c5e0
cmp byte [0x1401c082a], 0
je 0x1400364a0
mov r10d, 0xffffffff
mov qword [rsp + 0x38], rdi
mov ecx, r10d
lea r8, [0x1400b1355]
mov r9b, 0x52
lea rdi, [0x1400b42e0]
cmp r9b, 0x23
jne 0x14003645a
cmp byte [r8], r9b
jne 0x14003645a
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [rdi + rdx*4]
test r9b, r9b
jne 0x140036447
mov rdi, qword [rsp + 0x38]
not ecx
call fcn.1400572f0
test rax, rax
je 0x140036499
xor r8d, r8d
lea rdx, [0x1401c0838]
mov rcx, rax
call fcn.14005c5e0
mov byte [0x1401c082a], 0
cmp byte [0x1401c0a38], 0
jne 0x1400364d8
mov byte [0x1401c0a16], 0
mov dword [0x1400cf11c], 0x4528c000
mov dword [0x1400cf114], 0x3f800000
mov dword [0x1400cf110], 0x42fa0000
mov dword [0x1400cf118], 0x3dcccccd
mov rax, qword [r11 + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [r11 + 0x3ef8]
mov rcx, qword [rax + 0x298]
mov qword [rbx], rcx
mov rax, qword [r11 + 0x3ef8]
movss xmm1, dword [rax + 0x20]
addss xmm1, dword [0x1400cf110]
movss xmm2, dword [rax + 0x24]
addss xmm2, dword [0x1400cf110]
movss dword [rbx + 0x3c], xmm1
movss dword [rbx + 0x40], xmm2
movss xmm0, dword [0x1400cf11c]
movss dword [rbx + 0x1c], xmm0
movss xmm1, dword [0x1400cf110]
movss dword [rbx + 0x2c], xmm1
movss xmm0, dword [0x1400cf110]
mulss xmm0, xmm5
movss dword [rbx + 0x44], xmm0
movups xmm0, xmmword [0x1401be720]
movups xmmword [rbx + 0xc], xmm0
movss xmm1, dword [0x1400cf114]
mulss xmm1, dword [rbx + 0x28]
movss dword [rbx + 0x28], xmm1
movss xmm0, dword [0x1400cf114]
mulss xmm0, dword [rbx + 0x24]
movss dword [rbx + 0x24], xmm0
movss xmm1, dword [0x1400cf114]
mulss xmm1, dword [rbx + 0x20]
movss dword [rbx + 0x20], xmm1
movzx eax, byte [0x1401c0a16]
mov byte [rbx + 8], al
mov byte [rbx + 0x34], 1
add rsp, 0x20
pop rbx
ret
Function at 0x14003e380
Capabilities:
Execute command

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x90
mov rax, qword [0x1400cf040]
xor rax, rsp
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov ecx, 0x50
call fcn.1400a86f0
mov rcx, rax
mov qword [rsp + 0x68], rax
movdqa xmm0, xmmword [0x1400bc880]
movdqu xmmword [rsp + 0x78], xmm0
movaps xmm0, xmmword [str.https:__raw.githubusercontent.com_ByteCorum_DragonBurn_data_version]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x1400b8eb0]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x1400b8ec0]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x1400b8ed0]
movups xmmword [rax + 0x30], xmm1
movzx eax, word [0x1400b8ee0]
mov word [rcx + 0x40], ax
movzx eax, byte [0x1400b8ee2]
mov byte [rcx + 0x42], al
mov byte [rcx + 0x43], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
lea rcx, str.ping_google.com___nul
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
test eax, eax
je 0x14003e451
xor edi, edi
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x48]
jmp 0x14003e4d1
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x28]
call fcn.140008dd0
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.14003ddb0
test al, al
jne 0x14003e482
mov edi, 1
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x48]
jmp 0x14003e4d1
lea rdx, [0x1401be778]
cmp qword [0x1401be790], 0xf
cmova rdx, qword [0x1401be778]
lea rcx, [rsp + 0x48]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
cmp rsi, 0xf
cmova rcx, rbx
mov r8, qword [rsp + 0x58]
cmp r8, qword [0x1401be788]
jne 0x14003e4cc
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
mov edi, 3
je 0x14003e4d1
mov edi, 2
cmp rsi, 0xf
jbe 0x14003e50b
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14003e503
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003e503
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.1400a8a3c
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
mov rdx, qword [rsp + 0x80]
cmp rdx, 0xf
jbe 0x14003e565
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003e560
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003e560
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400a8a3c
mov eax, edi
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1400a8310
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x14003ed30
Capabilities:
Execute command

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [0x1400cf040]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov rbx, rcx
mov qword [rsp + 0x20], rcx
mov edx, 0xe
mov rcx, qword [0x1401c0b98]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, [0x1400b8f1c]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140037a70
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14003ed7f
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140020ef0
mov rcx, rax
call fcn.140040670
mov edx, 8
mov rcx, qword [0x1401c0b98]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rcx, str.pause
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
nop
mov rcx, rbx
call fcn.140009140
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1400a8310
add rsp, 0x30
pop rbx
ret

Function at 0x14003edd0
Capabilities:
Execute command
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [0x1400cf040]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov rbx, rcx
mov qword [rsp + 0x20], rcx
mov edx, 0xc
mov rcx, qword [0x1401c0b98]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, [0x1400b8f24]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140037a70
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0xf
jbe 0x14003ee20
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140020ef0
mov rcx, rax
call fcn.140040670
mov edx, 8
mov rcx, qword [0x1401c0b98]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rcx, str.pause
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
Function at 0x14004e6e0
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 0x14004e73d
lea rbx, [0x1400b42e0]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x14004e724
cmp r10, 2
jb 0x14004e724
cmp byte [r9], r8b
jne 0x14004e724
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 0x14004e700
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x14004e77f
lea rbx, [0x1400b42e0]
cmp r8b, 0x23
jne 0x14004e763
cmp byte [r9], r8b
jne 0x14004e763
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 0x14004e750
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x14004e8c0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push r14
sub rsp, 0x20
mov r14, r8
test r8, r8
je 0x14004e8da
mov qword [r8], 0
lea rdx, [0x1400bafb8]
call fcn.14004e790
mov rbx, rax
test rax, rax
jne 0x14004e8fa
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 0x30], rsi
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov esi, eax
cmp eax, 0xffffffff
je 0x14004e9d3
xor edx, edx
mov r8d, 2
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x14004e9d3
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x14004e9d3
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x14004e9d3
cmp rdi, 0xffffffffffffffff
je 0x14004e9d3
mov rax, qword [0x1401c0af0]
test rax, rax
je 0x14004e970
inc dword [rax + 0xf4]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
je 0x14004e9d3
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 0x14004e9c0
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x1401c0af0]
test rax, rax
je 0x14004e9b5
dec dword [rax + 0xf4]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14004e9dc
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r14, r14
je 0x14004e9ce
mov qword [r14], rdi
mov rax, rsi
jmp 0x14004e9de
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x1400601b0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1400cf040]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x1401c0af0]
mov edi, ecx
cmp byte [rbx + 0x4a9d], 0
jne 0x140060211
cmp byte [rbx + 0x4a9e], 0
jne 0x140060211
movsx r9d, word [rbx + 0x5bc2]
lea r8, str.Tooltip__02d
mov edx, 0x10
lea rcx, [rsp + 0x20]
call fcn.14004e540
test dil, 1
je 0x14006033f
jmp 0x14006029c
movss xmm1, dword [rbx + 0x389c]
lea r8, str.Tooltip__02d
movsx r9d, word [rbx + 0x5bc2]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x1400bc5c0]
mov edx, 0x10
mulss xmm1, dword [0x1400bc598]
addss xmm0, dword [rbx + 0xe08]
addss xmm1, dword [rbx + 0xe0c]
mov qword [rbx + 0x47e8], rax
mov dword [rbx + 0x47d4], 1
movss dword [rbx + 0x47e0], xmm0
movss dword [rbx + 0x47e4], xmm1
movss xmm0, dword [rbx + 0x3904]
mulss xmm0, dword [0x1400bc414]
or dword [rbx + 0x47d0], 0x41
movss dword [rbx + 0x4830], xmm0
call fcn.14004e540
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x1400602f0
lea r11, [0x1400b42e0]
nop dword [rax]
cmp r9b, 0x23
jne 0x1400602d3
cmp byte [r8], r9b
jne 0x1400602d3
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x1400602c0
not ecx
call fcn.1400572f0
test rax, rax
je 0x14006033f
cmp byte [rax + 0xb6], 0
je 0x14006033f
mov byte [rax + 0xbb], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xbd], 1
lea rcx, [rsp + 0x20]
mov byte [rax + 0xd8], 1
mov edx, 0x10
inc word [rbx + 0x5bc2]
movsx r9d, word [rbx + 0x5bc2]
call fcn.14004e540
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20c0347
call fcn.140059aa0
mov al, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400a8310
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x140001107
Capabilities:
Execute anti-debugging instructions

Disassembly:
xor eax, eax
cpuid
mov eax, 1
cpuid
movabs r9, 0xb2d05e00
cpuid
rdtsc
shl rdx, 0x20
or rax, rdx
mov rcx, rax
fldpi
frndint
rdtsc
shl rdx, 0x20
or rax, rdx
sub rax, rcx
cmp rax, r9
jb 0x14000112a
push rbp
mov rbp, rsp
sub rsp, 8
mov r10, 0xa
mov rcx, 0xffffffff9f345678
dec rcx
xor r9, r9
mov rax, rcx
jne 0x140001155
xor rax, rax
mov rax, rbx
add rax, rdx
nop
nop
nop
dec r10
xor r11, r11
jne 0x14000114e
xor rax, rax
mov rax, 0xa
dec rax
nop
nop
add rsp, 8
pop rbp
ret
Function at 0x14000b7f0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x5b0
mov rbp, rcx
mov rcx, qword [0x140033f10]
mov ebx, r9d
mov rdi, r8
mov rsi, rdx
call fcn.14000f460
test rax, rax
je 0x14000b844
mov r10, qword [rsp + 0x5e0]
mov r9d, ebx
mov r8, rdi
mov rdx, rsi
mov rcx, rbp
mov qword [rsp + 0x20], r10
call rax
jmp 0x14000b8d9
mov ecx, 2
call fcn.1400127b0
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8d, 0x98
call fcn.14000b610
mov rax, qword [rsp + 0x5b8]
mov dword [rsp + 0x40], 0xc000000d
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor ecx, ecx
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
test eax, eax
jne 0x14000b8c5
test ebx, ebx
jne 0x14000b8c5
lea ecx, [rax + 2]
call fcn.1400127b0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc000000d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
lea r11, [rsp + 0x5b0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret

Function at 0x14000b900
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x5b8
mov rcx, qword [0x140033f10]
call fcn.14000f460
test rax, rax
je 0x14000b935
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], 0
call rax
add rsp, 0x5b8
ret
mov ecx, 2
mov qword [rsp + 0x5b0], rbx
call fcn.1400127b0
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8d, 0x98
call fcn.14000b610
mov rax, qword [rsp + 0x5b8]
mov dword [rsp + 0x40], 0xc000000d
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor ecx, ecx
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
test eax, eax
jne 0x14000b9be
test ebx, ebx
jne 0x14000b9be
lea ecx, [rax + 2]
call fcn.1400127b0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc000000d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rbx, qword [rsp + 0x5b0]
add rsp, 0x5b8
ret
Function at 0x14000efb7
Capabilities:
Terminate process

Disassembly:
cmp rcx, qword [0x1400321a0]
jne 0x14000abca
rol rcx, 0x10
test cx, 0xffff
jne 0x14000abc6
repz ret
ror rcx, 0x10
jmp 0x14000ef10
mov qword [rsp + 8], rcx
sub rsp, 0x88
lea rcx, [0x140034010]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov rax, qword [0x140034108]
mov qword [rsp + 0x58], rax
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call sub.KERNEL32.dll_RtlLookupFunctionEntry
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x14000ef95
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [0x140034010]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call sub.KERNEL32.dll_RtlVirtualUnwind
jmp 0x14000efb7
mov rax, qword [rsp + 0x88]
mov qword [0x140034108], rax
lea rax, [rsp + 0x88]
add rax, 8
mov qword [0x1400340a8], rax
mov rax, qword [0x140034108]
mov qword [0x140033f80], rax
mov rax, qword [rsp + 0x90]
mov qword [0x140034090], rax
mov dword [0x140033f70], 0xc0000409
mov dword [0x140033f74], 1
mov rax, qword [0x1400321a0]
mov qword [rsp + 0x68], rax
mov rax, qword [0x1400321a8]
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [0x140034008], eax
mov ecx, 1
call fcn.1400127b0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [0x140029f60]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
cmp dword [0x140034008], 0
jne 0x14000f03e
mov ecx, 1
call fcn.1400127b0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x88
ret
Function at 0x1400140f0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
sub rsp, 0x30
lea r12, [0x1400329c0]
xor esi, esi
mov edi, ecx
mov rax, r12
mov ebx, esi
nop
cmp ecx, dword [rax]
je 0x14001412e
add ebx, 1
add rax, 0x10
cmp ebx, 0x17
jb 0x140014110
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rsi
ret
cmp ebx, 0x17
jae 0x140014315
mov ecx, 3
call fcn.14001cb70
cmp eax, 1
je 0x1400142cc
mov ecx, 3
call fcn.14001cb70
test eax, eax
jne 0x140014165
cmp dword [0x140032228], 1
je 0x1400142cc
cmp edi, 0xfc
je 0x140014315
mov qword [rsp + 0x50], rbp
lea rbp, [0x140034580]
lea r8, str.Runtime_Error__n_nProgram:
mov rcx, rbp
mov edx, 0x314
call fcn.14000abd0
test eax, eax
je 0x1400141a9
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.14000b750
lea rdx, [0x140034599]
mov r8d, 0x104
xor ecx, ecx
mov byte [0x14003469d], sil
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x1400141f9
lea r8, str._program_name_unknown_
lea rcx, [0x140034599]
mov edx, 0x2fb
call fcn.14000abd0
test eax, eax
je 0x1400141f9
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.14000b750
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [0x140034599]
repne scasb al, byte [rdi]
not rcx
cmp rcx, 0x3c
jbe 0x140014248
lea rcx, [rcx + rbp - 0x23]
lea rdx, [0x140034894]
lea r9d, [rax + 3]
lea r8, [0x14002a734]
sub rdx, rcx
call fcn.14001a440
test eax, eax
je 0x140014248
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.14000b750
lea r8, [0x14002a730]
mov edx, 0x314
mov rcx, rbp
call fcn.14001a380
test eax, eax
je 0x140014274
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.14000b750
movsxd r8, ebx
mov edx, 0x314
mov rcx, rbp
add r8, r8
mov r8, qword [r12 + r8*8 + 8]
call fcn.14001a380
test eax, eax
je 0x1400142a4
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.14000b750
lea rdx, str.Microsoft_Visual_C_Runtime_Library
mov r8d, 0x12010
mov rcx, rbp
call fcn.14001c910
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rsi
ret
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
test rax, rax
mov r11, rax
je 0x140014315
cmp rax, 0xffffffffffffffff
je 0x140014315
xor eax, eax
movsxd rcx, ebx
lea r9, [rsp + 0x58]
add rcx, rcx
mov qword [rsp + 0x20], rsi
mov rdx, qword [r12 + rcx*8 + 8]
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rsi
ret