joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400412c0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
je 0x1400412ef
call fcn.1400196dc
jmp 0x140041366
mov rax, qword [rcx + 0x40]
mov rsi, rbx
mov r9, qword [rax]
test r9, r9
je 0x140041306
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x140041308
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x140041360
test ecx, ecx
jle 0x140041341
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call fcn.1400ae5a0
mov rax, qword [rdi + 0x58]
add r15, rbp
sub rbx, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x140041360
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x140041360
mov r8, rbx
mov edx, 1
mov rcx, r15
call fcn.140099628
sub rbx, rax
sub rsi, rbx
mov rax, rsi
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret

Function at 0x140041380
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x20
mov rbp, r8
mov r14, rdx
mov rdi, rcx
test r8, r8
jg 0x1400413ae
xor eax, eax
jmp 0x140041494
cmp qword [rcx + 0x68], 0
je 0x1400413bf
call fcn.1400197a0
jmp 0x140041494
mov rax, qword [rcx + 0x38]
mov rsi, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x1400413d6
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x1400413d8
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x14004140a
cmp rax, rbp
mov rbx, rbp
mov rcx, r14
cmovb rbx, rax
mov r8, rbx
call fcn.1400ae5a0
mov rax, qword [rdi + 0x50]
add r14, rbx
sub rsi, rbx
sub dword [rax], ebx
mov rcx, qword [rdi + 0x38]
movsxd rax, ebx
add qword [rcx], rax
cmp qword [rdi + 0x80], 0
je 0x14004148e
mov r8, qword [rdi + 0x18]
lea rax, [rdi + 0x70]
cmp qword [r8], rax
jne 0x140041441
mov rcx, qword [rdi + 0x88]
mov rdx, qword [rdi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rdi + 0x38]
mov qword [rax], rcx
mov rax, qword [rdi + 0x50]
mov dword [rax], edx
mov ebx, 0xfff
jmp 0x14004146a
mov r9, qword [rdi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call fcn.14009990c
add r14, rax
sub rsi, rax
cmp rax, rbx
jne 0x14004148e
cmp rsi, rbx
ja 0x140041448
test rsi, rsi
je 0x14004148e
mov r9, qword [rdi + 0x80]
mov r8, rsi
mov edx, 1
mov rcx, r14
call fcn.14009990c
sub rsi, rax
sub rbp, rsi
mov rax, rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x14004187c
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x14010e0c0]
xor rax, rsp
mov qword [rbp - 8], rax
or edi, 0xffffffff
mov esi, edx
mov rbx, rcx
cmp edx, edi
jne 0x1400418b5
xor eax, eax
jmp 0x1400419d3
mov rax, qword [rcx + 0x40]
cmp qword [rax], 0
je 0x1400418ef
mov rdx, qword [rcx + 0x58]
movsxd r8, dword [rdx]
mov rcx, r8
add rcx, qword [rax]
cmp qword [rax], rcx
jae 0x1400418ef
lea ecx, [r8 - 1]
mov eax, esi
mov dword [rdx], ecx
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], sil
jmp 0x1400419d3
cmp qword [rbx + 0x80], 0
je 0x1400419d1
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x14004192a
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x14004194a
movsx ecx, sil
mov rdx, qword [rbx + 0x80]
call fcn.140098984
cmp eax, edi
jmp 0x1400419ce
lea r8, [rbp - 0x38]
mov byte [rbp - 0x40], sil
mov rax, qword [rcx]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x38], r8
lea r9, [rbp - 0x3f]
lea r8, [rbp - 8]
mov qword [rsp + 0x30], r8
lea r8, [rbp - 0x28]
mov qword [rsp + 0x28], r8
lea r8, [rbp - 0x30]
mov qword [rsp + 0x20], r8
lea r8, [rbp - 0x40]
call qword [rax + 0x38]
test eax, eax
je 0x140041998
sub eax, 1
je 0x140041998
cmp eax, 2
jne 0x1400419d1
movsx ecx, byte [rbp - 0x40]
jmp 0x140041937
mov r14, qword [rbp - 0x38]
lea rax, [rbp - 0x28]
sub r14, rax
je 0x1400419c2
mov r9, qword [rbx + 0x80]
lea rcx, [rbp - 0x28]
mov r8, r14
mov edx, 1
call fcn.140099628
cmp r14, rax
jne 0x1400419d1
lea rax, [rbp - 0x40]
mov byte [rbx + 0x71], 1
cmp qword [rbp - 0x30], rax
cmovne edi, esi
mov eax, edi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1400889c0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x140041ca8
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x60
mov rax, qword [0x14010e0c0]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140041d17
cmp byte [rcx + 0x71], 0
je 0x140041d17
mov rax, qword [rcx]
or edx, 0xffffffff
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
cmp eax, 0xffffffff
je 0x140041d6b
mov rcx, qword [rbx + 0x68]
lea r8, [rsp + 0x30]
mov qword [rsp + 0x20], r8
lea rdx, [rbx + 0x74]
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + 0x40]
test eax, eax
je 0x140041d31
sub eax, 1
je 0x140041d35
cmp eax, 2
jne 0x140041d6b
mov byte [rbx + 0x71], 0
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400889c0
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140041d62
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call fcn.140099628
cmp rdi, rax
jne 0x140041d6b
cmp byte [rbx + 0x71], 0
sete al
jmp 0x140041d19
xor al, al
jmp 0x140041d19
Function at 0x1400444c4
Capabilities:
Load windows common language runtime

Disassembly:
push rbx
sub rsp, 0x20
xor ebx, ebx
cmp qword [0x1401226a0], rbx
jne 0x140044570
and qword [rsp + 0x38], rbx
lea r8, [rsp + 0x38]
lea rdx, [0x1400f79c8]
lea rcx, [0x1400f79b8]
call qword [sym.imp.mscoree.dll_CLRCreateInstance]
mov ebx, eax
test eax, eax
js 0x140044570
mov rcx, qword [rsp + 0x38]
lea r9, [rsp + 0x30]
and qword [rsp + 0x30], 0
lea r8, [0x1400f79a8]
lea rdx, str.v4.0.30319
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov ebx, eax
test eax, eax
js 0x140044565
mov rcx, qword [rsp + 0x30]
lea r9, [0x1401226a0]
lea r8, [0x1400f7998]
lea rdx, [0x1400f7988]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov ebx, eax
test eax, eax
js 0x14004455a
mov rcx, qword [0x1401226a0]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, ebx
add rsp, 0x20
pop rbx
ret

Function at 0x140044578
Capabilities:
Load windows common language runtime

Disassembly:
sub rsp, 0x38
cmp qword [0x1401226a0], 0
jne 0x1400445d3
call fcn.1400444c4
test eax, eax
jns 0x1400445d3
cmp qword [0x1401226a0], 0
jne 0x1400445d3
lea rax, [0x1401226a0]
xor edx, edx
lea r9, [0x1400f7998]
mov qword [rsp + 0x20], rax
lea r8, [0x1400f7988]
lea rcx, str.v2.0.50727
call qword [sym.imp.mscoree.dll_CorBindToRuntime]
test eax, eax
js 0x1400445da
mov rcx, qword [0x1401226a0]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov al, 1
add rsp, 0x38
ret
xor r9d, r9d
lea r8, [0x1400f72d8]
lea rdx, [0x1400f72f0]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
xor al, al
jmp 0x1400445d5
Function at 0x1400452ac
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x14010e0c0]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov esi, r8d
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x48], rdx
xor r15d, r15d
mov edi, 0x2710
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x1400452f7
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp - 0x70]
call fcn.1400aec40
mov r8d, esi
lea rdx, [0x1400f3ef8]
lea rcx, [rbp - 0x70]
call fcn.140041f04
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 9
jb 0x1400454c4
mov rax, rbx
mov esi, 7
cmp qword [rbx + 0x18], rsi
jbe 0x140045347
mov rax, qword [rbx]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 9
lea r9, str..pipe_
lea rcx, [rsp + 0x70]
call fcn.14001e5cc
nop
lea rax, [rbp - 0x70]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], r15w
jne 0x140045374
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x70]
call fcn.14001a5b4
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], rsi
mov word [rax], r15w
lea rcx, [rsp + 0x70]
call fcn.14001b1b8
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
sub edi, 0xa
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], rsi
cmova rcx, qword [rsp + 0x50]
mov edx, 0xa
call qword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
jne 0x140045401
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x140045401
test edi, edi
jg 0x1400453c5
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], rsi
cmova rcx, qword [rsp + 0x50]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [r14 + 8], rax
cmp rax, 0xffffffffffffffff
setne dil
mov rdx, qword [rsp + 0x68]
cmp rdx, rsi
jbe 0x140045480
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004547b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400454be
call fcn.1400889e0
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rsi
mov word [rsp + 0x50], r15w
mov rcx, rbx
call fcn.14001b1b8
mov al, dil
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.1400889c0
mov rbx, qword [rsp + 0x168]
add rsp, 0x120
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.14008f8f4
nop
call fcn.140001ab4
int3
Function at 0x1400454cc
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x14010e0c0]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rbx, rdx
mov rsi, rcx
mov qword [rsp + 0x38], rdx
cmp qword [rdx + 0x10], 0
jne 0x14004556c
mov rcx, qword [rdx + 0x18]
cmp rcx, 1
jb 0x140045521
mov rax, rdx
cmp rcx, 0xf
jbe 0x140045512
mov rax, qword [rdx]
mov qword [rdx + 0x10], 1
mov word [rax], 0x20
jmp 0x14004556c
mov rax, rcx
shr rax, 1
add rcx, rax
mov edi, reloc.OLEAUT32.dll_SafeArrayDestroy
cmp rcx, rdi
cmova rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x14004554a
call fcn.14002024c
jmp 0x140045558
test rcx, rcx
je 0x140045556
call fcn.140088a14
jmp 0x140045558
xor eax, eax
mov qword [rbx + 0x10], 1
mov qword [rbx + 0x18], rdi
mov word [rax], 0x20
mov qword [rbx], rax
and dword [rsp + 0x30], 0
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x34], eax
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x30]
mov r8d, 4
lea rdx, [rsp + 0x34]
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1400455a5
mov rdx, qword [rbx]
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x30]
mov r8d, dword [rbx + 0x10]
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x1400455f5
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1400455f0
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140045622
mov rcx, r8
call fcn.1400889e0
and qword [rbx + 0x10], 0
mov qword [rbx + 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbx], 0
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400889c0
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
call fcn.14008f8f4
int3

Function at 0x140045628
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x50
mov rax, qword [0x14010e0c0]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x38], rdx
cmp qword [rdx + 0x10], 0
jne 0x140045662
lea rdx, [0x1400eeb3c]
mov rcx, rbx
call fcn.14001a630
and dword [rsp + 0x30], 0
mov eax, dword [rbx + 0x10]
add eax, eax
mov dword [rsp + 0x34], eax
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x30]
mov r8d, 4
lea rdx, [rsp + 0x34]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8d, dword [rbx + 0x10]
add r8d, r8d
mov rdx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x1400456a4
mov rdx, qword [rbx]
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x30]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
nop
mov rcx, rbx
call fcn.14001b1b8
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400889c0
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
Function at 0x14004574c
Capabilities:
Check if file exists
Create process on windows
Get file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
lea rbp, [rax - 0xc8]
sub rsp, 0x1c0
mov rax, qword [0x14010e0c0]
xor rax, rsp
mov qword [rbp + 0xb0], rax
xor esi, esi
mov edi, esi
mov dword [rsp + 0x30], esi
call fcn.140054d04
test al, al
je 0x140045956
lea rcx, [rbp + 0x70]
call fcn.140054c4c
nop
lea r8d, [rsi + 0xe]
lea rdx, str.debug_log.txt
mov rcx, rax
call fcn.14001a5b4
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x60], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
mov word [rax], si
or edi, 2
lea rcx, [rbp + 0x70]
call fcn.14001b1b8
lea rdx, [rbp + 0x90]
lea rcx, [0x140123180]
call fcn.14004e464
mov rbx, rax
or edi, 1
mov dword [rsp + 0x30], edi
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 7
cmova rdx, qword [rbp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.14004e6c4
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x3c], edx
cmp qword [rbp - 0x38], rsi
jne 0x14004586a
lea rcx, [rbp - 0x18]
call fcn.140041ad4
nop
lea rax, vtable.std::ios_base.0
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x18]
call fcn.14008722c
nop
jmp 0x1400458d3
lea rcx, [rsp + 0x40]
call fcn.140041f58
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140045899
lea r8, [rax + rax]
cmp qword [rbx + 0x18], 7
jbe 0x14004588b
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.14004e318
nop
lea rcx, [rbp - 0x18]
call fcn.140041ad4
nop
lea rax, vtable.std::ios_base.0
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x18]
call fcn.14008722c
nop
lea rcx, [rbp + 0x50]
cmp qword [rbp + 0x68], 7
cmova rcx, qword [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
mov bl, 1
jne 0x1400458d6
mov bl, sil
test dil, 1
je 0x1400458e8
lea rcx, [rbp + 0x90]
call fcn.14001b1b8
test bl, bl
je 0x14004591a
lea r8, [rbp + 0x50]
cmp qword [rbp + 0x68], 7
cmova r8, qword [rbp + 0x50]
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 7
jbe 0x140045956
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045951
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004597e
call fcn.1400889e0
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.1400889c0
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
call fcn.14008f8f4
int3
Function at 0x1400479f0
Capabilities:
Check if file exists
Get file attributes
Read .ini file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov rax, qword [0x14010e0c0]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, r9
mov r15, r8
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x38], rdx
xor r12d, r12d
mov rdi, qword [rcx]
mov rcx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x140047a34
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140047a67
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r12
mov r8d, 0x19
lea rdx, str.Error:_Ini_File_Not_Exist
mov rcx, rbx
call fcn.1400063c4
jmp 0x140047b7c
mov ecx, 0x208
mov r13d, 1
call fcn.140089034
mov rbp, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r12w
lea r12, [r14 + 8]
mov r14d, 0x104
mov rax, rdi
cmp qword [rdi + 0x18], 7
jbe 0x140047aad
mov rax, qword [rdi]
mov r8, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140047aba
mov r8, qword [rsi]
mov rdx, r15
cmp qword [r15 + 0x18], 7
jbe 0x140047ac7
mov rdx, qword [r15]
mov rcx, r12
cmp qword [r12 + 0x18], 7
jbe 0x140047ad6
mov rcx, qword [r12]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
mov r9, rbp
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [r14 - 1]
cmp eax, ecx
jb 0x140047b56
mov rcx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140047afe
mov rcx, qword [rsi]
mov rax, rbp
sub rcx, rbp
movzx edx, word [rax]
movzx r8d, word [rax + rcx]
sub edx, r8d
jne 0x140047b1a
add rax, 2
test r8d, r8d
jne 0x140047b04
test edx, edx
je 0x140047b56
mov rcx, rbp
call fcn.1400889e0
inc r13d
imul r14d, r13d, 0x104
mov ecx, r14d
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140089034
mov rbp, rax
jmp 0x140047aa0
mov rdx, rbp
lea rcx, [rsp + 0x40]
call fcn.14001a630
mov rcx, rbp
call fcn.1400889e0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rbx + 0x10], xmm1
mov rax, rbx
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400889c0
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140048440
Capabilities:
Create process on windows

Disassembly:
sub rsp, 0x8f8
mov rax, qword [0x14010e0c0]
xor rax, rsp
mov qword [rsp + 0x8e0], rax
call fcn.140060d50
xor edx, edx
lea rcx, [rsp + 0xe0]
mov r8d, 0x800
call fcn.1400aec40
mov r8d, 0x400
lea rdx, [rsp + 0xe0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
lea rcx, [rsp + 0x74]
xorps xmm0, xmm0
mov qword [rsp + 0x60], rax
xor edx, edx
movups xmmword [rsp + 0x50], xmm0
lea r8d, [rax + 0x64]
call fcn.1400aec40
lea rax, [rsp + 0x50]
mov dword [rsp + 0x70], 0x68
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0xe0]
lea rax, [rsp + 0x70]
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
and qword [rsp + 0x38], 0
xor edx, edx
and qword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14004850a
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
call fcn.14009a844
int3
Function at 0x140049188
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
mov rdi, rcx
xor ebp, ebp
lea rbx, [rcx + 0x80]
mov rcx, rbx
call fcn.140063674
mov ecx, dword [rbx + 0x60]
test ecx, ecx
je 0x1400491d4
cmp dword [0x140123170], ecx
je 0x1400491d2
mov dword [0x140123170], ecx
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400491f6
test ecx, ecx
setne al
mov byte [rbx + 0xa8], al
test ecx, ecx
je 0x1400491f6
cmp qword [rdi + 0xe8], 0x10000
jae 0x1400491f6
mov rcx, rbx
call fcn.140063bd4
mov eax, dword [rdi + 0x330]
cmp byte [rdi + 0x128], bpl
je 0x14004932f
cmp eax, 1
je 0x140049368
mov dword [rdi + 0x330], 1
call fcn.140046e50
test al, al
je 0x14004937d
cmp byte [rdi + 0x4b8], bpl
jne 0x140049385
mov byte [rdi + 0x4b8], 1
cmp qword [0x1401233f8], rbp
je 0x140049273
lea rbx, [rdi + 0x80]
mov rcx, rbx
call fcn.140063b94
mov rcx, rbx
call fcn.140063bd4
mov rcx, qword [0x1401233f8]
test rcx, rcx
je 0x14004938b
mov rax, qword [rcx]
call qword [rax + 0x10]
xor edx, edx
mov rcx, rdi
call fcn.14004c968
mov rcx, rdi
call fcn.14004c2c0
lea rcx, [rdi + 0x10]
call fcn.14005fe18
test al, al
je 0x14004937d
lea rcx, [rdi + 0x10]
call fcn.14005fee0
lea rbx, [rdi + 0x550]
cmp byte [rbx + 8], bpl
jne 0x140049323
cmp qword [rbx + 0x18], rbp
je 0x140049323
mov word [rbx + 8], 0x101
mov dword [rbx + 0x20], 0x32
mov ecx, 8
call fcn.140088a14
mov qword [rax], rbx
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ebp
mov r9, rax
lea r8, [0x140050410]
xor edx, edx
xor ecx, ecx
call fcn.14009a27c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14004939c
cmp dword [rsp + 0x38], ebp
je 0x140049391
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.140087d50
test eax, eax
jne 0x140049391
mov dl, 1
mov rcx, rdi
call fcn.14004c968
jmp 0x140049368
test eax, eax
je 0x140049368
mov dword [rdi + 0x330], ebp
mov rcx, rdi
call fcn.14004c2c0
mov byte [rdi + 0x558], bpl
mov ebx, 0x1388
jmp 0x14004935f
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
sub ebx, 0x32
js 0x140049368
cmp byte [rdi + 0x559], bpl
jne 0x14004934f
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
xor ecx, ecx
call fcn.14009a844
int3
call fcn.140048440
int3
call fcn.14008633c
nop
mov ecx, 1
call fcn.140087444
nop
mov dword [rsp + 0x38], ebp
mov ecx, 6
call fcn.140087444
int3