joyce8/EMBER2024-capa huggingface dataset:
Function at 0x438e4d
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x438ea9
mov eax, dword [ebp + 0xc]
mov dword [ebp - 8], eax
lea eax, [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x438e98
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
test eax, eax
je 0x438e96
push 0x14d5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
jmp 0x438ea7
push 0
push 0
push 0x161d
call dword [sym.imp.USER32.dll_SetPropA]
jmp 0x438ebd
push 0x3e2f
push 0x5cea
push 0
call fcn.0043c327
add esp, 0xc
mov esp, ebp
pop ebp
ret

Function at 0x439ce9
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x439d61
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x439d37
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
test eax, eax
je 0x439d35
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
jmp 0x439d5f
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push dword [eax]
mov ecx, dword [ebp - 0x28]
call fcn.00413f7a
and dword [eax], 0
jmp 0x439d84
push 0x3962
push 0x163
push 0
push 0x15ee
push 0x138e
push 0x4d47
call fcn.0043aef7
add esp, 0x18
mov esp, ebp
pop ebp
ret

Function at 0x43a9e0
Capabilities:
Compare security identifiers
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
movzx eax, byte [ebp + 8]
test eax, eax
je 0x43aa16
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 4], eax
push 0
push dword [ebp - 4]
push dword [ebp - 8]
push 0x6912
push 0x6967
call fcn.0043bb43
add esp, 0x14
jmp 0x43aa41
lea eax, [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test eax, eax
je 0x43aa32
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x43aa41
push 0x14d5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov esp, ebp
pop ebp
ret
Function at 0x43aa45
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x43aacc
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test eax, eax
je 0x43aa78
push 0
push 0x24ab
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
jmp 0x43aaca
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [eax], 0xffffffe9
jmp 0x43aa9a
mov eax, dword [ebp - 8]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
mov eax, dword [ebp - 8]
cmp dword [eax], 0x15
je 0x43aaca
mov dword [ebp - 0x18], 0xfffffff8
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x43aac8
push 0x1549
call dword [sym.imp.USER32.dll_GetMenu]
jmp 0x43aa8f
jmp 0x43aaf2
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], eax
push 0
push 0x5406
push 0x6749
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call fcn.0044c5c9
add esp, 0x14
mov esp, ebp
pop ebp
ret

Function at 0x43b744
Capabilities:
Compare security identifiers

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x43b7e7
lea eax, [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x43b7c5
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov dword [eax], 0
jmp 0x43b7a6
mov eax, dword [ebp - 4]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 4
jge 0x43b7c3
mov eax, dword [ebp - 4]
push dword [eax]
mov ecx, dword [ebp - 0x1c]
call fcn.00413f7a
mov dword [eax], 0x600bf094
jmp 0x43b79b
jmp 0x43b7e5
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
test eax, eax
je 0x43b7e5
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x43b7f5
push 0xb8e
push 0
call fcn.0043977d
pop ecx
pop ecx
mov esp, ebp
pop ebp
ret
Function at 0x43b7f9
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x43b81d
push 0x36a5
push 1
push 0x5d24
call fcn.0043b87a
add esp, 0xc
jmp 0x43b876
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
lea eax, [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x43b870
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov dword [eax], 0
jmp 0x43b855
mov eax, dword [ebp - 4]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 0xfffffff8
jg 0x43b86e
mov dword [ebp - 0x14], 6
cmp dword [ebp - 0x14], 0
je 0x43b86c
jmp 0x43b86e
jmp 0x43b84a
jmp 0x43b876
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov esp, ebp
pop ebp
ret

Function at 0x43c2b0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x43c2dc
mov eax, dword [ebp + 0xc]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 4], eax
push dword [ebp - 4]
push dword [ebp - 8]
push 1
call fcn.0043c327
add esp, 0xc
jmp 0x43c323
lea eax, [ebp + 0x14]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test eax, eax
je 0x43c316
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax]
test eax, eax
je 0x43c314
push 0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
jmp 0x43c323
push 0
push 0x24ab
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov esp, ebp
pop ebp
ret
Function at 0x43c6c6
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
movzx eax, byte [ebp + 0x1c]
test eax, eax
je 0x43c798
lea eax, [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
test eax, eax
je 0x43c72c
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
test eax, eax
je 0x43c72a
push 0
push 0x1445
push 0x5fb
push 0
push 0x11f3
push 0x2bd
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
jmp 0x43c793
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [eax], 0
jmp 0x43c74e
mov eax, dword [ebp - 8]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
mov eax, dword [ebp - 8]
cmp dword [eax], 5
jg 0x43c793
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x50], 0xfffffff9
mov dword [ebp - 0x54], 0xfffffffb
mov dword [ebp - 0xc], 0xffffffea
jmp 0x43c77b
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 2
jl 0x43c791
mov dword [ebp - 0x10], 0x7f6f
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
jmp 0x43c774
jmp 0x43c743
jmp 0x43c82c
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x40], eax
lea eax, [ebp + 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
test eax, eax
je 0x43c7e1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
movzx eax, byte [eax]
test eax, eax
je 0x43c7df
push 0x14d5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
jmp 0x43c82c
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 4]
mov dword [eax], 0
jmp 0x43c80f
mov eax, dword [ebp - 4]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 3
jge 0x43c82c
mov eax, dword [ebp - 4]
push dword [eax]
mov ecx, dword [ebp - 0x4c]
call fcn.00413f7a
mov dword [eax], 0xfffffff7
jmp 0x43c804
mov esp, ebp
pop ebp
ret
Function at 0x44c02d
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
movzx eax, byte [ebp + 8]
test eax, eax
je 0x44c05a
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0x3959
push 0x4d57
push 1
call fcn.0044c0c5
add esp, 0x10
jmp 0x44c0c1
lea eax, [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test eax, eax
je 0x44c0ad
push 0x144e
push 0xf9
push 0
push 0
push 0x9f1
push 0x1a0d
push 0xeae
push 0x8cc
push 0x8c6
push 0x132d
push 0x29b
push 0xae3
push 0x73f
call dword [sym.imp.GDI32.dll_StretchDIBits]
jmp 0x44c0c1
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x44c0c1
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esp, ebp
pop ebp
ret
Function at 0x454171
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x45420e
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x4541c1
push 0
push 0x1217
push 0xc82
push 0
push 0x7b0
push 0x719
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
jmp 0x45420c
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov dword [eax], 0
jmp 0x4541ef
mov eax, dword [ebp - 4]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 4
jge 0x45420c
mov eax, dword [ebp - 4]
push dword [eax]
mov ecx, dword [ebp - 0x1c]
call fcn.00413f7a
mov dword [eax], 1
jmp 0x4541e4
jmp 0x45421b
push 0x26c5
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov esp, ebp
pop ebp
ret
Function at 0x456c54
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x456c8f
lea eax, [ebp + 0x10]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x456c80
push 0x26c5
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
jmp 0x456c8d
push 0
push 0x24b3
call dword [sym.imp.USER32.dll_ClientToScreen]
jmp 0x456ca9
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0x56
push 0
push 0x35f
call fcn.00457dd8
add esp, 0x10
mov esp, ebp
pop ebp
ret

Function at 0x456cad
Capabilities:
Compare security identifiers

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x456cd2
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xc], eax
push 1
push dword [ebp - 0xc]
call fcn.00456d56
pop ecx
pop ecx
jmp 0x456d52
lea eax, [ebp + 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
test eax, eax
je 0x456d06
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x456d04
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x456d52
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 8]
mov dword [eax], 0
jmp 0x456d34
mov eax, dword [ebp - 8]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
mov eax, dword [ebp - 8]
cmp dword [eax], 2
jg 0x456d52
mov eax, dword [ebp - 8]
push dword [eax]
mov ecx, dword [ebp - 0x24]
call fcn.00413f7a
cmp dword [eax], 0
je 0x456d50
jmp 0x456d52
jmp 0x456d29
mov esp, ebp
pop ebp
ret

Function at 0x457d2c
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x457d5d
mov eax, dword [ebp + 0x18]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 4], eax
push 0x2c61
push dword [ebp - 4]
push 1
push dword [ebp - 8]
call fcn.00457dd8
add esp, 0x10
jmp 0x457dd4
lea eax, [ebp + 0x14]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test eax, eax
je 0x457da0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax]
test eax, eax
je 0x457d9e
push 0x14d5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
jmp 0x457dd4
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
test eax, eax
je 0x457dd4
push 0xcb2
push 0x2036
push 0
push 0
push 0x10cd
push 0x1215
call dword [sym.imp.USER32.dll_ToUnicode]
mov esp, ebp
pop ebp
ret
Function at 0x457dfd
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push esi
movzx eax, byte [ebp + 0x20]
test eax, eax
je 0x457f50
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax]
test eax, eax
je 0x457f2b
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
push 1
mov ecx, dword [ebp - 0xc]
call fcn.00413f7a
and dword [eax], 0
jmp 0x457e75
push 1
mov ecx, dword [ebp - 0xc]
call fcn.00413f7a
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
push 1
mov ecx, dword [ebp - 0xc]
call fcn.00413f7a
cmp dword [eax], 2
jg 0x457f29
mov dword [ebp - 8], 0
jmp 0x457e98
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
jge 0x457eab
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 4], 0xda622a14
jmp 0x457e91
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 4], 0
jmp 0x457ed0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 4]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 4], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 4], 2
jg 0x457f09
push 4
pop eax
imul eax, eax, 0
push dword [ebp + eax - 4]
mov ecx, dword [ebp - 0x10]
call fcn.00413f7a
mov esi, eax
push 4
pop eax
imul eax, eax, 0
push dword [ebp + eax - 4]
mov ecx, dword [ebp - 0x10]
call fcn.00413f7a
mov ecx, dword [esi]
mov dword [eax], ecx
jmp 0x457ebb
push 1
mov ecx, dword [ebp - 0xc]
call fcn.00413f7a
push dword [eax]
mov ecx, dword [ebp - 0x10]
call fcn.00413f7a
cmp dword [eax], 0
je 0x457f24
jmp 0x457f29
jmp 0x457e5d
jmp 0x457f4e
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax]
test eax, eax
je 0x457f4e
push 0
push 0x24ab
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
jmp 0x457f6c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x38], eax
push dword [ebp - 0x38]
push 1
push dword [ebp - 0x3c]
call fcn.00454c7d
add esp, 0xc
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x458145
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x4581a1
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x458190
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
test eax, eax
je 0x45818e
push 0x14d5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
jmp 0x45819f
push 0x14d5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
jmp 0x4581bd
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
push 1
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.00454a4c
add esp, 0xc
mov esp, ebp
pop ebp
ret
Function at 0x46fa00
Capabilities:
Compare security identifiers

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 8], 1
xor eax, eax
mov dword [ebp - 0xc], 0xf9c71042
mov dword [ebp - 0x10], 0xa592c6ee
mov dword [ebp - 0x14], 0x4b064bae
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x46fa34
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_EqualSid]
imul eax, dword [ebp - 8], 0x77ec50fa
test eax, eax
jne 0x46fa42
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
cmp eax, 0xdc75
mov eax, 0xac196a16
setge cl
cmp eax, ecx
mov eax, dword [ebp - 0x10]
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 8]
cmp edx, eax
sete cl
mov dword [ebp - 0x14], ecx
mov esp, ebp
pop ebp
ret

Function at 0x46ffd4
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
lea ecx, [ebp - 0x3c]
call fcn.0047357c
call fcn.0046fddf
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0046fe0b
pop ecx
pop ecx
call fcn.0046fe2d
and dword [ebp - 8], 0
jmp 0x470008
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, dword [ebp + 0xc]
jae 0x470072
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x10], 0x30c4e2bf
mov byte [ebp - 1], 0
lea eax, [ebp - 1]
push eax
call fcn.00424ae3
pop ecx
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0046ff28
pop ecx
pop ecx
mov eax, dword [ebp + 0x10]
add eax, dword [ebp - 8]
xor edx, edx
div dword [0xaadba4]
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x10]
add eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
movzx ecx, byte [ecx + eax]
call fcn.004652ec
push eax
lea ecx, [ebp - 0x3c]
call fcn.004735ab
jmp 0x470001
push 3
lea ecx, [ebp - 0x24]
call fcn.00413ed8
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0xc], 0
jmp 0x470093
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 3
jge 0x4700ac
push dword [ebp - 0xc]
lea ecx, [ebp - 0x24]
call fcn.00413f7a
mov dword [eax], 0xfffa
jmp 0x47008c
lea eax, [ebp - 0x18]
push eax
call fcn.0046ff97
pop ecx
mov byte [ebp - 2], 0
movzx eax, byte [ebp - 2]
test eax, eax
je 0x4700cf
push 0
push 0x24ab
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [ebp - 0x24]
call fcn.00413f75
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 8]
call fcn.00413de6
lea ecx, [ebp - 0x3c]
call fcn.00413e3f
mov eax, dword [ebp + 8]
mov esp, ebp
pop ebp
ret
Function at 0x481540
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x4c26dc]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov word [ebp - 0x20], ax
xor ecx, ecx
mov word [ebp - 0x1e], cx
cmp dword [ebp + 8], 0xffffffff
jne 0x481564
jmp 0x4815d3
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x481578
jmp 0x4815d3
movsx ecx, word [ebp - 0x1c]
movsx edx, word [ebp - 0x1a]
imul ecx, edx
mov dword [ebp - 0x24], ecx
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x24]
push edx
push 0x20
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_FillConsoleOutputCharacterA]
test eax, eax
jne 0x4815a4
jmp 0x4815d3
lea ecx, [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x24]
push eax
movzx ecx, word [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_FillConsoleOutputAttribute]
test eax, eax
jne 0x4815c5
jmp 0x4815d3
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a4a9a
mov esp, ebp
pop ebp
ret

Function at 0x48c6c0
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 5]
and ecx, 0xf
movzx edx, byte [0x46fa2ea]
or ecx, edx
mov byte [ebp - 1], cl
movzx ax, byte [ebp - 1]
movzx ecx, ax
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 4]
push ecx
push 0x46fa4b8
call fcn.0048b630
add esp, 8
mov esp, ebp
pop ebp
ret 4

Function at 0x49d050
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 5]
and ecx, 0xf
movzx edx, byte [0xabee64]
or ecx, edx
mov byte [ebp - 1], cl
movzx ax, byte [ebp - 1]
movzx ecx, ax
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 4]
push ecx
push 0x46fa4b8
call fcn.0048b630
add esp, 8
mov esp, ebp
pop ebp
ret 4