joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100cd9a0
Capabilities:
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x101208ac
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push ebp
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov ebx, ecx
push 0xc
xor eax, eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
lea ecx, [esp + 0x1c]
push str.wintrust.dll
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], 0
mov word [esp + 0x20], ax
call fcn.10004390
mov dword [esp + 0x50], 0
mov eax, dword [0x10162528]
test al, 1
jne 0x100cda3f
or eax, 1
mov dword [0x10162528], eax
mov byte [esp + 0x50], 1
mov dword [0x10162524], 0
call fcn.10059fc0
push 0x10128230
call fcn.1010378f
add esp, 4
mov byte [esp + 0x50], 0
lea eax, [esp + 0x18]
mov ecx, 0x10162524
push eax
call fcn.1005a270
mov edi, eax
mov dword [esp + 0x50], 0xffffffff
cmp dword [esp + 0x2c], 8
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
jb 0x100cda6e
push dword [esp + 0x18]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x2c], 7
push 0xb
mov dword [esp + 0x44], eax
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], eax
push str.crypt32.dll
mov dword [esp + 0x30], 0
mov word [esp + 0x20], ax
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], eax
mov word [esp + 0x38], ax
call fcn.10004390
mov dword [esp + 0x50], 2
mov eax, dword [0x10162528]
test al, 1
jne 0x100cdaed
or eax, 1
mov dword [0x10162528], eax
mov byte [esp + 0x50], 3
mov dword [0x10162524], 0
call fcn.10059fc0
push 0x10128230
call fcn.1010378f
add esp, 4
mov byte [esp + 0x50], 2
lea eax, [esp + 0x30]
mov ecx, 0x10162524
push eax
call fcn.1005a270
mov ebp, eax
mov dword [esp + 0x50], 0xffffffff
cmp dword [esp + 0x44], 8
jb 0x100cdb16
push dword [esp + 0x30]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x44], 7
mov dword [esp + 0x40], 0
mov word [esp + 0x30], ax
test edi, edi
je 0x100cdba9
test ebp, ebp
je 0x100cdba9
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CryptCATAdminCalcHashFromFileHandle
push edi
call esi
push str.CryptCATAdminAcquireContext
push edi
mov dword [ebx + 4], eax
call esi
push str.CryptCATAdminEnumCatalogFromHash
push edi
mov dword [ebx + 8], eax
call esi
push str.CryptCATCatalogInfoFromContext
push edi
mov dword [ebx + 0xc], eax
call esi
push str.CryptCATAdminReleaseCatalogContext
push edi
mov dword [ebx + 0x10], eax
call esi
push str.CryptCATAdminReleaseContext
push edi
mov dword [ebx + 0x14], eax
call esi
push str.WTHelperProvDataFromStateData
push edi
mov dword [ebx + 0x18], eax
call esi
push str.WTHelperGetProvSignerFromChain
push edi
mov dword [ebx + 0x1c], eax
call esi
push str.WinVerifyTrust
push edi
mov dword [ebx + 0x20], eax
call esi
push str.CertNameToStrW
push ebp
mov dword [ebx + 0x24], eax
call esi
mov dword [ebx + 0x28], eax
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
Function at 0x100cf180
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10120abe
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0x20]
xor eax, eax
push 0xffffffffffffffff
push eax
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
push esi
mov word [edi], ax
call fcn.10004aa0
mov dword [esp + 0x18], 0
lea ecx, [edi + 0x18]
xor eax, eax
mov dword [ecx + 0x14], 7
push 0xffffffffffffffff
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [esi + 0x18]
push eax
call fcn.10004aa0
mov byte [esp + 0x18], 1
lea ecx, [edi + 0x30]
xor eax, eax
mov dword [ecx + 0x14], 7
push 0xffffffffffffffff
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [esi + 0x30]
push eax
call fcn.10004aa0
mov byte [esp + 0x18], 2
mov eax, dword [esi + 0x48]
mov dword [edi + 0x48], eax
mov eax, dword [esi + 0x4c]
mov dword [edi + 0x4c], eax
mov eax, dword [esi + 0x50]
mov dword [edi + 0x50], eax
mov eax, dword [esi + 0x54]
mov dword [edi + 0x54], eax
mov eax, dword [esi + 0x58]
mov dword [edi + 0x58], eax
mov eax, dword [esi + 0x5c]
mov dword [edi + 0x5c], eax
mov eax, dword [esi + 0x60]
mov dword [edi + 0x60], eax
mov al, byte [esi + 0x64]
mov byte [edi + 0x64], al
mov dword [esp + 0x18], 0xffffffff
mov eax, edi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x10
ret 4
Function at 0x100d0500
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x10120bb8
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x30], eax
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov edi, dword [esp + 0x50]
lea eax, [esp + 0x24]
mov esi, dword [esp + 0x54]
push edi
push eax
call fcn.100d0bb0
mov dword [esp + 0x48], 0
xorps xmm0, xmm0
movq qword [esp + 0x14], xmm0
mov dword [esp + 0x14], 0
mov word [esp + 0x18], 0
mov byte [esp + 0x48], 1
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x18]
call fcn.10031d00
lea eax, [esp + 0x14]
xorps xmm0, xmm0
push eax
lea ecx, [esp + 0x20]
movq qword [esp + 0x20], xmm0
call fcn.10006e20
mov byte [esp + 0x48], 2
lea eax, [esp + 0x13]
push eax
push esi
push edi
mov byte [esp + 0x1f], 0
call fcn.100d0640
test al, al
jne 0x100d05bc
cmp byte [esp + 0x13], al
je 0x100d05bc
cmp dword [edi + 0x14], 8
jb 0x100d05b5
mov edi, dword [edi]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [esp + 0x48], 1
lea ecx, [esp + 0x1c]
call fcn.10006e70
mov byte [esp + 0x48], 0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100d05e6
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0x14], 0
mov word [esp + 0x18], 0
mov dword [esp + 0x48], 0xffffffff
cmp dword [esp + 0x38], 8
jb 0x100d0609
push dword [esp + 0x24]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], 0
mov word [esp + 0x24], ax
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.10103694
add esp, 0x40
ret 8
Function at 0x100d7930
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10121ba8
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x18], eax
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov eax, edx
mov dword [esp + 0xc], eax
mov edi, ecx
mov ecx, eax
mov dword [esp + 0x20], 0
sub ecx, edi
mov eax, 0x81848da9
imul ecx
xorps xmm0, xmm0
movdqu xmmword [esp + 0x10], xmm0
mov dword [esp + 0x10], 0
add edx, ecx
mov dword [esp + 0x14], 0
sar edx, 9
mov esi, edx
mov dword [esp + 0x18], 0
shr esi, 0x1f
add esi, edx
lea eax, [esi + 1]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], 0
mov ecx, edi
push dword [esp + 0x40]
mov edx, dword [esp + 0x10]
push eax
push esi
call fcn.100d7bd0
add esp, 0xc
mov dword [esp + 0x30], 0xffffffff
mov esi, dword [esp + 0x10]
test esi, esi
je 0x100d7a11
cmp esi, dword [esp + 0x18]
je 0x100d7a07
mov edi, edi
mov ecx, esi
call fcn.100c7b00
add esi, 0x3f4
cmp esi, dword [esp + 0x18]
jne 0x100d79f0
mov esi, dword [esp + 0x10]
push esi
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.10103694
add esp, 0x28
ret
Function at 0x100d8d80
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10121e90
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov dword [esp + 0x1c], edx
mov ebp, ecx
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x100d8f50
test esi, esi
je 0x100d8f50
cmp ebx, esi
jg 0x100d8e81
mov ecx, edi
call fcn.100d7fa0
cmp ebx, eax
jg 0x100d8e81
mov ecx, dword [edi + 0x10]
sub esp, 0x14
mov dword [esp + 0x2c], esp
mov eax, dword [ecx]
mov dword [ecx + 4], eax
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x10], eax
mov dword [esp + 0x54], 0
mov esi, dword [esp + 0x30]
push esi
mov dword [esp + 0x58], 0xffffffff
mov edx, ebp
lea ecx, [esp + 0x3c]
call fcn.100d8b40
add esp, 0x18
lea ecx, [esp + 0x24]
call fcn.100d7b70
push dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
mov ecx, esi
push ebp
mov edx, ebx
call fcn.100d9960
mov eax, dword [edi + 0x10]
push dword [esp + 0x20]
push ebx
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.100d9850
add esp, 0x10
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, edi
call fcn.100d7fa0
cmp esi, eax
jg 0x100d8f29
mov ecx, dword [edi + 0x10]
sub esp, 0x14
mov dword [esp + 0x2c], esp
mov eax, dword [ecx]
mov dword [ecx + 4], eax
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x10], eax
mov dword [esp + 0x54], 1
mov ebx, dword [esp + 0x34]
push ebx
mov dword [esp + 0x58], 0xffffffff
lea ecx, [esp + 0x3c]
mov edx, dword [esp + 0x34]
call fcn.100d8b40
add esp, 0x18
lea ecx, [esp + 0x24]
call fcn.100d7b70
push dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ecx, ebp
push ebx
call fcn.100d9850
mov eax, dword [edi + 0x10]
push dword [esp + 0x20]
push ebp
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.100d9960
add esp, 0x10
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ebx, dword [esp + 0x20]
mov ecx, ebp
mov edx, dword [esp + 0x1c]
push ebx
call fcn.100d95b0
add esp, 4
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
imul eax, esi, 0x3f4
add eax, ebp
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
Function at 0x100d9130
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x10121f69
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov edi, edx
mov eax, ecx
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x40], 1
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x50]
cmp edi, ebp
je 0x100d91b7
cmp esi, ebx
je 0x100d91b7
push edi
mov ecx, esi
call fcn.100c7e10
lea ecx, [esp + 0x54]
test al, al
je 0x100d91a7
push esi
call fcn.100d9780
add esi, 0x3f4
cmp esi, ebx
jmp 0x100d91b5
push edi
call fcn.100d9780
add edi, 0x3f4
cmp edi, ebp
jne 0x100d9187
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x2c], esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esp + 0x78]
mov dword [ecx + 0x10], eax
mov byte [esp + 0x54], 2
push ebp
mov byte [esp + 0x58], 1
mov edx, edi
lea ecx, [esp + 0x3c]
call fcn.100d8b40
add esp, 0x18
mov byte [esp + 0x40], 3
mov eax, dword [eax + 0x10]
mov dword [esp + 0x64], eax
mov byte [esp + 0x40], 1
mov edi, dword [esp + 0x24]
mov ebp, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
test edi, edi
je 0x100d923d
cmp edi, dword [esp + 0x2c]
je 0x100d9237
mov ecx, edi
call fcn.100c7b00
add edi, 0x3f4
cmp edi, dword [esp + 0x2c]
jne 0x100d9220
mov edi, dword [esp + 0x24]
push edi
call ebp
add esp, 4
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x2c], esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esp + 0x78]
mov dword [ecx + 0x10], eax
mov byte [esp + 0x54], 4
push ebx
mov byte [esp + 0x58], 1
mov edx, esi
mov edi, dword [esp + 0x34]
mov ecx, edi
call fcn.100d8b40
add esp, 0x18
mov dword [esp + 0x14], 1
mov byte [esp + 0x40], 0
mov esi, dword [esp + 0x54]
test esi, esi
je 0x100d92bd
cmp esi, dword [esp + 0x5c]
je 0x100d92b7
mov edi, edi
mov ecx, esi
call fcn.100c7b00
add esi, 0x3f4
cmp esi, dword [esp + 0x5c]
jne 0x100d92a0
mov esi, dword [esp + 0x54]
push esi
call ebp
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
Function at 0x100db1c0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10122577
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x1c], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov edi, ecx
mov dword [edi], vtable.RC::RCFileHash.0
mov dword [edi + 4], 0
mov dword [esp + 0x14], edi
mov byte [edi + 8], 0
mov dword [esp + 0x38], 0
mov dword [edi], vtable.RC::RCFileHashCalc.0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [esp + 0x38], 2
xorps xmm0, xmm0
movq qword [esp + 0x18], xmm0
mov dword [esp + 0x20], 0
mov dword [edi], vtable.RC::RCMD5.0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov byte [esp + 0x38], 3
push 8
movq qword [esp + 0x28], xmm0
call dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x38], 4
test eax, eax
je 0x100db295
xorps xmm0, xmm0
mov ecx, eax
movq qword [eax], xmm0
call fcn.1005fe00
jmp 0x100db297
xor eax, eax
mov byte [esp + 0x38], 3
lea ecx, [esp + 0x24]
push eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.1004fb50
mov byte [esp + 0x38], 5
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x1c]
call fcn.100db540
lea eax, [esp + 0x18]
push eax
lea ecx, [edi + 0xc]
call fcn.100de680
mov byte [esp + 0x38], 3
mov esi, dword [esp + 0x28]
test esi, esi
je 0x100db308
or ebx, 0xffffffff
lea ecx, [esi + 4]
mov eax, ebx
lock xadd dword [ecx], eax
jne 0x100db308
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lea eax, [esi + 8]
lock xadd dword [eax], ebx
dec ebx
jne 0x100db308
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [esp + 0x38], 2
mov esi, dword [esp + 0x18]
test esi, esi
je 0x100db347
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
push ecx
mov ecx, esi
call fcn.100d2510
push esi
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 0xc
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x38], 0xffffffff
mov eax, edi
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.10103694
add esp, 0x2c
ret
Function at 0x100ddec0
Capabilities:
Get file size
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x10122908
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x28], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x100ddf16
mov dword [ecx], 0
mov dword [eax], 0
cmp dword [edi], 0xffffffff
je 0x100de09b
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x100000
mov eax, dword [esp + 0x54]
push 0
mov ebx, eax
mov dword [esp + 0x34], 0
cmp eax, 0x100000
lea eax, [esp + 0x34]
push eax
cmova ebx, ecx
push ebx
push esi
push dword [edi]
call dword [sym.imp.KERNEL32.dll_WriteFile]
neg eax
sbb eax, eax
and eax, 0x7fffbffb
add eax, 0x80004005
cmp dword [edi + 0x1c], 0
je 0x100de060
test eax, eax
je 0x100de060
mov ecx, dword [esp + 0x30]
jmp 0x100ddf80
cmp ecx, ebx
jae 0x100de064
call ebp
mov ecx, dword [edi]
mov dword [esp + 0x18], eax
cmp ecx, 0xffffffff
je 0x100ddfc3
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, 0xffffffff
jne 0x100ddfb6
call ebp
test eax, eax
jne 0x100ddfc3
mov eax, dword [esp + 0x38]
xor ecx, ecx
add ecx, esi
adc eax, 0
jmp 0x100ddfd4
xorps xmm0, xmm0
movlpd qword [esp + 0x24], xmm0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push 0
push dword [esp + 0x1c]
push eax
push ecx
sub esp, 0x18
xor eax, eax
mov ecx, esp
mov dword [esp + 0x40], esp
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [edi + 4]
push eax
call fcn.10004aa0
mov dword [esp + 0x70], 0
mov ecx, dword [edi + 0x1c]
mov eax, dword [ecx]
mov dword [esp + 0x70], 0xffffffff
call dword [eax + 0x18]
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x100de060
push eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x38]
push ebx
add eax, esi
push eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [esp + 0x30]
neg eax
sbb eax, eax
add ecx, dword [esp + 0x34]
and eax, 0x7fffbffb
mov dword [esp + 0x30], ecx
add eax, 0x80004005
jne 0x100ddf80
jmp 0x100de064
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
add dword [edx], ecx
test eax, eax
jne 0x100de091
test ecx, ecx
je 0x100de08d
mov eax, dword [esp + 0x54]
add esi, ecx
sub eax, ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x54], eax
mov ecx, 0x100000
jne 0x100ddf34
mov al, 1
jmp 0x100de09d
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x100de09b
mov dword [ecx], eax
xor al, al
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.10103694
add esp, 0x38
ret 0x10
Function at 0x100de120
Capabilities:
Clear file content

Disassembly:
push 0xffffffffffffffff
push 0x10122938
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push ebp
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x34]
mov dword fs:[0], eax
mov edi, ecx
lea eax, [esp + 0x1c]
xorps xmm0, xmm0
push eax
push 1
push 0
push 0
movlpd qword [esp + 0x2c], xmm0
xor bl, bl
call fcn.10064560
mov ebp, dword [esp + 0x44]
test al, al
lea eax, [esp + 0x24]
movzx ecx, bl
mov ebx, dword [esp + 0x48]
mov edx, 1
push eax
push 0
cmovne ecx, edx
xorps xmm0, xmm0
push ebx
mov dword [esp + 0x24], ecx
mov ecx, edi
push ebp
movlpd qword [esp + 0x34], xmm0
call fcn.10064560
test al, al
je 0x100de2bc
cmp dword [esp + 0x24], ebp
jne 0x100de2bc
cmp dword [esp + 0x28], ebx
jne 0x100de2bc
mov ebp, dword [esp + 0x4c]
mov eax, dword [edi]
test ebp, ebp
jne 0x100de1f1
cmp eax, 0xffffffff
jne 0x100de1d4
xor al, al
xor ecx, ecx
test al, al
mov esi, 0x80004005
cmovne esi, ecx
jmp 0x100de292
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
mov esi, 0x80004005
setne al
xor ecx, ecx
test al, al
cmovne esi, ecx
jmp 0x100de292
mov ebx, dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp eax, 0xffffffff
jne 0x100de200
xor al, al
jmp 0x100de208
push eax
call ebx
test eax, eax
setne al
xor ecx, ecx
mov esi, 0x80004005
test al, al
cmovne esi, ecx
test esi, esi
je 0x100de292
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
push eax
push dword [esp + 0x50]
xor eax, eax
push dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x74], esp
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [edi + 4]
push eax
call fcn.10004aa0
mov dword [esp + 0x64], 0
mov eax, dword [ebp]
mov dword [esp + 0x64], 0xffffffff
mov ecx, ebp
call dword [eax + 0x1c]
mov esi, eax
test esi, esi
jne 0x100de292
mov eax, dword [edi]
cmp eax, 0xffffffff
jne 0x100de27a
xor al, al
jmp 0x100de282
push eax
call ebx
test eax, eax
setne al
xor ecx, ecx
mov esi, 0x80004005
test al, al
cmovne esi, ecx
test esi, esi
jne 0x100de218
cmp byte [esp + 0x18], 0
je 0x100de2b8
lea eax, [esp + 0x44]
xorps xmm0, xmm0
push eax
push 0
push dword [esp + 0x28]
mov ecx, edi
movlpd qword [esp + 0x50], xmm0
push dword [esp + 0x28]
call fcn.10064560
mov eax, esi
jmp 0x100de2e7
cmp byte [esp + 0x18], 0
je 0x100de2e2
lea eax, [esp + 0x44]
xorps xmm0, xmm0
push eax
push 0
push dword [esp + 0x28]
mov ecx, edi
movlpd qword [esp + 0x50], xmm0
push dword [esp + 0x28]
call fcn.10064560
mov eax, 0x80004005
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0xc
Function at 0x100e42c0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10123d8c
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x14]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0xc], 0
jne 0x100e4333
push 0x10
call fcn.10103452
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], 0
test eax, eax
je 0x100e4326
push 0x100dfe00
push 0x100dfdf0
push 3
lea esi, [eax + 4]
mov dword [eax], 3
push 4
push esi
call fcn.10104e4a
jmp 0x100e4328
xor esi, esi
mov dword [esp + 0x1c], 0xffffffff
mov dword [edi + 0xc], esi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
test eax, eax
je 0x100e4347
cmp byte [ecx + eax - 1], 0xa
jne 0x100e4347
dec eax
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + eax*4]
call fcn.100dfe10
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x14
ret 0xc
Function at 0x100ec880
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10124ff0
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x28], eax
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
mov esi, ecx
mov edx, dword [esp + 0x4c]
xorps xmm0, xmm0
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
movdqu xmmword [esp + 0x1c], xmm0
mov dword [esp + 0x28], 0
movq qword [esp + 0x2c], xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
mov dword [esp + 0x44], 1
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x18]
movq qword [esp + 0xc], xmm0
cmp eax, edx
je 0x100ec925
push 0xffffffffffffffff
push 0
push edx
mov ecx, eax
call fcn.10001f90
lea eax, [esp + 0xc]
mov dword [esp + 0x30], edi
push eax
lea ecx, [esi + 0x14]
call fcn.100f3780
mov dword [esp + 0x44], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.1000c1a0
xor al, al
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.10103694
add esp, 0x3c
ret 0xc