joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400679b0
Capabilities:
Get session user name

Disassembly:
push rbx
sub rsp, 0x2a0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov dword [rsp + 0x20], 0x12c
xor edx, edx
mov r8d, 0x258
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
xor bl, bl
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
je 0x140067a37
xor eax, eax
lea r8, [rsp + 0x30]
lea r9, str.SYSTEM
nop dword [rax]
movzx edx, word [r8 + rax*2]
inc rax
movzx ecx, word [r9 + rax*2 - 2]
sub edx, ecx
jne 0x140067a28
cmp rax, 7
jne 0x140067a10
movzx eax, bl
mov ecx, 1
test edx, edx
cmove eax, ecx
jmp 0x140067a3a
movzx eax, bl
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.140068870
add rsp, 0x2a0
pop rbx
ret

Function at 0x1400691c4
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14006920e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14006920e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14006920e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14006920e
cmp dword [rcx + 0x84], 0xe
jbe 0x14006920e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140069210
xor al, al
add rsp, 0x28
ret

Function at 0x140069820
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
movsxd r8, dword [0x14000003c]
lea rsi, [0x140000000]
add r8, rsi
mov rbx, rdx
mov rdi, rcx
cmp dword [r8 + 0x84], 0xd
jbe 0x140069898
mov r10d, dword [r8 + 0xf0]
xor r9d, r9d
test r10d, r10d
je 0x140069898
movzx ecx, word [r8 + 0x14]
movzx r11d, word [r8 + 6]
add rcx, 0x18
mov r10d, dword [r10 + rsi + 0xc]
add rcx, r8
test r11d, r11d
je 0x140069898
mov eax, dword [rcx + 0xc]
cmp r10d, eax
jb 0x14006988c
mov edx, dword [rcx + 8]
add eax, edx
cmp r10d, eax
jb 0x1400698aa
inc r9d
add rcx, 0x28
cmp r9d, r11d
jb 0x14006987a
xor eax, eax
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret
mov dword [rdi], edx
mov eax, dword [rcx + 0x24]
mov dword [rbx], eax
mov eax, dword [rcx + 0xc]
add rax, rsi
jmp 0x14006989a

Function at 0x14006a168
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rbx, rdx
lea r8, [rsp + 0x60]
mov edi, ecx
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
jne 0x14006a1a2
xor r9d, r9d
mov dword [rsp + 0x60], r9d
jmp 0x14006a1a7
mov r9d, dword [rsp + 0x60]
and qword [rsp + 0x30], 0
mov r8d, edi
and dword [rsp + 0x28], 0
xor edx, edx
mov ecx, 0x1300
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov edx, eax
test eax, eax
je 0x14006a1f0
mov r8, qword [rbx]
dec r8
add r8, rdx
movzx ecx, byte [r8]
lea rax, [0x14007ee20]
cmp byte [rcx + rax], 0
je 0x14006a1f0
dec r8
sub rdx, 1
jne 0x14006a1d6
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret
Function at 0x140001154
Capabilities:
Terminate process

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x10], 0
mov dword [rbp - 0x1c], 0x30
mov eax, dword [rbp - 0x1c]
mov rax, qword gs:[rax]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x28]
mov rax, qword [rax + 8]
mov qword [rbp - 0x18], rax
mov dword [rbp - 4], 0
jmp 0x1400011ac
mov rax, qword [rbp - 0x10]
cmp rax, qword [rbp - 0x18]
jne 0x14000119e
mov dword [rbp - 4], 1
jmp 0x1400011e3
mov ecx, 0x3e8
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov rax, qword [0x140089670]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x40], 0
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
lock cmpxchg qword [rdx], rcx
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0
jne 0x14000118b
mov rax, qword [0x140089680]
mov eax, dword [rax]
cmp eax, 1
jne 0x1400011fd
mov ecx, 0x1f
call sym._amsg_exit
jmp 0x14000123c
mov rax, qword [0x140089680]
mov eax, dword [rax]
test eax, eax
jne 0x140001232
mov rax, qword [0x140089680]
mov dword [rax], 1
mov rax, qword [str._p_n_]
mov rdx, rax
mov rax, qword [0x1400896c0]
mov rcx, rax
call sym._initterm
jmp 0x14000123c
mov dword [0x140097024], 1
mov rax, qword [0x140089680]
mov eax, dword [rax]
cmp eax, 1
jne 0x140001270
mov rax, qword [0x1400896b0]
mov rdx, rax
mov rax, qword [0x1400896a0]
mov rcx, rax
call sym._initterm
mov rax, qword [0x140089680]
mov dword [rax], 2
cmp dword [rbp - 4], 0
jne 0x140001294
mov rax, qword [0x140089670]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], 0
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
xchg qword [rax], rdx
mov rax, qword [0x140089570]
mov rax, qword [rax]
test rax, rax
je 0x1400012bf
mov rax, qword [0x140089570]
mov rax, qword [rax]
mov r8d, 0
mov edx, 2
mov ecx, 0
call rax
call sym._pei386_runtime_relocator
mov rax, qword [sym._gnu_exception_handler]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call rax
mov rdx, qword [0x140089660]
mov qword [rdx], rax
lea rax, [sym.__mingw_invalidParameterHandler]
mov rcx, rax
call sym._set_invalid_parameter_handler
call sym._fpreset
mov eax, dword [0x140097004]
lea rdx, [0x140097008]
mov ecx, eax
call sym.duplicate_ppstrings
call sym.__main
mov rax, qword [0x1400895f0]
mov rax, qword [rax]
mov rdx, qword [0x140097010]
mov qword [rax], rdx
mov rcx, qword [0x140097010]
mov rdx, qword [0x140097008]
mov eax, dword [0x140097004]
mov r8, rcx
mov ecx, eax
call sym.test.exe_main
mov dword [0x14009701c], eax
mov eax, dword [0x140097020]
test eax, eax
jne 0x14000135d
mov eax, dword [0x14009701c]
mov ecx, eax
call sym.exit
mov eax, dword [0x140097024]
test eax, eax
jne 0x14000136c
call sym._cexit
mov eax, dword [0x14009701c]
add rsp, 0x70
pop rbp
ret
Function at 0x140001378
Capabilities:
Parse pe header

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov rax, qword [str.Dw_t_]
mov dword [rax], 1
mov rax, qword [str.Hw_t_]
mov dword [rax], 1
mov rax, qword [str.Lw_t_]
mov dword [rax], 1
mov rax, qword [0x1400895e0]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax]
cmp ax, 0x5a4d
je 0x1400013c9
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 8]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, 0x4550
je 0x1400013f5
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 0x10]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
movzx eax, ax
cmp eax, 0x10b
je 0x14000141b
cmp eax, 0x20b
je 0x140001442
jmp 0x140001471
mov rax, qword [rbp - 0x18]
mov eax, dword [rax + 0x5c]
cmp eax, 0xe
ja 0x14000142e
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 0x18]
mov eax, dword [rax + 0xd0]
test eax, eax
setne al
movzx eax, al
jmp 0x140001476
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x6c]
cmp eax, 0xe
ja 0x14000145d
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0xe0]
test eax, eax
setne al
movzx eax, al
jmp 0x140001476
mov eax, 0
add rsp, 0x20
pop rbp
ret

Function at 0x1400075d2
Capabilities:
Read file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
call sym.nimErrorFlag_5
mov qword [rbp - 8], rax
mov qword [rbp - 0x10], 0
mov qword [rbp - 0x18], 0
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov r9, rcx
mov r8, rdx
mov edx, 1
mov rcx, rax
call sym.fread
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
cmp rax, qword [rbp + 0x20]
je 0x14000764e
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.test.exe_checkErr__stdZsyncio_u165
mov rax, qword [rbp - 8]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x14000764f
nop
mov rax, qword [rbp - 0x10]
add rsp, 0x40
pop rbp
ret

Function at 0x140008ef7
Capabilities:
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
call sym.nimErrorFlag_5
mov qword [rbp - 8], rax
mov qword [rbp - 0x10], 0
mov qword [rbp - 0x18], 0
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov r9, rcx
mov r8, rdx
mov edx, 1
mov rcx, rax
call sym.fwrite
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.test.exe_checkErr__stdZsyncio_u165
mov rax, qword [rbp - 8]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
nop
mov rax, qword [rbp - 0x10]
add rsp, 0x40
pop rbp
ret
Function at 0x140009544
Capabilities:
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp - 8], 0
cmp qword [rbp + 0x18], 0
je 0x140009574
mov rax, qword [rbp + 0x18]
mov rcx, rax
call sym.nimCStrLen_1
mov rcx, rax
jmp 0x140009579
mov ecx, 0
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov r9, rdx
mov r8, rcx
mov edx, 1
mov rcx, rax
call sym.fwrite
mov qword [rbp - 8], rax
mov dword [rbp - 0xc], 0
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.fflush
mov dword [rbp - 0xc], eax
nop
add rsp, 0x30
pop rbp
ret

Function at 0x1400095b5
Capabilities:
Terminate process

Disassembly:
push rbp
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov rbx, rcx
mov rax, qword [rbx]
mov rdx, qword [rbx + 8]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
mov ecx, 2
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov rcx, rax
lea rax, str.could_not_load:
mov rdx, rax
call sym.rawWrite
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rdx
lea rax, [rbp - 0x30]
mov rcx, rax
call sym.nimToCStringConv_2
mov rbx, rax
mov ecx, 2
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov rdx, rbx
mov rcx, rax
call sym.rawWrite
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0xc1
jne 0x140009661
mov ecx, 2
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov rcx, rax
lea rax, str._n_bad_format__library_may_be_wrong_architecture_
mov rdx, rax
call sym.rawWrite
jmp 0x140009662
nop
mov ecx, 2
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov rcx, rax
lea rax, [0x140080569]
mov rdx, rax
call sym.rawWrite
mov ecx, 1
call sym.exit
nop

Function at 0x140009eb7
Capabilities:
Terminate process

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
lea rax, str.raiseOutOfMem
mov qword [rbp - 0x28], rax
lea rax, str.C:_nim_2.0.0lib_systemmmdisp.nim
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x20], 0
mov word [rbp - 0x10], 0
lea rax, [rbp - 0x30]
mov rcx, rax
call sym.nimFrame_7
mov qword [rbp - 0x20], 0x2f
mov rax, qword [sym.test.exe_outOfMemHook__system_u3511]
test rax, rax
je 0x140009f0e
mov rax, qword [sym.test.exe_outOfMemHook__system_u3511]
call rax
jmp 0x140009f0f
nop
mov qword [rbp - 0x20], 0x30
mov ecx, 2
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov rcx, rax
lea rax, str.out_of_memory_n
mov rdx, rax
call sym.rawWrite
mov qword [rbp - 0x20], 0x31
mov ecx, 1
call sym.exit
nop
Function at 0x14000d4ed
Capabilities:
Terminate process

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
lea rax, str.osDeallocPages
mov qword [rbp - 0x38], rax
lea rax, str.C:_nim_2.0.0lib_systemosalloc.nim
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x30], 0
mov word [rbp - 0x20], 0
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.nimFrame_7
mov qword [rbp - 0x30], 0xbe
mov dword [rbp - 4], 0
mov rax, qword [rbp + 0x10]
mov r8d, 0x8000
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualFree]
call rax
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x14000d593
mov qword [rbp - 0x30], 0xbf
mov dword [rbp - 8], 0
lea rax, str.virtualFree_failing_
mov rcx, rax
call sym.printf
mov dword [rbp - 8], eax
mov qword [rbp - 0x30], 0xc0
mov ecx, 1
call sym.exit
nop
call sym.popFrame_7
nop
add rsp, 0x60
pop rbp
ret

Function at 0x1400134e5
Capabilities:
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp - 8], 0
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov r9, rcx
mov r8, rdx
mov edx, 1
mov rcx, rax
call sym.fwrite
mov qword [rbp - 8], rax
mov dword [rbp - 0xc], 0
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.fflush
mov dword [rbp - 0xc], eax
nop
add rsp, 0x30
pop rbp
ret

Function at 0x14001374c
Capabilities:
Terminate process

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
call sym.nimErrorFlag_6
mov qword [rbp - 8], rax
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], 0
call sym.test.exe_writeStackTrace__system_u2556
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], 0
lea rax, [rbp - 0x30]
mov edx, 0x7d0
mov rcx, rax
call sym.test.exe_dollar___systemZdollars_u8
mov rax, qword [rbp - 8]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14001387e
mov rax, qword [rbp - 0x30]
lea rdx, [rax + 0xa7]
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.test.exe_rawNewString
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdx
mov rax, qword [0x14007fe80]
mov rdx, qword [0x14007fe88]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rdx, [rbp - 0x50]
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.appendString_1
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rdx, [rbp - 0x50]
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.appendString_1
mov rax, qword [0x14007ff20]
mov rdx, qword [0x14007ff28]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rdx, [rbp - 0x50]
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.appendString_1
mov rax, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x38]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.showErrorMessage2__system_u3960
mov ecx, 1
call sym.exit
nop
nop
add rsp, 0x70
pop rbp
ret
Function at 0x140013997
Capabilities:
Terminate process

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov ecx, 2
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov rcx, rax
lea rax, str.could_not_import:
mov rdx, rax
call sym.rawWrite
mov ecx, 2
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov rcx, rax
mov rax, qword [rbp + 0x10]
mov rdx, rax
call sym.rawWrite
mov ecx, 2
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov rcx, rax
lea rax, [0x140080569]
mov rdx, rax
call sym.rawWrite
mov ecx, 1
call sym.exit
nop
Function at 0x1400144a6
Capabilities:
Terminate process

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov dword [rbp + 0x10], ecx
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0
lea rax, [rbp - 0x20]
mov edx, 0x7d0
mov rcx, rax
call sym.test.exe_rawNewString
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rdx
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.test.exe_rawWriteStackTrace__system_u4324
cmp dword [rbp + 0x10], 2
jne 0x140014530
lea rax, [rbp - 0x10]
mov edx, 0x1f
mov rcx, rax
call sym.test.exe_prepareAdd
mov rax, qword [0x14007ff90]
mov rdx, qword [0x14007ff98]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
lea rdx, [rbp - 0x20]
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.appendString_1
jmp 0x14001466f
nop
cmp dword [rbp + 0x10], 0xb
jne 0x140014573
lea rax, [rbp - 0x10]
mov edx, 0x3d
mov rcx, rax
call sym.test.exe_prepareAdd
mov rax, qword [0x14007fff0]
mov rdx, qword [0x14007fff8]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
lea rdx, [rbp - 0x20]
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.appendString_1
jmp 0x14001466f
nop
cmp dword [rbp + 0x10], 0x16
jne 0x1400145b6
lea rax, [rbp - 0x10]
mov edx, 0x1f
mov rcx, rax
call sym.test.exe_prepareAdd
mov rax, qword [0x140080030]
mov rdx, qword [0x140080038]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
lea rdx, [rbp - 0x20]
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.appendString_1
jmp 0x14001466f
nop
cmp dword [rbp + 0x10], 8
jne 0x1400145f6
lea rax, [rbp - 0x10]
mov edx, 0x1a
mov rcx, rax
call sym.test.exe_prepareAdd
mov rax, qword [0x140080070]
mov rdx, qword [0x140080078]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
lea rdx, [rbp - 0x20]
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.appendString_1
jmp 0x14001466f
nop
cmp dword [rbp + 0x10], 4
jne 0x140014636
lea rax, [rbp - 0x10]
mov edx, 0x1b
mov rcx, rax
call sym.test.exe_prepareAdd
mov rax, qword [0x1400800b0]
mov rdx, qword [0x1400800b8]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
lea rdx, [rbp - 0x20]
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.appendString_1
jmp 0x14001466f
nop
nop
lea rax, [rbp - 0x10]
mov edx, 0xf
mov rcx, rax
call sym.test.exe_prepareAdd
mov rax, qword [0x140080140]
mov rdx, qword [0x140080148]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
lea rdx, [rbp - 0x20]
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.appendString_1
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
lea rax, [rbp - 0x20]
mov rcx, rax
call sym.showErrorMessage2__system_u3960
mov ecx, 1
call sym.exit
nop
Function at 0x1400157b8
Capabilities:
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0xa0
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
lea rax, str.echoBinSafe
mov qword [rbp - 0x58], rax
lea rax, [0x140080571]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], 0
mov word [rbp - 0x40], 0
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.nimFrame_7
call sym.nimErrorFlag_6
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x50], 0xac5
lea rax, [sym.test.exe_echoLock__system_u8940]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call rax
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x50], 0xd
lea rax, [0x140080bb0]
mov qword [rbp - 0x48], rax
mov qword [rbp - 8], 0
mov qword [rbp - 0x50], 0xe
mov rax, qword [rbp - 8]
cmp rax, qword [rbp + 0x18]
jge 0x140015945
mov qword [rbp - 0x50], 0xac6
lea rax, [0x140080571]
mov qword [rbp - 0x48], rax
cmp qword [rbp - 8], 0
js 0x14001587c
mov rax, qword [rbp - 8]
cmp rax, qword [rbp + 0x18]
jl 0x140015895
mov rax, qword [rbp + 0x18]
lea rdx, [rax - 1]
mov rax, qword [rbp - 8]
mov rcx, rax
call sym.test.exe_raiseIndexError2
jmp 0x1400159d6
mov rax, qword [rbp - 8]
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x10]
add rax, rdx
mov qword [rbp - 0x18], rax
mov ecx, 1
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov rdx, qword [rax + 8]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rdx
lea rax, [rbp - 0x80]
mov r8d, 0
mov rdx, rax
call sym.test.exe_writeWindows__system_u9025
mov rax, qword [rbp - 0x10]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x1400159d5
mov qword [rbp - 0x50], 0x10
lea rax, [0x140080bb0]
mov qword [rbp - 0x48], rax
mov ecx, 0
mov rax, qword [rbp - 8]
add rax, 1
jno 0x14001591a
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x68]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140015938
call sym.test.exe_raiseOverflow
jmp 0x1400159d6
mov rax, qword [rbp - 0x68]
mov qword [rbp - 8], rax
jmp 0x14001584a
nop
mov qword [rbp - 0x50], 0xae1
lea rax, [0x140080571]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x20], 0
mov ecx, 1
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov r9, rax
mov r8d, 1
mov edx, 1
lea rax, [0x140080569]
mov rcx, rax
call sym.fwrite
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x50], 0xae2
mov dword [rbp - 0x24], 0
mov ecx, 1
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call rax
mov rcx, rax
call sym.fflush
mov dword [rbp - 0x24], eax
mov qword [rbp - 0x50], 0xae6
lea rax, [sym.test.exe_echoLock__system_u8940]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call rax
jmp 0x1400159d6
nop
call sym.popFrame_7
nop
add rsp, 0xa0
pop rbp
ret
Function at 0x140018f45
Capabilities:
Terminate process

Disassembly:
push rbp
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov byte [rbp - 1], 0
lea rax, sym.test.exe___emutls_v.nimInErrorMode__system_u4363
mov rcx, rax
call sym.test.exe___emutls_get_address
movzx eax, byte [rax]
mov byte [rbp - 1], al
movzx eax, byte [rbp - 1]
xor eax, 1
test al, al
jne 0x140018f91
lea rax, sym.test.exe___emutls_v.currException__system_u3982
mov rcx, rax
call sym.test.exe___emutls_get_address
mov rax, qword [rax]
test rax, rax
setne al
mov byte [rbp - 1], al
jmp 0x140018f92
nop
movzx eax, byte [rbp - 1]
xor eax, 1
test al, al
jne 0x140018fd1
lea rax, sym.test.exe___emutls_v.currException__system_u3982
mov rcx, rax
call sym.test.exe___emutls_get_address
mov rbx, rax
mov rax, qword [rbx]
mov rcx, rax
call sym.test.exe_reportUnhandledError__system_u4352
mov edx, 0
mov rcx, rbx
call sym.test.exe_eqsink___stdZtypedthreads_u179
mov ecx, 1
call sym.exit
nop
nop
add rsp, 0x38
pop rbx
pop rbp
ret