joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140061c70
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1c0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
mov r15d, ecx
mov ebp, edx
mov dword [rsp + 0x60], edx
mov edi, ecx
mov dword [rsp + 0x64], ecx
imul r15d, edx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
lea rcx, [rsp + 0x70]
xor edx, edx
mov r8d, 0x140
mov r13d, eax
call fcn.1400e27d0
lea rdx, [rsp + 0x70]
lea rcx, str.role
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor ecx, ecx
movsxd rbx, eax
lea r8d, [rcx + 0x19]
mov edx, 0x2cd
mov dword [rsp + 0x68], ebx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor eax, eax
mov qword [rsp + 0x28], rax
lea r8, [0x140001b00]
movsx r9, bl
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea rcx, [rsp + 0x70]
mov edx, 0x104
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edx, edi
movzx ecx, dil
lea r12d, [rdi + 9]
shl ecx, 2
mov rbx, rax
sub edx, ecx
xor ecx, ecx
sub edx, ebp
lea r8d, [rcx + 0x12]
sub edx, r14d
lea ebp, [rax + rdx]
mov edx, 0x334
add ebp, 5
add ebp, r13d
call qword [sym.imp.KERNEL32.dll_FindResourceA]
movzx eax, byte [rsp + 0x60]
mov r8d, 0x140
imul r15b
movzx ecx, al
movzx eax, dil
imul cl
movzx ecx, al
movzx eax, dil
imul cl
movzx ecx, bl
shl cl, 2
movzx edi, al
mov eax, 2
add bl, cl
sub eax, esi
sub dil, bl
lea eax, [rax + rax*4]
sub dil, 6
movzx ebx, dil
inc ebx
imul ebx, r14d
mov r14d, dword [rsp + 0x64]
mov ecx, r14d
imul ecx, r15d
add ebx, ecx
lea rcx, [rsp + 0x70]
add ebx, eax
sub ebx, r12d
add ebx, ebp
xor edx, edx
call fcn.1400e27d0
lea rdx, [rsp + 0x70]
lea rcx, str.agreement
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xor ecx, ecx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
movzx eax, dil
lea r8, str.c2a4
lea rdx, str.c2a4
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ecx
mov ecx, r12d
mov r9d, r12d
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], r13d
call qword [sym.imp.USER32.dll_CreateWindowExA]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp dword [rsp + 0x60], r14d
je 0x140061e46
movsx ecx, byte [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
lea rax, str.seaplane
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.1400dd340
mov rbx, qword [rsp + 0x210]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x140061e80
Capabilities:
Create thread
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x210
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x200], rax
mov rbp, rcx
mov r14d, r8d
mov r15d, edx
lea rcx, [rsp + 0xc0]
xor edx, edx
mov r8d, 0x140
mov qword [rsp + 0x30], r9
call fcn.1400e27d0
lea rdx, [rsp + 0xc0]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea r8, [0x140001b00]
xor edx, edx
mov rbx, rax
movsxd r9, eax
xor eax, eax
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
or rdi, 0xffffffffffffffff
mov rsi, rdi
inc rsi
cmp byte [rsi + rbp], 0
jne 0x140061f14
sub bl, r15b
sub bl, byte [rsp + 0x260]
add sil, bl
add sil, r14b
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor ecx, ecx
lea r8d, [rcx + 0x1d]
mov edx, 0x33f
mov r13, rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea r9, str.c1ret
lea r8, str.crib
mov rbx, rax
lea rax, str.c2a0
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov edx, 0x10
mov qword [rsp + 0x20], rbx
call fcn.1400da560
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
nop
inc rdi
cmp byte [rdi + rbp], 0
jne 0x140061fa0
movzx eax, sil
lea ecx, [rax + rax*2]
lea eax, [rbx - 0xe]
shl ecx, 4
add eax, ecx
lea ecx, [rax + rax*4]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
imul eax, dword [rsp + 0x260]
imul eax, r14d
add eax, ecx
sub eax, dword [rsp + 0x48]
sub eax, r13d
sub eax, r15d
add eax, edi
mov rcx, qword [rsp + 0x200]
xor rcx, rsp
call fcn.1400dd340
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret
Function at 0x1400623a0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x180
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x170], rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov r15, rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea r8, [0x140001b00]
mov r14, rax
xor eax, eax
xor edx, edx
mov qword [rsp + 0x28], rax
lea r9d, [rax + 0x20]
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0x140
mov rbx, rax
call fcn.1400e27d0
lea rdx, [rsp + 0x30]
lea rcx, str.paste
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea ebp, [r14 - 0x24]
mov rdi, rax
movzx eax, bpl
imul dil
movzx esi, al
shl sil, 2
cmp sil, bpl
jae 0x140062477
lea rcx, [rsp + 0x30]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
xor ecx, ecx
mov edx, 0x3bf
lea r8d, [rcx + 0x19]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea rcx, [rsp + 0x30]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
neg ebx
imul edi, ebp
movzx eax, sil
add ebx, ebx
sub ebx, edi
add eax, ebx
sub eax, r15d
add eax, r14d
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400dd340
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x140062960
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1a0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x190], rax
or rbp, 0xffffffffffffffff
mov rsi, r9
mov qword [rsp + 0x38], r9
mov r14, r8
mov qword [rsp + 0x40], r8
mov r15, rdx
mov rbx, rbp
mov r12, rcx
nop
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1400629b0
movzx edi, byte [r9 + 8]
imul ebx, r12d
add dil, cl
mov byte [rsp + 0x20], dil
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r13d, dword [r14 + 0x18]
add r13d, dword [rsi + 0x28]
mov edx, eax
mov dword [rsp + 0x24], eax
add r13d, r12d
mov rcx, rbp
inc rcx
cmp byte [r15 + rcx], 0
jne 0x1400629e4
mov r14d, r12d
mov esi, ebx
movsx edi, dil
sub r14d, ecx
lea rcx, [rsp + 0x50]
mov r8d, 0x140
lea eax, [r14 + r14*4]
sub esi, eax
sub esi, edi
sub esi, r13d
sub esi, edx
xor edx, edx
sub esi, 2
call fcn.1400e27d0
lea rdx, [rsp + 0x50]
lea rcx, str.pyramid
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r8d, dword [rsp + 0x24]
mov ecx, edi
imul edi, ebx
imul ecx, r14d
sub eax, edi
sub eax, r13d
imul ecx, r8d
add r8d, 0xfffffffa
imul ecx, r12d
add eax, esi
lea edx, [rcx*4 - 0xb]
add eax, r14d
add edx, ecx
lea rcx, str.pyramid
add eax, r8d
mov dword [rsp + 0x30], edx
add eax, r12d
mov dword [rsp + 0x2c], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
xor ecx, ecx
mov edx, 0x316
mov rdi, rax
lea eax, [r12 + 4]
lea r8d, [rcx + 0x17]
mov dword [rsp + 0x28], eax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
xor ecx, ecx
lea r8d, [rcx + 2]
mov edx, 0x1bf
mov r14d, eax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov r8, rax
nop
inc rbp
cmp byte [r15 + rbp], 0
jne 0x140062ac0
mov rax, qword [rsp + 0x40]
add dil, dil
lea ecx, [rsi + r14]
movzx eax, byte [rax + 0x10]
sub r12b, dil
sub r12b, r8b
sub r12b, 5
add r12b, r12b
imul bpl
lea edx, [r12 + rax]
mov al, 7
imul cl
add dl, al
movzx eax, byte [rsp + 0x2c]
imul byte [rsp + 0x30]
add dl, al
mov rax, qword [rsp + 0x38]
sub dl, byte [rsp + 0x24]
sub dl, byte [rsp + 0x28]
add dl, r13b
add dl, bl
add dl, r14b
add dl, byte [rax]
lea eax, [r8 + rdx]
add al, sil
add al, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.1400dd340
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x140062b60
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x150
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x140], rax
movsxd rbx, ecx
xor edi, edi
cmp r8b, bl
ja 0x140062bcc
call qword [sym.imp.USER32.dll_GetForegroundWindow]
lea r8, [0x140001b00]
xor edx, edx
xor ecx, ecx
mov r9d, eax
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea rcx, [rsp + 0x30]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
lea rcx, [rsp + 0x30]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
lea r8, [0x140001b00]
mov r9, rbx
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, 0xffff
call qword [sym.imp.KERNEL32.dll_GetMaximumProcessorCount]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor ecx, ecx
lea r8d, [rcx + 0x16]
mov edx, 0x170
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea rcx, [rsp + 0x30]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1400dd340
mov rbx, qword [rsp + 0x168]
add rsp, 0x150
pop rdi
ret
Function at 0x1400630b0
Capabilities:
Query environment variable

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x1c0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
mov r14d, dword [rsp + 0x210]
mov rbx, r9
mov rdi, r8
mov ebp, edx
movzx esi, cl
cmp cl, r14b
je 0x1400630ee
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
movsx esi, sil
or rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [rbx + rcx], 0
jne 0x140063110
mov eax, esi
sub eax, edi
add ecx, eax
mov dword [rsp + 0x60], ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp r14d, esi
jle 0x14006317f
call qword [sym.imp.USER32.dll_GetActiveWindow]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor ecx, ecx
mov edx, 0xc7
lea r8d, [rcx + 0x1c]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov edx, 0x3e7
lea r8d, [rcx + 0x12]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov edx, 0x124
lea r8d, [rcx + 0xc]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea rcx, [rsp + 0xa0]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
cmp ebp, 0x40
jl 0x14006320b
movsx rax, byte [rsp + 0x60]
xor ecx, ecx
lea r8, [0x1400ed3b8]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 0x40
mov dword [rsp + 0x30], esi
lea rdx, str.runaway
xor r9d, r9d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ebp
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov edx, 0x65
lea r8d, [rdx - 0x63]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rax, rdi
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.1400dd340
add rsp, 0x1c0
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140063d10
Capabilities:
Create thread

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1f8
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
mov r14, qword [rsp + 0x260]
mov eax, r9d
mov r13, r8
mov qword [rsp + 0x40], r8
lea r15d, [r8 + 8]
mov dword [rsp + 0x30], eax
xor eax, eax
mov qword [rsp + 0x38], rdx
mov rsi, rcx
mov qword [rsp + 0x28], rax
lea r8, [0x140001b00]
mov r9d, r9d
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
or rbp, 0xffffffffffffffff
mov r12, rax
mov qword [rsp + 0x50], rax
mov rdi, rbp
inc rdi
cmp byte [rsi + rdi], 0
jne 0x140063d87
xor ecx, ecx
shl dil, 3
mov edx, 0x2e0
lea r8d, [rcx + 0x14]
sub dil, 7
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rbx, rbp
mov rcx, rax
mov qword [rsp + 0x48], rax
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140063db4
sub ebx, r12d
mov rax, rbp
inc rax
cmp byte [r14 + rax], 0
jne 0x140063dc3
sub ebx, eax
mov rdx, rbp
inc rdx
cmp byte [r14 + rdx], 0
jne 0x140063dd2
mov rax, rbp
nop
inc rax
cmp byte [rsi + rax], 0
jne 0x140063de0
add edx, eax
movzx eax, dil
mov r12d, r13d
add edx, 0xfffffff9
lea r8, [0x1400ed4d4]
imul eax, ecx
sub r12d, eax
lea rax, str.c2a1
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x38]
sub r12d, ebx
add r12d, edx
mov rdx, r13
mov qword [rsp + 0x20], rax
mov r9d, r12d
call fcn.1400dcb90
mov ecx, 0xffff
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorCount]
lea rcx, [rsp + 0xa0]
xor edx, edx
mov r8d, 0x140
mov r13d, eax
call fcn.1400e27d0
lea rdx, [rsp + 0xa0]
lea rcx, str.cocktail
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rsp + 0x60], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
movzx ecx, r15b
mov qword [rsp + 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
xor ecx, ecx
lea r8d, [rcx + 1]
mov edx, 0x1b9
call qword [sym.imp.KERNEL32.dll_FindResourceA]
call qword [sym.imp.KERNEL32.dll_GetMaximumProcessorGroupCount]
xor ecx, ecx
lea r8d, [rcx + 0x18]
mov edx, 0x12c
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov qword [rsp + 0x68], rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov r8, rbp
inc r8
cmp byte [r14 + r8], 0
jne 0x140063eb6
inc rbp
cmp byte [rsi + rbp], 0
jne 0x140063ec0
mov al, 7
add r8b, bpl
add r15b, 0xb
imul byte [rsp + 0x68]
lea ecx, [rax + 1]
movzx eax, byte [rsp + 0x50]
imul cl
movzx edx, al
movzx eax, byte [rsp + 0x40]
imul r13b
sub dl, al
mov al, 7
imul dil
sub dl, al
mov rax, qword [rsp + 0x38]
movzx ecx, al
shl cl, 2
add al, cl
add al, dl
sub al, r12b
sub al, byte [rsp + 0x30]
sub al, byte [rsp + 0x60]
sub al, byte [rsp + 0x48]
add al, r8b
add al, bl
add al, byte [rsp + 0x58]
add al, r15b
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.1400dd340
add rsp, 0x1f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140063f50
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x140
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x130], rax
lea rcx, [rsp + 0x20]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
lea ebx, [rax*8 - 4]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor edx, edx
add ebx, eax
xor ecx, ecx
mov edi, ebx
neg edi
call qword [sym.imp.KERNEL32.dll_LoadResource]
test ebx, ebx
je 0x140063fc4
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
lea rcx, [rsp + 0x20]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea rax, str.c0a0
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.1400dd340
mov rbx, qword [rsp + 0x150]
add rsp, 0x140
pop rdi
ret
Function at 0x140064c00
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
or rbx, 0xffffffffffffffff
mov r14, r8
mov rbp, rcx
mov rsi, rbx
nop dword [rax]
inc rsi
cmp byte [rdx + rsi], 0
jne 0x140064c20
add sil, cl
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
lea r8, [0x140001b00]
movzx edi, ax
xor eax, eax
xor edx, edx
mov qword [rsp + 0x28], rax
movzx r9d, dil
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, qword [r14]
mov rdx, rax
movzx r15d, dil
nop
inc rbx
cmp byte [rcx + rbx], 0
jne 0x140064c60
movsx rax, sil
imul ebx, eax
imul ebx, r15d
imul ebx, edx
lea eax, [rbx + rbx*2]
lea esi, [rax*2]
add esi, ebp
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor ecx, ecx
lea r8d, [rcx + 0x11]
mov edx, 0xee
mov edi, eax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
imul ebx, edi
shl ebx, 6
sub esi, ebx
sub esi, eax
add esi, 4
cmp esi, r15d
jbe 0x140064cbf
call qword [sym.imp.USER32.dll_GetForegroundWindow]
lea rax, str.altitude
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x140065c20
Capabilities:
Copy file
Extract resource via kernel32 functions
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov ebx, ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov r12, rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov edi, eax
mov rbp, rax
sub edi, ebx
add edi, r12d
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea ecx, [rdi + rbx]
add cl, bpl
mov r14d, ebp
mov esi, 0x40
movzx r15d, cl
mov ecx, r15d
imul r14d, edi
lea edx, [r14 + rbx*2]
imul ecx, r14d
sub esi, ecx
imul esi, ebp
sub esi, edx
add esi, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor r13d, r13d
cmp edi, 0x40
jge 0x140065d34
mov dword [rsp + 0x30], r13d
xor r9d, r9d
mov r8, r12
mov rdx, r12
mov rcx, rax
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
lea edx, [r13 + 0x5e]
lea r8d, [r13 + 0x17]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea r8d, [r13 + 0xe]
mov edx, 0x16a
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea r8d, [r13 + 7]
mov edx, 0x1ad
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
lea r8d, [r13 + 0x16]
mov edx, 0x2ad
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LockResource]
lea rdx, str.contribution
lea rcx, str.lion
mov r8d, r14d
call qword [sym.imp.KERNEL32.dll_CopyFileA]
xor ecx, ecx
mov edx, 0x379
lea r8d, [rcx + 0x1c]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r13
movsxd rax, edi
lea r8, str.contribution
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], r15d
lea rdx, str.lion
xor r9d, r9d
mov ecx, ebx
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_CreateWindowExA]
lea r11, [rsp + 0x60]
lea rax, str.c10a1
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x140065db0
Capabilities:
Copy file
Create thread
Extract resource via kernel32 functions

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1c8
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
lea r14d, [rcx + r8]
mov edi, ecx
mov r13d, r8d
movzx esi, dl
lea rcx, [rsp + 0x70]
mov r8d, 0x140
xor edx, edx
mov rbp, r9
call fcn.1400e27d0
lea rdx, [rsp + 0x70]
lea rcx, str.cell
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
or rbx, 0xffffffffffffffff
xor r12d, r12d
mov qword [rsp + 0x60], rax
cmp sil, 4
jge 0x140065e82
lea r8d, [rbx + 0x1a]
mov edx, 0x3df
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea r15d, [rax + 4]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rax, rbx
nop dword [rax]
inc rax
cmp byte [rax + rbp], r12b
jne 0x140065e40
movzx ecx, r14b
mov r9d, edi
lea r8, [0x140001b00]
xor edx, edx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
imul eax, ecx
imul eax, r15d
lea ecx, [rax + rax*8]
movzx eax, sil
shl ecx, 4
sub r9d, ecx
xor ecx, ecx
sub r9d, eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r15, rax
cmp edi, 4
jne 0x140065fab
movzx r12d, sil
nop dword [rax + rax]
inc rbx
cmp byte [rbx + rbp], 0
jne 0x140065ea0
mov rax, qword [rsp + 0x60]
imul ebx, r12d
lea eax, [rax + rax*4]
add ebx, eax
lea esi, [rbx*4 - 5]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor ecx, ecx
lea r8d, [rcx + 4]
mov edx, 0x35d
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea rdx, [0x1400edfa4]
lea rcx, str.aftershave
mov r8d, r13d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_CopyFileA]
xor ecx, ecx
mov edx, 0xbf
lea r8d, [rcx + 0x16]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
xor eax, eax
movzx r8d, r14b
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], 4
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x30], r12d
lea r8, [0x1400ed3b8]
lea ecx, [rax + 4]
mov r9d, edi
mov rdx, rbp
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 4
call qword [sym.imp.USER32.dll_CreateWindowExA]
lea rcx, [rsp + 0x70]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
xor ecx, ecx
mov edx, 0x2fc
lea r8d, [rcx + 6]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea rcx, [rsp + 0x70]
xor edx, edx
mov r8d, 0x140
call fcn.1400e27d0
lea rdx, [rsp + 0x70]
lea rcx, str.inspector
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rax, r15
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.1400dd340
add rsp, 0x1c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret