joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180010450
Capabilities:
Get file version info

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x6a0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov rax, qword [0x18008b590]
xor rax, rsp
mov qword [rsp + 0x690], rax
mov rbx, rdx
mov rsi, rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rdx
xor r13d, r13d
mov dword [rsp + 0x34], r13d
mov r9, qword [rdx + 0x18]
test r9, r9
jne 0x1800104bb
mov r8d, 0x10e
lea rdx, [rsp + 0x70]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
jmp 0x18001050b
cmp qword [rdx + 0x20], 8
jb 0x1800104c8
mov rdi, qword [rdx + 8]
jmp 0x1800104cc
lea rdi, [rdx + 8]
mov edx, r13d
test r9, r9
je 0x180010505
lea rcx, [rsp + 0x70]
lea rax, [rsp + 0x70]
sub rdi, rax
nop word [rax + rax]
movzx eax, word [rdi + rcx]
mov word [rcx], ax
inc edx
add rcx, 2
movsxd rax, edx
cmp rax, r9
jb 0x1800104f0
mov word [rsp + r9*2 + 0x70], r13w
xor eax, eax
or r14, 0xffffffffffffffff
mov rcx, r14
lea rdi, [rsp + 0x70]
repne scasw ax, word [rdi]
not rcx
mov eax, 2
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.180058204
mov rbp, rax
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x70]
sub rax, rcx
nop word [rax + rax]
movzx ecx, word [rdx]
mov word [rax + rdx], cx
add rdx, 2
test cx, cx
jne 0x180010550
mov dword [rsp + 0x30], r13d
lea rdx, [rsp + 0x30]
mov rcx, rbp
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov edi, eax
mov ecx, eax
call fcn.180058204
mov r12, rax
mov r9, rax
mov r8d, edi
xor edx, edx
mov rcx, rbp
call sub.VERSION.dll_GetFileVersionInfoW
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x50]
lea rdx, str.VarFileInfoTranslation
mov rcx, r12
call sub.VERSION.dll_VerQueryValueW
mov qword [rsi + 0x20], 7
mov qword [rsi + 0x18], r13
mov word [rsi + 8], r13w
mov dword [rsp + 0x34], 1
lea r9, [rsp + 0x3c]
lea r8, [rsp + 0x40]
lea rdx, [0x18007c86c]
mov rcx, r12
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x180010655
mov word [rsp + 0x290], r13w
xor edx, edx
mov r8d, 0x3fe
lea rcx, [rsp + 0x292]
call fcn.18005ce60
mov rcx, qword [rsp + 0x40]
movzx eax, word [rcx + 0xc]
movzx edx, word [rcx + 0xe]
movzx r9d, word [rcx + 8]
movzx r8d, word [rcx + 0xa]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edx
lea rdx, [0x18007c870]
lea rcx, [rsp + 0x290]
call fcn.180058d9c
xor eax, eax
mov rcx, r14
lea rdi, [rsp + 0x290]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x290]
mov rcx, rsi
call fcn.180006be0
mov rcx, rbp
call fcn.180058a10
mov rcx, r12
call fcn.180058a10
nop
cmp qword [rbx + 0x20], 8
jb 0x180010676
mov rcx, qword [rbx + 8]
call fcn.18005821c
mov qword [rbx + 0x20], 7
mov qword [rbx + 0x18], r13
mov word [rbx + 8], r13w
mov rax, rsi
mov rcx, qword [rsp + 0x690]
xor rcx, rsp
call fcn.180058240
lea r11, [rsp + 0x6a0]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
Function at 0x180014210
Capabilities:
Delete file

Disassembly:
push rdi
push r12
push r13
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rsi
mov r12, r9
mov r13, r8
mov rbp, rdx
mov rsi, rcx
mov ecx, 0xf8
call fcn.180058910
mov qword [rsp + 0x68], rax
test rax, rax
je 0x18001425f
mov rcx, rax
call fcn.18000d470
mov rbx, rax
jmp 0x180014261
xor ebx, ebx
mov qword [rsp + 0x68], rbx
test rbx, rbx
je 0x180014275
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
mov r8, qword [rbp + 0x58]
mov rdx, rbp
mov rcx, rbx
call fcn.180018440
mov edi, eax
test eax, eax
je 0x18001429f
test rbx, rbx
je 0x180014298
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
mov eax, edi
jmp 0x180014374
mov r8, qword [rsi + 0xb0]
mov rdx, qword [rsi + 0xb8]
mov rcx, rbx
call fcn.18000d530
mov r8, r12
mov rdx, rbp
mov rcx, rbx
call fcn.180018620
mov edi, eax
test eax, eax
je 0x1800142de
test rbx, rbx
je 0x1800142d7
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
mov eax, edi
jmp 0x180014374
mov qword [rsp + 0x20], r12
mov r9, r13
mov r8, rbx
mov rdx, rbp
mov rcx, rsi
call fcn.180014160
mov edi, eax
test eax, eax
js 0x180014324
cmp eax, 1
je 0x180014324
mov rcx, rbx
call fcn.180019570
mov edi, eax
mov rcx, rsi
call fcn.1800120d0
nop
test rbx, rbx
je 0x180014320
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
mov eax, edi
jmp 0x180014374
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x18001433b
mov qword [rbx + 0x58], 0
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp qword [rbx + 0xb0], 8
jb 0x18001434e
mov rcx, qword [rbx + 0x98]
jmp 0x180014355
lea rcx, [rbx + 0x98]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rcx, rsi
call fcn.1800120d0
nop
test rbx, rbx
je 0x180014372
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov eax, edi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop r13
pop r12
pop rdi
ret
Function at 0x180015470
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x400
or r9d, 0xffffffff
xor r11d, r11d
mov r10, rdx
mov edx, r11d
lea rbx, [rsp]
nop word [rax + rax]
mov eax, edx
mov ecx, 8
test al, 1
je 0x1800154a4
shr eax, 1
xor eax, 0xedb88320
jmp 0x1800154a6
shr eax, 1
sub rcx, 1
jne 0x180015497
inc edx
mov dword [rbx], eax
add rbx, 4
cmp edx, 0x100
jl 0x180015490
test r8, r8
je 0x1800154e8
test r10b, 7
je 0x1800154e8
movzx ecx, byte [r10]
movzx eax, r9b
inc r10
xor rcx, rax
mov eax, r9d
mov r9d, dword [rsp + rcx*4]
shr eax, 8
xor r9d, eax
sub r8, 1
jne 0x1800154c1
cmp r8, 8
jb 0x18001557e
mov rbx, r8
shr rbx, 3
mov rax, rbx
imul rax, rax, 0xfffffffffffffff8
add r8, rax
nop word [rax + rax]
xor r9d, dword [r10]
add r10, 8
movzx eax, r9b
shr r9d, 8
mov ecx, dword [rsp + rax*4]
xor ecx, r9d
movzx eax, cl
shr ecx, 8
mov edx, dword [rsp + rax*4]
xor edx, ecx
movzx eax, dl
shr edx, 8
mov ecx, dword [rsp + rax*4]
xor ecx, edx
movzx eax, cl
shr ecx, 8
mov edx, dword [rsp + rax*4]
xor edx, dword [r10 - 4]
xor edx, ecx
movzx eax, dl
shr edx, 8
mov ecx, dword [rsp + rax*4]
xor ecx, edx
movzx eax, cl
shr ecx, 8
mov edx, dword [rsp + rax*4]
xor edx, ecx
movzx eax, dl
shr edx, 8
mov ecx, dword [rsp + rax*4]
xor ecx, edx
movzx eax, cl
shr ecx, 8
mov r9d, dword [rsp + rax*4]
xor r9d, ecx
sub rbx, 1
jne 0x180015510
test r8, r8
je 0x1800155b1
nop word [rax + rax]
movzx edx, byte [r11 + r10]
movzx eax, r9b
mov ecx, r9d
xor rdx, rax
shr ecx, 8
inc r11
mov r9d, dword [rsp + rdx*4]
xor r9d, ecx
cmp r11, r8
jb 0x180015590
mov eax, r9d
add rsp, 0x400
pop rbx
ret

Function at 0x1800155c0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x400
mov r11d, edx
mov rbx, rcx
xor r9d, r9d
lea r10, [rsp]
nop word [rax + rax]
mov eax, r9d
mov r8d, 8
nop dword [rax]
test al, 1
je 0x1800155fd
shr eax, 1
xor eax, 0xedb88320
jmp 0x1800155ff
shr eax, 1
sub r8, 1
jne 0x1800155f0
inc r9d
mov dword [r10], eax
add r10, 4
cmp r9d, 0x100
jl 0x1800155e0
or r8d, 0xffffffff
test edx, edx
je 0x180015640
movzx eax, byte [rbx]
movzx edx, r8b
mov ecx, r8d
xor rdx, rax
shr ecx, 8
inc rbx
mov r8d, dword [rsp + rdx*4]
xor r8d, ecx
sub r11d, 1
jne 0x180015620
not r8d
mov eax, r8d
add rsp, 0x400
pop rbx
ret
Function at 0x180016fa0
Capabilities:
Get file size
Read file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x50
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov rbp, rdx
test rdx, rdx
jne 0x180016fca
mov eax, 0x80070057
jmp 0x180017154
xor r13d, r13d
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r13 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
mov qword [rsp + 0xa8], rax
cmp rax, 0xffffffffffffffff
jne 0x18001700d
call fcn.180007940
nop
jmp 0x180017154
mov qword [rsp + 0xa0], r13
lea rdx, [rsp + 0xa0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x180017041
call fcn.180007940
mov edi, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
jmp 0x180017154
lea rdx, [0x18008df40]
mov r14d, 0x100000
mov rcx, r14
call fcn.180058a18
mov rdi, rax
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x180017076
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x8007000e
jmp 0x180017154
mov rsi, r13
cmp qword [rsp + 0xa0], r13
jbe 0x180017140
nop word [rax + rax]
mov r8, r14
xor edx, edx
mov rcx, rdi
call fcn.18005ce60
mov r11, qword [rsp + 0xa0]
sub r11, rsi
cmp r11, r14
cmova r11d, r14d
mov dword [rsp + 0x98], r13d
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x98]
mov r8d, r11d
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x180017123
mov rax, qword [rbp]
xor r9d, r9d
mov r8d, dword [rsp + 0x98]
mov rdx, rdi
mov rcx, rbp
call qword [rax + 0x18]
mov r12d, eax
test eax, eax
jne 0x18001710c
mov eax, dword [rsp + 0x98]
add rsi, rax
cmp rsi, qword [rsp + 0xa0]
jb 0x180017090
jmp 0x180017140
mov rcx, rdi
call fcn.180058a10
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, r12d
jmp 0x180017154
call fcn.180007940
mov esi, eax
mov rcx, rdi
call fcn.180058a10
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
jmp 0x180017154
mov rcx, rdi
call fcn.180058a10
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret

Function at 0x180017430
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, r9
test r9, r9
je 0x180017443
mov dword [r9], eax
test r8d, r8d
je 0x18001747c
mov rcx, qword [rcx + 0x10]
lea r9, [rsp + 0x50]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x18001746f
call fcn.180007940
add rsp, 0x30
pop rbx
ret
test rbx, rbx
je 0x18001747a
mov eax, dword [rsp + 0x50]
mov dword [rbx], eax
xor eax, eax
add rsp, 0x30
pop rbx
ret

Function at 0x180017490
Capabilities:
Clear file content

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx]
xor r9d, r9d
xor r8d, r8d
mov rbx, rcx
call qword [rax + 0x20]
test eax, eax
jne 0x1800174c3
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x1800174c1
add rsp, 0x20
pop rbx
jmp fcn.180007940
xor eax, eax
add rsp, 0x20
pop rbx
ret
Function at 0x1800178d0
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
xor edi, edi
mov rbx, rcx
mov rcx, qword [rcx + 0x10]
cmp rcx, 0xffffffffffffffff
mov eax, 1
cmovne edi, eax
cmp rcx, 0xffffffffffffffff
je 0x180017903
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x10], 0xffffffffffffffff
test edi, edi
je 0x18001794b
cmp qword [rbx + 0x60], 0
jne 0x180017921
cmp qword [rbx + 0x40], 8
jb 0x18001791b
mov rcx, qword [rbx + 0x28]
jmp 0x180017932
lea rcx, [rbx + 0x28]
jmp 0x180017932
cmp qword [rbx + 0x68], 8
jb 0x18001792e
mov rcx, qword [rbx + 0x50]
jmp 0x180017932
lea rcx, [rbx + 0x50]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x18001794b
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.180007940
xor eax, eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x180017960
Capabilities:
Check if file exists
Delete file
Move file

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 0x10]
cmp rcx, 0xffffffffffffffff
je 0x180017981
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x10], 0xffffffffffffffff
cmp qword [rbx + 0x60], 0
je 0x1800179f4
cmp qword [rbx + 0x40], 8
jb 0x180017995
mov rcx, qword [rbx + 0x28]
jmp 0x180017999
lea rcx, [rbx + 0x28]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1800179c8
cmp qword [rbx + 0x40], 8
jb 0x1800179b0
mov rcx, qword [rbx + 0x28]
jmp 0x1800179b4
lea rcx, [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1800179c8
add rsp, 0x20
pop rbx
jmp fcn.180007940
cmp qword [rbx + 0x40], 8
jb 0x1800179d5
mov rdx, qword [rbx + 0x28]
jmp 0x1800179d9
lea rdx, [rbx + 0x28]
cmp qword [rbx + 0x68], 8
jb 0x1800179e6
mov rcx, qword [rbx + 0x50]
jmp 0x1800179ea
lea rcx, [rbx + 0x50]
call qword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x1800179be
xor eax, eax
add rsp, 0x20
pop rbx
ret
Function at 0x18001aaf0
Capabilities:
Extract resource via kernel32 functions
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x40
mov rax, rdx
xor r9d, r9d
mov rdi, rcx
mov qword [rsp + 0x30], 0
lea r8d, [r9 + 3]
mov edx, 0xc0000000
mov rcx, rax
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x18001ab44
xor eax, eax
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x50], rbx
lea r8d, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rbx, rax
test rax, rax
jne 0x18001ab7a
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rbx, qword [rsp + 0x50]
xor eax, eax
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
lea rdx, str.SFXJPG
mov r9d, 0x409
mov r8d, 0xce
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
test rax, rax
jne 0x18001abb6
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rbx, qword [rsp + 0x50]
xor eax, eax
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
mov rdx, rax
mov rcx, rbx
mov qword [rsp + 0x58], rbp
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_BeginUpdateResourceW]
mov rbp, rax
test rax, rax
je 0x18001ac9d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, eax
mov edi, eax
call fcn.180058204
mov dword [rsp + 0x60], 0
mov rbx, rax
test rax, rax
je 0x18001ac31
lea r9, [rsp + 0x60]
mov r8d, edi
mov rdx, rax
mov rcx, rsi
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x18001ac87
cmp edi, dword [rsp + 0x60]
jne 0x18001ac87
lea rdx, str.SFXJPG
mov r9d, 0x409
mov r8d, 0xce
mov rcx, rbp
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_UpdateResourceW]
xor edx, edx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_EndUpdateResourceW]
test eax, eax
je 0x18001ac95
mov rcx, rbx
call fcn.180058a10
mov eax, 1
jmp 0x18001ac9f
mov edx, 1
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_EndUpdateResourceW]
mov rcx, rbx
call fcn.180058a10
xor eax, eax
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
Function at 0x18001acc0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x70
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0xa0], rbx
mov rax, qword [0x18008b590]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rbx, rdx
mov rbp, rcx
mov edx, 0x18
mov r9d, 0x409
lea r8d, [rdx - 0x17]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
mov rsi, rax
test rax, rax
jne 0x18001ad1e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x18001ae99
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
movsxd rdi, eax
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov qword [rsp + 0x58], 0xf
mov qword [rsp + 0x50], 0
mov byte [rsp + 0x40], 0
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.180001c00
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, str._asInvoker_
repne scasb al, byte [rdi]
not rcx
lea r9, [rcx - 1]
xor r8d, r8d
lea rdx, str._asInvoker_
lea rcx, [rsp + 0x38]
call fcn.18001b7e0
mov rdx, rax
cmp rax, 0xffffffffffffffff
jne 0x18001adbf
cmp qword [rsp + 0x58], 0x10
jb 0x18001adb8
mov rcx, qword [rsp + 0x40]
call fcn.18005821c
xor eax, eax
jmp 0x18001ae99
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, str._asInvoker_
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
or rcx, 0xffffffffffffffff
lea rdi, str._requireAdministrator_
repne scasb al, byte [rdi]
not rcx
dec rcx
mov qword [rsp + 0x20], rcx
lea r9, str._requireAdministrator_
lea rcx, [rsp + 0x38]
call fcn.18001b5d0
xor edx, edx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_BeginUpdateResourceW]
mov rdi, rax
test rax, rax
jne 0x18001ae27
cmp qword [rsp + 0x58], 0x10
jb 0x18001ae23
mov rcx, qword [rsp + 0x40]
call fcn.18005821c
xor eax, eax
jmp 0x18001ae99
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rcx, qword [rsp + 0x40]
mov r9d, 0x409
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov edx, 0x18
lea r8d, [rdx - 0x17]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_UpdateResourceW]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EndUpdateResourceW]
test eax, eax
jne 0x18001ae82
cmp qword [rsp + 0x58], 0x10
jb 0x18001ae7e
mov rcx, qword [rsp + 0x40]
call fcn.18005821c
xor eax, eax
jmp 0x18001ae99
cmp qword [rsp + 0x58], 0x10
jb 0x18001ae94
mov rcx, qword [rsp + 0x40]
call fcn.18005821c
mov eax, 1
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.180058240
mov rbx, qword [rsp + 0xa0]
add rsp, 0x70
pop rdi
pop rsi
pop rbp
ret
Function at 0x18001dc10
Capabilities:
Hash data using sha256

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x18008b590]
xor rax, rsp
mov qword [rsp + 0xa8], rax
xor eax, eax
mov r14, rdx
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x30], 0x6a09e667
mov dword [rsp + 0x34], 0xbb67ae85
mov dword [rsp + 0x38], 0x3c6ef372
mov dword [r11 - 0x37], eax
mov word [r11 - 0x33], ax
mov byte [r11 - 0x31], al
mov dword [rsp + 0x3c], 0xa54ff53a
mov dword [rsp + 0x40], 0x510e527f
mov dword [rsp + 0x44], 0x9b05688c
mov dword [rsp + 0x48], 0x1f83d9ab
mov dword [rsp + 0x4c], 0x5be0cd19
mov qword [rsp + 0x50], 0
mov byte [r11 - 0x38], 0
mov r15d, r8d
mov r13d, 0x80000
nop
mov ebx, dword [rsp + 0x50]
mov rbp, r15
mov r12, r14
mov edi, ebx
and edi, 0x3f
movsxd rsi, edi
test r15, r15
je 0x18001dd05
nop word [rax + rax]
movzx eax, byte [r12]
inc edi
inc rsi
mov byte [rsp + rsi + 0x57], al
inc qword [rsp + 0x50]
inc r12
dec rbp
cmp edi, 0x40
jne 0x18001dcfc
lea rcx, [rsp + 0x30]
xor edi, edi
xor esi, esi
call fcn.18001f000
test rbp, rbp
jne 0x18001dcd0
mov ebx, dword [rsp + 0x50]
and ebx, 0x3f
mov esi, 8
lea rbp, [rsp + 0xa0]
movsxd rdi, ebx
nop dword [rax + rax]
movzx eax, byte [rbp]
inc ebx
inc rdi
mov byte [rsp + rdi + 0x57], al
inc qword [rsp + 0x50]
inc rbp
dec rsi
cmp ebx, 0x40
jne 0x18001dd4b
lea rcx, [rsp + 0x30]
xor ebx, ebx
xor edi, edi
call fcn.18001f000
test rsi, rsi
jne 0x18001dd20
xor eax, eax
add byte [rsp + rax + 0xa0], 1
jne 0x18001dd65
inc rax
cmp rax, 8
jl 0x18001dd52
sub r13, 1
jne 0x18001dcb0
mov rdx, qword [rsp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.18001f0e0
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.180058240
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x18001ec50
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
sub rsp, 0x20
mov ebx, dword [rcx + 0x20]
mov rsi, qword [rcx + 0x18]
xor r12d, r12d
shl rsi, 6
mov r8d, ebx
mov rbp, rdx
add rsi, rbx
shr ebx, 2
mov rdi, rcx
shl rsi, 3
and r8d, 3
jne 0x18001ec96
mov dword [rcx + rbx*4 + 0x24], r12d
mov ecx, 3
mov eax, 0x80
sub ecx, r8d
shl ecx, 3
shl eax, cl
or dword [rdi + rbx*4 + 0x24], eax
inc ebx
cmp ebx, 0xe
je 0x18001ecda
and ebx, 0xf
jne 0x18001ecce
lea rdx, [rdi + 0x24]
xor r9d, r9d
mov r8, rdi
mov rcx, rdi
call fcn.18001e5f0
inc qword [rdi + 0x18]
mov dword [rdi + rbx*4 + 0x24], r12d
inc ebx
cmp ebx, 0xe
jne 0x18001ecb3
lea eax, [rbx + 1]
mov rcx, rsi
lea rdx, [rdi + 0x24]
shr rcx, 0x20
xor r9d, r9d
mov r8, rdi
mov dword [rdi + rbx*4 + 0x24], ecx
mov rcx, rdi
mov dword [rdi + rax*4 + 0x24], esi
call fcn.18001e5f0
inc qword [rdi + 0x18]
mov ecx, dword [rdi]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov eax, ecx
shr eax, 0x18
mov byte [rbp], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp + 1], al
mov eax, ecx
shr eax, 8
mov byte [rbp + 2], al
mov byte [rbp + 3], cl
mov ecx, dword [rdi + 4]
mov eax, ecx
shr eax, 0x18
mov byte [rbp + 4], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp + 5], al
mov eax, ecx
shr eax, 8
mov byte [rbp + 6], al
mov byte [rbp + 7], cl
mov ecx, dword [rdi + 8]
mov eax, ecx
shr eax, 0x18
mov byte [rbp + 8], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp + 9], al
mov eax, ecx
shr eax, 8
mov byte [rbp + 0xa], al
mov byte [rbp + 0xb], cl
mov ecx, dword [rdi + 0xc]
mov eax, ecx
shr eax, 0x18
mov byte [rbp + 0xc], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp + 0xd], al
mov eax, ecx
shr eax, 8
mov byte [rbp + 0xe], al
mov byte [rbp + 0xf], cl
mov ecx, dword [rdi + 0x10]
mov eax, ecx
mov dword [rdi], 0x67452301
mov dword [rdi + 4], 0xefcdab89
shr eax, 0x18
mov dword [rdi + 8], 0x98badcfe
mov dword [rdi + 0xc], 0x10325476
mov byte [rbp + 0x10], al
mov eax, ecx
mov dword [rdi + 0x10], 0xc3d2e1f0
shr eax, 0x10
mov qword [rdi + 0x18], r12
mov dword [rdi + 0x20], r12d
mov rdi, qword [rsp + 0x48]
mov byte [rbp + 0x11], al
mov eax, ecx
shr eax, 8
mov byte [rbp + 0x12], al
mov byte [rbp + 0x13], cl
mov rbp, qword [rsp + 0x38]
add rsp, 0x20
pop r12
ret