joyce8/EMBER2024-capa huggingface dataset:
Function at 0x489884
Capabilities:
Hide graphical window

Disassembly:
push ebx
add esp, 0xfffffff0
mov ebx, eax
mov eax, ebx
call fcn.00489324
test byte [ebx + 0x23d], 4
jne 0x489919
mov edx, esp
mov eax, ebx
call fcn.00434a34
push esp
mov eax, ebx
call fcn.0043b4a0
push eax
push 0
mov eax, ebx
test eax, eax
je 0x4898b9
sub eax, 0xfffffd9c
push eax
push 0
push 0xfffffffffffffffb
mov eax, dword [ebx + 0x218]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
cmp dword [ebx + 0x22c], 0
jne 0x4898ea
mov ecx, dword [0x4b8bc4]
mov dl, 1
mov eax, dword [0x481bdc]
call fcn.0040d78c
call fcn.0040494c
mov eax, ebx
call fcn.00489e2c
cmp byte [ebx + 0x57], 0
jne 0x489920
mov eax, ebx
call fcn.0043b664
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x489920
push 0
mov eax, ebx
call fcn.0043b664
push eax
call sub.user32.dll_ShowWindow
jmp 0x489920
mov eax, ebx
call fcn.0043873c
add esp, 0x10
pop ebx
ret

Function at 0x48e508
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov esi, eax
xor eax, eax
push ebp
push 0x48e56f
push dword fs:[eax]
mov dword fs:[eax], esp
push esi
call sub.user32.dll_GetWindowTextLengthA
mov ebx, eax
lea edi, [ebx + 1]
mov edx, edi
lea eax, [ebp - 8]
call fcn.004055ac
push edi
mov eax, dword [ebp - 8]
call fcn.00405420
push eax
push esi
call sub.user32.dll_GetWindowTextA
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
call fcn.00404fc4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48e576
lea eax, [ebp - 8]
call fcn.00404f70
ret

Function at 0x493af0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
mov bl, 2
lea eax, [ebp - 0xa]
xor ecx, ecx
mov edx, 0xa
call fcn.00403540
push 0xa
lea eax, [ebp - 0xa]
push eax
push 0xd
push 0x400
call sub.KERNEL32.DLL_GetLocaleInfoA
test eax, eax
je 0x493b2a
cmp byte [ebp - 0xa], 0x31
jne 0x493b28
mov bl, 1
jmp 0x493b2a
xor ebx, ebx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x49539c
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
mov dword [ebp - 4], edx
mov esi, eax
xor ebx, ebx
mov eax, esi
call fcn.0043b968
test al, al
je 0x495455
mov byte [ebp - 9], 0
xor ebx, ebx
call sub.KERNEL32.DLL_GetTickCount
mov dword [ebp - 8], eax
jmp 0x495433
cmp word [esi + 0x5da], 0
je 0x4953ed
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 9]
push eax
mov ecx, dword [ebp - 8]
mov edx, esi
mov eax, dword [esi + 0x5dc]
call dword [esi + 0x5d8]
cmp byte [ebp - 9], 0
jne 0x49540a
cmp dword [ebp - 4], 0
jbe 0x495406
call sub.KERNEL32.DLL_GetTickCount
sub eax, dword [ebp - 8]
cmp eax, dword [ebp - 4]
ja 0x49540a
xor ebx, ebx
jmp 0x49540c
mov bl, 1
test bl, bl
jne 0x495455
mov eax, dword [0x4b8cd0]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne 0x495455
mov eax, dword [0x4b8cd0]
mov eax, dword [eax]
call fcn.0045474c
push 1
call sub.KERNEL32.DLL_Sleep_1
test esi, esi
je 0x495455
cmp byte [esi + 0x584], 0
jne 0x495455
mov edx, 0xfffffdf3
mov eax, esi
call fcn.00489c64
cmp eax, 4
jne 0x4953ca
test bl, bl
sete al
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x497760
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, eax
mov ebx, dword [ebp + 8]
add ebx, 0xffffffec
cmp esi, 1
jne 0x49777e
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebx]
call fcn.00497550
pop ecx
cmp esi, 1
je 0x497788
cmp esi, 2
jne 0x4977f6
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x18]
mov dword [ebx], eax
cmp dword [ebx], 0x27
je 0x49779a
cmp dword [ebx], 0x22
jne 0x4977f6
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebx]
call fcn.00497550
pop ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00497638
pop ecx
mov dword [ebx], eax
mov eax, dword [ebx]
mov edx, dword [ebp + 8]
cmp eax, dword [edx - 0x18]
je 0x4977f6
cmp dword [ebx], 0x5c
jne 0x4977d9
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebx]
call fcn.00497550
pop ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00497638
pop ecx
mov dword [ebx], eax
cmp dword [ebx], 0xffffffff
jne 0x49779a
mov ecx, 0x49795c
mov dl, 1
mov eax, dword [0x459d20]
call fcn.00463364
call fcn.0040494c
jmp 0x49779a
cmp esi, 1
je 0x497809
cmp esi, 2
je 0x497809
cmp esi, 3
jne 0x49794d
mov eax, dword [ebp + 8]
push eax
call fcn.00497698
pop ecx
mov edx, dword [ebp + 8]
mov dword [edx - 0x18], eax
mov eax, dword [ebp + 8]
cmp dword [eax - 0x18], 0x2f
jne 0x49794d
cmp dword [ebx], 0x28
je 0x49786b
cmp dword [ebx], 0x2c
je 0x49786b
cmp dword [ebx], 0x3d
je 0x49786b
cmp dword [ebx], 0x3a
je 0x49786b
cmp dword [ebx], 0x5b
je 0x49786b
cmp dword [ebx], 0x21
je 0x49786b
cmp dword [ebx], 0x26
je 0x49786b
cmp dword [ebx], 0x7c
je 0x49786b
cmp dword [ebx], 0x3f
je 0x49786b
cmp dword [ebx], 0x7b
je 0x49786b
cmp dword [ebx], 0x7d
je 0x49786b
cmp dword [ebx], 0x3b
je 0x49786b
cmp dword [ebx], 0xa
jne 0x49794d
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebx]
call fcn.00497550
pop ecx
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x18]
call fcn.00497550
pop ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00497638
pop ecx
mov dword [ebx], eax
cmp dword [ebx], 0x5b
jne 0x4978ef
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebx]
call fcn.00497550
pop ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00497638
pop ecx
mov dword [ebx], eax
cmp dword [ebx], 0x5d
je 0x497911
cmp dword [ebx], 0x5c
jne 0x4978d2
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebx]
call fcn.00497550
pop ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00497638
pop ecx
mov dword [ebx], eax
cmp dword [ebx], 0xffffffff
jne 0x497898
mov ecx, 0x497988
mov dl, 1
mov eax, dword [0x459d20]
call fcn.00463364
call fcn.0040494c
jmp 0x497898
cmp dword [ebx], 0x2f
je 0x49793d
cmp dword [ebx], 0x5c
jne 0x497911
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebx]
call fcn.00497550
pop ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00497638
pop ecx
mov dword [ebx], eax
cmp dword [ebx], 0xffffffff
jne 0x49792c
mov ecx, 0x4979c8
mov dl, 1
mov eax, dword [0x459d20]
call fcn.00463364
call fcn.0040494c
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebx]
call fcn.00497550
pop ecx
jmp 0x497887
mov eax, dword [ebp + 8]
push eax
call fcn.00497698
pop ecx
mov edx, dword [ebp + 8]
mov dword [edx - 0x18], eax
pop esi
pop ebx
pop ebp
ret
Function at 0x498234
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffe4
mov ebp, edx
mov edi, eax
call sub.KERNEL32.DLL_GetTickCount
mov esi, eax
jmp 0x498286
push 0
push 0
push 0
mov eax, edi
call fcn.0043b664
push eax
lea eax, [esp + 0x10]
push eax
call sub.user32.dll_PeekMessageA
mov eax, esp
call fcn.00497e24
push 0xa
call sub.KERNEL32.DLL_Sleep_1
call sub.KERNEL32.DLL_GetTickCount
mov ebx, eax
cmp esi, ebx
jle 0x498280
call sub.KERNEL32.DLL_GetTickCount
mov esi, eax
sub ebx, esi
cmp ebp, ebx
jl 0x498297
mov edx, 0xfffffdf3
mov eax, edi
call fcn.00489c64
cmp eax, 4
jb 0x498248
mov edx, 0xfffffdf3
mov eax, edi
call fcn.00489c64
cmp eax, 4
sete al
add esp, 0x1c
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x498d7c
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
test dl, dl
je 0x498d8e
add esp, 0xfffffff0
call fcn.004044e4
mov dword [ebp - 4], ecx
mov ebx, edx
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.00405410
xor eax, eax
push ebp
push 0x498e3d
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, esi
call fcn.00404150
mov byte [esi + 0xc], 0
lea eax, [esi + 8]
mov edx, dword [ebp - 4]
call fcn.00404fc4
push 0
push 0x80
push 3
push 0
push 1
push 0xc0000000
mov eax, dword [esi + 8]
call fcn.00405420
push eax
call sub.KERNEL32.DLL_CreateFileA
mov dword [esi + 4], eax
mov eax, esi
call fcn.00498bc4
test al, al
je 0x498e03
mov eax, dword [esi + 4]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov dword [esi + 4], 0xffffffff
jmp 0x498e27
mov eax, dword [ebp + 8]
push eax
push 0x96
push 0
push 0
push 1
push 4
push 3
mov eax, dword [ebp - 4]
call fcn.00405420
push eax
call sub.KERNEL32.DLL_CreateNamedPipeA
mov dword [esi + 4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x498e44
lea eax, [ebp - 4]
call fcn.00404f70
ret

Function at 0x498e64
Capabilities:
Connect pipe

Disassembly:
push ebx
mov ebx, eax
cmp byte [ebx + 0xc], 0
je 0x498e76
mov eax, dword [ebx + 4]
push eax
call sub.KERNEL32.DLL_DisconnectNamedPipe
push 0
mov eax, dword [ebx + 4]
push eax
call sub.KERNEL32.DLL_ConnectNamedPipe
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebx + 0xc], al
pop ebx
ret
Function at 0x4991c4
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405410
xor eax, eax
push ebp
push 0x499297
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x18], 0xc
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 4]
mov edx, 0x4992b0
call fcn.00405230
lea eax, [ebp - 0x18]
push eax
push 0x96
push 0
push 0
push 1
push 4
push 3
mov eax, dword [ebp - 4]
call fcn.00405420
mov ebx, eax
push ebx
call sub.KERNEL32.DLL_CreateNamedPipeA
mov dword [ebp - 0xc], eax
xor edx, edx
push ebp
push 0x49927a
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
push 0x80
push 3
push 0
push 1
push 0xc0000000
push ebx
call sub.KERNEL32.DLL_CreateFileA
cmp eax, 0xffffffff
jne 0x499259
mov byte [ebp - 5], 0
jmp 0x499263
mov byte [ebp - 5], 1
push eax
call sub.KERNEL32.DLL_CloseHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x499281
mov eax, dword [ebp - 0xc]
push eax
call sub.KERNEL32.DLL_CloseHandle
ret
Function at 0x4a9344
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 8], ebx
test dl, dl
je 0x4a935e
add esp, 0xfffffff0
call fcn.004044e4
mov dword [ebp - 4], ecx
mov ebx, edx
mov edi, eax
mov eax, dword [ebp - 4]
call fcn.00405410
mov eax, dword [ebp + 0x18]
call fcn.00405410
mov eax, dword [ebp + 0x14]
call fcn.00405410
mov eax, dword [ebp + 0x10]
call fcn.00405410
mov eax, dword [ebp + 0xc]
call fcn.00405410
mov eax, dword [ebp + 8]
call fcn.00405410
xor eax, eax
push ebp
push 0x4a9496
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x4b895c], 0
je 0x4a93c2
mov ecx, 0x4a94c8
mov dl, 1
mov eax, dword [0x4a8b24]
call fcn.00463364
call fcn.0040494c
xor edx, edx
mov eax, edi
call fcn.00404150
mov dl, 1
mov eax, dword [0x4159bc]
call fcn.00404150
mov esi, eax
mov dword [edi + 4], esi
mov eax, esi
mov dl, 1
call fcn.0041a100
mov eax, dword [edi + 4]
mov byte [eax + 0x1d], 1
lea eax, [edi + 0x18]
mov edx, dword [ebp + 0xc]
call fcn.00404fc4
lea eax, [edi + 0x14]
mov edx, dword [ebp + 0x18]
call fcn.00404fc4
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00457994
mov edx, dword [ebp - 8]
mov eax, dword [0x4b8c74]
call fcn.00404fc4
mov eax, dword [0x4b8a54]
mov edx, dword [ebp + 0x10]
call fcn.00404fc4
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x14]
mov eax, edi
call fcn.004a9580
push edi
push 0x4a9c54
mov cl, 1
mov dl, 1
mov eax, dword [0x459ca8]
call fcn.004610ac
lea eax, [edi + 0x30]
push eax
call sub.KERNEL32.DLL_InitializeCriticalSection
push edi
push 0x4a9814
xor ecx, ecx
mov dl, 1
mov eax, dword [0x459ca8]
call fcn.004610ac
mov dword [edi + 0xc], eax
mov dword [0x4b895c], edi
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a949d
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404f94
lea eax, [ebp + 8]
mov edx, 5
call fcn.00404f94
ret
Function at 0x4aa7d4
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [eax], edx
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
add eax, 0x30
push eax
call sub.KERNEL32.DLL_EnterCriticalSection
xor eax, eax
push ebp
push 0x4aa95c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x4aa87a
inc esi
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, edi
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov ebx, eax
cmp byte [ebx + 0x2c], 0
jne 0x4aa876
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.004abed4
cmp dword [ebp - 0x1c], 0
jne 0x4aa870
cmp dword [ebx + 0x24], 1
jl 0x4aa870
mov dword [ebp - 0x1c], 0x300000
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x20], eax
inc edi
dec esi
jne 0x4aa833
cmp dword [ebp - 0x20], 0
jne 0x4aa88a
call fcn.004049f8
jmp 0x4aa963
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x4aa920
inc esi
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, edi
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov ebx, eax
cmp byte [ebx + 0x2c], 0
jne 0x4aa91c
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.004abed4
cmp dword [ebp - 0x18], 0
jge 0x4aa8db
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mov dword [eax], edx
cmp dword [ebp - 0x1c], 0
jne 0x4aa8ee
cmp dword [ebx + 0x24], 1
jl 0x4aa8ee
mov dword [ebp - 0x1c], 0x300000
fild dword [ebp - 0x1c]
fild dword [ebp - 0x20]
fdivp st(1)
fild dword [ebp - 0x10]
fmulp st(1)
call fcn.00402ecc
mov edx, dword [ebp - 8]
add dword [edx], eax
fild dword [ebp - 0x1c]
fild dword [ebp - 0x20]
fdivp st(1)
fild dword [ebp - 0x14]
fmulp st(1)
call fcn.00402ecc
mov edx, dword [ebp - 0xc]
add dword [edx], eax
inc edi
dec esi
jne 0x4aa8a3
mov eax, dword [ebp - 8]
cmp dword [eax], 0x64
jle 0x4aa931
mov eax, dword [ebp - 8]
mov dword [eax], 0x64
mov eax, dword [ebp - 0xc]
cmp dword [eax], 0x64
jle 0x4aa942
mov eax, dword [ebp - 0xc]
mov dword [eax], 0x64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4aa963
mov eax, dword [ebp - 4]
add eax, 0x30
push eax
call sub.KERNEL32.DLL_LeaveCriticalSection
ret
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4ab178
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
test dl, dl
je 0x4ab18a
add esp, 0xfffffff0
call fcn.004044e4
mov dword [ebp - 4], ecx
mov ebx, edx
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.00405410
xor eax, eax
push ebp
push 0x4ab257
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, esi
call fcn.00404150
mov byte [esi + 0x64], 1
mov eax, dword [ebp + 8]
mov dword [esi + 0x48], eax
lea eax, [esi + 0x50]
mov edx, dword [ebp - 4]
call fcn.00404fc4
mov dword [esi + 0x4c], 0xffffffff
mov dl, 1
mov eax, dword [0x476a48]
call fcn.004771d0
mov dword [esi + 0x18], eax
mov dl, 1
mov eax, dword [0x4159bc]
call fcn.00404150
mov dword [esi + 0x54], eax
mov dword [esi + 0x30], 0x53
mov dword [esi + 0x34], 0xa
mov dword [esi + 0x38], 5
mov dword [esi + 0x3c], 2
mov dword [esi + 0x40], 0x64
cmp dword [0x4b895c], 0
jne 0x4ab22c
mov ecx, 0x4ab284
mov dl, 1
mov eax, dword [0x4a8b24]
call fcn.00463364
call fcn.0040494c
mov edx, esi
mov eax, dword [0x4b895c]
call fcn.004aa5b8
mov eax, dword [0x4b895c]
mov byte [eax + 0x48], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ab25e
lea eax, [ebp - 4]
call fcn.00404f70
ret

Function at 0x4ad5b8
Capabilities:
Hide graphical window
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, eax
call sub.user32.dll_GetForegroundWindow
push 0
push eax
call sub.user32.dll_GetWindowThreadProcessId
mov dword [ebp - 4], eax
push 0xffffffffffffffff
call sub.KERNEL32.DLL_GetCurrentThreadId
push eax
mov eax, dword [ebp - 4]
push eax
call sub.user32.dll_AttachThreadInput
xor eax, eax
push ebp
push 0x4ad62d
push dword fs:[eax]
mov dword fs:[eax], esp
push ebx
call sub.user32.dll_IsIconic
test eax, eax
je 0x4ad600
push 9
push ebx
call sub.user32.dll_ShowWindow
push ebx
call sub.user32.dll_BringWindowToTop
push 5
push ebx
call sub.user32.dll_ShowWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ad634
push 0
call sub.KERNEL32.DLL_GetCurrentThreadId
push eax
mov eax, dword [ebp - 4]
push eax
call sub.user32.dll_AttachThreadInput
ret
Function at 0x405a3d
Capabilities:
Create process on windows

Disassembly:
mov eax, dword [esp + 4]
push eax
and dword [eax + 0x24], 0
mov dword [eax], 0x3c
call dword [sym.imp.shell32.dll_ShellExecuteExW]
ret 4

Function at 0x405b23
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
pushal
call 0x405b32
pop dword [ebp - 0x40]
mov eax, 0x405b32
sub dword [ebp - 0x40], eax
mov dword [ebp - 0x50], 0x56be105b
add dword [ebp - 0x50], 0xf79434f0
mov dword [ebp - 0x4c], 0xaeec5bb3
sub dword [ebp - 0x4c], 0x7cb90f6e
mov dword [ebp - 0x48], 0x2ff518d6
sub dword [ebp - 0x48], 0xe3a8d4a8
mov dword [ebp - 0x44], 0xeef1a07
sub dword [ebp - 0x44], 0xeef1a07
lea eax, [ebp - 0x50]
push eax
mov eax, 0x3b733472
sub eax, 0x3b32b3fa
add eax, dword [ebp - 0x40]
call dword [eax]
mov dword [ebp - 0x50], 0x791ac134
add dword [ebp - 0x50], 0xfb57a822
mov dword [ebp - 0x4c], 0x51814c19
add dword [ebp - 0x4c], 0xefeb155c
mov dword [ebp - 0x48], 0x84f0f1c9
add dword [ebp - 0x48], 0xde7e7aa3
mov dword [ebp - 0x44], 0x611af806
sub dword [ebp - 0x44], 0x611af806
lea ebx, [ebp - 0x50]
push ebx
push eax
mov eax, sym.imp.kernel32.dll_GetProcAddress
add eax, dword [ebp - 0x40]
call dword [eax]
push 0x40
push 0x1000
push 0x38250
push 0
call eax
mov ecx, 0x167907d9
add ecx, 0xe98744b1
xor ebx, ebx
add ebx, eax
mov esi, 0xc3fff7e1
sub esi, 0xc3bae3e1
add esi, dword [ebp - 0x40]
mov edi, 0x7ef5d7e2
mov dword [ebp - 0x2c], 0x89605076
mov edx, dword [esi]
sub dword [ebp - 0xc], 0x4a8ea38a
add edx, edi
sub dword [ebp - 0x38], eax
mov dword [ebx], edx
xor dword [ebp - 0x28], 0xe5bea39e
add ebx, 0x37f7ac43
sub ebx, 0x37f7ac3f
add esi, 0x1c883c82
sub esi, 0x1c883c7e
loop 0x405c46
add eax, 0x124fb
xor ebx, ebx
add ebx, eax
add eax, 0x24a8e0c7
add eax, 0xdb571f3e
mov ecx, 0x9e690215
add ecx, 0x61d6fdeb
add ecx, dword [ebp - 0x40]
call ebx
leave
ret

Function at 0x405dee
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push esi
push edi
push dword [esp + 0xc]
mov esi, 0x42fa70
push esi
call fcn.00406411
push esi
call fcn.00405d91
mov edi, eax
test edi, edi
jne 0x405e0f
xor eax, eax
jmp 0x405e67
push edi
call fcn.004066c0
test byte [0x434f1c], 0x80
je 0x405e2c
mov ax, word [edi]
test ax, ax
je 0x405e0b
cmp ax, 0x5c
je 0x405e0b
sub edi, esi
sar edi, 1
jmp 0x405e46
call fcn.0040676f
test eax, eax
je 0x405e40
test byte [eax], 0x10
je 0x405e0b
push esi
call fcn.00405d32
push esi
call sub.kernel32.dll_lstrlenW
cmp eax, edi
push esi
jg 0x405e32
call fcn.00405ce6
push esi
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov eax, ecx
pop edi
pop esi
ret 4

Function at 0x405ee2
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
push esi
push dword [esp + 8]
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
mov esi, eax
cmp esi, 0xffffffff
je 0x405f01
and al, 0xfe
push eax
push dword [esp + 0xc]
call dword [sym.imp.kernel32.dll_SetFileAttributesW]
mov eax, esi
pop esi
ret 4
Function at 0x42a8b0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x547e30
mov eax, dword fs:[0]
push eax
sub esp, 0x114
mov eax, dword [0x5b0008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00426160
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
call fcn.004257b0
test eax, eax
je 0x42a929
push eax
push 0
push 0x2000000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x11c], eax
push ecx
push 0x201eb
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
mov dword [ebp - 4], 0
xor ebx, ebx
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0x114]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x42a9df
push 0x104
lea eax, [ebp - 0x114]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x42a9ad
lea eax, [ebp - 0x114]
push 0x5c
push eax
call fcn.00519d20
add esp, 8
test eax, eax
jne 0x42a9ab
mov eax, dword [ebp - 0x11c]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x42a997
push eax
call edi
mov ecx, dword [ebp - 0x118]
test ecx, ecx
je 0x42aac1
push ecx
jmp 0x42aabf
mov byte [eax], bl
push 0x569fa8
lea edi, [esi + 0xd18]
push 0x104
push edi
call fcn.0051e70e
lea eax, [ebp - 0x114]
push eax
push 0x104
push edi
call fcn.0051e768
add esp, 0x18
mov eax, 0x597538
jmp 0x42a9fe
push 0x569fa8
lea edi, [esi + 0xd18]
push 0x104
push edi
call fcn.0051e70e
add esp, 0xc
lea eax, [ebp - 0x114]
push eax
push 0x104
push edi
call fcn.0051e768
push str.aero_nsn.ini
push 0x104
push edi
call fcn.0051e768
mov eax, dword [ebp - 0x120]
add esp, 0x18
test eax, eax
je 0x42aa89
push eax
call dword [sym.imp.ADVAPI32.dll_ImpersonateLoggedOnUser]
test eax, eax
jne 0x42aa3e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jne 0x42aa89
mov eax, dword [ebp - 0x120]
push 0x104
push edi
push str._TEMP_
push eax
call dword [sym.imp.USERENV.dll_ExpandEnvironmentStringsForUserA]
push 0x597538
push 0x104
push edi
call fcn.0051e768
push str.aero_nsn.ini
push 0x104
push edi
call fcn.0051e768
add esp, 0x18
mov ecx, esi
call fcn.0042aae0
mov ecx, esi
call fcn.0042aee0
jmp 0x42aa9b
mov ecx, esi
call fcn.0042aae0
mov ecx, esi
call fcn.0042aee0
test ebx, ebx
jne 0x42aaa1
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
mov eax, dword [ebp - 0x11c]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x42aab4
push eax
call edi
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x42aac1
push eax
call edi
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00518799
mov esp, ebp
pop ebp
ret