joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4e2790
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 4
push 0
push 0
dec ecx
jne 0x4e2799
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov byte [ebp - 9], cl
mov dword [ebp - 4], edx
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.0040685c
xor eax, eax
push ebp
push 0x4e2918
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4f450c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4e28c1
lea ecx, [ebp - 0x18]
mov edx, ebx
mov eax, dword [0x4f450c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x14]
call fcn.00406b00
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x10]
mov edx, 2
call fcn.0040d088
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 8]
call fcn.00406aec
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
call fcn.00406f5c
je 0x4e28b7
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 8]
call fcn.00417da8
mov eax, dword [ebp - 0x1c]
call fcn.00406900
push eax
call sub.kernel32.dll_GetDriveTypeW
cmp eax, 3
jne 0x4e28b7
mov edx, dword [ebp - 4]
mov eax, esi
call fcn.004e241c
cmp al, 1
jbe 0x4e286b
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x24]
mov ecx, 1
mov eax, esi
call fcn.004e325c
test al, al
je 0x4e28b7
cmp byte [ebp - 9], 0
je 0x4e28aa
cmp dword [ebp + 0x10], 0
jne 0x4e2894
cmp dword [ebp + 0xc], 0
jne 0x4e2894
push 0
push 0
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, esi
call fcn.004dec00
test al, al
je 0x4e28b7
jmp 0x4e28aa
mov eax, dword [ebp - 8]
call fcn.004d3a50
cmp edx, dword [ebp + 0x10]
jne 0x4e28a8
cmp eax, dword [ebp + 0xc]
jae 0x4e28aa
jmp 0x4e28b7
jl 0x4e28b7
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 8]
call fcn.00406874
jmp 0x4e28c1
dec ebx
cmp ebx, 0xffffffff
jne 0x4e27da
mov eax, dword [ebp + 8]
cmp dword [eax], 0
sete al
and al, byte [ebp - 9]
je 0x4e28e3
push 0
push 0
mov eax, dword [ebp + 8]
push eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, esi
call fcn.004e2790
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e291f
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.0040686c
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00406524
lea eax, [ebp - 8]
mov edx, 2
call fcn.0040686c
ret
Function at 0x4e30d8
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
xor edx, edx
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4e31ae
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov eax, dword [0x4ee59c]
mov eax, dword [eax]
call fcn.00406900
push eax
lea eax, [ebp - 4]
mov ecx, 0x4e31cc
mov edx, dword [ebx + 0x6b8]
call fcn.00406d58
mov eax, dword [ebp - 4]
call fcn.00406900
push eax
call sub.kernel32.dll_CopyFileW
mov eax, dword [0x4ee59c]
mov eax, dword [eax]
mov ecx, 0x4e31f0
mov edx, 0x4e3210
call fcn.004d6828
test al, al
je 0x4e3173
mov eax, dword [0x4ee59c]
mov eax, dword [eax]
mov ecx, 0x4e3230
mov edx, 0x4e3210
call fcn.004d6828
test al, al
je 0x4e3173
mov eax, dword [0x4ee59c]
mov eax, dword [eax]
mov ecx, 0x4e3250
mov edx, 0x4e3210
call fcn.004d6828
test al, al
jne 0x4e3177
xor ebx, ebx
jmp 0x4e3179
mov bl, 1
mov esi, dword [0x4ee59c]
mov esi, dword [esi]
mov dword [ebp - 8], esi
mov eax, dword [ebp - 8]
call fcn.00406900
push eax
call sub.kernel32.dll_DeleteFileW
cmp eax, 1
sbb eax, eax
inc eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e31b5
lea eax, [ebp - 4]
call fcn.00406864
ret

Function at 0x4e3338
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4e348c
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 4]
mov eax, dword [ebx + 0x474]
xor edx, edx
call fcn.00412210
mov eax, dword [ebx + 0x474]
call fcn.00411e78
test al, al
je 0x4e3417
mov dl, 1
mov eax, dword [0x4277e4]
call fcn.00433160
mov dword [ebp - 0xc], eax
xor edx, edx
push ebp
push 0x4e3410
push dword fs:[edx]
mov dword fs:[edx], esp
push dword [ebx + 0x474]
push 0x4e34a8
push dword [ebp - 4]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00406e3c
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [0x4ee59c]
mov edx, dword [edx]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x7c]
mov eax, dword [0x4ee59c]
mov eax, dword [eax]
xor edx, edx
call fcn.004d3640
mov ebx, dword [0x4ee59c]
mov ebx, dword [ebx]
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x14]
call fcn.00406900
push eax
call sub.kernel32.dll_DeleteFileW
cmp eax, 1
sbb eax, eax
inc eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e3417
mov eax, dword [ebp - 0xc]
call fcn.00404da0
ret
mov dl, 1
mov eax, dword [0x4277e4]
call fcn.00433160
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4e3467
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00411e78
test al, al
je 0x4e344b
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x68]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e346e
mov eax, dword [ebp - 4]
call fcn.00406900
push eax
call sub.kernel32.dll_DeleteFileW
ret
Function at 0x4e3e30
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
push esi
mov dword [ebp - 4], ecx
mov ebx, edx
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.0040685c
xor eax, eax
push ebp
push 0x4e3f3c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [esi + 0x474]
call fcn.00411e78
test al, al
je 0x4e3f21
test bl, bl
je 0x4e3eac
push dword [esi + 0x474]
push 0x4e3f58
push dword [ebp - 4]
lea eax, [ebp - 8]
mov edx, 3
call fcn.00406e3c
mov eax, dword [ebp - 8]
xor edx, edx
call fcn.004d3640
push 7
mov eax, dword [ebp - 4]
call fcn.00406900
push eax
call sub.kernel32.dll_SetFileAttributesW
jmp 0x4e3ed9
push dword [esi + 0x474]
push 0x4e3f78
push dword [ebp - 4]
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00406e3c
mov eax, dword [ebp - 0xc]
xor edx, edx
call fcn.004d3640
mov eax, dword [ebp - 4]
call fcn.004d341c
lea eax, [ebp - 0x10]
mov ecx, 0x4e3f98
mov edx, dword [ebp - 4]
call fcn.00406d58
mov eax, dword [ebp - 0x10]
call fcn.004d341c
lea eax, [ebp - 0x14]
mov ecx, 0x4e3fb0
mov edx, dword [ebp - 4]
call fcn.00406d58
mov eax, dword [ebp - 0x14]
call fcn.004d341c
lea eax, [ebp - 0x18]
mov ecx, 0x4e3fc8
mov edx, dword [ebp - 4]
call fcn.00406d58
mov eax, dword [ebp - 0x18]
call fcn.004d341c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e3f43
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.0040686c
ret

Function at 0x4e4438
Capabilities:
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
call fcn.0040685c
mov eax, dword [ebp - 8]
call fcn.0040685c
xor eax, eax
push ebp
push 0x4e44ac
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
call fcn.004d341c
mov eax, dword [ebp - 8]
call fcn.00406900
push eax
mov eax, dword [ebp - 4]
call fcn.00406900
push eax
call sub.kernel32.dll_MoveFileW
push 7
mov eax, dword [ebp - 8]
call fcn.00406900
push eax
call sub.kernel32.dll_SetFileAttributesW
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e44b3
lea eax, [ebp - 8]
mov edx, 2
call fcn.0040686c
ret
Function at 0x100424a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
pushal
call 0x100424af
pop dword [ebp - 0x14]
mov eax, 0xba3887fd
sub eax, 0xaa34634e
sub dword [ebp - 0x14], eax
mov dword [ebp - 0x24], 0xfdc56895
sub dword [ebp - 0x24], 0xaf73234a
mov dword [ebp - 0x20], 0xbe411b70
sub dword [ebp - 0x20], 0x8c0dcf2b
mov dword [ebp - 0x1c], 0x422a4d70
add dword [ebp - 0x1c], 0xa21f6be
mov dword [ebp - 0x18], 0x8977d5c4
add dword [ebp - 0x18], 0x76882a3c
lea eax, [ebp - 0x24]
push eax
mov eax, 0x3b7b700a
sub eax, 0x2b72ffd6
add eax, dword [ebp - 0x14]
call dword [eax]
mov dword [ebp - 0x24], 0xd39a620b
add dword [ebp - 0x24], 0xa0d8074b
mov dword [ebp - 0x20], 0x1490b2ae
add dword [ebp - 0x20], 0x2cdbaec7
mov dword [ebp - 0x1c], 0xbcee7b5d
add dword [ebp - 0x1c], 0xa680f10f
mov dword [ebp - 0x18], 0xc52edd97
sub dword [ebp - 0x18], 0xc52edd97
lea ebx, [ebp - 0x24]
push ebx
push eax
mov eax, 0x58782808
sub eax, 0x486fb7e4
add eax, dword [ebp - 0x14]
call dword [eax]
push 0x40
push 0x1000
push 0x3d9ba
push 0
call eax
mov ecx, 0x5702c31b
add ecx, 0xa8fd852e
mov edx, eax
mov ebx, 0x100b9000
add ebx, dword [ebp - 0x14]
mov esi, 0x64da2b02
sub esi, 0x2729c5a1
mov edi, dword [ebx]
add dword [ebp - 8], 0x906537a1
sub edi, esi
add dword [ebp - 0xc], edi
mov dword [edx], edi
xor dword [ebp - 0xc], edi
add edx, 0x55482b7f
add edx, 0xaab7d485
add ebx, 0x11dcae11
sub ebx, 0x11dcae0d
loop 0x100425cb
add eax, 0xf51c262b
sub eax, 0xf51b1234
xor ebx, ebx
add ebx, eax
add eax, 5
mov ecx, 0xfd092664
sub ecx, 0xed092664
add ecx, dword [ebp - 0x14]
call ebx
leave
ret
Function at 0x1001aeee
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
pushal
call 0x1001aefd
pop dword [ebp - 0x30]
mov eax, 0x1001aefd
sub dword [ebp - 0x30], eax
mov dword [ebp - 0x40], 0xcb6e1ab0
add dword [ebp - 0x40], 0x82e42a9b
mov dword [ebp - 0x3c], 0x1fb115a
sub dword [ebp - 0x3c], 0xcfc7c515
mov dword [ebp - 0x38], 0x33ca5095
sub dword [ebp - 0x38], 0xe77e0c67
mov dword [ebp - 0x34], 0x13f6619a
add dword [ebp - 0x34], 0xec099e66
lea eax, [ebp - 0x40]
push eax
mov eax, 0x93eddd1
add eax, 0x6c2e2af
add eax, dword [ebp - 0x30]
call dword [eax]
mov dword [ebp - 0x40], 0xc4344b65
add dword [ebp - 0x40], 0xb03e1df1
mov dword [ebp - 0x3c], 0xcef18b1b
add dword [ebp - 0x3c], 0x727ad65a
mov dword [ebp - 0x38], 0xb9650475
add dword [ebp - 0x38], 0xaa0a67f7
mov dword [ebp - 0x34], 0x40ab6409
sub dword [ebp - 0x34], 0x40ab6409
lea ebx, [ebp - 0x40]
push ebx
push eax
mov eax, 0x65589e03
sub eax, 0x5556de03
add eax, dword [ebp - 0x30]
call dword [eax]
push 0x40
push 0x1000
push 0x34022
push 0
call eax
mov ecx, 0x3a51
xor ebx, ebx
add ebx, eax
mov edi, 0x663a48d8
sub edi, 0x5637e0d8
add edi, dword [ebp - 0x30]
mov edx, 0x57ad9e53
add edx, 0xdfdba61c
mov esi, dword [edi]
xor dword [ebp - 0x28], 0xe60ec540
add esi, edx
xor dword [ebp - 0x24], 0x9b03cd56
mov dword [ebx], esi
mov dword [ebp - 0x18], 0x963668f4
add ebx, 4
add edi, 0x5d2dc6e5
add edi, 0xa2d2391f
loop 0x1001b016
add eax, 0xdc17
mov ebx, eax
add eax, 5
mov ecx, 0x250fc5d4
sub ecx, 0x150fc5d4
add ecx, dword [ebp - 0x30]
call ebx
leave
ret
Function at 0x100fe870
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1434
call fcn.100679b5
mov eax, dword [0x1016c308]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
sar eax, 6
mov ecx, dword [ebp + 0xc]
and ecx, 0x3f
imul edx, ecx, 0x38
mov eax, dword [eax*4 + 0x10170dd8]
mov ecx, dword [eax + edx + 0x18]
mov dword [ebp - 0x1434], ecx
mov edx, dword [ebp + 0x10]
add edx, dword [ebp + 0x14]
mov dword [ebp - 0x1424], edx
xor eax, eax
mov dword [ebp - 0x1410], eax
mov dword [ebp - 0x140c], eax
mov dword [ebp - 0x1408], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x1420], ecx
mov edx, dword [ebp - 0x1420]
cmp edx, dword [ebp - 0x1424]
jae 0x100fea48
lea eax, [ebp - 5]
mov dword [ebp - 0x1430], eax
lea ecx, [ebp - 0x1404]
mov dword [ebp - 0x1418], ecx
mov edx, dword [ebp - 0x1418]
cmp edx, dword [ebp - 0x1430]
jae 0x100fe997
mov eax, dword [ebp - 0x1420]
cmp eax, dword [ebp - 0x1424]
jae 0x100fe997
mov ecx, dword [ebp - 0x1420]
mov dl, byte [ecx]
mov byte [ebp - 0x1419], dl
mov eax, dword [ebp - 0x1420]
add eax, 1
mov dword [ebp - 0x1420], eax
mov cl, byte [ebp - 0x1419]
mov byte [ebp - 0x1411], cl
movsx edx, byte [ebp - 0x1411]
cmp edx, 0xa
jne 0x100fe975
mov eax, dword [ebp - 0x1408]
add eax, 1
mov dword [ebp - 0x1408], eax
mov ecx, dword [ebp - 0x1418]
mov byte [ecx], 0xd
mov edx, dword [ebp - 0x1418]
add edx, 1
mov dword [ebp - 0x1418], edx
mov eax, dword [ebp - 0x1418]
mov cl, byte [ebp - 0x1411]
mov byte [eax], cl
mov edx, dword [ebp - 0x1418]
add edx, 1
mov dword [ebp - 0x1418], edx
jmp 0x100fe8f9
mov eax, dword [ebp - 0x1418]
lea ecx, [ebp - 0x1404]
sub eax, ecx
mov dword [ebp - 0x142c], eax
push 0
lea edx, [ebp - 0x1428]
push edx
mov eax, dword [ebp - 0x142c]
push eax
lea ecx, [ebp - 0x1404]
push ecx
mov edx, dword [ebp - 0x1434]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x100fea01
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1410], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1410]
mov dword [eax], ecx
mov edx, dword [ebp - 0x140c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1408]
mov dword [eax + 8], ecx
mov eax, dword [ebp + 8]
jmp 0x100fea68
mov edx, dword [ebp - 0x140c]
add edx, dword [ebp - 0x1428]
mov dword [ebp - 0x140c], edx
mov eax, dword [ebp - 0x1428]
cmp eax, dword [ebp - 0x142c]
jae 0x100fea43
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1410]
mov dword [ecx], edx
mov eax, dword [ebp - 0x140c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1408]
mov dword [ecx + 8], edx
mov eax, dword [ebp + 8]
jmp 0x100fea68
jmp 0x100fe8d2
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1410]
mov dword [eax], ecx
mov edx, dword [ebp - 0x140c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1408]
mov dword [eax + 8], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100686b7
mov esp, ebp
pop ebp
ret
Function at 0x100feb00
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1434
call fcn.100679b5
mov eax, dword [0x1016c308]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
sar eax, 6
mov ecx, dword [ebp + 0xc]
and ecx, 0x3f
imul edx, ecx, 0x38
mov eax, dword [eax*4 + 0x10170dd8]
mov ecx, dword [eax + edx + 0x18]
mov dword [ebp - 0x1434], ecx
mov edx, dword [ebp + 0x10]
add edx, dword [ebp + 0x14]
mov dword [ebp - 0x1424], edx
xor eax, eax
mov dword [ebp - 0x1410], eax
mov dword [ebp - 0x140c], eax
mov dword [ebp - 0x1408], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x141c], ecx
mov edx, dword [ebp - 0x141c]
cmp edx, dword [ebp - 0x1424]
jae 0x100feceb
lea eax, [ebp - 6]
mov dword [ebp - 0x1430], eax
lea ecx, [ebp - 0x1404]
mov dword [ebp - 0x1414], ecx
mov edx, dword [ebp - 0x1414]
cmp edx, dword [ebp - 0x1430]
jae 0x100fec36
mov eax, dword [ebp - 0x141c]
cmp eax, dword [ebp - 0x1424]
jae 0x100fec36
mov ecx, dword [ebp - 0x141c]
mov dx, word [ecx]
mov word [ebp - 0x141e], dx
mov eax, dword [ebp - 0x141c]
add eax, 2
mov dword [ebp - 0x141c], eax
mov cx, word [ebp - 0x141e]
mov word [ebp - 0x1418], cx
movzx edx, word [ebp - 0x1418]
cmp edx, 0xa
jne 0x100fec12
mov eax, dword [ebp - 0x1408]
add eax, 2
mov dword [ebp - 0x1408], eax
mov ecx, 0xd
mov edx, dword [ebp - 0x1414]
mov word [edx], cx
mov eax, dword [ebp - 0x1414]
add eax, 2
mov dword [ebp - 0x1414], eax
mov ecx, dword [ebp - 0x1414]
mov dx, word [ebp - 0x1418]
mov word [ecx], dx
mov eax, dword [ebp - 0x1414]
add eax, 2
mov dword [ebp - 0x1414], eax
jmp 0x100feb89
mov ecx, dword [ebp - 0x1414]
lea edx, [ebp - 0x1404]
sub ecx, edx
sar ecx, 1
shl ecx, 1
mov dword [ebp - 0x142c], ecx
push 0
lea eax, [ebp - 0x1428]
push eax
mov ecx, dword [ebp - 0x142c]
push ecx
lea edx, [ebp - 0x1404]
push edx
mov eax, dword [ebp - 0x1434]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x100feca4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1410], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1410]
mov dword [ecx], edx
mov eax, dword [ebp - 0x140c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1408]
mov dword [ecx + 8], edx
mov eax, dword [ebp + 8]
jmp 0x100fed0b
mov eax, dword [ebp - 0x140c]
add eax, dword [ebp - 0x1428]
mov dword [ebp - 0x140c], eax
mov ecx, dword [ebp - 0x1428]
cmp ecx, dword [ebp - 0x142c]
jae 0x100fece6
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1410]
mov dword [edx], eax
mov ecx, dword [ebp - 0x140c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1408]
mov dword [edx + 8], eax
mov eax, dword [ebp + 8]
jmp 0x100fed0b
jmp 0x100feb62
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1410]
mov dword [ecx], edx
mov eax, dword [ebp - 0x140c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1408]
mov dword [ecx + 8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100686b7
mov esp, ebp
pop ebp
ret
Function at 0x4015d0
Capabilities:
Get session user name
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1408
call fcn.004026e0
sub esp, eax
mov dword [ebp - 0x13e0], 0x800
lea eax, [ebp - 0x13e0]
mov dword [esp + 4], eax
lea eax, [ebp - 0x80c]
mov dword [esp], eax
mov eax, dword [sym.imp.ADVAPI32.dll_GetUserNameW]
call eax
sub esp, 8
lea eax, [ebp - 0x80c]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_CharLowerW]
call eax
sub esp, 4
lea eax, [ebp - 0x80c]
mov dword [esp + 8], eax
mov dword [esp + 4], str..mailslotMAZINGER_LAUNCHER__s
lea eax, [ebp - 0x13dc]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_wsprintfW]
call eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 3
mov dword [esp + 4], 0x40000000
lea eax, [ebp - 0x13dc]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CreateFileW]
call eax
sub esp, 0x1c
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0x10], 0
lea edx, [ebp - 0x13e4]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
nop
leave
ret

Function at 0x4016cc
Capabilities:
Accept command line arguments
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x168
mov dword [ebp - 0x1c], 0
mov eax, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
call eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
call eax
sub esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 1
jle 0x4017f2
mov eax, dword [ebp - 0x10]
add eax, 4
mov eax, dword [eax]
mov dword [esp + 4], 0x404088
mov dword [esp], eax
call sub.msvcrt.dll__wcsicmp
test eax, eax
sete al
test al, al
je 0x401762
mov eax, dword [ebp - 0x10]
add eax, 8
mov eax, dword [eax]
mov dword [esp + 8], 0x63
mov dword [esp + 4], eax
lea eax, [ebp - 0x120]
mov dword [esp], eax
call sub.msvcrt.dll_wcstombs
lea eax, [ebp - 0x120]
mov dword [esp], eax
call fcn.004015d0
jmp 0x4017f2
mov eax, dword [ebp - 0x10]
add eax, 4
mov eax, dword [eax]
mov dword [esp + 8], 0x103
mov dword [esp + 4], eax
lea eax, [ebp - 0x120]
mov dword [esp], eax
call sub.msvcrt.dll_wcstombs
mov dword [esp + 4], 0x404090
lea eax, [ebp - 0x120]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x4017f2
mov eax, dword [ebp - 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x31
mov dword [esp + 4], 1
lea eax, [ebp - 0x152]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
lea edx, [ebp - 0x152]
mov eax, dword [ebp - 0x18]
add eax, edx
mov byte [eax], 0
lea eax, [ebp - 0x152]
mov dword [esp], eax
call fcn.004015d0
mov eax, 0
leave
ret 0x10
Function at 0x401a70
Capabilities:
Write file on windows

Disassembly:
push ebx
sub esp, 0x18
mov dword [esp], 2
lea ebx, [esp + 0x24]
call fcn.004027f0
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.Mingw_w64_runtime_failure:_n
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call fcn.004027f0
mov edx, dword [esp + 0x20]
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_vfprintf
call sub.msvcrt.dll_abort
lea esi, [esi]

Function at 0x401ad0
Capabilities:
Allocate or change rwx memory

Disassembly:
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x30
mov esi, dword [0x406068]
test esi, esi
jle 0x401bf0
mov eax, dword [0x40606c]
xor ecx, ecx
add eax, 0xc
mov edx, dword [eax]
cmp edx, ebx
ja 0x401b04
mov edi, dword [eax + 4]
add edx, dword [edi + 8]
cmp ebx, edx
jb 0x401b87
add ecx, 1
add eax, 0x14
cmp ecx, esi
jne 0x401af0
mov dword [esp], ebx
call fcn.00402460
mov edi, eax
test eax, eax
je 0x401c17
mov eax, dword [0x40606c]
lea ebx, [esi + esi*4]
shl ebx, 2
add eax, ebx
mov dword [eax + 0x10], edi
mov dword [eax], 0
call fcn.00402570
mov edx, dword [0x40606c]
add eax, dword [edi + 0xc]
mov dword [edx + ebx + 0xc], eax
lea edx, [esp + 0x14]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
sub esp, 0xc
test eax, eax
je 0x401bf7
mov eax, dword [esp + 0x28]
lea edx, [eax - 0x40]
and edx, 0xffffffbf
je 0x401b80
lea edx, [eax - 4]
and edx, 0xfffffffb
jne 0x401b90
add dword [0x406068], 1
add esp, 0x30
pop ebx
pop esi
pop edi
ret
cmp eax, 2
mov edx, 0x40
mov eax, 4
mov ecx, dword [esp + 0x20]
cmovne eax, edx
mov edx, dword [esp + 0x14]
add ebx, dword [0x40606c]
mov dword [ebx + 8], ecx
mov dword [ebx + 4], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub esp, 0x10
test eax, eax
jne 0x401b80
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], str.__VirtualProtect_failed_with_code_0x_x
mov dword [esp + 4], eax
call fcn.00401a70
lea esi, [esi]
lea esi, [esi]
xor esi, esi
jmp 0x401b0e
mov eax, dword [0x40606c]
mov eax, dword [eax + ebx + 0xc]
mov dword [esp + 8], eax
mov eax, dword [edi + 8]
mov dword [esp], str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov dword [esp + 4], eax
call fcn.00401a70
mov dword [esp + 4], ebx
mov dword [esp], str.Address__p_has_no_image_section
call fcn.00401a70
lea esi, [esi]
nop
Function at 0x4020d0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov dword [esp], 0x406084
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [0x40607c]
sub esp, 4
test ebx, ebx
je 0x402125
mov ebp, dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [esi]
mov eax, dword [ebx]
mov dword [esp], eax
call ebp
sub esp, 4
mov esi, eax
call edi
test eax, eax
jne 0x40211e
test esi, esi
je 0x40211e
mov eax, dword [ebx + 4]
mov dword [esp], esi
call eax
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x402100
mov dword [esp], 0x406084
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret