joyce8/EMBER2024-capa huggingface dataset:
Function at 0x404750
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x46ca28
mov eax, dword fs:[0]
push eax
sub esp, 0x210
mov eax, dword [0x490d1c]
xor eax, esp
mov dword [esp + 0x20c], eax
push esi
push edi
mov eax, dword [0x490d1c]
xor eax, esp
push eax
lea eax, [esp + 0x21c]
mov dword fs:[0], eax
mov edi, dword [esp + 0x22c]
mov esi, dword [esp + 0x234]
mov dword [esp + 0xc], 0
push 0x208
lea eax, [esp + 0x14]
push 0
push eax
mov dword [esp + 0x230], 0
call fcn.00455e70
mov ecx, dword [esp + 0x244]
add esp, 0xc
push 0
push ecx
lea edx, [esp + 0x18]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [esp + 0x10]
push eax
push esi
lea ecx, [esp + 0x238]
call fcn.00402920
lea ecx, [esp + 0x10]
push ecx
push esi
lea ecx, [esp + 0x238]
call fcn.00402920
mov eax, dword [esp + 0x230]
add eax, 0xfffffff0
push eax
call fcn.00401920
add eax, 0x10
mov dword [edi], eax
mov eax, dword [esp + 0x234]
add eax, 0xfffffff0
add esp, 4
mov dword [esp + 0x224], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40483f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, edi
mov ecx, dword [esp + 0x21c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x20c]
xor ecx, esp
call fcn.00455930
add esp, 0x21c
ret
Function at 0x404ee0
Capabilities:
Create directory

Disassembly:
push 0xffffffffffffffff
push 0x46cb68
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x490d1c]
xor eax, esp
push eax
lea eax, [esp + 0x1c]
mov dword fs:[0], eax
mov dword [esp + 0x24], 0
call fcn.0043b055
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x404f29
push 0x80004005
call fcn.00401530
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebp, [eax + 0x10]
mov dword [esp + 0x14], ebp
mov byte [esp + 0x24], 1
mov esi, 3
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 0xc]
test esi, esi
jl 0x404f71
cmp esi, ecx
jg 0x404f71
lea ecx, [eax + esi*2]
push 0x474c3c
push ecx
call fcn.00455a19
add esp, 8
test eax, eax
je 0x404f71
sub eax, dword [esp + 0x2c]
sar eax, 1
mov esi, eax
jmp 0x404f74
or esi, 0xffffffff
push esi
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x34]
call fcn.00403d60
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
lea edi, [ebp - 0x10]
mov byte [esp + 0x24], 2
cmp eax, edi
je 0x404fe0
cmp dword [edi + 0xc], 0
lea ebp, [edi + 0xc]
jl 0x404fce
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x404fce
push eax
call fcn.00401920
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebp], eax
dec eax
test eax, eax
jg 0x404fc5
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea ebp, [ebx + 0x10]
mov dword [esp + 0x14], ebp
jmp 0x404fe0
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00401b50
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x24], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405005
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0
push ebp
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
inc esi
cmp esi, 2
jg 0x404f43
lea eax, [ebp - 0x10]
mov byte [esp + 0x24], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405039
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov dword [esp + 0x24], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405061
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
Function at 0x406020
Capabilities:
Access peb ldr_data
Create shortcut via ishelllink

Disassembly:
push 0xffffffffffffffff
push 0x46cd60
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push esi
mov eax, dword [0x490d1c]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
lea eax, [esp + 0xc]
push eax
push 0x481210
push 1
push 0
push 0x481270
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jl 0x406097
lea ecx, [esp + 0x18]
call fcn.0043d765
mov esi, dword [esp + 0x40]
push 0
push esi
lea ecx, [esp + 0x20]
mov dword [esp + 0x40], 0
call fcn.0043d7fd
test eax, eax
jne 0x4060aa
lea ecx, [esp + 0x18]
mov dword [esp + 0x38], 0xffffffff
call fcn.0043d78e
xor eax, eax
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x34
ret
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x50]
push esi
push eax
call edx
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x44]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x24]
call eax
mov esi, dword [esp + 0x4c]
test esi, esi
je 0x406108
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4060d5
sub eax, edx
sar eax, 1
je 0x406108
push 0
push esi
lea ecx, [esp + 0x20]
call fcn.0043d7fd
test eax, eax
je 0x406108
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
push edx
push esi
push eax
mov eax, dword [ecx + 0x44]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
lea edx, [esp + 0x10]
push edx
push 0x481230
push eax
mov eax, dword [ecx]
call eax
test eax, eax
jl 0x406086
mov esi, dword [esp + 0x48]
push esi
lea ecx, [esp + 0xc]
call fcn.00401e60
lea ecx, [esp + 8]
mov byte [esp + 0x38], 1
call fcn.00404110
mov ecx, dword [esp + 8]
mov eax, dword [ecx - 0xc]
test eax, eax
jl 0x406166
push 0x474ea4
push ecx
call fcn.00455a19
add esp, 8
test eax, eax
je 0x406166
sub eax, dword [esp + 8]
sar eax, 1
jns 0x406180
push esi
lea ecx, [esp + 0xc]
call fcn.00401e20
push 0x474ea4
lea ecx, [esp + 0xc]
call fcn.00403030
jmp 0x40618a
push esi
lea ecx, [esp + 0xc]
call fcn.00401e20
mov eax, dword [esp + 8]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x18], esp
mov esi, esp
push eax
call fcn.00401920
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00404ee0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ecx, dword [eax]
add esp, 4
push 2
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 8]
add eax, 0xfffffff0
mov byte [esp + 0x38], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4061fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x38], 0xffffffff
call fcn.0043d78e
mov eax, 1
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x34
ret
Function at 0x406400
Capabilities:
Get common file path

Disassembly:
sub esp, 0x210
mov eax, dword [0x490d1c]
xor eax, esp
mov dword [esp + 0x20c], eax
push esi
mov esi, dword [esp + 0x218]
push 0x208
lea eax, [esp + 0xc]
push 0
push eax
mov dword [esp + 0x10], 0
call fcn.00455e70
mov ecx, dword [esp + 0x228]
add esp, 0xc
push 0
push ecx
lea edx, [esp + 0x10]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [esp + 8]
push eax
mov ecx, esi
call fcn.00401e60
mov ecx, dword [esp + 0x210]
mov eax, esi
pop esi
xor ecx, esp
call fcn.00455930
add esp, 0x210
ret
Function at 0x407270
Capabilities:
Delete file
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x470850
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
mov eax, dword [0x490d1c]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0xc]
call fcn.00401e60
mov ecx, dword [esp + 8]
mov eax, dword [ecx - 0xc]
mov dword [esp + 0x18], 0
test eax, eax
jl 0x4072cf
push 0x474e4c
push ecx
call fcn.00455a19
add esp, 8
test eax, eax
je 0x4072cf
sub eax, dword [esp + 8]
sar eax, 1
jns 0x407337
push 0x474c3c
push 0
lea ecx, [esp + 0x10]
call fcn.00401c00
lea ecx, [esp + 0xc]
push ecx
call fcn.00406230
add esp, 4
mov eax, dword [eax]
push eax
push 0
lea ecx, [esp + 0x10]
mov byte [esp + 0x20], 1
call fcn.00401c00
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
mov byte [esp + 0x18], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x407324
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x474c3c
push 0x474c34
lea ecx, [esp + 0x10]
call fcn.00402920
mov ecx, dword [esp + 8]
push 0x80
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov edx, dword [esp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, eax
mov eax, dword [esp + 8]
add eax, 0xfffffff0
mov dword [esp + 0x18], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40737c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x14
ret

Function at 0x4079a0
Capabilities:
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x46da98
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push esi
push edi
mov eax, dword [0x490d1c]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
lea ecx, [esp + 0xc]
call fcn.00414dc0
mov eax, dword [0x48f4a0]
cmp eax, 1
mov dword [esp + 0x2c], 0
jge 0x4079ea
mov eax, 1
mov dword [0x48f4a0], eax
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x38]
push ecx
push edx
push edi
push eax
lea ecx, [esp + 0x20]
call fcn.00415f60
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x2c], 0xffffffff
mov esi, ecx
lea ecx, [esp + 0xc]
call fcn.00414e90
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test esi, esi
je 0x407a43
push edi
call fcn.00407270
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x24
ret
Function at 0x407b50
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x46d0c9
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push esi
push edi
mov eax, dword [0x490d1c]
xor eax, esp
push eax
lea eax, [esp + 0x1c]
mov dword fs:[0], eax
mov dword [esp + 0x10], 0
lea eax, [esp + 0xc]
push 0x26
mov edi, 1
push eax
mov dword [esp + 0x2c], edi
call fcn.00406400
push str._scBook_
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x28]
push edx
mov byte [esp + 0x38], 2
call fcn.00402c10
lea ecx, [esp + 0x44]
push ecx
push eax
lea edx, [esp + 0x30]
push edx
mov byte [esp + 0x44], 3
call fcn.00402b50
mov esi, dword [esp + 0x4c]
push 0x474c3c
push eax
push esi
mov byte [esp + 0x50], 4
call fcn.00402c10
add esp, 0x2c
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x10], edi
mov byte [esp + 0x24], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407c01
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x24], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407c26
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi]
push ecx
sub eax, 0x10
mov dword [esp + 0x1c], esp
mov edi, esp
push eax
call fcn.00401920
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.00403ce0
add esp, 4
test al, al
jne 0x407c6e
mov eax, dword [esi]
push ecx
sub eax, 0x10
mov dword [esp + 0x1c], esp
mov edi, esp
push eax
call fcn.00401920
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.00404ee0
add esp, 4
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
mov byte [esp + 0x24], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407c93
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x24], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407cb8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x1c
ret
Function at 0x407cd0
Capabilities:
Delete file
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x46d100
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov eax, dword [0x490d1c]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
lea ecx, [esp + 0x24]
call fcn.0043d765
mov edi, dword [esp + 0x50]
push 0
push edi
lea ecx, [esp + 0x2c]
mov dword [esp + 0x4c], 0
call fcn.0043d7fd
test eax, eax
je 0x407d2d
push edi
call fcn.00407270
add esp, 4
test eax, eax
je 0x407db4
mov ebx, dword [esp + 0x4c]
push 0
push ebx
call fcn.0042ff30
add esp, 8
mov esi, eax
push edi
test esi, esi
je 0x407dea
push 0
push esi
call fcn.0042ffa0
push esi
mov ebp, eax
call fcn.0042ffe0
add esp, 0x10
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test ebp, ebp
je 0x407db4
lea ecx, [esp + 0x14]
call fcn.0043ee62
push 0
push 0
push ebx
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 1
call fcn.0043f2c0
test eax, eax
je 0x407ddb
lea ecx, [esp + 0x14]
call fcn.0043ed4d
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.0043edfc
cmp esi, 0x9e
jne 0x407ddb
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 0
call fcn.0043ef6a
lea ecx, [esp + 0x24]
mov dword [esp + 0x44], 0xffffffff
call fcn.0043d78e
mov al, 1
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 0
call fcn.0043ef6a
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [esp + 0x24]
mov dword [esp + 0x44], 0xffffffff
call fcn.0043d78e
xor al, al
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
Function at 0x407f40
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x46d171
mov eax, dword fs:[0]
push eax
sub esp, 0x218
mov eax, dword [0x490d1c]
xor eax, esp
mov dword [esp + 0x214], eax
push ebx
push esi
push edi
mov eax, dword [0x490d1c]
xor eax, esp
push eax
lea eax, [esp + 0x228]
mov dword fs:[0], eax
mov edi, dword [esp + 0x238]
xor ebx, ebx
push 0x208
lea eax, [esp + 0x20]
push ebx
push eax
mov dword [esp + 0x20], ebx
call fcn.00455e70
add esp, 0xc
lea ecx, [esp + 0x1c]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0x474ae8
push str.TempAppPath
push 0x474ad4
call fcn.00407e20
add esp, 0xc
test al, al
je 0x407ffd
lea edx, [esp + 0x14]
push edx
call fcn.00406230
mov ecx, dword [eax]
add esp, 4
lea edx, [esp + 0x1c]
jmp 0x407fe0
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x407fe0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
jmp 0x40813d
push 0x475184
lea ecx, [esp + 0x14]
push 0x474ad4
push ecx
call fcn.00408190
add esp, 0xc
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 0xc]
mov dword [esp + 0x230], ebx
cmp eax, ebx
je 0x40812f
push ecx
lea eax, [edx - 0x10]
mov dword [esp + 0x1c], esp
mov esi, esp
push eax
call fcn.00401920
lea edx, [esp + 0x1c]
add esp, 4
add eax, 0x10
push edx
mov dword [esi], eax
call fcn.00406480
add esp, 8
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x234], 1
call fcn.00401d40
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x230], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408088
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 0xc]
cmp eax, ebx
jl 0x4080ad
push 0x474e4c
push ecx
call fcn.00455a19
add esp, 8
cmp eax, ebx
je 0x4080ad
sub eax, dword [esp + 0x10]
sar eax, 1
jns 0x4080f6
lea ecx, [esp + 0x18]
push ecx
call fcn.00406230
add esp, 4
mov eax, dword [eax]
push eax
push ebx
lea ecx, [esp + 0x18]
mov byte [esp + 0x238], 2
call fcn.00401c00
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x230], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4080f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x474c3c
push 0x474c34
lea ecx, [esp + 0x18]
call fcn.00402920
mov edx, dword [esp + 0x10]
cmp dword [edx - 0xc], ebx
je 0x40812f
lea esi, [esp + 0x1c]
mov eax, edx
sub esi, edx
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
cmp cx, bx
jne 0x408120
mov dword [esp + 0x230], 0xffffffff
lea eax, [edx - 0x10]
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408156
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.00401e60
mov eax, edi
mov ecx, dword [esp + 0x228]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x214]
xor ecx, esp
call fcn.00455930
add esp, 0x224
ret
Function at 0x4095e0
Capabilities:
Create process on windows

Disassembly:
push 0xffffffffffffffff
push 0x46d3f6
mov eax, dword fs:[0]
push eax
sub esp, 0x254
mov eax, dword [0x490d1c]
xor eax, esp
mov dword [esp + 0x250], eax
push ebx
push esi
push edi
mov eax, dword [0x490d1c]
xor eax, esp
push eax
lea eax, [esp + 0x264]
mov dword fs:[0], eax
lea eax, [esp + 0x18]
push eax
call fcn.00408960
mov edi, dword [esp + 0x1c]
xor ebx, ebx
push edi
mov dword [esp + 0x274], ebx
call fcn.00407270
add esp, 8
cmp dword [esp + 0x274], ebx
je 0x40964e
push edi
mov ecx, 0x492268
call fcn.0040e700
push 0x104
lea ecx, [esp + 0x5c]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x38
lea edx, [esp + 0x24]
push ebx
push edx
call fcn.00455e70
add esp, 0xc
lea eax, [esp + 0x58]
push str.commandline
mov ecx, 0x492158
mov dword [esp + 0x20], 0x3c
mov dword [esp + 0x24], 0x40
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], str.runas
mov dword [esp + 0x30], eax
call fcn.0043e55c
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00401920
add eax, 0x10
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x26c], 1
lea ecx, [esp + 0x10]
cmp dword [eax - 0xc], ebx
jne 0x4096d6
push 0x12
push str.____runas_admin___
call fcn.00401b50
jmp 0x4096e2
push 0x13
push str._____runas_admin___
call fcn.00402cf0
push str.runasadmin
mov ecx, 0x492158
call fcn.0043e55c
push 0x11
push str.___runas_admin___
mov ecx, eax
call fcn.00401b50
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], 5
mov dword [esp + 0x40], ebx
call fcn.00406230
mov edx, dword [eax]
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0x38], edx
add esp, 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409746
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
lea eax, [esi - 0x10]
mov byte [esp + 0x26c], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x409774
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov dword [esp + 0x26c], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40979b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x264]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x250]
xor ecx, esp
call fcn.00455930
add esp, 0x260
ret
Function at 0x40cad0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x46da38
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
mov eax, dword [0x490d1c]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov eax, dword [esp + 0x2c]
push 0
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x10], esp
mov esi, esp
push eax
mov dword [esp + 0x24], 1
call fcn.00401920
add eax, 0x10
mov dword [esi], eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov dword [esp + 0x18], esp
mov esi, esp
push eax
mov byte [esp + 0x28], 2
call fcn.00401920
mov ecx, dword [esp + 0x30]
add eax, 0x10
mov dword [esi], eax
mov eax, dword [esp + 0x34]
add esp, 4
push eax
push ecx
mov byte [esp + 0x2c], 1
call fcn.0040c200
mov esi, eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
add esp, 0x14
mov byte [esp + 0x18], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40cb75
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov dword [esp + 0x18], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cb9d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x14
ret