joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400336e4
Capabilities:
Create thread

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, 0x30
movzx r14d, byte [rcx + 0x5b]
xor edi, edi
xor esi, esi
mov byte [rcx + 0x58], 1
mov rbx, rcx
lea ebp, [r14 - 1]
test ebp, ebp
jle 0x140033750
movzx eax, byte [rbx + 0x5a]
lea rdi, [rbx + 0x60]
inc eax
add eax, esi
cdq
idiv ebp
movsxd rax, edx
imul rcx, rax, 0x68
add rdi, rcx
cmp dword [rdi + 8], 0
je 0x140033744
mov rcx, rdi
call fcn.140032a88
test eax, eax
jne 0x14003389c
cmp qword [rdi], 0
je 0x140033750
inc esi
cmp esi, ebp
jl 0x140033715
lea r8, [rbx + 0x38]
cmp esi, ebp
jne 0x140033770
imul rcx, r14, 0x68
mov rdx, r8
add rcx, 0xfffffffffffffff8
add rcx, rbx
call fcn.1400333c8
jmp 0x14003389c
mov r9, qword [rdi + 0x28]
mov rcx, rdi
movups xmm0, xmmword [r8]
sub rcx, rbx
movabs rax, 0x4ec4ec4ec4ec4ec5
sub rcx, 0x60
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov byte [rbx + 0x5a], dl
movups xmmword [rdi + 0x20], xmm0
movsd xmm1, qword [r8 + 0x10]
movsd qword [rdi + 0x30], xmm1
and qword [r8], 0
and dword [rbx + 0x48], 0
test r9, r9
je 0x1400337d5
mov qword [rbx + 0x40], r9
mov rcx, r9
mov rax, qword [0x140100648]
call qword [case.0x140008940.0]
mov dword [rbx + 0x54], eax
jmp 0x1400337ee
cmp qword [rbx + 0x40], 0
je 0x1400337ee
movsxd rcx, dword [rbx + 0x54]
call fcn.140008f24
mov qword [rbx + 0x40], rax
test rax, rax
je 0x140033806
and qword [rdi], 0
mov esi, 0x28
mov ecx, esi
call fcn.140008f24
mov rbx, rax
test rax, rax
jne 0x140033810
mov eax, 7
jmp 0x14003389c
cmp dword [0x140100604], 0
je 0x14003386d
mov rax, qword [0x140100798]
test rax, rax
je 0x140033830
mov ecx, 0xc8
call qword [case.0x140008940.0]
test eax, eax
jne 0x14003386d
lea rax, [fcn.1400336c0]
mov qword [rbx + 0x18], rdi
mov qword [rbx + 0x10], rax
lea r8, [0x14000adc0]
lea rax, [rbx + 8]
mov r9, rbx
mov qword [rsp + 0x28], rax
xor edx, edx
and dword [rsp + 0x20], 0
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbx], rax
test rax, rax
jne 0x14003387b
mov r8, rsi
xor edx, edx
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_memset]
cmp qword [rbx + 0x10], 0
jne 0x140033897
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rcx, rdi
mov dword [rbx + 8], eax
call fcn.1400336c0
mov qword [rbx + 0x20], rax
mov qword [rdi], rbx
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
Function at 0x140033b80
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
cmp dword [rcx + 0x20], 0
mov rbx, rcx
je 0x140033c89
mov rcx, qword [rcx]
call fcn.140032a88
mov edx, eax
test eax, eax
jne 0x140033caa
movups xmm1, xmmword [rbx + 0x28]
movups xmm0, xmmword [rbx + 0x38]
movdqu xmmword [rbx + 0x38], xmm1
movdqu xmmword [rbx + 0x28], xmm0
mov rcx, qword [rbx + 0x10]
cmp qword [rbx + 0x30], rcx
je 0x140033ca3
mov rsi, qword [rbx]
lea ecx, [rax + 0x28]
and qword [rsi], 0
call fcn.140008f24
mov rdi, rax
test rax, rax
jne 0x140033bed
lea edx, [rax + 7]
jmp 0x140033caa
cmp dword [0x140100604], 0
je 0x140033c4a
mov rax, qword [0x140100798]
test rax, rax
je 0x140033c0d
mov ecx, 0xc8
call qword [case.0x140008940.0]
test eax, eax
jne 0x140033c4a
lea rax, [0x140033b60]
mov qword [rdi + 0x18], rbx
mov qword [rdi + 0x10], rax
lea r8, [0x14000adc0]
lea rax, [rdi + 8]
mov r9, rdi
mov qword [rsp + 0x28], rax
xor edx, edx
and dword [rsp + 0x20], 0
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
jne 0x140033c59
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 0x28]
call qword [sym.imp.VCRUNTIME140.dll_memset]
cmp qword [rdi + 0x10], 0
jne 0x140033c82
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rcx, rbx
mov dword [rdi + 8], eax
call fcn.140033a60
movsxd rcx, eax
mov rax, qword [rbx]
mov dword [rax + 8], 1
mov qword [rdi + 0x20], rcx
mov qword [rsi], rdi
xor edx, edx
jmp 0x140033caa
call fcn.140033a60
movups xmm0, xmmword [rbx + 0x38]
mov edx, eax
movdqu xmmword [rbx + 0x28], xmm0
mov rax, qword [rbx + 0x10]
cmp qword [rbx + 0x30], rax
jne 0x140033caa
mov dword [rbx + 0x1c], 1
mov rbx, qword [rsp + 0x40]
mov eax, edx
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x140033ffc
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x30
mov rax, qword [rcx + 0x48]
xor ebx, ebx
mov rsi, rcx
test rax, rax
je 0x1400340df
cmp dword [rax + 0x20], ebx
je 0x1400340d8
mov r14, qword [rax]
lea ecx, [rbx + 0x28]
mov qword [r14], rbx
call fcn.140008f24
mov rdi, rax
test rax, rax
jne 0x14003404a
lea ebx, [rax + 7]
jmp 0x1400340df
cmp dword [0x140100604], ebx
je 0x1400340a9
mov rax, qword [0x140100798]
test rax, rax
je 0x14003406b
mov ecx, 0xc8
call qword [case.0x140008940.0]
jmp 0x14003406d
mov eax, ebx
test eax, eax
jne 0x1400340a9
lea rax, [fcn.140033fd0]
mov qword [rdi + 0x18], rsi
mov qword [rdi + 0x10], rax
lea r8, [0x14000adc0]
lea rax, [rdi + 8]
mov r9, rdi
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], ebx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
jne 0x1400340b8
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 0x28]
call qword [sym.imp.VCRUNTIME140.dll_memset]
cmp qword [rdi + 0x10], rbx
jne 0x1400340d3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rcx, rsi
mov dword [rdi + 8], eax
call fcn.140033fd0
mov qword [rdi + 0x20], rax
mov qword [r14], rdi
jmp 0x1400340df
call fcn.140033ecc
mov ebx, eax
mov rsi, qword [rsp + 0x48]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r14
ret
Function at 0x140076124
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140100070]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rdi, rcx
xor ebx, ebx
cmp qword [rcx + 0x68], rbx
je 0x14007629a
cmp byte [rcx + 0x71], bl
je 0x14007629a
mov rax, qword [rcx]
or edx, 0xffffffff
mov rax, qword [rax + 0x18]
call qword [case.0x140008940.0]
cmp eax, 0xffffffff
jne 0x140076189
xor al, al
jmp 0x14007629f
xor r8d, r8d
lea edx, [r8 + 8]
lea rcx, [rbp - 0x30]
call fcn.140074db0
nop
mov esi, 1
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rcx, qword [rbp - 0x30]
lea r8, [rbp - 0x30]
cmovae r8, qword [rbp - 0x30]
mov r9, qword [rbp - 0x20]
add r9, rcx
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rdi + 0x74]
mov rcx, qword [rdi + 0x68]
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 ecx, eax
test eax, eax
je 0x1400761e5
sub ecx, esi
je 0x1400761e8
cmp ecx, 2
jne 0x140076255
jmp 0x140076252
mov byte [rdi + 0x71], bl
lea rax, [rbp - 0x30]
mov r9, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
cmovae rax, r9
mov r14, qword [rbp - 0x40]
sub r14, rax
je 0x140076229
lea rcx, [rbp - 0x30]
cmp rdx, 0x10
cmovae rcx, r9
mov r9, qword [rdi + 0x80]
mov r8, r14
mov rdx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp r14, rax
jne 0x14007624f
cmp byte [rdi + 0x71], bl
je 0x14007624c
test r14, r14
jne 0x14007619f
xor r8d, r8d
lea edx, [r14 + 8]
lea rcx, [rbp - 0x30]
call fcn.140075edc
jmp 0x14007619f
mov bl, sil
mov sil, bl
mov bl, sil
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x140076296
inc rdx
mov r9, qword [rbp - 0x30]
mov rax, r9
cmp rdx, 0x1000
jb 0x14007628e
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14007628e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r9
call fcn.1400a9870
mov al, bl
jmp 0x14007629f
mov eax, 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400a95a0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x14007cd94
Capabilities:
Delete file
Enumerate files on windows

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x238]
sub rsp, 0x310
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x140100070]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov rdi, rcx
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x68]
call fcn.14007d448
nop
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
lea rdx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbx, rax
xor esi, esi
mov qword [rsp + 0x38], rsi
lea r15d, [rsi + 7]
mov edx, r15d
mov qword [rsp + 0x40], rdx
mov word [rsp + 0x28], si
mov r14d, 0x1000
cmp rax, 0xffffffffffffffff
je 0x14007cf2a
lea rdx, [rbp - 0x24]
lea rcx, [rbp - 0x78]
call fcn.14007ef18
nop
lea r8, [rbp - 0x78]
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.14007d448
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.14007ee6c
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14007ce8d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, r14
jb 0x14007ce88
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007cfbd
call fcn.1400a9870
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], r15
mov word [rsp + 0x48], si
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x14007ced8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, r14
jb 0x14007ced3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007cfbd
call fcn.1400a9870
test byte [rbp - 0x50], 4
jne 0x14007cf10
lea rcx, [rsp + 0x28]
cmp qword [rsp + 0x40], 8
cmovae rcx, qword [rsp + 0x28]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x14007cf10
lea rcx, [rsp + 0x28]
cmp qword [rsp + 0x40], 8
cmovae rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14007ce23
mov rdx, qword [rsp + 0x40]
cmp rbx, 0xffffffffffffffff
je 0x14007cf3e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x14007cf73
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, r14
jb 0x14007cf6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007cfb6
call fcn.1400a9870
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], r15
mov word [rsp + 0x28], si
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x14007cfc9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, r14
jb 0x14007cfc4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14007cfc4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1400a9870
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.1400a95a0
mov rbx, qword [rsp + 0x350]
add rsp, 0x310
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x14007d304
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
mov byte [rax + 0x10], dl
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0x90
mov qword [rbp - 9], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rdi
mov rbx, rcx
cmp qword [rcx + 0x18], 8
jb 0x14007d333
mov rcx, qword [rcx]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
je 0x14007d345
mov al, 1
jmp 0x14007d433
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0x17]
call sub.VCRUNTIME140.dll_memset
mov dword [rbp + 0x1f], 3
xorps xmm0, xmm0
movdqu xmmword [rbp - 1], xmm0
xor edi, edi
mov qword [rbp + 0xf], rdi
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14007d376
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
lea r9, [rcx + rax*2]
jb 0x14007d383
mov rbx, qword [rbx]
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp - 1]
call fcn.1400818f8
mov word [rbp + 0x6f], di
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x20], rax
mov r8, qword [rbp + 7]
lea rdx, [rbp + 0x67]
lea rcx, [rbp - 1]
call fcn.14007e810
mov word [rbp + 0x6f], di
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x20], rax
mov r8, qword [rbp + 7]
lea rdx, [rbp + 0x67]
lea rcx, [rbp - 1]
call fcn.14007e810
mov rax, qword [rbp - 1]
mov qword [rbp + 0x27], rax
mov eax, 0x494
mov word [rbp + 0x37], ax
lea rcx, [rbp + 0x17]
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
sete bl
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x14007d431
mov rdx, qword [rbp + 0xf]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007d42c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14007d42c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400a9870
mov al, bl
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret

Function at 0x14007d6e8
Capabilities:
Check if file exists
Create directory
Delete file

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
xor edi, edi
mov rbx, rcx
cmp qword [rcx + 0x10], rdi
je 0x14007d78d
cmp qword [rcx + 0x18], 8
jb 0x14007d70b
mov rcx, qword [rcx]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x14007d75d
cmp qword [rbx + 0x18], 8
mov rcx, rbx
jb 0x14007d723
mov rcx, qword [rbx]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x14007d75d
cmp qword [rbx + 0x18], 8
mov rcx, rbx
jb 0x14007d73a
mov rcx, qword [rbx]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x14007d75d
cmp qword [rbx + 0x18], 8
mov rcx, rbx
jb 0x14007d752
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp eax, 1
jne 0x14007d78d
cmp qword [rbx + 0x18], 8
jb 0x14007d767
mov rbx, qword [rbx]
xor r8d, r8d
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov ecx, eax
test eax, eax
je 0x14007d785
sub ecx, 0x50
je 0x14007d785
cmp ecx, 0x67
jne 0x14007d788
mov dil, 1
mov al, dil
jmp 0x14007d78f
xor al, al
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x14007d79c
Capabilities:
Check os version

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x180
mov rax, qword [0x140100070]
xor rax, rsp
mov qword [rsp + 0x170], rax
xor ebx, ebx
mov r14, r8
cmp qword [rcx + 0x18], 8
mov rsi, rdx
jb 0x14007d7ce
mov rcx, qword [rcx]
xor r9d, r9d
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
xor edx, edx
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x14007d8ca
lea rcx, [0x1400e0b38]
mov qword [rsp + 0x48], rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x50], 0x114
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [rsp + 0x54], 5
mov rcx, rdi
jae 0x14007d863
lea rdx, [0x1400d7348]
mov dword [rsp + 0x40], ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14007d883
lea rdx, [rsp + 0x40]
mov rcx, rbp
call qword [case.0x140008940.0]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x4c], eax
jmp 0x14007d883
lea rdx, str.GetFileSizeEx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14007d883
lea rdx, [rsp + 0x48]
mov rcx, rbp
call qword [case.0x140008940.0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test rsi, rsi
jne 0x14007d8a5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0x16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo]
jmp 0x14007d8b9
mov r8d, 8
lea rdx, [rsp + 0x48]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov rax, qword [rsi]
mov rcx, rbp
mov qword [r14], rax
mov bl, 1
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400a95a0
add rsp, 0x180
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret

Function at 0x14007d8ec
Capabilities:
Copy file

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x18], 8
mov rbx, rdx
mov rdi, rcx
jb 0x14007d906
mov rcx, qword [rcx]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x14007d95e
cmp qword [rbx + 0x18], 8
mov rcx, rbx
jb 0x14007d91d
mov rcx, qword [rbx]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x14007d933
mov rcx, rbx
call fcn.14007d304
test al, al
je 0x14007d95e
cmp qword [rbx + 0x18], 8
jb 0x14007d93d
mov rbx, qword [rbx]
cmp qword [rdi + 0x18], 8
jb 0x14007d947
mov rdi, qword [rdi]
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CopyFileW]
cmp eax, 1
sete al
jmp 0x14007d960
xor al, al
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140080514
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140100070]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rdi, rcx
xor ebx, ebx
cmp qword [rcx + 0x68], rbx
je 0x14008068e
cmp byte [rcx + 0x72], bl
je 0x14008068e
mov rax, qword [rcx]
mov esi, 0xffff
mov edx, esi
mov rax, qword [rax + 0x18]
call qword [case.0x140008940.0]
cmp si, ax
jne 0x14008057d
xor al, al
jmp 0x140080693
xor r8d, r8d
lea edx, [r8 + 8]
lea rcx, [rbp - 0x30]
call fcn.140074db0
nop
mov esi, 1
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rcx, qword [rbp - 0x30]
lea r8, [rbp - 0x30]
cmovae r8, qword [rbp - 0x30]
mov r9, qword [rbp - 0x20]
add r9, rcx
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rdi + 0x74]
mov rcx, qword [rdi + 0x68]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_wchar_t__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
mov ecx, eax
test eax, eax
je 0x1400805d9
sub ecx, esi
je 0x1400805dc
cmp ecx, 2
jne 0x140080649
jmp 0x140080646
mov byte [rdi + 0x72], bl
lea rax, [rbp - 0x30]
mov r9, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
cmovae rax, r9
mov r14, qword [rbp - 0x40]
sub r14, rax
je 0x14008061d
lea rcx, [rbp - 0x30]
cmp rdx, 0x10
cmovae rcx, r9
mov r9, qword [rdi + 0x80]
mov r8, r14
mov rdx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp r14, rax
jne 0x140080643
cmp byte [rdi + 0x72], bl
je 0x140080640
test r14, r14
jne 0x140080593
xor r8d, r8d
lea edx, [r14 + 8]
lea rcx, [rbp - 0x30]
call fcn.140075edc
jmp 0x140080593
mov bl, sil
mov sil, bl
mov bl, sil
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x14008068a
inc rdx
mov r9, qword [rbp - 0x30]
mov rax, r9
cmp rdx, 0x1000
jb 0x140080682
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140080682
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r9
call fcn.1400a9870
mov al, bl
jmp 0x140080693
mov eax, 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400a95a0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x140082638
Capabilities:
Connect to http server

Disassembly:
push rbx
sub rsp, 0x40
lea rdx, [rcx + 0x80]
mov rbx, rcx
cmp qword [rdx + 0x18], 8
jb 0x140082652
mov rdx, qword [rdx]
and qword [rsp + 0x38], 0
xor r9d, r9d
and dword [rsp + 0x30], 0
movzx r8d, word [rcx + 0x3c]
mov rcx, qword [rcx]
mov dword [rsp + 0x28], 3
and qword [rsp + 0x20], 0
call qword [sym.imp.WININET.dll_InternetConnectW]
mov qword [rbx + 8], rax
mov rcx, rax
test rax, rax
je 0x1400826e3
lea r8, [rbx + 0xa0]
cmp qword [r8 + 0x18], 8
jb 0x140082699
mov r8, qword [r8]
lea rdx, [rbx + 0xc0]
cmp qword [rdx + 0x18], 8
jb 0x1400826aa
mov rdx, qword [rdx]
xor eax, eax
mov r9d, 0x800000
cmp dword [rbx + 0x2c], 4
cmove eax, r9d
and qword [rsp + 0x38], 0
mov dword [rsp + 0x30], eax
xor r9d, r9d
and qword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
test rax, rax
mov qword [rbx + 0x10], rax
setne al
add rsp, 0x40
pop rbx
ret

Function at 0x1400830ac
Capabilities:
Read data from internet
Receive data

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0x50
mov qword [rax - 0x38], 0xfffffffffffffffe
and dword [rax - 0x48], 0
and qword [rsp + 0x28], 0
and dword [rsp + 0x80], 0
mov rsi, qword [rsp + 0x70]
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x80]
mov rcx, qword [rsi + 0x10]
call qword [sym.imp.WININET.dll_InternetQueryDataAvailable]
mov ebx, eax
mov dword [rsp + 0x88], eax
test eax, eax
je 0x1400831a8
mov ecx, dword [rsp + 0x80]
inc ecx
call fcn.1400a98bc
mov rdi, rax
mov qword [rsp + 0x28], rax
mov r8d, dword [rsp + 0x80]
inc r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea r9, [rsp + 0x20]
mov r8d, dword [rsp + 0x80]
mov rdx, rdi
mov rcx, qword [rsi + 0x10]
call qword [sym.imp.WININET.dll_InternetReadFile]
mov ebx, eax
mov dword [rsp + 0x88], eax
test eax, eax
jne 0x140083162
mov dword [rsp + 0x80], eax
jmp 0x14008317e
mov eax, dword [rsp + 0x80]
test eax, eax
je 0x14008317e
mov r8d, eax
mov rdx, rdi
mov rcx, qword [rsp + 0x78]
call fcn.1400760a4
nop
jmp 0x14008318c
mov rcx, rdi
call fcn.1400a9870
and qword [rsp + 0x28], 0
cmp dword [rsp + 0x80], 0
ja 0x1400830d0
test ebx, ebx
setne al
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret