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

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
je 0x14001c2a8
add rsp, 0x20
pop r15
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
mov qword [rsp + 0x58], r14
mov r9, qword [rax]
test r9, r9
je 0x14001c2ce
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x14001c2d0
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x14001c329
test ecx, ecx
jle 0x14001c309
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
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 0x14001c329
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x14001c329
mov r8, rbx
mov edx, 1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov r14, qword [rsp + 0x58]
sub rsi, rbx
mov rbp, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret

Function at 0x14001c350
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x14001c372
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je 0x14001c388
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x28], rbx
mov rbx, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x14001c3a4
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x14001c3a6
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x14001c3e2
mov qword [rsp + 0x20], rdi
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rdi
sub rbx, rdi
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
mov rdi, qword [rsp + 0x20]
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x14001c47e
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x14001c41d
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
cmp rbx, 0xfff
jbe 0x14001c45e
nop word [rax + rax]
mov r9, qword [rsi + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add r14, rax
sub rbx, rax
cmp rax, 0xfff
jne 0x14001c47e
cmp rbx, rax
ja 0x14001c430
test rbx, rbx
je 0x14001c47e
mov r9, qword [rsi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
sub rbp, rbx
mov rbx, qword [rsp + 0x28]
mov rax, rbp
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
Function at 0x14001c8e0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x140038040]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x14001c90d
xor eax, eax
jmp 0x14001ca79
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x14001c947
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x14001c947
lea ecx, [r8 - 1]
mov dword [rax], ecx
mov eax, edi
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], dil
jmp 0x14001ca79
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x14001ca6c
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x14001c98a
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 0x14001c9b5
mov rdx, qword [rbx + 0x80]
movsx ecx, dil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x14001ca71
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x51]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x14001ca24
sub eax, 1
je 0x14001ca24
cmp eax, 2
jne 0x14001ca6c
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x14001ca71
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x14001ca52
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rsi, rax
jne 0x14001ca6c
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, edi
mov eax, ecx
jmp 0x14001ca71
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14002af10
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x14001d590
Capabilities:
Write file on windows

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x140038040]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov esi, 0xffff
movzx edi, dx
mov rbx, rcx
cmp si, dx
jne 0x14001d5c1
xor eax, eax
jmp 0x14001d70b
mov rax, qword [rcx + 0x40]
mov r8, qword [rax]
test r8, r8
je 0x14001d5fe
mov r9, qword [rcx + 0x58]
movsxd r10, dword [r9]
lea rdx, [r8 + r10*2]
cmp r8, rdx
jae 0x14001d5fe
lea ecx, [r10 - 1]
movzx eax, di
mov dword [r9], ecx
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 2]
mov qword [rdx], rcx
mov word [r8], di
jmp 0x14001d70b
cmp qword [rcx + 0x80], 0
mov qword [rsp + 0xb0], rbp
je 0x14001d700
mov r8, qword [rcx + 0x18]
lea rax, [rcx + 0x70]
cmp qword [r8], rax
jne 0x14001d645
mov rdx, qword [rcx + 0x90]
mov rcx, qword [rcx + 0x88]
mov qword [r8], rcx
sub rdx, rcx
mov rax, qword [rbx + 0x38]
sar rdx, 1
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x14001d653
movzx ecx, di
jmp 0x14001d6a7
lea rax, [rsp + 0x40]
mov word [rsp + 0x50], di
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x52]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_wchar_t__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x14001d6c0
sub eax, 1
je 0x14001d6c0
cmp eax, 2
jne 0x14001d700
movzx ecx, word [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputwc]
cmp ax, si
cmove di, si
movzx eax, di
jmp 0x14001d703
mov rbp, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rbp, rax
je 0x14001d6ee
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rbp
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbp, rax
jne 0x14001d700
lea rax, [rsp + 0x50]
mov byte [rbx + 0x72], 1
cmp qword [rsp + 0x48], rax
cmovne si, di
movzx eax, si
mov rbp, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14002af10
add rsp, 0x80
pop rdi
pop rsi
pop rbx
ret

Function at 0x14001e970
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov dword [rcx + 0x1384], 0xffffffff
lea r9, [rcx + 8]
mov dword [rcx + 4], edx
mov r8d, 1
nop word [rax + rax]
mov eax, edx
lea r9, [r9 + 4]
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, r8d
inc r8
mov dword [r9 - 4], edx
cmp r8, 0x270
jb 0x14001e990
mov dword [rcx], 0x270
mov rax, rcx
ret

Function at 0x14001ea80
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
movabs rax, 0xcbf29ce484222325
mov r9d, 0
sub r8, rdx
je 0x14001eab4
movabs r10, 0x100000001b3
nop
movzx ecx, byte [rdx + r9]
inc r9
xor rax, rcx
imul rax, r10
cmp r9, r8
jb 0x14001eaa0
ret
Function at 0x14001f5c0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x140038040]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x14001f693
cmp byte [rcx + 0x71], 0
je 0x14001f693
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x14001f68f
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 0x14001f654
sub eax, 1
je 0x14001f658
cmp eax, 2
jne 0x14001f68f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14002af10
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x14001f686
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 0x14001f68f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x14001f63c
xor al, al
jmp 0x14001f63c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14002af10
add rsp, 0x60
pop rbx
ret

Function at 0x14001f9f0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x140038040]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x14001fac5
cmp byte [rcx + 0x72], 0
je 0x14001fac5
mov rax, qword [rcx]
mov qword [rsp + 0x78], rdi
mov edi, 0xffff
mov edx, edi
call qword [rax + 0x18]
cmp di, ax
je 0x14001fac1
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_wchar_t__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x14001fa86
sub eax, 1
je 0x14001fa8a
cmp eax, 2
jne 0x14001fac1
mov byte [rbx + 0x72], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14002af10
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x72], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x14001fab8
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 0x14001fac1
cmp byte [rbx + 0x72], 0
sete al
jmp 0x14001fa6e
xor al, al
jmp 0x14001fa6e
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14002af10
add rsp, 0x60
pop rbx
ret
Function at 0x140023650
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r9, rcx
mov r10d, 0x270
mov ecx, dword [rcx]
cmp ecx, r10d
jne 0x1400236b1
lea r8, [r9 + 8]
nop dword [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r10, 1
jne 0x140023670
mov ecx, dword [r9]
jmp 0x14002379b
cmp ecx, 0x4e0
jb 0x14002379b
lea r10, [r9 + 0x9c4]
mov qword [rsp], rbx
mov r11d, dword [r10]
mov ebx, 0xe3
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
add r10, 4
mov edx, r11d
xor edx, eax
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x634]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x1400236d0
lea r10, [r9 + 0xd50]
mov ebx, 0x18c
mov r11d, dword [r10]
nop
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
mov edx, eax
xor edx, r11d
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 - 0xd4c]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x140023720
mov eax, dword [r9 + 0x1380]
mov edx, eax
xor edx, dword [r9 + 4]
mov rbx, qword [rsp]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r9 + 0x634]
xor ecx, edx
mov dword [r9 + 0x9c0], ecx
xor ecx, ecx
mov dword [r9], ecx
mov eax, ecx
mov edx, dword [r9 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r9], eax
mov ecx, edx
mov eax, dword [r9 + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
add rsp, 8
ret
Function at 0x1400264a0
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov esi, edx
mov dword [rcx + 0x74], 0
mov rbx, rcx
mov edi, 0x7fffffff
movsx ecx, byte [rbx + 0x78]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x140026565
lea r8d, [rcx - 0x30]
cmp r8d, 0xffffffff
je 0x140026565
mov r9d, dword [rbx + 0x74]
mov ecx, 0x7fffffff
sub ecx, r8d
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp r9d, edx
jg 0x14002657e
lea eax, [r9 + r9*4]
dec edi
lea ecx, [r8 + rax*2]
mov rax, qword [rbx + 0x10]
mov dword [rbx + 0x74], ecx
mov rcx, qword [rbx]
cmp rcx, rax
je 0x140026555
cmp byte [rcx], 0x5c
jne 0x14002654e
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x14002654e
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x14002653c
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x14002654b
test r8b, 0x10
jne 0x14002654e
movzx eax, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x14002654e
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140022a00
test edi, edi
jne 0x1400264c0
mov rbx, qword [rsp + 0x30]
cmp edi, 0x7fffffff
mov rsi, qword [rsp + 0x38]
setne al
add rsp, 0x20
pop rdi
ret
mov edx, esi
call fcn.1400229f0
int3

Function at 0x14002a90c
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rbx, rdx
lea r8, [rsp + 0x60]
mov edi, ecx
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
jne 0x14002a946
xor r9d, r9d
mov dword [rsp + 0x60], r9d
jmp 0x14002a94b
mov r9d, dword [rsp + 0x60]
and qword [rsp + 0x30], 0
mov r8d, edi
and dword [rsp + 0x28], 0
xor edx, edx
mov ecx, 0x1300
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov edx, eax
test eax, eax
je 0x14002a994
mov r8, qword [rbx]
dec r8
add r8, rdx
movzx ecx, byte [r8]
lea rax, [0x14002e7e0]
cmp byte [rcx + rax], 0
je 0x14002a994
dec r8
sub rdx, 1
jne 0x14002a97a
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret

Function at 0x14002bbdc
Capabilities:
Parse pe header

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

Disassembly:
pop rdx
pop rcx
pop rax
jae fcn.141843b72
not dil
add r10b, sil
mov qword [rsp + r11 - 0x28751130], 0xfffffffff58434b8
push rax
dec dil
xor r9b, dil
jmp 0x14180b548
mov qword [rbp + r11*2 - 0x50ea2260], rdx
rol si, 0x8e
seta r10b
jns 0x141772701
mov esi, 0x21382d98
lea rbx, [rbx + rsi - 0x21382d9c]
jmp 0x1417f52cd
lea r9, [rsi + rsi*4 - 0x6e9dcda]
movzx eax, sil
mov ecx, dword [rbx + rsi*2 - 0x42705b30]
movzx edx, ax
xor ecx, edi
lea rbp, [rax*4 - 0x30d4df59]
ror ecx, 2
xor ecx, 0xae1f6d12
ror ecx, 3
sub r9b, bpl
sete dl
xor r9, 0x6899c130
dec ecx
push rdi
sub r9d, 0xbd09bd89
sal si, 0xc1
xor dword [rsp + r9*2 - 0x755a113c], ecx
mov r8d, ebp
pop rdi
inc r8w
or bpl, al
jle 0x1417bb037
lea rdi, [rsp + rdi + 0x18]
neg byte [rsp + rsi*2 + 4]
mov rdx, qword [rdi + r11*2 - 0x50ea2260]
lea rbp, [r11 + rbp - 0x28751138]
add qword [rsp + r11*2 - 0x50ea2259], r11
sbb r10d, ecx
jno 0x1417c8679
lea rcx, [r8*4 + 0x1fa53dac]
lea r11, [r11 + r8 - 0x61ade806]
movzx r10d, r8b
add ax, si
rol ecx, 0x51
xor r10d, 0xe89b1910
lea rcx, [rcx*4 + 0x2b368105]
mov word [r8 + r11 - 0x61ade808], ax
lea rdi, [rcx + rcx*8 - 0x4851ec4c]
lea rsi, [r10 + 0x34a9719b]
lea rbx, [r8 + rbx - 0x61ade80c]
jl 0x1417e6be9
mov esi, r9d
ror ecx, 2
neg esi
jno 0x141813f57
xchg r9w, si
neg ecx
call fcn.14179a1a6

Function at 0x1417acd9c
Capabilities:
Authenticate hmac

Disassembly:
lea rsi, [r8 + r8 - 0x59f996f8]
xor dword [rsp + r9*2 - 0x5230], edx
sub r9d, 0xb98cc403
sal r9b, 0xa4
pop rdi
movsxd rdx, edx
add r11, rdx
lea rcx, [rsi + r9*4 + 0x2bfc79f]
movzx edx, sil
mov rax, r10
xadd dx, r8w
shr rcx, cl
lea r10, [rcx + r10 - 0x3dba8dc]
add r9w, 0x3327
mov qword [r10 + r9 - 0x46739877], rax
movzx eax, sil
jne fcn.1417a7861
mov ecx, 0xdb6e5ad
mov rcx, rax
push 0xffffffffe394362f
jmp 0x14179b2dd
mov rax, qword [rbp + rbx*8 + 0x20]
call fcn.1418531f0
mov r10d, esi
mov r10w, word [r11 + rcx*2 - 0x87e0e2e]
call fcn.141857148
xor edx, edi
neg edx
mov r9d, 0x95a02918
movsx r8d, r9w
xadd r8d, r9d
lea edx, [rdx + r9*2 - 0x388c2aeb]
bswap edx
sbb edx, 0x8085fc1b
movzx esi, r8w
push rdi
jmp 0x141774bfb
not ecx
bswap ecx
jmp fcn.14184e43a
jmp 0x1417f41ab
lea rsp, [rsp + 8]
jmp 0x141791ae3
cmp ebx, 4
lea rsp, [rsp + 8]
jne 0x141780750
mov r9d, 0xf4b7b0b2
mov r9, rax
push 0xffffffff8b9c35b6
push 0xfffffffff491861e
lea rsp, [rsp + 0x10]
jmp 0x1418531f4
push 0xfffffffff095103b
dec ebx
push 0x440ae937
lea rsp, [rsp + 0x10]
jne 0x1417b2711
dec ebx
push 0x61af100d
call fcn.141834fb3
xor ecx, r9d
movsx eax, dl
shr di, 0xb
bswap rdx
bswap ecx
neg ecx
mov r10d, esi
xor ecx, 0x6abbf10b
neg sil
dec rsi
sub rdi, rdi
bswap ecx
shr si, 0xc2
sar dl, 0x61
sub rsi, rdi
sbb ecx, 0xe922b38c
jmp 0x14178328d

Function at 0x1417b5599
Capabilities:
Encode data using base64

Disassembly:
neg r10d
mov qword [rsp + r8], r9
call fcn.14183a272

Function at 0x1417b55a5
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + r10 - 0x135bff8], r10
movsxd rsi, esi
call fcn.141791e52
Function at 0x1417c9b20
Capabilities:
Execute anti-debugging instructions

Disassembly:
movsxd r11, r11d
mov qword [rsp + rbp*4 - 0xd228], 0xffffffffe2b0a732
jns 0x14181151b
inc eax
adc rbx, r11
rol rax, 0x17
mov qword [rsp + rbp*2 - 0x6918], rbx
ret 0x10
push rcx
call fcn.1417a1bff
mov qword [rsp + rdi - 0x68000fd8], r9
xor dword [rsp + r8 - 0x5914e747], edx
rol di, 0xa2
mov r9, qword [rsp + rdi - 0x68003f90]
jb 0x141859db1
mov ecx, 0x7a98ef0e
movsxd rdx, edx
call fcn.141823aec
add rbp, rcx
call fcn.141783d3c
neg r10w
mov edx, dword [rsp + rdi*2 - 0x38d01a]
movzx esi, r8b
xor r9w, r10w
lea rsi, [rax*4 + 0x759bbfb6]
add r8, qword [rsp + rdi*2 - 0x38d01a]
lea r10, [rsp + r10 + 8]
movzx di, byte [r10 + rax - 0x4531faad]
lea r11, [r11 + rcx*8 - 0x26a]
pop rcx
rol ecx, cl
mov word [rax + r11 - 0x4531faad], di
lea rbx, [rbx + rax - 0x4531fab1]
setne dl

Function at 0x1417e274e
Capabilities:
Encode data using base64
Parse pe header

Disassembly:
mov qword [rsp + rax - 0x37adca36], rbp
movsxd r11, r11d
add rbx, r11
lea r10, [rdx + rcx*8 - 0x2ccd3bf4]
rol r8, cl
adc r8b, byte [rdi + rcx - 0x6f00c761]
mov cl, byte [rdi + rax - 0x37adca34]
inc ax
lea rdi, [rdi + rax - 0x37adca35]
mov word [rsp + rbp*2 - 0x6b], ax
mov dword [rsp + rdx - 0x7488dd72], eax
call fcn.14183b481
mov ecx, 0x688e4086
lea rbx, [rbx + rcx - 0x688e408a]
mov edi, dword [rbx + rcx - 0x688e4086]
lea r8, [rcx + rcx*4 + 0x1c019c88]
sal rcx, 0xf8
lea rdx, [r8 + r8 - 0x3f431a7a]
xor edi, r9d
call fcn.14177fe75
mov ecx, 0x74b66f9a

Function at 0x1417f8013
Capabilities:
Authenticate hmac
Execute anti-debugging instructions

Disassembly:
mov qword [rsp + rsi - 0x8a14abd], rax
lea r10, [rdi + rsi*2 - 0x4fdaf6e9]
xor r11d, 0x1c3588b4
lea rcx, [rdx*8 + 0x1e92b88a]
add ax, 0x422d
inc r11d
xor r11d, 0x6b39cf09
mov qword [rsp + rsi*2 - 0x1142957a], r9
jmp 0x14178345a

Function at 0x14183251c
Capabilities:
Execute anti-debugging instructions

Disassembly:
dec edi
bswap edi
mov qword [rsp + r10 - 0x6c31ad11], rcx
sub edi, 0xf6bd0e9d
sub rcx, 0xffffffff9933071b
mov qword [rsp + r10 - 0x6c31ad09], rsi
mov qword [rsp + r10 - 0x6c31ad09], r9
xor dword [rsp + r10 - 0x6c31ad09], edi
mov r9, qword [rsp + r10 - 0x6c31ad09]
not dword [rsp + r10 - 0x6c31ad0e]
movsxd rdi, edi
add r8, rdi
pop rsi
mov qword [rsp + r10 - 0x6c31ad11], 0xffffffffca95cd28
rdtsc
lea rbp, [rbp + r10 - 0x6c31ad19]
jmp 0x14185386d
mov dword [rbp + r10 - 0x6c31ad0d], eax
shr cx, 0x6b
mov dword [r10 + rbp - 0x6c31ad11], edx
movzx edi, byte [rsp + r10 - 0x6c31ad0d]
shl ecx, cl
pop rax
jae fcn.141843b72

Function at 0x1418503df
Capabilities:
Encode data using base64

Disassembly:
xor edx, 0xf5b51401
pop rcx
rol edx, 2
xadd dword [rsp + rcx - 0xff81], r10d
rol r10w, cl
jg 0x141776f81
ror edx, 2
mov qword [rsp + rcx*4 - 0xcb448d8], r11
push r10
jmp 0x141793433
Function at 0x1418582bd
Capabilities:
Encode data using base64
Parse pe header

Disassembly:
mov ecx, dword [rbx + rdx - 0x17880554]
xor ecx, edi
neg dl
ror ecx, 1
shl sil, 0x67
sal r9d, 0x9e
and dx, 0xc894
neg ecx
lea ecx, [rcx + rdx - 0x5f30e235]
jmp 0x14179467f
sbb rax, 0x6abeeaad
lea r10, [r10 + rdx*2 - 0x2f100afe]
push r8
shr rsi, cl
bswap r9
shl r9, 0x1d
pop rax
mov qword [r10 + rdx*4 - 0x5e201600], rsi
sbb dl, r8b
xadd r8, rax
lea rbx, [rbx + rdx*4 - 0x5e201554]
lea rsi, [rdx*2 - 0x69c57d51]
jno 0x141787158
movsxd r11, r11d
call fcn.1417df846
xor r9w, r10w
mov qword [rsp + rax - 0x46480e5a], 0x783951bd
not rcx
lea r10, [rsp + r10 + 0x20]
mov qword [rsp + rax - 0x46480e62], 0x4928d8b
shl word [rsp + rax - 0x46480e57], 0x82
mov dword [r10 + rsi], edi
call fcn.1417b495d
mov edx, 0x1788f82c
movzx eax, dl
movsx r8d, al
mov rsi, qword [r10 + rdx - 0x1788f82c]
sal dx, 0x45
movzx r9d, dl
mov cl, byte [rdx + r10 - 0x17880578]
jbe 0x1417babc8