joyce8/EMBER2024-capa huggingface dataset:
Function at 0x410f58
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404588
xor eax, eax
push ebp
push 0x4110eb
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00402888
mov eax, 0x1869f
call fcn.00402cd0
mov edx, dword [ebp - 8]
call fcn.00406a50
mov eax, dword [ebp - 4]
call fcn.004043a0
mov ebx, eax
test ebx, ebx
jle 0x410fc3
mov esi, 1
lea eax, [ebp - 4]
call fcn.004045f0
sub byte [eax + esi - 1], 0x32
inc esi
dec ebx
jne 0x410fb2
lea eax, [ebp - 0x10]
call fcn.00404100
lea eax, [ebp - 0x18]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004045f8
mov eax, dword [ebp - 0x18]
call fcn.0040f504
mov edx, eax
lea eax, [ebp - 0x14]
call fcn.004042c8
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x10]
call fcn.004043a8
lea eax, [ebp - 4]
mov ecx, 2
mov edx, 1
call fcn.00404638
cmp dword [ebp - 4], 0
jne 0x410fcb
mov eax, dword [ebp - 0x10]
call fcn.004043a0
mov edi, eax
cmp edi, 4
jle 0x4110c8
mov eax, dword [ebp - 0x10]
mov al, byte [eax + edi - 2]
mov byte [ebp - 0xa], al
xor eax, eax
mov ebx, edi
test ebx, ebx
jle 0x411052
mov esi, 1
mov edx, edi
dec edx
cmp esi, edx
je 0x41104e
mov edx, dword [ebp - 0x10]
add al, byte [edx + esi - 1]
inc esi
dec ebx
jne 0x411040
cmp al, byte [ebp - 0xa]
jne 0x4110c8
mov eax, dword [ebp - 0x10]
mov al, byte [eax]
mov edx, dword [ebp - 0x10]
mov dl, byte [edx + edi - 1]
xor al, dl
mov byte [ebp - 9], al
mov ebx, edi
dec ebx
sub ebx, 2
jl 0x411090
inc ebx
mov esi, 2
lea eax, [ebp - 0x10]
call fcn.004045f0
mov edx, dword [ebp - 0x10]
mov dl, byte [edx + esi - 1]
xor dl, byte [ebp - 9]
mov byte [eax + esi - 1], dl
inc esi
dec ebx
jne 0x411076
mov eax, dword [ebp - 0x10]
mov al, byte [eax + 1]
mov edx, dword [ebp - 0x10]
mov dl, byte [edx + 2]
mov esi, eax
and esi, 0xff
add esi, 3
inc esi
and eax, 0xff
sub edi, eax
xor eax, eax
mov al, dl
sub edi, eax
sub edi, 4
mov eax, dword [ebp - 8]
push eax
mov ecx, edi
mov edx, esi
mov eax, dword [ebp - 0x10]
call fcn.004045f8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4110f2
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404124
lea eax, [ebp - 4]
call fcn.00404100
ret
Function at 0x4110fc
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
mov esi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404588
xor eax, eax
push ebp
push 0x4111c5
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
cmp dword [ebp - 4], 0
je 0x411133
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00406b18
mov esi, eax
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.00406bf0
lea edx, [ebp - 5]
mov ecx, 1
mov eax, esi
call fcn.00406b98
lea edx, [ebp - 6]
mov ecx, 1
mov eax, esi
call fcn.00406b98
cmp byte [ebp - 5], 0x4d
jne 0x4111a2
cmp byte [ebp - 6], 0x5a
jne 0x4111a2
xor ecx, ecx
mov edx, pe_nt_image_headers32
mov eax, esi
call fcn.00406bf0
lea edx, [ebp - 5]
mov ecx, 1
mov eax, esi
call fcn.00406b98
lea edx, [ebp - 6]
mov ecx, 1
mov eax, esi
call fcn.00406b98
cmp byte [ebp - 5], 0x50
jne 0x4111a2
cmp byte [ebp - 6], 0x45
jne 0x4111a2
mov bl, 1
cmp dword [ebp - 4], 0
je 0x4111af
mov eax, esi
call fcn.00406bfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4111cc
lea eax, [ebp - 4]
call fcn.00404100
ret

Function at 0x4111d4
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffff0
push ebx
push esi
mov esi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404588
xor eax, eax
push ebp
push 0x4112f4
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 8], eax
mov edx, 0x40
mov eax, dword [ebp - 4]
call fcn.00406b18
mov dword [ebp - 0xc], eax
push 0
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_GetFileSize_1
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0xc]
xor eax, eax
call fcn.004110fc
test al, al
je 0x41125b
xor ecx, ecx
mov edx, 0xfc
mov eax, dword [ebp - 0xc]
call fcn.00406bf0
lea edx, [ebp - 0x10]
mov ecx, 4
mov eax, dword [ebp - 0xc]
call fcn.00406b98
cmp dword [ebp - 0x10], 0
jle 0x41125b
mov ebx, dword [ebp - 0x10]
sub ebx, esi
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.00406bf0
cmp dword [ebp - 0x10], 0
jle 0x411284
sub ebx, 0x200
xor ecx, ecx
mov edx, 0x200
mov eax, dword [ebp - 0xc]
call fcn.00406bf0
lea edx, [ebp - 0x1010]
mov ecx, 0x1000
mov eax, dword [ebp - 0xc]
call fcn.00406b98
mov ecx, eax
mov edx, ecx
test edx, edx
jns 0x4112a2
add edx, 3
sar edx, 2
test edx, edx
jle 0x4112c2
lea eax, [ebp - 0x1010]
sub ebx, 4
cmp ebx, 4
jle 0x4112bc
mov esi, dword [eax]
add dword [ebp - 8], esi
add eax, 4
dec edx
jne 0x4112af
cmp ebx, 4
jle 0x4112ce
add dword [ebp - 8], 0x4d2
cmp ecx, 0x1000
jge 0x411284
mov eax, dword [ebp - 0xc]
call fcn.00406bfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4112fb
lea eax, [ebp - 4]
call fcn.00404100
ret
Function at 0x411304
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404588
xor eax, eax
push ebp
push 0x411388
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x18]
push eax
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004045f8
mov eax, dword [ebp - 0x18]
call fcn.00404598
push eax
call sub.kernel32.dll_GetDiskFreeSpaceA
test eax, eax
je 0x41136a
mov ebx, dword [ebp - 8]
imul ebx, dword [ebp - 0xc]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41138f
lea eax, [ebp - 0x18]
call fcn.00404100
lea eax, [ebp - 4]
call fcn.00404100
ret

Function at 0x411d2c
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
xor edx, edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404588
xor eax, eax
push ebp
push 0x411df5
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0xbff00000
xor ebx, ebx
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.004069c4
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 4]
call fcn.00404198
cmp dword [ebp - 4], 0
je 0x411d93
mov edx, 0x411e04
lea eax, [ebp - 0x15]
call fcn.004072ec
mov eax, dword [ebp - 4]
mov al, byte [eax]
mov byte [ebp - 0x15], al
lea ebx, [ebp - 0x15]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
call sub.kernel32.dll_GetDiskFreeSpaceA
test eax, eax
je 0x411dd7
mov eax, dword [ebp - 0x1c]
imul dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x30], eax
fild qword [ebp - 0x34]
fstp qword [ebp - 0x10]
wait
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x30], eax
fild qword [ebp - 0x34]
fmul qword [ebp - 0x10]
fstp qword [ebp - 0x10]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x411dfc
lea eax, [ebp - 0x2c]
call fcn.00404100
lea eax, [ebp - 4]
call fcn.00404100
ret
Function at 0x412330
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe98
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x164], ecx
mov dword [ebp - 8], ecx
mov byte [ebp - 1], dl
mov ebx, eax
lea eax, [ebp - 0x160]
mov edx, dword [0x405f58]
call fcn.004048bc
xor eax, eax
push ebp
push 0x412498
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 2], 0
lea edx, [ebp - 8]
mov eax, ebx
call fcn.00407024
cmp dword [ebp - 8], 0
je 0x412392
lea eax, [ebp - 8]
mov edx, 0x4124b4
call fcn.004043a8
lea ecx, [ebp - 0x160]
mov edx, 0x27
mov eax, ebx
call fcn.00406e40
test eax, eax
jne 0x412456
xor eax, eax
push ebp
push 0x4123f4
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp - 1], 0
je 0x4123ea
push 0x80
lea eax, [ebp - 0x164]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 8]
call fcn.004043ec
mov eax, dword [ebp - 0x164]
call fcn.00404598
push eax
call sub.kernel32.dll_SetFileAttributesA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4123fe
xor eax, eax
push ebp
push 0x412439
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x168]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 8]
call fcn.004043ec
mov eax, dword [ebp - 0x168]
call fcn.00406ed0
mov byte [ebp - 2], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x412443
lea eax, [ebp - 0x160]
call fcn.00406e90
test eax, eax
je 0x4123ac
lea eax, [ebp - 0x160]
call fcn.00406eb4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41249f
lea eax, [ebp - 0x168]
mov edx, 2
call fcn.00404124
lea eax, [ebp - 0x160]
mov edx, dword [0x405f58]
call fcn.00404980
lea eax, [ebp - 8]
call fcn.00404100
ret
Function at 0x4126d0
Capabilities:
Create process on windows
Self delete

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x4126d8
push ecx
push ebx
mov byte [ebp - 1], dl
mov ebx, eax
xor eax, eax
push ebp
push 0x41286e
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x20]
mov al, 1
call fcn.0040ef44
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 8]
mov ecx, 0x412884
call fcn.004043ec
lea eax, [ebp - 0x18]
mov edx, 0x41289c
call fcn.00404198
xor ecx, ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.00411afc
lea eax, [ebp - 0x1c]
mov edx, 0x4128ac
call fcn.00404198
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00404198
lea eax, [ebp - 0x10]
call fcn.0040edc0
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.0040edd0
cmp byte [ebp - 1], 0
je 0x4127a2
lea eax, [ebp - 0x1c]
call fcn.00404100
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0xc]
call fcn.00407154
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0xc]
call fcn.00404198
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0x10]
call fcn.00407154
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x10]
call fcn.00404198
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.00407154
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x14]
call fcn.00404198
lea eax, [ebp - 0x18]
mov edx, 0x4128b8
call fcn.00404198
push dword [ebp - 0x18]
push 0x4128cc
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [ebp - 0x1c]
push 0x4128dc
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00404460
push dword [ebp - 0x18]
push 0x4128e8
push 0x4128dc
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404460
test bl, bl
je 0x412813
push dword [ebp - 0x18]
push 0x41290c
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push dword [ebp - 0x1c]
push 0x4128dc
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00404460
push dword [ebp - 0x18]
push 0x4128cc
push dword [ebp - 0x1c]
push dword [ebp - 0xc]
push dword [ebp - 0x1c]
push 0x4128dc
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00404460
xor ecx, ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.00411afc
push 0
mov eax, dword [ebp - 8]
call fcn.00404598
push eax
call sub.kernel32.dll_WinExec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x412875
lea eax, [ebp - 0x2c]
mov edx, 0xa
call fcn.00404124
ret
Function at 0x415244
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff9c
push ebx
push esi
xor eax, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x415421
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x41ebb8], 0
jne 0x4153ef
lea eax, [ebp - 0x50]
xor ecx, ecx
mov edx, 0x38
call fcn.00402cb0
mov bl, 0x43
lea esi, [ebp - 0x50]
lea eax, [ebp - 0x54]
mov edx, ebx
call fcn.004042c8
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x18]
mov ecx, 0x415438
call fcn.004043ec
mov eax, dword [ebp - 0x18]
call fcn.00404598
push eax
call sub.kernel32.dll_GetDriveTypeA
cmp eax, 3
jne 0x415358
lea eax, [ebp - 0x10]
mov ecx, 0x415444
mov edx, dword [ebp - 0x18]
call fcn.004043ec
mov eax, dword [ebp - 0x10]
call fcn.00406c7c
test al, al
je 0x415310
push dword [ebp - 0x10]
push 0x415454
push 0
push 0x2710
push 0
push 0x186a0
lea eax, [ebp - 0x58]
call fcn.0040e034
push dword [ebp - 0x58]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00404460
mov eax, dword [ebp - 0x10]
call fcn.00406ca0
lea eax, [ebp - 0x14]
mov ecx, 0x415464
mov edx, dword [ebp - 0x10]
call fcn.004043ec
xor ecx, ecx
mov edx, 0x415478
mov eax, dword [ebp - 0x14]
call fcn.00411afc
mov eax, dword [ebp - 0x14]
call fcn.00406c6c
test al, al
je 0x41534e
mov eax, dword [ebp - 0x10]
call fcn.00411d2c
fstp qword [esi]
wait
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.004124b8
inc ebx
add esi, 8
cmp bl, 0x46
jne 0x415295
lea edx, [ebp - 0x60]
mov al, 1
call fcn.0040ef44
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
call fcn.004069c4
mov eax, dword [ebp - 0x5c]
mov dl, byte [eax]
mov byte [ebp - 9], dl
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov bl, 0x43
lea ecx, [ebp - 0x50]
fld qword [ecx]
fcomp qword [ebp - 8]
fnstsw ax
sahf
jbe 0x4153a7
mov eax, dword [ecx]
mov dword [ebp - 8], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 4], eax
mov byte [ebp - 9], bl
inc ebx
add ecx, 8
cmp bl, 0x46
jne 0x41538f
cmp dl, byte [ebp - 9]
je 0x4153ef
lea eax, [ebp - 0x64]
mov dl, byte [ebp - 9]
call fcn.004042c8
mov edx, dword [ebp - 0x64]
mov eax, 0x41ebb8
mov ecx, 0x415484
call fcn.004043ec
mov eax, dword [0x41ebb8]
call fcn.00406c7c
test al, al
je 0x4153ef
mov eax, 0x41ebb8
mov edx, 0x415454
call fcn.004043a8
cmp dword [0x41ebb8], 0
setne bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x415428
lea eax, [ebp - 0x64]
mov edx, 5
call fcn.00404124
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404124
ret
Function at 0x418cf4
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404588
xor eax, eax
push ebp
push 0x418d75
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
call fcn.0040ed0c
test al, al
je 0x418d30
mov dl, byte [ebp - 5]
mov eax, dword [ebp - 4]
call fcn.00418404
jmp 0x418d3b
mov dl, byte [ebp - 5]
mov eax, dword [ebp - 4]
call fcn.00418168
test eax, eax
je 0x418d5f
push eax
push 0
push 1
call sub.kernel32.dll_OpenProcess
mov esi, eax
push 0
push esi
call sub.kernel32.dll_TerminateProcess
cmp eax, 1
sbb ebx, ebx
inc ebx
push esi
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x418d7c
lea eax, [ebp - 4]
call fcn.00404100
ret
Function at 0x41aea0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
xor eax, eax
push ebp
push 0x41af46
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x41ec14], 0
jg 0x41af2b
lea eax, [ebp - 0xc]
call fcn.0041622c
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 4]
mov edx, 0x41af5c
call fcn.004043ec
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.004027e4
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00406ff0
push dword [ebp - 0x10]
lea edx, [ebp - 0x18]
mov eax, dword [0x41ecd0]
mov eax, dword [eax]
call fcn.004117ec
push dword [ebp - 0x18]
push dword [ebp - 4]
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404460
push 0
mov eax, dword [ebp - 8]
call fcn.00404598
push eax
call sub.kernel32.dll_WinExec
push 0
call sub.user32.dll_PostQuitMessage
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41af4d
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00404124
ret
Function at 0x41af7c
Capabilities:
Hide graphical window
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov ecx, 6
push 0
push 0
dec ecx
jne 0x41af84
push ebx
xor eax, eax
push ebp
push 0x41b1ea
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00408384
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x10]
mov eax, 0x41b200
call fcn.00408f84
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xc]
mov edx, 0x41b220
call fcn.004043ec
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x41ec9c]
call fcn.00404da0
pop edx
call fcn.00404788
call fcn.0040302c
call fcn.00416f1c
test al, al
je 0x41b1cf
mov al, 1
call fcn.00418e5c
mov byte [ebp - 1], 0
mov eax, 1
call fcn.00416fc0
mov edx, 1
mov eax, 0x28
call fcn.00418dcc
lea edx, [ebp - 0x14]
mov eax, dword [0x41ecd0]
mov eax, dword [eax]
call fcn.004117d4
mov eax, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
call fcn.00416470
mov edx, dword [ebp - 0x18]
mov cl, 1
pop eax
call fcn.00419f88
mov ebx, eax
mov edx, 2
mov eax, 0x28
call fcn.00418dcc
test bl, bl
je 0x41b069
push 2
lea eax, [ebp - 0x1c]
call fcn.00416470
mov eax, dword [ebp - 0x1c]
call fcn.00404598
push eax
call sub.kernel32.dll_SetFileAttributesA
call fcn.0041495c
push edx
push eax
call fcn.00415f74
test bl, bl
je 0x41b160
call fcn.004157b8
test eax, eax
jle 0x41b160
call fcn.00416c98
mov ebx, eax
call fcn.00415840
cmp ebx, eax
jne 0x41b0b0
call fcn.0041ae54
test al, al
jne 0x41b0b0
cmp dword [0x41ec1c], 1
jne 0x41b160
call fcn.00416c18
mov ebx, eax
call fcn.004157b8
cmp ebx, eax
jle 0x41b160
call fcn.0041ad98
test al, al
je 0x41b160
lea eax, [ebp - 0x20]
call fcn.0041655c
mov eax, dword [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
call fcn.004164d8
mov eax, dword [ebp - 0x24]
pop edx
call fcn.00419e78
test al, al
je 0x41b160
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x41ec9c]
call fcn.00404da0
mov edx, 0x41b230
call fcn.00404788
call fcn.0040302c
mov byte [ebp - 1], 1
call fcn.0041495c
push edx
push eax
call fcn.00416090
call fcn.00416c98
call fcn.004161a4
call fcn.0041a488
mov ebx, eax
test bl, bl
je 0x41b13e
call fcn.0041aea0
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x41ec9c]
call fcn.00404da0
mov edx, 0x41b254
call fcn.00404788
call fcn.0040302c
cmp dword [0x41ec1c], 1
jne 0x41b1bf
mov eax, 0x3e8
call fcn.0040e408
push 0
mov eax, dword [0x41f950]
push eax
call sub.user32.dll_ShowWindow
lea ecx, [ebp - 8]
xor edx, edx
mov eax, 0x41b278
call fcn.00415e50
cmp byte [ebp - 1], 0
jne 0x41b1bf
lea eax, [ebp - 0x28]
call fcn.00415bbc
mov eax, dword [ebp - 0x28]
push eax
call fcn.00415dd8
push eax
lea eax, [ebp - 0x2c]
call fcn.00415d5c
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 8]
mov eax, 1
call fcn.0040e6fc
lea eax, [ebp - 0x30]
call fcn.00416470
mov eax, dword [ebp - 0x30]
call fcn.00406ed0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41b1f1
lea eax, [ebp - 0x30]
mov edx, 0xb
call fcn.00404124
ret
Function at 0x41b894
Capabilities:
Get graphical window text

Disassembly:
push ebx
mov ebx, eax
push 0x47
push 0x14
push 0x190
push 0x12
push ebx
push 0
mov eax, dword [0x41f710]
push eax
push 0
mov edx, 0x41b940
mov eax, 0x41b944
mov ecx, 0x50000000
call fcn.00405bdc
mov dword [0x41f958], eax
push 0
mov eax, dword [0x41f710]
push eax
push 0
push ebx
push 0xd
push 0xed
push 0x26
push 0x46
push 0x50000000
push 0
push 0x41b94c
push 0
call sub.user32.dll_CreateWindowExA
mov dword [0x41f954], eax
push 0
push 0x3e8
push 1
push ebx
call sub.user32.dll_SetTimer
mov dword [0x41f95c], eax
push 0x41b960
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0xd
call sub.gdi32.dll_CreateFontA
push 0
push eax
push 0x30
mov eax, dword [0x41f958]
push eax
call sub.user32.dll_SendMessageA
pop ebx
ret

Function at 0x41bac0
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffb8
push 0xffffffffffffffff
push 0xffffffffffffffff
mov eax, 0x41bc28
call fcn.0040f350
test eax, eax
jl 0x41bae0
neg eax
mov dword [0x41ec20], eax
call sub.comctl32.dll_InitCommonControls
lea eax, [esp + 0x20]
xor ecx, ecx
mov edx, 0x28
call fcn.00402cb0
mov dword [esp + 0x24], 0x41b9d8
mov eax, dword [0x41f710]
mov dword [esp + 0x30], eax
mov eax, dword [0x41ec04]
call fcn.00404598
mov dword [esp + 0x44], eax
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
mov dword [esp + 0x38], eax
push 0x41bc34
mov eax, dword [0x41f710]
push eax
call sub.user32.dll_LoadIconA
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], 8
lea eax, [esp + 0x20]
push eax
call sub.user32.dll_RegisterClassA
mov ebx, 0x154
mov esi, 0x6e
push 0
call sub.user32.dll_GetSystemMetrics
mov edi, eax
sub edi, ebx
sar edi, 1
jns 0x41bb66
adc edi, 0
push 1
call sub.user32.dll_GetSystemMetrics
mov ebp, eax
sub ebp, esi
sar ebp, 1
jns 0x41bb78
adc ebp, 0
mov dword [esp], 0x2cc0000
push 0
mov eax, dword [0x41f710]
push eax
push 0
push 0
push esi
push ebx
push ebp
push edi
mov eax, dword [esp + 0x20]
push eax
push 0x41bc40
mov eax, dword [0x41ec04]
call fcn.00404598
push eax
push 0
call sub.user32.dll_CreateWindowExA
mov dword [0x41f950], eax
cmp dword [0x41f950], 0
je 0x41bbf0
push 0
mov eax, dword [0x41f950]
push eax
call sub.user32.dll_ShowWindow
jmp 0x41bbdc
lea eax, [esp + 4]
push eax
call sub.user32.dll_TranslateMessage
lea eax, [esp + 4]
push eax
call sub.user32.dll_DispatchMessageA
push 0
push 0
push 0
lea eax, [esp + 0x10]
push eax
call sub.user32.dll_GetMessageA
test eax, eax
jne 0x41bbc8
push 1
mov eax, dword [0x41f950]
push eax
call sub.user32.dll_KillTimer
mov al, 1
call fcn.00417480
call fcn.00417450
xor edx, edx
mov eax, 0x2b
call fcn.00418dcc
add esp, 0x48
pop ebp
pop edi
pop esi
pop ebx
ret