joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140005ca0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
lea rsi, str.Sorties_ttempimages_tforms_temp_tspeedy_tdadamail_tstaticpages_tmma_toldwebstats_tarthur_tmixer_tnewyear_texpedia_tscraper_tpointroll_ttarsalgo_tyaf_tjabber_tgrafx_twap_ticonz_tpricemail_ttisk_trssfeed_tlaunch_tapplynow_ttmpl_tprivs_tmissouri_tsymbian_tcstyle_tcnr_tcafr_tautorespond_tislive_twebsql_tus_tmpanel_taddons_tlovely_tgtranslate_tinf_ttitular_ttintin_tacdsee_tkunena_tlaunchpad_thn_ttimetable_tpatrick_twurfl_tinprogress_taddnewuser
mov r10, rax
sub rbx, rax
movabs rdi, 0x4e5e0a72f0539783
lea r9, [rax + 2]
nop dword [rax + rax]
movsxd r8, r11d
mov rax, rdi
mul r8
mov rax, r8
mov rcx, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x188
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 1]
xor al, byte [rbx + r9 - 2]
movsx eax, al
mov word [r9 - 2], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x188
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 2]
xor al, byte [r9 + rbx]
movsx eax, al
mov word [r9], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x188
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 3]
xor al, byte [rbx + r9 + 2]
movsx eax, al
mov word [r9 + 2], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x188
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 4]
xor al, byte [rbx + r9 + 4]
movsx eax, al
mov word [r9 + 4], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x188
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 5]
xor al, byte [rbx + r9 + 6]
movsx eax, al
mov word [r9 + 6], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x188
sub rcx, rax
movzx eax, byte [rcx + rsi]
add r11d, 6
xor al, byte [rbx + r9 + 8]
lea r9, [r9 + 0xc]
movsx eax, al
mov word [r9 - 4], ax
cmp r11d, 6
jb 0x140005cf0
mov rbx, qword [rsp + 0x30]
mov rax, r10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14000b7f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov eax, 0x6d
mov dword [rbp - 0x20], 0x2a0018
lea rcx, [rbp - 0x20]
mov word [rbp - 0xc], ax
mov dword [rbp - 0x1c], 0x3a0020
mov dword [rbp - 0x18], 0x29002c
mov dword [rbp - 0x14], 0x480031
mov dword [rbp - 0x10], 0x200027
call fcn.140005e60
mov rcx, rax
call 0x14000bb70
mov qword [0x1400191b8], rax
lea rcx, [rbp - 0x20]
mov eax, 0x74
mov dword [rbp - 0x20], 0x2a0018
mov word [rbp - 0x10], ax
mov dword [rbp - 0x1c], 0x3a0020
mov dword [rbp - 0x18], 0x29002c
mov dword [rbp - 0x14], 0x3b0040
call fcn.140002590
mov rcx, rax
call 0x14000bb70
lea rcx, [rbp - 0x20]
mov qword [0x1400191a8], rax
mov dword [rbp - 0x20], 0x1b003d
mov dword [rbp - 0x1c], 0x180016
mov dword [rbp - 0x18], 0x650005
call fcn.140005ca0
mov rcx, rax
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rbp
jmp 0x14000bb70
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov rsi, rcx
mov rdi, qword [rax + 0x18]
add rdi, 0x20
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14000bbd2
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbx + 0x40]
mov rdx, rsi
mov r8, rax
call fcn.14000ee00
test al, al
jne 0x14000bbe4
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x14000bba0
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x20]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14000bb70
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov eax, 0x6d
mov dword [rbp - 0x20], 0x2a0018
lea rcx, [rbp - 0x20]
mov word [rbp - 0xc], ax
mov dword [rbp - 0x1c], 0x3a0020
mov dword [rbp - 0x18], 0x29002c
mov dword [rbp - 0x14], 0x480031
mov dword [rbp - 0x10], 0x200027
call fcn.140005e60
mov rcx, rax
call 0x14000bb70
mov qword [0x1400191b8], rax
lea rcx, [rbp - 0x20]
mov eax, 0x74
mov dword [rbp - 0x20], 0x2a0018
mov word [rbp - 0x10], ax
mov dword [rbp - 0x1c], 0x3a0020
mov dword [rbp - 0x18], 0x29002c
mov dword [rbp - 0x14], 0x3b0040
call fcn.140002590
mov rcx, rax
call 0x14000bb70
lea rcx, [rbp - 0x20]
mov qword [0x1400191a8], rax
mov dword [rbp - 0x20], 0x1b003d
mov dword [rbp - 0x1c], 0x180016
mov dword [rbp - 0x18], 0x650005
call fcn.140005ca0
mov rcx, rax
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rbp
jmp 0x14000bb70
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov rsi, rcx
mov rdi, qword [rax + 0x18]
add rdi, 0x20
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14000bbd2
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbx + 0x40]
mov rdx, rsi
mov r8, rax
call fcn.14000ee00
test al, al
jne 0x14000bbe4
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x14000bba0
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x20]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14000f970
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
movsxd rax, dword [rcx + 0x3c]
mov r12, rdx
mov rdx, rcx
mov ecx, dword [rax + rcx + 0x88]
xor eax, eax
add rcx, rdx
mov dword [rbp - 0x2c], eax
mov qword [rbp - 0x28], rcx
mov r8d, dword [rcx + 0x1c]
mov r9d, dword [rcx + 0x20]
add r8, rdx
mov r10d, dword [rcx + 0x24]
add r9, rdx
add r10, rdx
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], r9
mov qword [rbp - 0x10], r10
cmp dword [rcx + 0x18], eax
jbe 0x14000fb9e
mov word [rbp + 0x50], 0x6f53
mov word [rbp + 0x58], 0x6f53
nop
mov esi, dword [r9 + rax*4]
lea rcx, [rbp + 0x50]
movzx eax, word [r10 + rax*2]
add rsi, rdx
xor edi, edi
mov r15d, dword [r8 + rax*4]
add r15, rdx
mov qword [rbp - 8], r15
call fcn.1400018c0
movzx ecx, byte [rax]
cmp byte [rsi], cl
je 0x14000fa24
nop dword [rax]
lea rcx, [rbp + 0x50]
inc rdi
call fcn.1400018c0
movzx ecx, byte [rax]
cmp byte [rdi + rsi], cl
jne 0x14000fa10
lea rcx, [rbp + 0x58]
xor ebx, ebx
call fcn.1400018c0
movzx ecx, byte [rax]
cmp byte [r12], cl
je 0x14000fa55
nop dword [rax + rax]
lea rcx, [rbp + 0x58]
inc rbx
call fcn.1400018c0
movzx ecx, byte [rax]
cmp byte [rbx + r12], cl
jne 0x14000fa40
cmp rdi, rbx
jne 0x14000fb72
mov r13, rsi
mov word [rbp - 0x50], 0x6f53
sub r13, r12
mov r14, r12
nop dword [rax]
lea rcx, [rbp - 0x50]
xor ebx, ebx
call fcn.1400018c0
movzx ecx, byte [rax]
cmp byte [rsi], cl
je 0x14000fa96
lea rcx, [rbp - 0x50]
inc rbx
call fcn.1400018c0
movzx ecx, byte [rax]
cmp byte [rbx + rsi], cl
jne 0x14000fa82
mov rax, r14
sub rax, r12
dec rbx
cmp rax, rbx
jae 0x14000fb98
movsx r15d, byte [r14 + r13]
lea rcx, [rbp - 0x4e]
mov dword [rbp - 0x4e], 0x6f0032
call fcn.1400027f0
movzx eax, word [rax]
cmp r15d, eax
jl 0x14000fb08
lea rcx, [rbp - 0x4a]
mov dword [rbp - 0x4a], 0x6f0029
call fcn.1400027f0
movzx ecx, word [rax]
cmp r15d, ecx
jg 0x14000fb08
lea rcx, [rbp - 0x46]
mov dword [rbp - 0x46], 0x6f0032
mov dword [rbp - 0x42], 0x6f0012
call fcn.1400027f0
lea rcx, [rbp - 0x42]
movzx ebx, byte [rax]
call fcn.1400027f0
movzx ecx, byte [rax]
sub cl, bl
add r15b, cl
movsx edi, byte [r14]
lea rcx, [rbp - 0x3e]
mov dword [rbp - 0x3e], 0x6f0032
call fcn.1400027f0
movzx eax, word [rax]
cmp edi, eax
jl 0x14000fb65
lea rcx, [rbp - 0x3a]
mov dword [rbp - 0x3a], 0x6f0029
call fcn.1400027f0
movzx ecx, word [rax]
cmp edi, ecx
jg 0x14000fb65
lea rcx, [rbp - 0x36]
mov dword [rbp - 0x36], 0x6f0032
mov dword [rbp - 0x32], 0x6f0012
call fcn.1400027f0
lea rcx, [rbp - 0x32]
movzx ebx, byte [rax]
call fcn.1400027f0
movzx ecx, byte [rax]
sub cl, bl
add dil, cl
cmp r15b, dil
jne 0x14000fb72
inc r14
jmp 0x14000fa70
mov eax, dword [rbp - 0x2c]
mov rcx, qword [rbp - 0x28]
inc eax
mov dword [rbp - 0x2c], eax
cmp eax, dword [rcx + 0x18]
jae 0x14000fb9e
mov rdx, qword [rbp + 0x40]
mov r8, qword [rbp - 0x20]
mov r9, qword [rbp - 0x18]
mov r10, qword [rbp - 0x10]
jmp 0x14000f9e0
mov rax, qword [rbp - 8]
jmp 0x14000fba0
xor eax, eax
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14000fcb0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rbx, qword [0x1400191c0]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], 0x70000
mov dword [rbp - 0x1c], 0x180017
mov dword [rbp - 0x18], 0x560005
mov dword [rbp - 0x14], 0x270041
mov dword [rbp - 0x10], 0x90010
mov dword [rbp - 0xc], 0x700001
call fcn.140002e40
mov rcx, rax
call rbx
mov rbx, qword [0x1400191c0]
lea rcx, [rbp - 0x20]
mov qword [0x1400191a0], rax
mov dword [rbp - 0x20], 0x60004
mov dword [rbp - 0x1c], 0x1d001c
mov dword [rbp - 0x18], 7
mov dword [rbp - 0x14], 0x270007
mov dword [rbp - 0x10], 0x90010
mov dword [rbp - 0xc], 0x700001
call fcn.140002e40
mov rcx, rax
call rbx
movdqa xmm0, xmmword [0x140017e30]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140019130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400191b0], rax
mov word [rbp - 0x10], 0x2413
mov byte [rbp - 0xe], 9
call fcn.140005220
mov rcx, qword [0x1400191a0]
mov rdx, rax
call rbx
mov rbx, qword [0x140019130]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], 0x18170700
mov dword [rbp - 0x1c], 0x6c0b2005
mov dword [rbp - 0x18], 0x15191017
mov word [rbp - 0x14], 0x6d3e
call fcn.140001180
mov rcx, qword [0x1400191a0]
mov rdx, rax
call rbx
mov rbx, qword [0x140019130]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], 0x1106011a
mov dword [rbp - 0x1c], 0x7d160b1b
mov dword [rbp - 0x18], 0x1e08153b
mov word [rbp - 0x14], 0x6d28
call fcn.140001180
mov rcx, qword [0x1400191b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140017f60]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140019130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400190e8], rax
mov byte [rbp - 0x10], 0x65
call fcn.140004e60
mov rcx, qword [0x1400191b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140017ec0]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140019130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400190f0], rax
mov dword [rbp - 0x10], 0x666c1f01
call fcn.1400029f0
mov rcx, qword [0x1400191b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140017e70]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140019130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400190e0], rax
mov byte [rbp - 0x10], 0x65
call fcn.140004e60
mov rcx, qword [0x1400191b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140017f30]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140019130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400190d8], rax
mov dword [rbp - 0x10], 0x27671c0c
mov byte [rbp - 0xc], 0x6f
call fcn.140003790
mov rcx, qword [0x1400191b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140017eb0]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140019130]
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x10], 0x320b
mov byte [rbp - 0xe], 9
call fcn.140005220
mov rcx, qword [0x1400191b0]
mov rdx, rax
mov rax, rbx
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rbp
jmp rax
Function at 0x140c06058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x140c061df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x140c06089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140c0606f
add dl, dl
jne 0x140c06096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140c060f6
xor eax, eax
add dl, dl
jne 0x140c060a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140c061ad
add dl, dl
jne 0x140c060b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140c060c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140c060d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140c060dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x140c060ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x140c0607e
mov eax, 1
add dl, dl
jne 0x140c06106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140c06113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140c060fb
sub eax, ebx
mov ebx, 1
jne 0x140c0614c
mov ecx, 1
add dl, dl
jne 0x140c0612e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140c0613b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140c06123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140c0607e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x140c06168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140c06175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140c0615d
cmp eax, 0x7d00
jae 0x140c0619b
cmp eax, 0x500
jb 0x140c06196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140c0607e
cmp eax, 0x7f
ja 0x140c0619e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140c0607e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x140c061d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x140c0607e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x1400011a0
Capabilities:
Set registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x58
mov rax, qword [0x140006040]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rdi, rdx
mov dword [rsp + 0x38], r9d
mov rdx, rcx
lea rax, [rsp + 0x30]
mov ebx, r8d
mov qword [rsp + 0x20], rax
mov rsi, rcx
mov r9d, 0x20006
mov rcx, 0xffffffff80000002
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebp, eax
test eax, eax
jne 0x140001282
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
mov dword [rsp + 0x28], 4
mov r9d, ebx
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
test eax, eax
jne 0x140001234
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, str.Registry_value_set_successfully.
call fcn.1400015e0
jmp 0x140001265
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcerr]
lea rdx, [0x140003468]
call fcn.1400015e0
mov rcx, rax
mov rdx, rdi
call fcn.1400015e0
mov rcx, rax
call fcn.140001800
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___long_int____ptr64]
lea rdx, [0x1400017c0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400012c3
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcerr]
lea rdx, str.Error_opening_registry_key__
call fcn.1400015e0
mov rcx, rax
mov rdx, rsi
call fcn.1400015e0
mov rcx, rax
call fcn.140001800
mov rcx, rax
mov edx, ebp
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___long_int____ptr64]
mov rcx, rax
lea rdx, [0x1400017c0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140001be0
add rsp, 0x58
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140002520
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000256a
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14000256a
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14000256a
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14000256a
cmp dword [rcx + 0x84], 0xe
jbe 0x14000256a
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x14000256c
xor al, al
add rsp, 0x28
ret
Function at 0x140bd4058
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.140bd41df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x140bd4089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140bd406f
add dl, dl
jne 0x140bd4096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140bd40f6
xor eax, eax
add dl, dl
jne 0x140bd40a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x140bd41ad
add dl, dl
jne 0x140bd40b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140bd40c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140bd40d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140bd40dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x140bd40ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x140bd407e
mov eax, 1
add dl, dl
jne 0x140bd4106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140bd4113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140bd40fb
sub eax, ebx
mov ebx, 1
jne 0x140bd414c
mov ecx, 1
add dl, dl
jne 0x140bd412e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140bd413b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140bd4123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140bd407e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x140bd4168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140bd4175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140bd415d
cmp eax, 0x7d00
jae 0x140bd419b
cmp eax, 0x500
jb 0x140bd4196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140bd407e
cmp eax, 0x7f
ja 0x140bd419e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x140bd407e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x140bd41d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x140bd407e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x406670
Capabilities:
Accept command line arguments

Disassembly:
push rbp
sub rsp, 0x40
mov rbp, rsp
mov qword [rbp + 0x38], 0
nop
xor rax, rax
mov dword [rbp + 0x2c], eax
call sub.kernel32.dll_GetCommandLineW
mov rcx, rax
lea rdx, [rbp + 0x38]
call fcn.00406580
mov rcx, rax
lea rdx, [rbp + 0x38]
call fcn.00406580
cmp qword [rbp + 0x38], 0
je 0x4066b6
mov ecx, dword [rbp + 0x2c]
add ecx, 1
mov dword [rbp + 0x2c], ecx
jmp 0x406698
nop
nop
lea rcx, [rbp + 0x38]
call fcn.0040ab20
mov eax, dword [rbp + 0x2c]
lea rsp, [rbp + 0x40]
pop rbp
ret

Function at 0x408a60
Capabilities:
Check for time delay via gettickcount

Disassembly:
push r14
push r13
push rdi
push rsi
push rbx
sub rsp, 0x30
mov qword [rsp + 0x28], rcx
mov ebx, edx
mov rax, qword [rsp + 0x28]
mov r13d, dword [rax + 0x18]
mov rcx, qword [rsp + 0x28]
call fcn.00408db0
mov esi, eax
test sil, sil
jne 0x408c22
test ebx, ebx
je 0x408c22
xor rdi, rdi
test r13d, r13d
jle 0x408b3f
call sub.kernel32.dll_GetTickCount
mov r14d, eax
test r13d, r13d
jle 0x408b1e
cmp ebx, 0xffffffff
je 0x408acb
call sub.kernel32.dll_GetTickCount
sub eax, r14d
cmp eax, ebx
jb 0x408acb
xor rsi, rsi
jmp 0x408c22
mov rax, qword [rsp + 0x28]
cmp dword [rax], 1
jg 0x408b1e
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0
jne 0x408b10
xor eax, eax
mov ecx, 1
mov rdx, qword [rsp + 0x28]
lock cmpxchg dword [rdx], ecx
test eax, eax
jne 0x408b10
call sub.kernel32.dll_GetCurrentThreadId
mov rcx, qword [rsp + 0x28]
mov dword [rcx + 8], eax
mov dword [rcx + 4], 1
mov sil, 1
jmp 0x408c22
call fcn.00408e00
sub r13d, 1
test r13d, r13d
jg 0x408ab2
nop
cmp ebx, 0xffffffff
je 0x408b3f
call sub.kernel32.dll_GetTickCount
mov ecx, eax
sub ecx, r14d
cmp ecx, ebx
jb 0x408b3a
xor rsi, rsi
jmp 0x408c22
sub eax, r14d
sub ebx, eax
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax]
test ecx, ecx
je 0x408a7b
mov edx, ecx
add edx, 2
mov eax, ecx
mov r8, qword [rsp + 0x28]
lock cmpxchg dword [r8], edx
cmp eax, ecx
jne 0x408b3f
nop
call sub.kernel32.dll_GetTickCount
mov r14d, eax
mov rcx, qword [rsp + 0x28]
call fcn.00408cd0
xor rcx, rcx
mov rdx, rax
mov r8d, ebx
mov rax, qword [0x005239a0]
call qword [rax + 0x20]
test eax, eax
sete sil
cmp ebx, 0xffffffff
je 0x408bac
call sub.kernel32.dll_GetTickCount
mov ecx, eax
sub ecx, r14d
cmp ecx, ebx
jae 0x408ba9
sub eax, r14d
sub ebx, eax
jmp 0x408bac
xor rbx, rbx
test sil, sil
je 0x408be0
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax]
mov eax, ecx
test eax, 1
jne 0x408bdd
mov edx, ecx
sub edx, 2
or edx, 1
mov eax, ecx
mov r8, qword [rsp + 0x28]
lock cmpxchg dword [r8], edx
cmp eax, ecx
jne 0x408bb1
mov dil, 1
nop
jmp 0x408bff
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax]
mov edx, ecx
sub edx, 2
mov eax, ecx
mov r8, qword [rsp + 0x28]
lock cmpxchg dword [r8], edx
cmp eax, ecx
jne 0x408be0
mov dil, 1
test dil, dil
je 0x408b64
nop
test sil, sil
je 0x408c22
call sub.kernel32.dll_GetCurrentThreadId
mov rcx, qword [rsp + 0x28]
mov dword [rcx + 8], eax
mov dword [rcx + 4], 1
mov eax, esi
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop r13
pop r14
ret