joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1800255f0
Capabilities:
Hash data with crc32

Disassembly:
mov dword [rsp + 0x10], edx
push rbx
sub rsp, 0x20
movsxd r8, dword [rcx + 0xf0]
lea r10, [0x180065130]
mov rax, qword [rcx + 0xf8]
mov r9, rcx
mov ebx, dword [rax + r8*4 - 4]
not ebx
movzx eax, dl
movzx r8d, bl
shr ebx, 8
xor r8, rax
movzx eax, byte [rsp + 0x39]
xor ebx, dword [r10 + r8*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3a]
xor ebx, dword [r10 + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3b]
xor ebx, dword [r10 + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
xor ebx, dword [r10 + rcx*4]
mov rcx, qword [r9]
not ebx
cmp dword [rcx + 0x3f18], ebx
jne 0x18002567b
movsxd r8, edx
mov ecx, ebx
mov edx, 4
call fcn.180037650
mov eax, ebx
add rsp, 0x20
pop rbx
ret
Function at 0x180028bb0
Capabilities:
Hash data with crc32

Disassembly:
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10d, 0xffffffff
mov eax, r10d
test r9b, r9b
je 0x180028c00
lea r11, [0x180065130]
nop dword [rax]
cmp r9b, 0x23
jne 0x180028be3
cmp byte [r8], r9b
jne 0x180028be3
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 0x180028bd0
mov rcx, qword [0x1800769e8]
not eax
movsxd rdx, dword [rcx + 0x3eb0]
mov r9, qword [rcx + 0x3eb8]
mov r10, rdx
shl r10, 4
add r10, r9
test rdx, rdx
je 0x180028c61
nop word [rax + rax]
mov r8, rdx
shr r8, 1
mov rcx, r8
add rcx, rcx
cmp dword [r9 + rcx*8], eax
jae 0x180028c59
lea r9, [r9 + rcx*8]
mov rcx, 0xffffffffffffffff
sub rcx, r8
add r9, 0x10
add rdx, rcx
jmp 0x180028c5c
mov rdx, r8
test rdx, rdx
jne 0x180028c30
cmp r9, r10
je 0x180028c70
cmp dword [r9], eax
jne 0x180028c70
mov rax, qword [r9 + 8]
ret
xor eax, eax
ret
Function at 0x180035e90
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x5c60], 0
lea rbx, [rcx + 0x5c68]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x180035f37
mov r9d, dword [rbx + 4]
mov qword [rsp + 0x30], r14
xor r14d, r14d
test r9d, r9d
jns 0x180035eea
mov eax, r9d
mov rcx, rbx
cdq
sub eax, edx
mov edx, r14d
sar eax, 1
add eax, r9d
test eax, eax
cmovg edx, eax
call fcn.180038780
mov r8, rsi
mov dword [rbx], r14d
mov rdx, rbp
mov rcx, rbx
call fcn.1800234a0
mov eax, dword [rbx]
mov edx, 1
mov r9, qword [rdi + 0x5c60]
test eax, eax
lea ecx, [rax - 1]
mov rax, qword [rdi + 0x5c70]
cmove ecx, r14d
test rax, rax
movsxd r8, ecx
lea rcx, [0x1800769e0]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r14, qword [rsp + 0x30]
jmp 0x180035f3f
mov rcx, rbx
call fcn.1800234a0
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x1800363c0
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x1800769e8]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x180036423
mov qword [rsp], rbx
lea rbx, [0x180065130]
nop dword [rax]
cmp r9b, 0x23
jne 0x180036403
cmp byte [r8], r9b
jne 0x180036403
cmp byte [r8 + 1], r9b
cmove eax, r11d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [rbx + rdx*4]
test r9b, r9b
jne 0x1800363f0
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5bd8]
xor r8d, r8d
not eax
test ecx, ecx
jle 0x180036457
mov r10, qword [r10 + 0x5be0]
mov r9, rcx
mov edx, r8d
lea rcx, [r10 + 8]
cmp dword [rcx], eax
je 0x18003645e
inc r8d
inc rdx
add rcx, 0x48
cmp rdx, r9
jl 0x180036444
xor eax, eax
add rsp, 8
ret
movsxd rax, r8d
lea rcx, [rax + rax*8]
lea rax, [r10 + rcx*8]
add rsp, 8
ret
Function at 0x180053aa0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x60
mov rax, qword [rcx + 0x130]
mov esi, r8d
movaps xmmword [rsp + 0x20], xmm9
mov rbx, rdx
mov rdi, rcx
mov r11d, dword [rax + 0x40]
lea r9, [rax + 0x28]
mov r10, r9
cmp r11d, 0xf
jle 0x180053ade
mov r10, qword [r9]
movabs rdx, 0xcbf29ce484222325
movabs rbp, 0x100000001b3
mov r8, rdx
nop word [rax + rax]
movsx rcx, byte [r10]
lea r10, [r10 + 1]
xor r8, rcx
imul r8, rbp
test cl, cl
jne 0x180053b00
mov rax, qword [0x180076c88]
mov rcx, qword [0x180076c90]
movss xmm0, dword [0x18006b454]
movaps xmm9, xmm0
cmp rax, rcx
je 0x180053b4e
cmp qword [rax + 8], rbx
jne 0x180053b3d
cmp qword [rax], r8
je 0x180053b48
add rax, 0x18
cmp rax, rcx
jne 0x180053b32
jmp 0x180053b4e
movss xmm9, dword [rax + 0x10]
ucomiss xmm9, xmm0
jp 0x180053b5e
jne 0x180053b5e
xorps xmm0, xmm0
jmp 0x180053cc1
movaps xmmword [rsp + 0x40], xmm7
movaps xmmword [rsp + 0x30], xmm8
cmp r11d, 0xf
jle 0x180053b80
mov r9, qword [r9]
nop dword [rax]
nop word [rax + rax]
movsx rcx, byte [r9]
lea r9, [r9 + 1]
xor rdx, rcx
imul rdx, rbp
test cl, cl
jne 0x180053b80
mov qword [rsp + 0x70], rdx
lea rcx, [0x180076ca0]
lea rdx, [rsp + 0x70]
call fcn.18001afc0
mov rdx, qword [rax + 8]
cmp qword [rax], rdx
je 0x180053c90
lea rdx, [rsp + 0x70]
movaps xmmword [rsp + 0x50], xmm6
lea rcx, [0x180076ca0]
call fcn.18001afc0
movsxd rcx, dword [rdi + 0x28]
mov rax, qword [rax]
movss xmm8, dword [rax + rcx*4 - 4]
lea eax, [rsi - 4]
lea rcx, [rbx + 0x43c4]
cmp eax, 1
jbe 0x180053c17
movd xmm6, dword [rbx + 0x1498]
xor eax, eax
cvtdq2ps xmm6, xmm6
cmp dword [rcx], 0x209b
je 0x180053c0d
inc rax
add rcx, 4
cmp rax, 6
jl 0x180053bf6
jmp 0x180053c68
addss xmm6, dword [0x18006b384]
jmp 0x180053c68
xor eax, eax
nop dword [rax]
cmp dword [rcx], 0x209b
je 0x180053c3d
inc rax
add rcx, 4
cmp rax, 6
jl 0x180053c20
movss xmm6, dword [rsp + 0x70]
jmp 0x180053c4b
movss xmm6, dword [rsp + 0x70]
addss xmm6, dword [0x18006b398]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, qword [rax + 0x219d8b0]
cmp dword [rcx + 8], 0xc
jne 0x180053c68
addss xmm6, dword [0x18006b3e0]
xorps xmm7, xmm7
comiss xmm6, xmm7
jbe 0x180053c89
movaps xmm0, xmm6
addss xmm0, dword [0x18006b3ec]
divss xmm6, xmm0
mulss xmm6, xmm8
subss xmm8, xmm6
movaps xmm6, xmmword [rsp + 0x50]
jmp 0x180053c97
xorps xmm7, xmm7
xorps xmm8, xmm8
xor ecx, ecx
addss xmm9, xmm8
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
movaps xmm8, xmmword [rsp + 0x30]
subss xmm9, dword [rax + 0x21acd6c]
maxss xmm9, xmm7
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm0, xmm9
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop rdi
ret
Function at 0x18005bac0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov r9d, r8d
mov rdi, rdx
mov r8, rcx
lea rbx, [rcx + 0x35c0]
lea r10, [rcx + 0x1236]
cmp byte [rcx + 0x1234], 0
jne 0x18005bb43
mov byte [r10], 0
mov byte [rcx + 0x1235], 1
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rsp + 0x30], rax
mov byte [rcx + 0x1238], al
movzx eax, byte [rsp + 0x31]
mov edx, 2
mov byte [rcx + 0x1239], al
movzx ecx, byte [rsp + rdx + 0x30]
inc edx
mov byte [r8 + 0x123a], cl
movzx eax, byte [rsp + rdx + 0x30]
mov byte [r8 + 0x123b], al
mov byte [r8 + 0x123c], 0
mov byte [r8 + 0x1234], 1
mov rax, r8
mov dword [rsp + 0x40], r9d
mov eax, dword [rax + 0x1238]
mov dword [rsp + 0x30], eax
movzx eax, byte [r8 + 0x1235]
test al, al
je 0x18005bb8b
xor ecx, ecx
mov edx, eax
nop word [rax + rax]
mov eax, dword [rsp + rcx + 0x30]
not eax
xor dword [rsp + rcx + 0x40], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x18005bb70
lea r10, [r8 + 0x1236]
movzx eax, byte [r10]
mov ecx, 4
sub rcx, rax
cmp rcx, 4
jae 0x18005bbb4
nop dword [rax]
movzx eax, byte [rsp + rcx + 0x30]
not al
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 4
jb 0x18005bba0
movzx eax, byte [r8 + 0x123c]
inc al
and eax, 3
mov ecx, eax
mov eax, dword [rsp + 0x40]
mov dword [r8 + rcx*4 + 0x1240], eax
mov byte [r8 + 0x123c], cl
mov dword [rbx + 0x38], r9d
mov r8, qword [rbx + 0x18]
movabs rdx, 0xcbf29ce484222325
movabs r10, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, r10
test cl, cl
jne 0x18005bc00
movabs rax, 0x2374c594f5e76f06
cmp rdx, rax
jne 0x18005bc2d
lea eax, [r9 - 0x1d]
cmp eax, 7
jbe 0x18005bc73
jmp 0x18005bc9a
movabs rax, 0xf9bdf861cccd5fd1
cmp rdx, rax
jne 0x18005bc47
lea eax, [r9 - 0x1a]
cmp eax, 6
jbe 0x18005bc73
jmp 0x18005bc9a
movabs rax, 0xb4d052affec8dc8e
cmp rdx, rax
jne 0x18005bc5e
cmp r9d, 0x10
je 0x18005bc73
jmp 0x18005bc9a
movabs rax, 0x311a797a90e58f21
cmp rdx, rax
jne 0x18005bc7c
cmp r9d, 6
jne 0x18005bc9a
mov byte [rbx + 0x9c], 0
jmp 0x18005bcd3
movabs rcx, 0x2f2959b508f215d2
movabs rax, 0xecc3c7c77aebb7ea
cmp rdx, rcx
je 0x18005bcbb
cmp rdx, rax
je 0x18005bcbb
cmp byte [rbx + 0x9c], 0xff
je 0x18005bcd3
movabs rax, 0xeb5bc0df5355fba6
cmp rdx, rax
je 0x18005bcd3
mov byte [rbx + 0x9c], 0xff
jmp 0x18005bcd3
cmp r9d, 7
jne 0x18005bcf4
cmp rdx, rcx
je 0x18005bcff
mov rax, qword [rbx]
cmp rax, qword [rbx + 8]
je 0x18005bcd3
mov qword [rbx + 8], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add rax, 0x185860
mov dl, 1
mov rcx, rbx
call rax
nop
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp r9d, 6
jne 0x18005bcc6
cmp rdx, rax
jne 0x18005bcc6
mov rax, qword [rbx]
cmp rax, qword [rbx + 8]
je 0x18005bd0c
mov qword [rbx + 8], rax
mov r8d, r9d
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.18004ee70
Function at 0x18005bd24
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rdi, rdx
lea r8, [rsp + 0x60]
mov ebx, ecx
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
mov r8d, ebx
mov ecx, 0x1300
neg eax
sbb r9d, r9d
and qword [rsp + 0x30], 0
and r9d, dword [rsp + 0x60]
xor edx, edx
and dword [rsp + 0x28], 0
mov dword [rsp + 0x60], r9d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov edx, eax
test eax, eax
je 0x18005bda8
mov r8, qword [rdi]
dec r8
add r8, rdx
movzx ecx, byte [r8]
lea rax, [0x180063820]
cmp byte [rcx + rax], 0
je 0x18005bda8
dec r8
sub rdx, 1
jne 0x18005bd8e
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret

Function at 0x18005d060
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov rax, qword [rsp + 0x78]
sub rax, 0x10000
mov rcx, rax
call fcn.18005d280
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x20], rax
jbe 0x18005d167
mov rax, qword [0x180076040]
cmp qword [rsp + 0x20], rax
jb 0x18005d0c4
mov rax, qword [0x180076048]
cmp qword [rsp + 0x20], rax
ja 0x18005d0c4
mov rax, qword [rsp + 0x20]
sub rax, 0x8000000
mov qword [rsp + 0x20], rax
jmp 0x18005d086
mov r8d, 0x30
xor edx, edx
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
mov r8d, 0x30
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
jne 0x18005d0f3
jmp 0x18005d167
cmp dword [rsp + 0x50], 0x10000
jne 0x18005d14a
cmp qword [rsp + 0x48], 0x10000
jb 0x18005d14a
mov r9d, 0x40
mov r8d, 0x3000
mov edx, 0x10000
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
je 0x18005d138
mov rax, qword [rsp + 0x28]
jmp 0x18005d169
mov rax, qword [rsp + 0x20]
sub rax, 0x10000
mov qword [rsp + 0x20], rax
jmp 0x18005d162
mov rax, qword [rsp + 0x38]
sub rax, 0x10000
mov rcx, rax
call fcn.18005d280
mov qword [rsp + 0x20], rax
jmp 0x18005d086
xor eax, eax
add rsp, 0x68
ret
Function at 0x18005d170
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov rcx, qword [rsp + 0x70]
call fcn.18005d2c0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x78]
cmp qword [rsp + 0x20], rax
jae 0x18005d273
mov rax, qword [0x180076040]
cmp qword [rsp + 0x20], rax
jb 0x18005d1cb
mov rax, qword [0x180076048]
cmp qword [rsp + 0x20], rax
ja 0x18005d1cb
mov rax, qword [rsp + 0x20]
add rax, 0x8000000
mov qword [rsp + 0x20], rax
jmp 0x18005d18d
mov r8d, 0x30
xor edx, edx
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
mov r8d, 0x30
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
jne 0x18005d1fa
jmp 0x18005d273
cmp dword [rsp + 0x50], 0x10000
jne 0x18005d251
cmp qword [rsp + 0x48], 0x10000
jb 0x18005d251
mov r9d, 0x40
mov r8d, 0x3000
mov edx, 0x10000
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
je 0x18005d23f
mov rax, qword [rsp + 0x28]
jmp 0x18005d275
mov rax, qword [rsp + 0x20]
add rax, 0x10000
mov qword [rsp + 0x20], rax
jmp 0x18005d26e
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.18005d2c0
mov qword [rsp + 0x20], rax
jmp 0x18005d18d
xor eax, eax
add rsp, 0x68
ret
Function at 0x140004d00
Capabilities:
Hash data using fnv

Disassembly:
mov byte [rsp + 0x10], dl
mov dword [rsp + 8], ecx
sub rsp, 0x18
xor eax, eax
test eax, eax
je 0x140004d1f
movsx eax, byte [rsp + 0x28]
or eax, 0x20
mov dword [rsp], eax
jmp 0x140004d27
movsx eax, byte [rsp + 0x28]
mov dword [rsp], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0x20]
xor ecx, eax
mov eax, ecx
imul eax, eax, 0x1000193
add rsp, 0x18
ret
Function at 0x140009670
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x278
mov dword [rsp + 0x30], 0x238
xor edx, edx
mov ecx, 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
call sub.KERNEL32.dll_Process32FirstW
cmp eax, 1
jne 0x1400096e7
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
call sub.KERNEL32.dll_Process32NextW
cmp eax, 1
jne 0x1400096e7
mov rdx, qword [rsp + 0x280]
lea rcx, [rsp + 0x5c]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x1400096e5
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x38]
jmp 0x1400096f4
jmp 0x1400096a9
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
add rsp, 0x278
ret

Function at 0x140009860
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xa8
mov rax, qword [rsp + 0xb0]
cmp qword [rax + 0x68], 0
je 0x14000988b
mov rax, qword [rsp + 0xb0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x140009892
mov al, 1
jmp 0x1400099ec
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x50], rax
call fcn.14000a8d0
mov dword [rsp + 0x38], eax
mov edx, dword [rsp + 0x38]
mov rcx, qword [rsp + 0xb0]
call qword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
call fcn.14000a8d0
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x3c]
lea rcx, [rsp + 0x40]
call fcn.14000a8e0
movzx eax, al
test eax, eax
je 0x1400098e9
xor al, al
jmp 0x1400099ec
mov qword [rsp + 0x68], 0x20
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x90]
mov rcx, qword [rsp + 0xb0]
add rcx, 0x74
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x20], rdx
mov r9, rax
lea r8, [rsp + 0x70]
mov rdx, rcx
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140009959
cmp dword [rsp + 0x30], 1
je 0x140009965
cmp dword [rsp + 0x30], 3
je 0x1400099da
jmp 0x1400099ea
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x71], 0
lea rax, [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
jbe 0x1400099b1
mov rax, qword [rsp + 0xb0]
mov r9, qword [rax + 0x80]
mov r8, qword [rsp + 0x48]
mov edx, 1
lea rcx, [rsp + 0x70]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp qword [rsp + 0x48], rax
je 0x1400099b1
xor al, al
jmp 0x1400099ec
mov rax, qword [rsp + 0xb0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x1400099cb
mov dword [rsp + 0x34], 1
jmp 0x1400099d3
mov dword [rsp + 0x34], 0
movzx eax, byte [rsp + 0x34]
jmp 0x1400099ec
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x71], 0
mov al, 1
jmp 0x1400099ec
xor al, al
add rsp, 0xa8
ret
Function at 0x14000b7a0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
cmp qword [rsp + 0x80], 0
jg 0x14000b7c5
xor eax, eax
jmp 0x14000b98b
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x68], 0
je 0x14000b7ee
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
call 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]
jmp 0x14000b98b
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Gnavail_void_const___ptr64]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jbe 0x14000b88d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.140001220
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gptr_void_const___ptr64]
mov r8, qword [rsp + 0x28]
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call fcn.140001a80
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gbump_int____ptr64]
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x80], 0
je 0x14000b97b
mov rcx, qword [rsp + 0x70]
call fcn.140009d80
mov qword [rsp + 0x58], 0xfff
cmp qword [rsp + 0x20], 0xfff
jbe 0x14000b92e
mov rax, qword [rsp + 0x70]
mov r9, qword [rax + 0x80]
mov r8d, 0xfff
mov edx, 1
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x30], 0xfff
je 0x14000b92c
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
jmp 0x14000b98b
jmp 0x14000b8b3
cmp qword [rsp + 0x20], 0
jbe 0x14000b97b
mov rax, qword [rsp + 0x70]
mov r9, qword [rax + 0x80]
mov r8, qword [rsp + 0x20]
mov edx, 1
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
add rsp, 0x68
ret
Function at 0x14000b990
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x68], 0
je 0x14000b9c9
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
jmp 0x14000bab7
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pnavail_void_const___ptr64]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x50], 0
jle 0x14000ba5f
cmp qword [rsp + 0x20], 0
jle 0x14000ba5f
mov rax, qword [rsp + 0x20]
cmp qword [rsp + 0x50], rax
jge 0x14000ba09
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov r8, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x48]
mov rcx, rax
call fcn.140001a80
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbump_int____ptr64]
cmp qword [rsp + 0x50], 0
jle 0x14000baa7
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x80], 0
je 0x14000baa7
mov rax, qword [rsp + 0x40]
mov r9, qword [rax + 0x80]
mov r8, qword [rsp + 0x50]
mov edx, 1
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x28]
sub rcx, rax
mov rax, rcx
add rsp, 0x38
ret
Function at 0x14000ceec
Capabilities:
Parse pe header

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

Disassembly:
sub rsp, 0x28
mov rax, qword [0x004c5f20]
xor edx, edx
mov dword [rax], 1
mov rax, qword [0x004c5f30]
mov dword [rax], 1
mov rax, qword [0x004c5f40]
mov dword [rax], 1
mov rax, qword [0x004c5f10]
mov dword [rax], 1
mov rax, qword [0x004c5e00]
cmp word [rax], 0x5a4d
je 0x4010b0
mov rax, qword [0x004c5f00]
mov dword [0x004c8008], edx
mov eax, dword [rax]
test eax, eax
je 0x4010a0
mov ecx, 2
call sym.__set_app_type
call sym.__p__fmode
mov rdx, qword [0x004c5ec0]
mov edx, dword [rdx]
mov dword [rax], edx
call sym._setargv
mov rax, qword [0x004c5db0]
cmp dword [rax], 1
je 0x4010f0
xor eax, eax
add rsp, 0x28
ret
mov ecx, 1
call sym.__set_app_type
jmp 0x401075
movsxd rcx, dword [rax + 0x3c]
add rax, rcx
cmp dword [rax], 0x4550
jne 0x401058
movzx ecx, word [rax + 0x18]
cmp cx, 0x10b
je 0x401103
cmp cx, 0x20b
jne 0x401058
cmp dword [rax + 0x84], 0xe
jbe 0x401058
mov ecx, dword [rax + 0xf8]
xor edx, edx
test ecx, ecx
setne dl
jmp 0x401058
lea rcx, [sym._matherr]
call sym.__mingw_setusermatherr
xor eax, eax
add rsp, 0x28
ret
cmp dword [rax + 0x74], 0xe
jbe 0x401058
mov r8d, dword [rax + 0xe8]
xor edx, edx
test r8d, r8d
setne dl
jmp 0x401058