joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001d4c0
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 0x14001d58c
lea r8d, [rcx - 0x30]
cmp r8d, 0xffffffff
je 0x14001d58c
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 0x14001d5a5
lea eax, [r9 + r9*4]
dec edi
lea ecx, [r8 + rax*2]
mov rax, qword [rbx]
mov dword [rbx + 0x74], ecx
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x14001d57c
cmp byte [rax], 0x5c
jne 0x14001d576
lea rdx, [rax + 1]
cmp rdx, rcx
je 0x14001d576
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x14001d562
movzx ecx, byte [rdx]
sub cl, 0x28
cmp cl, 1
jbe 0x14001d573
test r8b, 0x10
jne 0x14001d576
movzx ecx, byte [rdx]
sub cl, 0x7b
test cl, 0xfd
jne 0x14001d576
mov rax, rdx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.140019b80
test edi, edi
jne 0x14001d4e0
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.140019b70
int3

Function at 0x14002189c
Capabilities:
Get geographical location

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

Function at 0x14002245c
Capabilities:
Parse pe header

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

Function at 0x100403a20
Capabilities:
Encode data using xor

Disassembly:
xor al, 0x6c
xor al, 0x64
xor al, 0x67
xor al, 0x41
xor al, 0x3e
xor al, 0x7d
xor al, 0xa2
xor al, 0x9a
xor al, 0xa3
xor al, 0x88
xor al, 0x9d
xor al, 0xa4
xor al, 0x71
xor al, 0x74
xor al, 0x59
xor al, 0x87
xchg dword [rbp*4 - 0x57cb58cc], esi
xor al, 0x99
xor al, 0xa1
xor al, 0x86
xor al, 0xa3
xor al, 0xa3
movabs dword [0xa73490345934a834], eax
xor al, 0xad
xor al, 0xa7
xor al, 0xa8
xor al, 0x99
cdq
xor al, 0xa1
xor al, 0x67
xor al, 0x66
xor al, 0x90
xor al, 0xa7
xor al, 0x9c
xor al, 0x99
xor al, 0xa0
xor al, 0xa0
xor al, 0x67
xor al, 0x66
xor al, 0x62
Function at 0x4136e0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x41384e
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call fcn.0042aba0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
nop
jne 0x41374e
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x413761
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
sub rcx, rbx
add rax, rbx
mov rbx, rcx
test rbx, rbx
jbe 0x413785
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], rax
mov rcx, rbx
jmp 0x413799
cmp rbx, 0x1000
jae 0x413758
nop
jmp 0x413809
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
nop
cmp rbx, 0x1000
jae 0x4137ad
xor edx, edx
jmp 0x413800
mov rcx, qword [sym.imp.kernel32.dll_VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call fcn.0042aba0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
sete al
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov edx, eax
mov rax, qword [rsp + 0x40]
nop
test dl, dl
jne 0x41378f
jmp 0x413775
call fcn.00452c80
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x38]
call fcn.00408640
mov eax, dword [rsp + 0x2c]
call fcn.004085c0
lea rax, [0x004a3040]
mov ebx, 0x21
call fcn.0042dee0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0044f100
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004136e0
Function at 0x413880
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x413a46
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualAlloc]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
call fcn.0042ac20
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp qword [rsp + 0x28], rax
je 0x4138fb
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x41390e
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
sub rdx, rbx
add rcx, rbx
mov rbx, rdx
test rbx, rbx
jbe 0x413930
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
jmp 0x413944
cmp rbx, 0x1000
jae 0x413905
jmp 0x4139ce
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x413956
xor esi, esi
jmp 0x4139c0
mov rax, qword [sym.imp.kernel32.dll_VirtualAlloc]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
nop dword [rax]
call fcn.0042ac20
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x28], 0
sete al
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov esi, eax
mov rax, qword [rsp + 0x68]
nop dword [rax + rax]
test sil, sil
jne 0x41393a
jmp 0x413922
call fcn.00452c80
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x34], eax
cmp eax, 8
jne 0x413a17
mov rax, qword [rsp + 0x68]
call fcn.00408640
mov eax, dword [rsp + 0x34]
call fcn.004085c0
lea rax, [0x0049ea98]
mov ebx, 0xd
call fcn.0042dee0
cmp eax, 0x5af
je 0x4139f3
mov rax, qword [rsp + 0x38]
call fcn.00408640
mov eax, dword [rsp + 0x34]
call fcn.004085c0
lea rax, [0x004a2ad4]
mov ebx, 0x1f
nop dword [rax]
call fcn.0042dee0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0044f100
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
nop
jmp fcn.00413880
Function at 0x419b40
Capabilities:
Hash data using murmur3

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x419d80
sub rsp, 0x38
mov qword [rsp + 0x30], rbp
lea rbp, [rsp + 0x30]
nop dword [rax + rax]
test rax, 7
jne 0x419d6e
mov qword [rsp + 0x40], rax
nop
mov rdx, qword [rdi + 0x50]
mov r9, r8
shr r8, 3
mov r10, r9
and r9, 7
mov r11, rcx
mov rcx, r9
mov r12d, 1
shl r12d, cl
nop
lea r9, [rdx + r8]
cmp byte [0x0058b254], 0
nop
jne 0x419c8c
cmp dword [0x0058b66c], 0
jle 0x419bc9
cmp qword [rdi + 0x30], r10
ja 0x419bc9
mov r10, qword [rdi + 0x48]
movzx r10d, byte [r8 + r10]
nop
test r12b, r10b
je 0x419d1e
movzx edx, byte [r8 + rdx]
test r12b, dl
jne 0x419c82
nop
lock or byte [r9], r12b
nop
nop
mov rcx, qword [rdi + 0x18]
nop
movabs rdx, 0x800000000000
add rdx, rcx
mov r8, rdx
shr rdx, 0x2a
nop word [rax + rax]
cmp rdx, 0x40
jae 0x419d11
lea r9, [0x0055d6b8]
mov rdx, qword [r9 + rdx*8]
shr r8, 0x16
and r8, 0xfffff
mov r8, qword [rdx + r8*8]
test byte [r8], al
test byte [rdx], al
mov rdx, rcx
shr rcx, 0x10
and rcx, 0x3f
movzx r9d, byte [r8 + rcx + 0x21040]
lea r8, [r8 + rcx]
lea r8, [r8 + 0x21040]
shr rdx, 0xd
and rdx, 7
mov rcx, rdx
mov edx, 1
shl edx, cl
test dl, r9b
jne 0x419c63
lock or byte [r8], dl
movzx edx, byte [rdi + 0x62]
test dl, 1
je 0x419cb3
mov rax, qword [rsi + 0x10]
add rax, qword [rdi + 0x68]
mov qword [rsi + 0x10], rax
mov rbp, qword [rsp + 0x30]
add rsp, 0x38
ret
mov rbp, qword [rsp + 0x30]
add rsp, 0x38
ret
mov qword [rsp + 0x60], rsi
mov rcx, r11
mov rdi, r9
mov esi, r12d
mov r8, r10
nop dword [rax]
call fcn.004134e0
test al, al
jne 0x419cfa
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
mov rdx, qword [rsi]
test rdx, rdx
je 0x419cdf
mov rdi, qword [rdx + 0x10]
nop
cmp rdi, 0xfd
jne 0x419ccd
xor ecx, ecx
jmp 0x419ce1
jae 0x419d04
mov qword [rdx + rdi*8 + 0x18], rax
inc qword [rdx + 0x10]
mov ecx, 1
jmp 0x419ce1
xor ecx, ecx
test cl, cl
jne 0x419cf0
mov rbx, rax
mov rax, rsi
call fcn.0041df80
mov rbp, qword [rsp + 0x30]
add rsp, 0x38
ret
mov rbp, qword [rsp + 0x30]
add rsp, 0x38
ret
mov rax, rdi
mov ecx, 0xfd
call fcn.00451800
mov rax, rdx
mov ecx, 0x40
call fcn.00451820
lea rax, [0x0049dbf9]
mov rcx, rbx
mov rdi, r11
mov ebx, 4
call fcn.00419de0
lea rax, [0x0049db75]
mov ebx, 3
mov rcx, qword [rsp + 0x40]
mov rdi, 0xffffffffffffffff
call fcn.00419de0
mov rdx, qword [r14 + 0x30]
mov byte [rdx + 0xf9], 2
lea rax, [0x0049fcca]
mov ebx, 0x13
call fcn.0042dee0
lea rax, [0x004a34c0]
mov ebx, 0x23
call fcn.0042dee0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
nop
call fcn.0044f100
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.00419b40
Function at 0x419f80
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
cmp byte [0x0058b254], 0
jne 0x41a079
nop
nop
nop
nop
sub rbx, qword [rax + 0x18]
nop
mov edx, dword [rax + 0x5c]
imul rbx, rdx
mov rdx, rbx
shr rbx, 0x20
nop
shr rdx, 0x23
and rbx, 7
mov rsi, rcx
mov rcx, rbx
mov r8d, 1
shl r8d, cl
nop
add rdx, qword [rax + 0x50]
lock or byte [rdx], r8b
nop
nop
mov rcx, qword [rax + 0x18]
nop
movabs rdx, 0x800000000000
lea rax, [rdx + rcx]
mov rdx, rax
shr rax, 0x2a
cmp rax, 0x40
jae 0x41a06f
lea rbx, [0x0055d6b8]
mov rax, qword [rbx + rax*8]
shr rdx, 0x16
and rdx, 0xfffff
mov rdx, qword [rax + rdx*8]
test byte [rdx], al
test byte [rax], al
mov rax, rcx
shr rcx, 0x10
and rcx, 0x3f
movzx ebx, byte [rdx + rcx + 0x21040]
lea rdx, [rdx + rcx]
lea rdx, [rdx + 0x21040]
shr rax, 0xd
and rax, 7
mov rcx, rax
mov eax, 1
shl eax, cl
test al, bl
jne 0x41a04a
lock or byte [rdx], al
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add qword [rax + 0x16a8], rsi
add qword [rax + 0x16b0], rdi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov ecx, 0x40
call fcn.00451820
lea rax, [0x004a4514]
mov ebx, 0x2c
call fcn.0042dee0
nop
int3
Function at 0x420a00
Capabilities:
Hash data using murmur3

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x420c9c
sub rsp, 0x30
mov qword [rsp + 0x28], rbp
lea rbp, [rsp + 0x28]
test byte [rax], al
mov dl, byte [rbx + 0x63]
nop dword [rax]
cmp dl, 1
jne 0x420ae0
cmp word [rbx + 0x60], 0
jne 0x420c8a
mov edx, dword [rbx + 0x58]
nop word [rax + rax]
cmp dword [rax + 0x10128], edx
jne 0x420c8a
mov rdx, qword [rbx + 0x20]
neg rdx
lock xadd qword [rax + 0x10158], rdx
nop
nop
mov rdx, qword [rbx + 0x18]
nop
movabs rsi, 0x800000000000
add rsi, rdx
mov rdi, rsi
shr rsi, 0x2a
nop word [rax + rax]
cmp rsi, 0x40
jae 0x420c7d
lea r8, [0x0055d6b8]
mov rsi, qword [r8 + rsi*8]
shr rdi, 0x16
and rdi, 0xfffff
mov rdi, qword [rsi + rdi*8]
test byte [rdi], al
test byte [rsi], al
mov rsi, rdx
shr rdx, 0x10
and rdx, 0x3f
lea rdx, [rdi + rdx]
lea rdx, [rdx + 0x21000]
shr rsi, 0xd
and rsi, 7
mov edi, ecx
mov rcx, rsi
mov r8d, 1
shl r8d, cl
not r8d
lock and byte [rdx], r8b
jmp 0x420af6
cmp dl, 2
jne 0x420c6c
cmp word [rbx + 0x60], 0
jne 0x420c5b
mov edi, ecx
mov rcx, qword [rbx + 0x20]
shl rcx, 0xd
nop
test dil, dil
jne 0x420b1c
mov rdx, rcx
neg rcx
lea rsi, [0x0058d0d8]
lock xadd qword [rsi], rcx
test dil, dil
jmp 0x420b1f
mov rdx, rcx
mov qword [rsp + 0x38], rax
mov byte [rsp + 0x1f], dil
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x40], rbx
je 0x420b45
lea rax, [0x0058d0d0]
mov rbx, rdx
nop
call fcn.00427000
lea rax, [0x0058e7e8]
call fcn.00427060
movzx ecx, byte [rsp + 0x1f]
cmp cl, 1
ja 0x420b80
test cl, cl
jne 0x420b6f
mov rcx, qword [rsp + 0x20]
neg rcx
lock xadd qword [rax + 0x10], rcx
jmp 0x420ba8
mov rcx, qword [rsp + 0x20]
neg rcx
lock xadd qword [rax + 0x18], rcx
jmp 0x420ba8
cmp cl, 2
jne 0x420b95
mov rcx, qword [rsp + 0x20]
neg rcx
lock xadd qword [rax + 0x28], rcx
jmp 0x420ba8
cmp cl, 3
jne 0x420ba8
mov rcx, qword [rsp + 0x20]
neg rcx
lock xadd qword [rax + 0x20], rcx
lea rax, [0x0058e7e8]
call fcn.00427140
mov rcx, qword [rsp + 0x38]
lea rax, [rcx + 8]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rdx + 0x20]
mov rsi, qword [rdx + 0x18]
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
call fcn.00423520
nop
mov rcx, qword [rsp + 0x40]
lea rdx, [rcx + 0x63]
xor ebx, ebx
xchg byte [rdx], bl
mov rdx, qword [r14 + 0x30]
mov rdx, qword [rdx + 0xa0]
test rdx, rdx
je 0x420c1b
mov rax, qword [rdx + 0x1228]
nop dword [rax]
cmp rax, 0x80
jge 0x420c1b
jae 0x420c51
mov qword [rdx + rax*8 + 0x1230], rcx
inc qword [rdx + 0x1228]
jmp 0x420c47
nop
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x16a70]
sub rdx, qword [rax + 0x16a40]
mov qword [rax + 0x16a70], rdx
mov rdx, qword [rax + 0x16a58]
mov qword [rcx], rdx
mov qword [rax + 0x16a58], rcx
mov rbp, qword [rsp + 0x28]
add rsp, 0x30
ret
mov ecx, pe_nt_image_headers64
call fcn.00451800
lea rax, [0x004a3fcc]
mov ebx, 0x29
call fcn.0042dee0
lea rax, [0x004a3fa3]
mov ebx, 0x29
call fcn.0042dee0
mov rax, rsi
mov ecx, 0x40
call fcn.00451820
lea rax, [0x004a34e3]
mov ebx, 0x23
call fcn.0042dee0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
call fcn.0044f100
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
nop
jmp fcn.00420a00
Function at 0x427300
Capabilities:
Hash data using murmur3

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x4275a6
sub rsp, 0x40
mov qword [rsp + 0x38], rbp
lea rbp, [rsp + 0x38]
test byte [rax], al
lea rsi, [rax + 0x16d0]
mov rcx, qword [rax + 0x16c0]
sub rcx, rsi
shr rcx, 3
cmp rcx, 0x200
ja 0x42759a
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], rcx
mov qword [rax + 0x16c0], 0
cmp byte [0x0058b254], 0
jne 0x427362
xor edx, edx
xor ebx, ebx
nop
jmp 0x4273ab
xor edx, edx
jmp 0x42738e
mov qword [rsp + 0x28], rdx
mov rcx, qword [rax + rdx*8 + 0x16d0]
mov rax, rcx
call fcn.00419ac0
mov rcx, qword [rsp + 0x28]
lea rdx, [rcx + 1]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
jl 0x427366
add rax, 0x16c0
call fcn.004271c0
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
inc rdx
cmp rdx, rcx
jge 0x427532
mov rsi, qword [rax + rdx*8 + 0x16d0]
nop dword [rax]
cmp rsi, 0x1000
jb 0x4273a8
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rbx
mov rax, rsi
xor ebx, ebx
mov rcx, rbx
nop dword [rax + rax]
call fcn.0040fb20
test rax, rax
jne 0x427402
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
nop
jmp 0x4273a8
nop
mov rsi, rcx
shr rcx, 3
and rsi, 7
mov rdx, rcx
mov rcx, rsi
mov r8d, 1
shl r8d, cl
nop
add rdx, qword [rbx + 0x50]
movzx esi, byte [rdx]
test r8b, sil
je 0x427445
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
nop
jmp 0x4273a8
nop
lock or byte [rdx], r8b
nop
nop
mov rcx, qword [rbx + 0x18]
nop
movabs rsi, 0x800000000000
lea r8, [rsi + rcx]
mov r9, r8
shr r8, 0x2a
cmp r8, 0x40
jae 0x42758d
lea r10, [0x0055d6b8]
mov r8, qword [r10 + r8*8]
shr r9, 0x16
and r9, 0xfffff
mov r9, qword [r8 + r9*8]
test byte [r9], al
test byte [r8], al
mov r8, rcx
shr rcx, 0x10
and rcx, 0x3f
movzx r10d, byte [r9 + rcx + 0x21040]
lea r9, [r9 + rcx]
lea r9, [r9 + 0x21040]
shr r8, 0xd
and r8, 7
mov rcx, r8
mov r8d, 1
shl r8d, cl
test r8b, r10b
jne 0x4274cc
lock or byte [r9], r8b
movzx r8d, byte [rbx + 0x62]
test r8b, 1
je 0x427505
mov r8, qword [rsp + 0x48]
mov r9, qword [r8 + 0x16a8]
add r9, qword [rbx + 0x68]
mov qword [r8 + 0x16a8], r9
mov rax, r8
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
jmp 0x4273a8
mov r8, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
cmp r8, rcx
jae 0x427585
mov r9, qword [rsp + 0x48]
mov qword [r9 + r8*8 + 0x16d0], rax
lea rbx, [r8 + 1]
mov rax, r9
mov rdx, qword [rsp + 0x28]
jmp 0x4273a8
cmp rbx, 0x200
ja 0x427577
lea rdx, [rax + 0x16d0]
lea rsi, [rax + 0x1698]
mov rcx, rbx
mov edi, 0x200
mov rbx, rdx
mov rax, rsi
call fcn.0041e0a0
mov rdx, qword [rsp + 0x48]
lea rax, [rdx + 0x16c0]
call fcn.004271c0
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
mov rcx, rbx
mov edx, 0x200
nop
call fcn.00451880
mov rax, r8
call fcn.00451800
mov rax, r8
mov ecx, 0x40
call fcn.00451820
mov edx, 0x200
nop
call fcn.00451860
nop
mov qword [rsp + 8], rax
call fcn.00453800
mov rax, qword [rsp + 8]
jmp fcn.00427300
Function at 0x42a500
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x20]
cmp r12, qword [r14 + 0x10]
jbe 0x42a7b0
sub rsp, 0xa0
mov qword [rsp + 0x98], rbp
lea rbp, [rsp + 0x98]
mov qword [rsp + 0x48], 0
mov rax, qword [sym.imp.kernel32.dll_DuplicateHandle]
lea rcx, [rsp + 0x48]
mov qword [rsp], rax
mov qword [rsp + 8], 0xffffffffffffffff
mov qword [rsp + 0x10], 0xfffffffffffffffe
mov qword [rsp + 0x18], 0xffffffffffffffff
mov qword [rsp + 0x20], rcx
movups xmmword [rsp + 0x28], xmm15
mov qword [rsp + 0x38], 2
call fcn.0042ada0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x40], 0
je 0x42a785
mov rcx, qword [r14 + 0x30]
mov qword [rsp + 0x80], rcx
test byte [rcx], al
lea rax, [rcx + 0x328]
mov qword [rsp + 0x88], rax
nop
call fcn.00408ce0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x80]
mov qword [rdx + 0x330], rcx
cmp qword [rdx + 0x348], 0
jne 0x42a636
cmp byte [0x0058b24a], 0
je 0x42a636
mov rax, qword [sym.imp.kernel32.dll_CreateWaitableTimerExW]
mov qword [rsp], rax
movups xmmword [rsp + 8], xmm15
mov qword [rsp + 0x18], 2
mov qword [rsp + 0x20], 0x100003
call fcn.0042ac20
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x80]
mov qword [rcx + 0x348], rax
test rax, rax
je 0x42a758
nop
nop
mov rax, qword [rsp + 0x88]
call fcn.00408f00
lea rcx, [rsp + 0x50]
movups xmmword [rcx], xmm15
lea rdx, [rsp + 0x60]
movups xmmword [rdx], xmm15
lea rdx, [rsp + 0x70]
movups xmmword [rdx], xmm15
mov rdx, qword [sym.imp.kernel32.dll_VirtualQuery]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], 0x30
nop
call fcn.0042aba0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
nop
je 0x42a72e
mov rcx, qword [rsp + 0x58]
lea rdx, [rcx + 0x4000]
mov qword [rsp + 0x90], r14
mov rsi, qword [r14 + 8]
nop
cmp rsi, rdx
jb 0x42a713
sub rsi, rcx
add rsi, 0xffffffffffffc000
cmp rsi, 0x4000000
ja 0x42a713
mov qword [r14], rdx
lea rax, [rcx + 0x53a0]
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x18], rax
call fcn.004511c0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov rcx, qword [rsp + 0x90]
test byte [rcx], al
lea rax, [0x0049e819]
mov ebx, 0xc
call fcn.0042dee0
call fcn.00452c80
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
lea rax, [0x004a31f0]
mov ebx, 0x22
call fcn.0042dee0
call fcn.00452c80
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
lea rax, [0x004a495b]
mov ebx, 0x30
nop dword [rax]
call fcn.0042dee0
call fcn.00452c80
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
lea rax, [0x004a3940]
mov ebx, 0x25
call fcn.0042dee0
nop
call fcn.0044f100
jmp fcn.0042a500
Function at 0x442c60
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
mov qword [rsp + 0x20], rax
test rbx, rbx
jbe 0x442dd8
movzx edx, byte [rax]
nop
test edx, edx
jne 0x442c9c
test r8b, r8b
jne 0x442c9c
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
bt edx, 7
jae 0x442caf
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x442d98
mov r8d, 1
mov r9d, edx
and edx, 1
neg edx
shr r9d, 1
xor edx, r9d
add dword [rsi], edx
cmp rbx, r8
jb 0x442d86
sub rbx, r8
sub rcx, r8
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and r8, rcx
lea rsi, [rax + r8]
test rbx, rbx
jbe 0x442d7c
movzx r8d, byte [rax + r8]
bt r8d, 7
jae 0x442d03
xor eax, eax
xor ecx, ecx
xor r8d, r8d
jmp 0x442d46
mov eax, 1
cmp rax, rbx
ja 0x442d35
add qword [rdi], r8
sub rdx, rax
sub rbx, rax
mov rcx, rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
add rax, rsi
mov edi, 1
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov rcx, rbx
call fcn.004518c0
lea r8d, [rcx + 7]
mov ecx, eax
mov eax, r10d
cmp rax, rbx
jae 0x442d74
movzx r9d, byte [rax + rsi]
lea r10d, [rax + 1]
mov r11d, r9d
and r9d, 0x7f
mov eax, ecx
mov ecx, r8d
shl r9d, cl
or eax, r9d
test r11b, 0x80
jne 0x442d3d
mov r8d, eax
mov eax, r10d
jmp 0x442d08
mov rcx, rbx
call fcn.00451800
xor eax, eax
mov rcx, rbx
call fcn.00451800
mov eax, r8d
mov rcx, rbx
call fcn.004518c0
lea r9d, [rcx + 7]
mov rcx, r12
cmp rbx, rdx
jbe 0x442dce
movzx r10d, byte [rdx + rax]
inc edx
mov r11d, r10d
and r10d, 0x7f
mov r12, rcx
mov ecx, r9d
shl r10d, cl
or r8d, r10d
test r11b, 0x80
jne 0x442d91
mov rcx, r12
mov r9d, edx
mov edx, r8d
mov r8d, r9d
jmp 0x442cb5
mov eax, edx
mov rcx, rbx
call fcn.00451800
xor eax, eax
mov rcx, rbx
nop dword [rax]
call fcn.00451800
nop
int3