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

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x14000c010]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140004693
cmp byte [rcx + 0x71], 0
je 0x140004693
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x14000468f
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
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]
test eax, eax
je 0x140004654
sub eax, 1
je 0x140004658
cmp eax, 2
jne 0x14000468f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400057b0
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140004686
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x14000468f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x14000463c
xor al, al
jmp 0x14000463c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400057b0
add rsp, 0x60
pop rbx
ret

Function at 0x140006144
Capabilities:
Parse pe header

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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov bl, 0x41
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
lea rdx, str.ventoy_disk_init_..._n
mov ecx, 1
mov edi, eax
call fcn.140001c50
mov ecx, 0x20c00
call fcn.14002da3c
mov rsi, rax
test rax, rax
je 0x14000104c
xor edx, edx
mov r8d, 0x20c00
mov rcx, rax
call fcn.14002cbb0
mov qword [0x140069a80], rsi
test edi, edi
je 0x1400010f7
nop dword [rax + rax]
test dil, 1
je 0x1400010ed
movsxd rax, dword [0x140069b10]
movzx ecx, bl
imul rdx, rax, 0x20c
movsx esi, bl
add rdx, qword [0x140069a80]
call fcn.1400033d0
test eax, eax
jne 0x1400010b7
movsxd rdx, dword [0x140069b10]
mov rax, qword [0x140069a80]
imul rcx, rdx, 0x20c
inc edx
mov dword [0x140069b10], edx
lea rdx, str._C:_is_ventoy_disk_n
mov byte [rcx + rax], bl
jmp 0x1400010e0
movsxd rax, dword [0x140069b10]
xor edx, edx
imul rcx, rax, 0x20c
mov r8d, 0x20c
add rcx, qword [0x140069a80]
call fcn.14002cbb0
lea rdx, str._C:_is_NOT_ventoy_disk_n
mov r8d, esi
mov ecx, 1
call fcn.140001c50
inc bl
shr edi, 1
jne 0x140001060
mov rbx, qword [rsp + 0x30]
xor eax, eax
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x140002740
Capabilities:
Get file attributes

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
mov qword [r11 + 0x10], rdx
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x20], r9
push rbx
push rdi
sub rsp, 0x378
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rsp + 0x360], rax
mov rdi, rcx
lea rbx, [r11 + 0x10]
call fcn.140001110
mov qword [rsp + 0x30], rbx
lea rdx, [rsp + 0x40]
xor ebx, ebx
mov r9d, 0x104
mov qword [rsp + 0x28], rbx
mov r8d, r9d
mov rcx, qword [rax]
mov qword [rsp + 0x20], rdi
call fcn.140030d84
movzx eax, byte [rsp + rbx + 0x40]
test al, al
je 0x1400027ba
cmp al, 0x7f
ja 0x1400027d5
inc rbx
cmp rbx, 0x104
jl 0x1400027a1
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140002812
test al, 0x10
je 0x140002812
mov eax, 1
jmp 0x140002814
lea rax, [rsp + 0x150]
mov dword [rsp + 0x28], 0x208
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x40]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rcx, [rsp + 0x150]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
jmp 0x1400027c5
xor eax, eax
mov rcx, qword [rsp + 0x360]
xor rcx, rsp
call fcn.14002b5c0
add rsp, 0x378
pop rdi
pop rbx
ret
Function at 0x140002830
Capabilities:
Get file attributes

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
mov qword [r11 + 0x10], rdx
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x20], r9
push rbx
push rdi
sub rsp, 0x378
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rsp + 0x360], rax
mov rbx, rcx
lea rdi, [r11 + 0x10]
call fcn.140001110
mov qword [rsp + 0x30], rdi
lea rdx, [rsp + 0x40]
xor edi, edi
mov r9d, 0x104
mov qword [rsp + 0x28], rdi
mov r8d, r9d
mov rcx, qword [rax]
mov qword [rsp + 0x20], rbx
call fcn.140030d84
mov eax, edi
movzx ecx, byte [rsp + rax + 0x40]
test cl, cl
je 0x1400028ac
cmp cl, 0x7f
ja 0x140002903
inc rax
cmp rax, 0x104
jl 0x140002893
xor r9d, r9d
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x20], 3
lea edx, [r9 + 8]
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
lea rcx, [rsp + 0x40]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov edi, eax
cmp rbx, 0xffffffffffffffff
je 0x140002970
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test dil, 0x10
jne 0x140002970
mov eax, 1
jmp 0x140002972
lea rax, [rsp + 0x150]
mov dword [rsp + 0x28], 0x208
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x40]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor r9d, r9d
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
lea rcx, [rsp + 0x150]
mov dword [rsp + 0x20], 3
lea edx, [r9 + 8]
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
lea rcx, [rsp + 0x150]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
jmp 0x1400028e1
xor eax, eax
mov rcx, qword [rsp + 0x360]
xor rcx, rsp
call fcn.14002b5c0
add rsp, 0x378
pop rdi
pop rbx
ret
Function at 0x140003800
Capabilities:
Get file size
Read file on windows

Disassembly:
push rbx
push rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x280
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rsp + 0x260], rax
xor r13d, r13d
mov r15, r9
mov eax, r13d
mov r14, r8
mov ebp, edx
mov rbx, rcx
nop word [rax + rax]
movzx ecx, byte [rax + rbx]
mov r12, 0xffffffffffffffff
test cl, cl
je 0x14000385f
cmp cl, 0x7f
ja 0x1400038b5
inc rax
cmp rax, 0x104
jl 0x140003840
xor r9d, r9d
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov edx, 0x80000000
mov rcx, rbx
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
cmp rax, r12
jne 0x140003905
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, rbx
lea rdx, str.Failed_to_open__s__u_n
mov r9d, eax
mov ecx, 1
call fcn.140001c50
mov eax, 1
jmp 0x1400039c0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 0x208
mov r9d, r12d
mov qword [rsp + 0x20], rax
mov r8, rbx
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor r9d, r9d
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
lea rcx, [rsp + 0x50]
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
jmp 0x140003886
xor edx, edx
mov qword [rsp + 0x278], rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, eax
mov esi, eax
add ecx, ebp
cmovb rcx, r12
call fcn.14002da3c
mov rbp, rax
test rax, rax
jne 0x140003949
lea rdx, str.Failed_to_alloc_file_buffer_n
lea ecx, [rax + 1]
call fcn.140001c50
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400039b3
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], r13
mov r8d, esi
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000397f
cmp esi, dword [rsp + 0x40]
jne 0x14000397f
mov qword [r14], rbp
mov rcx, rdi
mov dword [r15], esi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x1400039b8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, dword [rsp + 0x40]
lea rdx, str.Failed_to_read_file___s___u_err:_u
mov r8, rbx
mov dword [rsp + 0x20], eax
mov ecx, 1
call fcn.140001c50
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbp
call fcn.14002da28
mov eax, 1
mov rsi, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.14002b5c0
add rsp, 0x280
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret
Function at 0x1400079a0
Capabilities:
Resolve dns

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbx
push rsi
push rdi
mov eax, 0x2320
call fcn.14004f2b0
sub rsp, rax
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rsp + 0x2310], rax
mov rbx, rdx
lea rsi, [rsp + 0x2350]
mov rdi, rcx
call fcn.140001110
mov qword [rsp + 0x28], rsi
lea rdx, [rsp + 0x310]
mov r9, rbx
mov qword [rsp + 0x20], 0
mov r8d, 0x2000
mov rcx, qword [rax]
or rcx, 1
call fcn.140030ed0
mov byte [rsp + 0x230f], 0
test rdi, rdi
jne 0x140007a2e
lea rcx, [rsp + 0x310]
call fcn.140035770
jmp 0x140007bfe
mov rax, qword [rdi + 0x490]
mov r8, qword [rax + 0x148]
test r8, r8
je 0x140007a57
lea rdx, [rsp + 0x310]
mov rcx, rdi
call r8
test eax, eax
jne 0x140007bfe
mov rax, qword [rdi + 0x490]
mov rbx, qword [rax + 0x60]
test rbx, rbx
je 0x140007bfe
xorps xmm0, xmm0
lea rdx, [rsp + 0x68]
xor eax, eax
mov rcx, rbx
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x60], rax
movups xmmword [rsp + 0x50], xmm0
call fcn.1400366a8
test eax, eax
jne 0x140007a9a
movsxd rax, dword [rsp + 0x7c]
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x40]
mov rdx, rbx
mov rcx, rdi
call fcn.140007720
test eax, eax
jne 0x140007b07
lea r8, [rsp + 0x100]
mov rdx, rbx
call fcn.140008d70
lea rax, [rsp + 0xd0]
mov dword [rsp + 0x28], shutdown
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
lea r8, [0x140059f3c]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x100]
call fcn.14003158c
mov rbx, rax
jmp 0x140007b0c
mov rbx, qword [rsp + 0x50]
cmp qword [rsp + 0x58], 0
jne 0x140007b1d
test rbx, rbx
je 0x140007bfe
test rbx, rbx
je 0x140007bfe
lea rcx, [0x14006a920]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ecx, ecx
call fcn.1400315f0
lea rcx, [rdi + 0x4c0]
mov byte [rsp + 0x98], 0
mov rsi, rax
test rcx, rcx
je 0x140007b88
cmp word [rcx], 2
jne 0x140007b88
mov r9d, 0x32
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
lea r8, [rsp + 0x98]
mov qword [rsp + 0x20], 0
lea edx, [r9 - 0x22]
call qword [sym.imp.WS2_32.dll_getnameinfo]
lea r9, [rsp + 0x98]
mov r8d, esi
lea rdx, str.__010lu___error___client__s_
mov rcx, rbx
call fcn.140001ac0
mov r8, qword [rdi]
test r8, r8
je 0x140007bbd
mov r9, qword [rdi + 8]
lea rdx, str._s__s:
mov rcx, rbx
call fcn.140001ac0
lea r8, [rsp + 0x310]
mov rcx, rbx
lea rdx, [0x140059f14]
call fcn.140001ac0
mov rdx, rbx
mov ecx, 0xa
call fcn.140031874
mov rcx, rbx
call fcn.140032ed4
lea rcx, [0x14006a920]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, rbx
call fcn.1400313a0
mov rcx, qword [rsp + 0x2310]
xor rcx, rsp
call fcn.14002b5c0
add rsp, 0x2320
pop rdi
pop rsi
pop rbx
ret
Function at 0x140008d70
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x20], rbp
push rsi
sub rsp, 0x480
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rsp + 0x470], rax
cmp byte [rdx], 0
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x498], rdi
mov rsi, r8
mov r9d, 0x104
je 0x140008dca
lea rax, [rsp + 0x40]
sub rdx, rax
cmp r9, 1
jbe 0x140008dca
movzx eax, byte [rdx + rcx]
dec r9
mov byte [rcx], al
inc rcx
cmp byte [rdx + rcx], 0
jne 0x140008db2
xor ebp, ebp
mov byte [rcx], 0
movzx eax, byte [rsp + 0x40]
mov edi, ebp
test al, al
je 0x140008e43
mov qword [rsp + 0x490], rbx
lea rbx, [rsp + 0x40]
cmp al, 0x2f
jne 0x140008df0
mov byte [rbx], 0x5c
jmp 0x140008df4
cmp al, 0x5c
jne 0x140008e2e
test edi, edi
jle 0x140008e2e
movzx eax, byte [rbx + 1]
cmp al, 0x5c
je 0x140008e04
cmp al, 0x2f
jne 0x140008e2e
movsxd rax, edi
lea rcx, [rsp + 0x41]
add rcx, rax
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], bpl
jne 0x140008e16
lea rdx, [rsp + 0x42]
add rdx, rax
call fcn.14002d2a0
jmp 0x140008df8
movzx eax, byte [rbx + 1]
inc rbx
inc edi
test al, al
jne 0x140008de7
mov rbx, qword [rsp + 0x490]
xor edx, edx
mov r8d, 0x208
mov rcx, rsi
call fcn.14002cbb0
mov r9d, 0xffffffff
mov dword [rsp + 0x28], 0x104
lea r8, [rsp + 0x40]
mov qword [rsp + 0x20], rsi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov qword [rsp + 0x38], rbp
lea rax, [rsp + 0x150]
mov qword [rsp + 0x30], rbp
mov r9d, 0x104
mov dword [rsp + 0x28], 0x104
mov r8, rsi
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rdi, qword [rsp + 0x498]
lea rax, [rsp + 0x40]
lea r9, [rsp + 0x150]
sub r9, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x140008ee3
inc rax
test ecx, ecx
jne 0x140008ed0
test edx, edx
je 0x140008eea
mov word [rsi], bp
xor edx, edx
lea rcx, [rsp + 0x260]
mov r8d, 0x20a
call fcn.14002cbb0
mov r8d, 0x104
lea rdx, [rsp + 0x260]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
jne 0x140008f27
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x140008f45
jmp 0x140008f2e
cmp eax, 0x105
jae 0x140008f42
lea rdx, [rsp + 0x260]
mov rcx, rsi
call fcn.140008d10
test eax, eax
je 0x140008f45
mov word [rsi], bp
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.14002b5c0
mov rbp, qword [rsp + 0x4a8]
add rsp, 0x480
pop rsi
ret
Function at 0x140009120
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rdi
sub rsp, 0x240
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov rdi, rdx
test rdx, rdx
jne 0x140009155
mov ecx, 0xa0
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x1400091fe
mov ecx, 0x360
mov qword [rsp + 0x250], rbx
call fcn.14002da3c
mov rbx, rax
test rax, rax
jne 0x14000917d
lea ecx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbx
jmp 0x1400091f6
lea r8, [rsp + 0x20]
mov rdx, rdi
call fcn.140008d70
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400091ec
test al, 0x10
je 0x1400091ec
lea rcx, [rsp + 0x20]
sub rcx, 2
nop word [rax + rax]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x1400091b0
mov eax, dword [0x14005bce4]
lea rdx, [rbx + 8]
mov dword [rcx], eax
movzx eax, word [0x14005bce8]
mov word [rcx + 4], ax
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rbx], rax
mov rax, rbx
mov byte [rbx + 0x258], 0
jmp 0x1400091f6
mov rcx, rbx
call fcn.14002da28
xor eax, eax
mov rbx, qword [rsp + 0x250]
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.14002b5c0
add rsp, 0x240
pop rdi
ret
Function at 0x14000b4c0
Capabilities:
Hash data with md5

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
mov qword [r11 + 0x10], rdx
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x20], r9
push rbx
sub rsp, 0xa0
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rsp + 0x90], rax
xor eax, eax
mov dword [rsp + 0x28], 0x67452301
lea rbx, [r11 + 0x10]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x2c], 0xefcdab89
mov dword [rsp + 0x30], 0x98badcfe
mov dword [rsp + 0x34], 0x10325476
mov rax, qword [rbx]
test rax, rax
je 0x14000b554
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14000b530
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.1400072e0
mov rax, qword [rbx + 8]
add rbx, 8
test rax, rax
jne 0x14000b520
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x20]
call fcn.1400073f0
mov rcx, qword [rsp + 0xb0]
lea rdx, [rsp + 0x80]
call fcn.14000b2c0
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14002b5c0
add rsp, 0xa0
pop rbx
ret

Function at 0x14000cd00
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x3b0
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rsp + 0x3a0], rax
mov rbp, rdx
mov rdi, rcx
mov ebx, 1
call fcn.140009120
mov rsi, rax
test rax, rax
je 0x14000ce99
mov rcx, rsi
mov qword [rsp + 0x48], rdi
call fcn.140009220
test rax, rax
je 0x14000ce78
mov qword [rsp + 0x3e0], r14
lea r14, str._s__s
cmp byte [rax], 0x2e
jne 0x14000cd86
cmp byte [rax + 1], 0
je 0x14000ce5f
cmp byte [rax], 0x2e
jne 0x14000cd86
cmp byte [rax + 1], 0x2e
jne 0x14000cd86
cmp byte [rax + 2], 0
je 0x14000ce5f
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x80]
mov qword [rsp + 0x28], rbp
lea rdx, [rsp + 0x40]
mov r9d, 0x104
mov qword [rsp + 0x20], r14
mov rcx, rdi
call fcn.140007970
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x78], rax
movups xmmword [rsp + 0x68], xmm0
cmp dword [rsp + 0x40], eax
jne 0x14000ce5d
lea r8, [rsp + 0x58]
mov rcx, rdi
lea rdx, [rsp + 0x80]
call fcn.140008f70
test eax, eax
jne 0x14000ce19
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14003d3fc
lea r9, [rsp + 0x80]
mov qword [rsp + 0x20], rax
lea r8, str.remove_directory
mov rcx, rdi
lea rdx, str._s:_mg_stat__s__failed:__s
call fcn.1400079a0
xor ebx, ebx
cmp qword [rsp + 0x70], 0
jne 0x14000ce5d
cmp dword [rsp + 0x78], 0
lea rdx, [rsp + 0x80]
je 0x14000ce3e
mov rcx, rdi
call fcn.14000cd00
test eax, eax
jne 0x14000ce5f
jmp 0x14000ce5d
lea r8, [rsp + 0x190]
call fcn.140008d70
lea rcx, [rsp + 0x190]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x14000ce5f
xor ebx, ebx
mov rcx, rsi
call fcn.140009220
test rax, rax
jne 0x14000cd62
mov r14, qword [rsp + 0x3e0]
mov rcx, qword [rsi]
cmp rcx, 0xffffffffffffffff
je 0x14000ce87
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, rsi
call fcn.14002da28
mov rcx, rbp
call fcn.140031f34
mov eax, ebx
mov rcx, qword [rsp + 0x3a0]
xor rcx, rsp
call fcn.14002b5c0
mov rbx, qword [rsp + 0x3e8]
add rsp, 0x3b0
pop rdi
pop rsi
pop rbp
ret
Function at 0x14000d280
Capabilities:
Read file on windows

Disassembly:
test rdx, rdx
je 0x14000d3f9
push rbx
push rsi
push rdi
push r14
mov eax, 0x2038
call fcn.14004f2b0
sub rsp, rax
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rsp + 0x2020], rax
mov rbx, r9
mov rsi, r8
mov r14, rdx
mov rdi, rcx
test rcx, rcx
je 0x14000d3dd
mov rax, qword [rdx]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
cmova rax, rcx
test r8, r8
jns 0x14000d2df
xor esi, esi
jmp 0x14000d2e6
cmp rsi, rax
cmovg rsi, rax
test rbx, rbx
jle 0x14000d3dd
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x14000d31b
test rax, rax
jle 0x14000d31b
sub rax, rsi
lea rdx, [rcx + rsi]
cmp rbx, rax
mov rcx, rdi
cmovg rbx, rax
mov r8, rbx
call fcn.14000a560
jmp 0x14000d3dd
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x14000d3dd
test rsi, rsi
jle 0x14000d390
call fcn.1400367a8
mov ecx, eax
xor r8d, r8d
mov rdx, rsi
call fcn.14003184c
cmp rax, 0xffffffffffffffff
jne 0x14000d390
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14003d3fc
mov r9, rax
lea r8, str.send_file_data
lea rdx, str._s:_fseeko___failed:__s
mov rcx, rdi
call fcn.1400079a0
lea r9, str.Error:_Unable_to_access_file_at_requested_position.
mov edx, 0x1f4
lea r8, [0x140059f14]
mov rcx, rdi
call fcn.140008820
jmp 0x14000d3dd
mov r9, qword [r14 + 0x10]
lea rcx, [rsp + 0x20]
mov eax, 0x2000
mov edx, 1
cmp rbx, rax
cmovb eax, ebx
movsxd r8, eax
call fcn.14003ab5c
mov rsi, rax
test eax, eax
jle 0x14000d3dd
movsxd r8, esi
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.14000a560
cmp eax, esi
jne 0x14000d3dd
cdqe
add qword [rdi + 0x4f0], rax
sub rbx, rax
test rbx, rbx
jg 0x14000d390
mov rcx, qword [rsp + 0x2020]
xor rcx, rsp
call fcn.14002b5c0
add rsp, 0x2038
pop r14
pop rdi
pop rsi
pop rbx
ret

Function at 0x14000d8e0
Capabilities:
Create directory

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x380
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rsp + 0x370], rax
xor r15d, r15d
mov r14, rcx
mov rsi, rdx
mov qword [rsp + 0x20], r15
xorps xmm0, xmm0
mov qword [rsp + 0x38], r15
lea rcx, [rdx + 2]
mov qword [rsp + 0x40], r15
lea ebp, [r15 + 1]
lea edx, [rbp + 0x2e]
movdqu xmmword [rsp + 0x28], xmm0
call fcn.14002c2d0
mov rdi, rax
test rax, rax
je 0x14000da11
mov qword [rsp + 0x3c0], rbx
nop word [rax + rax]
mov rbx, rdi
sub rbx, rsi
cmp rbx, 0x104
jae 0x14000da0a
mov r8, rbx
lea rcx, [rsp + 0x50]
mov rdx, rsi
call fcn.14002d2a0
lea r8, [rsp + 0x20]
mov byte [rsp + rbx + 0x50], r15b
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.140008f70
test eax, eax
jne 0x14000d9b4
lea r8, [rsp + 0x160]
lea rdx, [rsp + 0x50]
call fcn.140008d70
xor edx, edx
lea rcx, [rsp + 0x160]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x14000da03
cmp byte [rdi + 1], r15b
lea rcx, [rdi + 1]
mov eax, r15d
mov edx, 0x2f
cmovne eax, ebp
mov ebp, eax
call fcn.14002c2d0
mov rdi, rax
test rax, rax
jne 0x14000d950
mov eax, ebp
mov rbx, qword [rsp + 0x3c0]
mov rcx, qword [rsp + 0x370]
xor rcx, rsp
call fcn.14002b5c0
add rsp, 0x380
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov eax, 0xfffffffe
jmp 0x14000d9dc
mov eax, 0xffffffff
jmp 0x14000d9dc
mov eax, ebp
jmp 0x14000d9e4
Function at 0x140013b40
Capabilities:
Set socket configuration

Disassembly:
test rcx, rcx
je 0x140013c67
push rbx
mov eax, 0x2060
call fcn.14004f2b0
sub rsp, rax
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rsp + 0x2040], rax
mov qword [rsp + 0x2078], rdi
lea r9, [rsp + 0x30]
mov rbx, rcx
movaps xmmword [rsp + 0x2050], xmm6
mov rcx, qword [rcx + 0x4a8]
mov edi, 1
mov edx, 0xffff
mov dword [rsp + 0x30], 0x10001
mov dword [rsp + 0x20], 4
lea r8d, [rdi + 0x7f]
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x140013bd6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14003d3fc
mov r9, rax
lea r8, str.close_socket_gracefully
lea rdx, str._s:_setsockopt_SOL_SOCKET_SO_LINGER__failed:__s
mov rcx, rbx
call fcn.1400079a0
mov rcx, qword [rbx + 0x4a8]
mov edx, edi
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, qword [rbx + 0x4a8]
lea r8, [rsp + 0x34]
mov edx, 0x8004667e
mov dword [rsp + 0x34], edi
call qword [sym.imp.WS2_32.dll_ioctlsocket]
movsd xmm6, qword [0x1400603d0]
mov rdi, qword [rsp + 0x2078]
mov r9d, 0x2000
movsd qword [rsp + 0x20], xmm6
lea r8, [rsp + 0x40]
mov rdx, rbx
xor ecx, ecx
call fcn.140009c20
test eax, eax
jg 0x140013c10
mov rcx, qword [rbx + 0x4a8]
call qword [sym.imp.WS2_32.dll_closesocket]
movaps xmm6, xmmword [rsp + 0x2050]
mov qword [rbx + 0x4a8], 0xffffffffffffffff
mov rcx, qword [rsp + 0x2040]
xor rcx, rsp
call fcn.14002b5c0
add rsp, 0x2060
pop rbx
ret
Function at 0x140018a30
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0xc0
mov rax, qword [0x140067008]
xor rax, rsp
mov qword [rsp + 0xb0], rax
lea rax, [0x14007179c]
mov edx, 0x80
lea r9, [0x14007177c]
mov qword [rsp + 0x20], rax
lea r8, str.http:___s:_s_index.html
lea rcx, [rsp + 0x30]
call fcn.140001120
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x140018ac2
mov rax, qword [str.C:Program_Files__x86_GoogleChromeApplicationchrome.exe]
xor edi, edi
test rax, rax
je 0x140018ac2
xor ebx, ebx
lea rsi, str.C:Program_Files__x86_GoogleChromeApplicationchrome.exe
nop dword [rax]
mov rdx, rax
lea rcx, [0x140059f14]
call fcn.140002830
test eax, eax
jne 0x140018b0f
mov rax, qword [rsi + rbx*8 + 8]
inc rbx
inc edi
test rax, rax
jne 0x140018aa0
xor r9d, r9d
lea r8, [rsp + 0x30]
mov dword [rsp + 0x28], 5
lea rdx, str.open
xor ecx, ecx
mov qword [rsp + 0x20], 0
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.14002b5c0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
movsxd r8, edi
lea r9, [rsp + 0x30]
mov r8, qword [rsi + r8*8]
jmp 0x140018aca
Function at 0x140043184
Capabilities:
Delete directory

Disassembly:
sub rsp, 0x28
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x1400431a4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140036aec
or eax, 0xffffffff
jmp 0x1400431a6
xor eax, eax
add rsp, 0x28
ret