joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1800031c7
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov esi, ecx
mov rdi, qword [rax + 0x18]
add rdi, 0x10
mov rbx, qword [rdi]
jmp 0x180003201
mov rcx, qword [rbx + 0x60]
call fcn.18000321f
lea ecx, [rax + rax*2]
cmp esi, ecx
je 0x180003218
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1800031ee
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x30]
jmp 0x180003208

Function at 0x180003be0
Capabilities:
Set thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x20
xor esi, esi
mov rbx, rcx
mov edi, esi
mov eax, dword [rbx]
test eax, eax
je 0x180003c0b
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, dword [rbx + 8]
cmp edx, eax
jne 0x180003c16
inc dword [rbx + 4]
jmp 0x180003c43
mov eax, 1
xchg dword [rbx], eax
test eax, eax
je 0x180003c2a
inc edi
test dil, 0x3f
jne 0x180003bf3
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SleepEx]
jmp 0x180003bf3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rbx + 4], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rbx + 8], eax
mov dword [rbx + 4], 1
mov ebp, esi
mov rcx, rsi
lea rax, [rbx + 0x20]
nop dword [rax]
cmp qword [rax], rsi
je 0x180003c67
inc rcx
inc ebp
add rax, 8
cmp rcx, 0x100
jl 0x180003c50
cmp ebp, 0x100
jne 0x180003c8b
dec dword [rbx + 4]
mov eax, dword [rbx + 4]
jne 0x180003c7c
mov dword [rbx + 8], esi
xchg dword [rbx], esi
xor eax, eax
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [0x1800aea30]
lea rdi, [rbx + 0x828]
mov qword [rsp + 0x48], r12
mov r8, qword [rdi]
mov rcx, qword [r8 + 0x40]
cmp rcx, rax
je 0x180003cb4
call fcn.180086f78
mov r12, rsi
jmp 0x180003ce5
mov edx, 0xc0
mov rcx, r8
call fcn.180002f70
mov r12, rax
test rax, rax
je 0x180003ce5
test byte [rax - 8], 1
jne 0x180003cd5
test byte [rax - 0x10], 1
jne 0x180003ce5
xor edx, edx
mov r8d, 0xc0
mov rcx, rax
call fcn.18008c4a0
movsxd rax, ebp
mov qword [rbx + rax*8 + 0x20], r12
test r12, r12
jne 0x180003d03
dec dword [rbx + 4]
mov eax, dword [rbx + 4]
jne 0x180003cff
mov dword [rbx + 8], esi
xchg dword [rbx], esi
xor eax, eax
jmp 0x180003d52
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, esi
mov dword [r12 + 4], eax
cmp qword [rdi], rcx
je 0x180003d20
add rdi, 8
inc ecx
cmp qword [rdi], rsi
jne 0x180003d15
cdq
idiv ecx
mov dword [r12], edx
dec dword [rbx + 4]
mov eax, dword [rbx + 4]
jne 0x180003d34
mov dword [rbx + 8], esi
xchg dword [rbx], esi
lea ecx, [rbp + 1]
movsxd rdx, ecx
mov ecx, dword [rbx + 0x820]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x180003d4f
call fcn.180086f78
mov rax, r12
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
Function at 0x140006530
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rax, rdx
mov rsi, qword [rbp + 0x70]
mov rdi, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
mov ebx, ecx
shr ebx, 8
lea r8, [rax + r8*2]
xor r11d, r11d
mov r15, rax
movzx r14d, byte [rax + 1]
add rax, 2
lea r10, [r11 + r14]
cmp byte [r15], bl
jne 0x1400065b0
cmp r11, r10
ja 0x140006627
cmp r10, rdx
ja 0x140006639
add r11, r9
xor r15d, r15d
nop dword [rax + rax]
cmp r14, r15
je 0x1400065b2
lea r12, [r15 + 1]
cmp byte [r11 + r15], cl
mov r15, r12
jne 0x140006590
jmp 0x140006614
ja 0x1400065ba
mov r11, r10
cmp rax, r8
jne 0x14000655e
add rsi, rdi
movzx ecx, cx
mov al, 1
nop word cs:[rax + rax]
lea r8, [rdi + 1]
movzx edx, byte [rdi]
test dl, dl
js 0x1400065f0
mov rdi, r8
sub ecx, edx
jns 0x14000660b
jmp 0x140006616
cmp r8, rsi
je 0x140006648
movzx r8d, byte [rdi + 1]
add rdi, 2
and edx, 0x7f
shl edx, 8
or edx, r8d
sub ecx, edx
js 0x140006616
xor al, 1
cmp rdi, rsi
jne 0x1400065d0
jmp 0x140006616
xor eax, eax
and al, 1
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r11
mov rdx, r10
call fcn.140017d90
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r10
call fcn.140017aa0
lea rcx, str.librarycore_srcunicodeprintable.rs
call fcn.140017e00
int3

Function at 0x14000aa80
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
mov rax, rdx
sub rdx, rcx
cmp rdx, 0x20
jae 0x14000aaa5
cmp rax, rcx
je 0x14000aaab
cmp rdx, 4
jae 0x14000aab2
xor eax, eax
xor r8d, r8d
jmp 0x14000ab50
pop rbp
jmp fcn.140003b70
xor eax, eax
jmp 0x14000ab67
mov r8d, edx
and r8d, 0x1c
pxor xmm0, xmm0
xor eax, eax
movdqa xmm2, xmmword [0x1400193e0]
movdqa xmm3, xmmword [0x1400193f0]
pxor xmm1, xmm1
nop word cs:[rax + rax]
movzx r9d, word [rcx + rax]
movd xmm4, r9d
movzx r9d, word [rcx + rax + 2]
movd xmm5, r9d
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm0, xmm4
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm4, xmm5, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm1, xmm4
add rax, 4
cmp r8, rax
jne 0x14000aae0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rax, xmm0
cmp r8, rdx
je 0x14000ab67
nop dword [rax]
xor r9d, r9d
cmp byte [rcx + r8], 0xc0
setge r9b
add rax, r9
inc r8
cmp rdx, r8
jne 0x14000ab50
pop rbp
ret
Function at 0x140011980
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
movzx r9d, byte [rdx + 0x38]
movzx eax, byte [rdx + 0x3a]
test al, al
setne r8b
cmp r9b, 1
ja 0x140011a06
test al, al
jne 0x1400119df
movzx esi, byte [rdx + 0x10]
lea eax, [rsi - 5]
cmp al, 1
ja 0x1400119df
invalid
mov r10, qword [rdx]
xor r8d, r8d
xor eax, eax

Function at 0x140017380
Capabilities:
Parse pe header

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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
mov r15, r8
inc r15
sete r13b
je 0x140018a96
js 0x140018aa2
mov r14, r9
mov rbx, r8
mov r12, rdx
mov rdi, rcx
movzx eax, byte [0x140021100]
mov rcx, r15
call fcn.140013920
test rax, rax
je 0x140018aa7
mov rsi, rax
mov rcx, rax
mov rdx, r12
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
cmp rbx, 0xf
ja 0x1400189a1
test rbx, rbx
je 0x1400189ee
xor eax, eax
nop dword [rax + rax]
cmp byte [r12 + rax], 0
je 0x1400189b3
inc rax
cmp rbx, rax
jne 0x140018990
jmp 0x1400189ee
xor ecx, ecx
mov rdx, r12
mov r8, rbx
call fcn.140006740
test rax, rax
je 0x1400189ee
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rdi + 8], rax
mov qword [rdi], 1
test r13b, r13b
jne 0x140018a81
mov edx, 1
mov rcx, rsi
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.1400071e0
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rbx
cmp r15, rbx
je 0x140018ab4
mov byte [rsi + rbx], 0
xorps xmm0, xmm0
movaps xmmword [rbp - 0x60], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
mov dword [rbp - 0x58], 1
mov qword [rbp - 0x18], 0
lea r8, [rbp - 0x60]
lea r9, [rbp - 0x18]
mov rcx, rsi
xor edx, edx
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x140018a51
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x140018a65
mov rcx, qword [r14]
mov rax, qword [rbp - 0x18]
movzx ecx, word [rcx]
mov qword [rdi + 0x10], rax
mov word [rdi + 0x18], cx
xor ecx, ecx
mov qword [rdi + 8], rax
mov qword [rdi], rcx
mov byte [rsi], 0
test r13b, r13b
jne 0x140018a81
mov edx, 1
mov rcx, rsi
call fcn.1400071e0
nop
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, str.library_alloc_src_ffic_str.rs
call fcn.140017e00
call fcn.140003260
mov ecx, 1
mov rdx, r15
call fcn.1400178a0
mov rdx, rbx
not rdx
shr rdx, 0x3f
test rbx, rbx
jne 0x140018ac7
xor eax, eax
jmp 0x140018ad4
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x50], rbx
mov eax, 1
mov qword [rbp - 0x58], rax
lea rcx, [rbp - 0x18]
lea r9, [rbp - 0x60]
mov r8, rbx
call fcn.1400032a0
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
call fcn.1400178a0
ud2
Function at 0x180004fe0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0x98
cmp byte [0x180143942], 0
je 0x180005295
mov qword [rax + 8], rbx
mov ecx, 0x20
mov qword [rax + 0x18], rsi
mov qword [rax - 8], rdi
movaps xmmword [rax - 0x18], xmm6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor edi, edi
movabs rsi, 0xd80958fc74e988a6
xorps xmm6, xmm6
test ax, ax
je 0x180005096
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
mov qword [0x180145da8], rsi
call fcn.1800320a0
movss xmm0, dword [0x1800dad48]
xorps xmm3, xmm3
mov dword [rsp + 0x70], 1
mov dword [rsp + 0x68], 1
mov edx, dword [rax]
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm6
call fcn.180024fe0
movabs rax, 0xd24d37cc275948cc
mov dword [0x18011d478], edi
mov qword [0x180145da8], rax
lea rax, str.GADGET_PARACHUTE
mov qword [0x18011d540], rax
mov dword [0x18011d468], 1
call fcn.1800320a0
mov qword [0x180145da8], rsi
mov ebx, dword [rax]
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
call fcn.1800320a0
mov edx, ebx
mov ecx, dword [rax]
call fcn.180024e10
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
mov qword [0x180145da8], rsi
call fcn.1800320a0
mov qword [rsp + 0xa8], rdi
mov ecx, dword [rax]
movabs rax, 0x886e37ec497200b6
mov dword [rsp + 0xa8], ecx
mov qword [0x180145da8], rax
mov rax, qword [rsp + 0xa8]
mov qword [0x18011d540], rax
mov dword [0x18011d478], edi
mov dword [0x18011d468], 1
call fcn.1800320a0
mov rbx, qword [rsp + 0xa0]
cmp dword [rax], edi
je 0x18000527d
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
mov qword [0x180145da8], rsi
call fcn.1800320a0
mov qword [rsp + 0xa8], rdi
mov ecx, dword [rax]
movabs rax, 0x47e4e977581c5b55
mov dword [rsp + 0xa8], ecx
mov qword [0x180145da8], rax
mov rax, qword [rsp + 0xa8]
mov qword [0x18011d540], rax
mov dword [0x18011d478], edi
mov dword [0x18011d468], 1
call fcn.1800320a0
cmp dword [rax], edi
jne 0x18000527d
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800051fe
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
mov qword [0x180145da8], rsi
call fcn.1800320a0
movss xmm1, dword [0x1800dabb0]
xorps xmm3, xmm3
xorps xmm2, xmm2
mov ecx, dword [rax]
call fcn.180021a30
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180005240
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
mov qword [0x180145da8], rsi
call fcn.1800320a0
movss xmm2, dword [0x1800dac98]
xorps xmm3, xmm3
movss xmm1, dword [0x1800dabb0]
mov ecx, dword [rax]
call fcn.180021a30
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000527d
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
mov qword [0x180145da8], rsi
call fcn.1800320a0
movss xmm1, dword [0x1800dac98]
xorps xmm3, xmm3
xorps xmm2, xmm2
mov ecx, dword [rax]
call fcn.180021a30
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x98
ret
Function at 0x180008f10
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0xa8
cmp byte [0x180143924], 0
je 0x18000915f
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000915f
mov qword [rsp + 0xb0], rbx
movabs rbx, 0xd80958fc74e988a6
mov qword [rsp + 0xa0], rdi
xor edi, edi
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
mov qword [0x180145da8], rbx
call fcn.1800320a0
mov qword [rsp + 0xb8], rdi
mov ecx, dword [rax]
movabs rax, 0x997abd671d25ca0b
mov dword [rsp + 0xb8], ecx
mov qword [0x180145da8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xb8], rdi
mov qword [0x18011d540], rax
mov dword [rsp + 0xb8], 1
mov rax, qword [rsp + 0xb8]
mov qword [0x18011d548], rax
mov dword [0x18011d478], edi
mov dword [0x18011d468], 2
call fcn.1800320a0
cmp dword [rax], edi
je 0x18000914f
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm7
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
mov qword [0x180145da8], rbx
call fcn.1800320a0
mov qword [rsp + 0xb8], rdi
mov ecx, dword [rax]
movabs rax, 0x9a9112a0fe9a4713
mov dword [rsp + 0xb8], ecx
mov qword [0x180145da8], rax
mov rax, qword [rsp + 0xb8]
mov qword [0x18011d540], rax
mov dword [0x18011d478], edi
mov qword [0x18011d548], rdi
mov dword [0x18011d468], 2
call fcn.1800320a0
mov qword [rsp + 0xb8], rdi
mov ebx, dword [rax]
movabs rax, 0x866a4a5fae349510
mov qword [0x180145da8], rax
mov dword [rsp + 0xb8], ebx
mov rax, qword [rsp + 0xb8]
mov qword [0x18011d540], rax
mov dword [0x18011d478], edi
mov dword [0x18011d468], 1
call fcn.1800320a0
mov qword [rsp + 0xb8], rdi
xorps xmm6, xmm6
mov dword [rsp + 0xb8], ebx
movss xmm7, dword [rax]
movabs rax, 0x8bb4ef4214e0e6d5
mov qword [0x180145da8], rax
addss xmm7, xmm6
mov rax, qword [rsp + 0xb8]
mov qword [0x18011d540], rax
mov dword [0x18011d478], edi
mov dword [0x18011d468], 1
call fcn.1800320a0
movss xmm0, dword [0x1800daccc]
mov edx, ebx
mov dword [rsp + 0x70], 1
mov dword [rsp + 0x68], 1
movss xmm3, dword [rax]
mov dword [rsp + 0x58], 1
addss xmm3, xmm6
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm7
call fcn.180024fe0
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
mov rbx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa0]
add rsp, 0xa8
ret
Function at 0x180009c30
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x28
cmp byte [0x18014391b], 0
je 0x180009d97
mov ecx, 0xa0
mov qword [rsp + 0x20], rbx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor ebx, ebx
movabs rcx, 0xd80958fc74e988a6
mov qword [0x180145da8], rcx
mov dword [0x18011d468], ebx
mov dword [0x18011d478], ebx
test ax, ax
je 0x180009d05
call fcn.1800320a0
mov qword [rsp + 0x38], rbx
mov ecx, dword [rax]
movabs rax, 0x9a9112a0fe9a4713
mov dword [rsp + 0x38], ecx
mov qword [0x180145da8], rax
mov rax, qword [rsp + 0x38]
mov qword [0x18011d540], rax
mov dword [0x18011d478], ebx
mov qword [0x18011d548], rbx
mov dword [0x18011d468], 2
call fcn.1800320a0
mov qword [rsp + 0x38], rbx
mov ecx, dword [rax]
movabs rax, 0x222ff6a823d122e2
mov dword [rsp + 0x38], ecx
mov qword [0x180145da8], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x38], 1
mov qword [0x18011d540], rax
mov rax, qword [rsp + 0x38]
mov qword [0x18011d548], rax
jmp 0x180009d7d
call fcn.1800320a0
mov qword [rsp + 0x38], rbx
mov ecx, dword [rax]
movabs rax, 0x9a9112a0fe9a4713
mov dword [rsp + 0x38], ecx
mov qword [0x180145da8], rax
mov rax, qword [rsp + 0x38]
mov qword [0x18011d540], rax
mov dword [0x18011d478], ebx
mov qword [0x18011d548], rbx
mov dword [0x18011d468], 2
call fcn.1800320a0
mov qword [rsp + 0x38], rbx
mov ecx, dword [rax]
movabs rax, 0x222ff6a823d122e2
mov dword [rsp + 0x38], ecx
mov qword [0x180145da8], rax
mov rax, qword [rsp + 0x38]
mov qword [0x18011d540], rax
mov qword [0x18011d548], rbx
mov dword [0x18011d478], ebx
mov dword [0x18011d468], 2
call fcn.1800320a0
mov rbx, qword [rsp + 0x20]
add rsp, 0x28
ret
Function at 0x18000e180
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0xa8
cmp byte [0x1801438ef], 0
je 0x18000e45b
mov ecx, 0x75
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x18000e45b
movabs rax, 0x1bede233e6cd2a1f
mov qword [rsp + 0xb0], rbx
mov qword [0x180145da8], rax
mov qword [rsp + 0xa0], rdi
xor edi, edi
mov qword [rsp + 0xb8], rdi
mov dword [rsp + 0xb8], 8
mov rax, qword [rsp + 0xb8]
mov qword [0x18011d540], rax
mov dword [0x18011d478], edi
mov dword [0x18011d468], 1
call fcn.1800320a0
mov qword [rsp + 0xb8], rdi
mov ebx, dword [rax]
movabs rax, 0xa6db27d19ecbb7da
mov qword [0x180145da8], rax
mov dword [rsp + 0xb8], ebx
mov rax, qword [rsp + 0xb8]
mov qword [0x18011d540], rax
mov dword [0x18011d478], edi
mov dword [0x18011d468], 1
call fcn.1800320a0
cmp dword [rax], edi
je 0x18000e44b
movaps xmmword [rsp + 0x90], xmm6
movabs rax, 0x586afe3ff72d996e
movaps xmmword [rsp + 0x80], xmm7
mov qword [rsp + 0xb8], rdi
mov qword [0x180145da8], rax
movaps xmmword [rsp + 0x70], xmm8
mov dword [rsp + 0xb8], ebx
mov rax, qword [rsp + 0xb8]
mov qword [0x18011d540], rax
movaps xmmword [rsp + 0x60], xmm9
mov dword [0x18011d478], edi
mov dword [0x18011d468], 1
call fcn.1800320a0
movabs rbx, 0xd80958fc74e988a6
mov qword [0x180145da8], rbx
movups xmm7, xmmword [rax]
movsd xmm9, qword [rax + 0x10]
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
call fcn.1800320a0
mov qword [rsp + 0xb8], rdi
mov ecx, dword [rax]
movabs rax, 0x997abd671d25ca0b
mov dword [rsp + 0xb8], ecx
mov qword [0x180145da8], rax
mov rax, qword [rsp + 0xb8]
mov qword [0x18011d540], rax
mov dword [0x18011d478], edi
mov qword [0x18011d548], rdi
mov dword [0x18011d468], 2
call fcn.1800320a0
movss xmm6, dword [0x1800daec4]
movaps xmm8, xmm7
shufps xmm8, xmm7, 0xaa
cmp dword [rax], edi
je 0x18000e3eb
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
mov qword [0x180145da8], rbx
call fcn.1800320a0
mov qword [rsp + 0xb8], rdi
mov ecx, dword [rax]
movabs rax, 0x9a9112a0fe9a4713
mov dword [rsp + 0xb8], ecx
mov qword [0x180145da8], rax
mov rax, qword [rsp + 0xb8]
mov qword [0x18011d540], rax
mov dword [0x18011d478], edi
mov qword [0x18011d548], rdi
mov dword [0x18011d468], 2
call fcn.1800320a0
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
mov qword [0x180145da8], rbx
call fcn.1800320a0
movaps xmm0, xmm9
movaps xmm3, xmm8
movaps xmm2, xmm7
addss xmm0, xmm6
addss xmm3, xmm6
movabs rcx, 0x9afeff481a85ab2e
mov edx, dword [rax]
addss xmm2, xmm6
movss dword [rsp + 0x20], xmm0
call fcn.180025700
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
mov qword [0x180145da8], rbx
call fcn.1800320a0
addss xmm9, xmm6
mov dword [rsp + 0x38], 1
addss xmm8, xmm6
mov dword [rsp + 0x30], edi
addss xmm7, xmm6
mov ecx, dword [rax]
movaps xmm3, xmm9
movaps xmm2, xmm8
movaps xmm1, xmm7
call fcn.180025340
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
mov rbx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa0]
add rsp, 0xa8
ret
Function at 0x1800184b0
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov rax, rsp
sub rsp, 0x78
cmp byte [0x1801438a1], 0
je 0x1800186c1
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
movabs rsi, 0xd80958fc74e988a6
mov qword [rax - 8], rdi
xor edi, edi
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
movaps xmmword [rax - 0x18], xmm6
mov qword [0x180145da8], rsi
call fcn.1800320a0
mov qword [rsp + 0x88], rdi
mov ecx, dword [rax]
movabs rax, 0x3fef770d40960d5a
mov dword [rsp + 0x88], ecx
mov qword [0x180145da8], rax
mov rax, qword [rsp + 0x88]
mov qword [0x18011d540], rax
mov dword [0x18011d478], edi
mov qword [0x18011d548], rdi
mov dword [0x18011d468], 2
call fcn.1800320a0
movsd xmm0, qword [rax + 0x10]
movups xmm6, xmmword [rax]
movabs rax, 0xd24d37cc275948cc
mov dword [0x18011d478], edi
movsd qword [rsp + 0x50], xmm0
mov qword [0x180145da8], rax
lea rax, str.prop_boogieboard_05
mov qword [0x18011d540], rax
mov dword [0x18011d468], 1
call fcn.1800320a0
mov ebx, dword [rax]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x18014608c]
cmp eax, 0x64
jb 0x1800186a7
movss xmm1, dword [rsp + 0x50]
movaps xmm3, xmm6
subss xmm1, dword [0x1800daa50]
shufps xmm3, xmm6, 0xaa
movaps xmm2, xmm6
subss xmm3, dword [0x1800daa50]
mov dword [rsp + 0x38], 1
mov edx, ebx
movss dword [rsp + 0x20], xmm1
call fcn.180025190
mov ebx, eax
mov dword [0x18011d468], edi
mov dword [0x18011d478], edi
mov qword [0x180145da8], rsi
call fcn.1800320a0
mov qword [rsp + 0x88], rdi
mov ecx, dword [rax]
movabs rax, 0xe83d4f9ba2a38914
mov dword [rsp + 0x88], ecx
mov rcx, qword [rsp + 0x88]
mov qword [0x18011d540], rcx
mov dword [0x18011d478], edi
mov qword [0x180145da8], rax
mov dword [0x18011d468], 1
call fcn.1800320a0
mov qword [rsp + 0x88], rdi
mov dword [rsp + 0x88], ebx
movss xmm0, dword [rax]
movabs rax, 0x8e2530aa8ada980e
mov qword [0x180145da8], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x88], rdi
movss dword [rsp + 0x88], xmm0
mov qword [0x18011d540], rax
mov rax, qword [rsp + 0x88]
mov qword [0x18011d548], rax
mov dword [0x18011d478], edi
mov dword [0x18011d468], 2
call fcn.1800320a0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x18014608c], eax
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x78
ret
Function at 0x180021ef0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x20], rbp
push rdi
sub rsp, 0xc50
mov rax, qword [0x1801033c0]
xor rax, rsp
mov qword [rsp + 0xc40], rax
mov rdi, rcx
mov qword [rsp + 0x38], rcx
lea rax, [rsp + 0x440]
xor ebp, ebp
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
xor ecx, ecx
lea edx, [rbp + 0x1a]
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x18002202e
mov qword [rsp + 0xc68], rbx
lea rdx, [rsp + 0x440]
mov r8d, 0x3ff
mov qword [rsp + 0xc70], rsi
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstombs]
cmp qword [0x180145f68], 0xf
lea rcx, [0x180145f50]
cmova rcx, qword [0x180145f50]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
xorps xmm0, xmm0
lea rsi, [0x180143040]
mov rbx, rax
lea r8, [0x1800b8940]
xor eax, eax
lea edx, [rbp + 0x45]
mov rcx, rsi
mov dword [0x180143080], eax
mov byte [0x180143084], al
movups xmmword [0x180143040], xmm0
movups xmmword [0x180143050], xmm0
movups xmmword [0x180143060], xmm0
movups xmmword [0x180143070], xmm0
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
lea r8, [rsp + 0x40]
mov rcx, rsi
lea edx, [rbp + 0x45]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
mov r8, rbx
lea edx, [rbp + 0x45]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov rbx, qword [rsp + 0xc68]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rbp
mov r8, 0xffffffffffffffff
mov qword [rdi + 0x18], rbp
nop dword [rax]
inc r8
cmp byte [rsi + r8], bpl
jne 0x180022010
mov rdx, rsi
mov rcx, rdi
call fcn.180024aa0
mov rsi, qword [rsp + 0xc70]
jmp 0x180022043
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], 0xf
mov byte [rdi], bpl
mov rax, rdi
mov rcx, qword [rsp + 0xc40]
xor rcx, rsp
call fcn.1800aafb0
mov rbp, qword [rsp + 0xc78]
add rsp, 0xc50
pop rdi
ret