Function at 0x100025ae
Capabilities:
Encrypt data using des

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push edi
mov edi, str.Hello_World
push edi
xor ebx, ebx
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
mov ebp, dword [sym.imp.GDI32.dll_SelectObject]
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
xor ecx, ecx
xor eax, eax
movsx edx, byte [eax + 0x10012308]
dec edx
cmp edx, ecx
je 0x10002640
inc eax
cmp eax, 0x20
jl 0x1000262c
jmp 0x10002644
mov byte [esp + ecx + 0x28], al
inc ecx
cmp ecx, 0x20
jl 0x1000262a
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
lea eax, [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], ebx
add eax, 0x80
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
push edi
push ebx
mov dword [esp + 0x24], ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
mov edx, dword [esp + 0x10]
mov eax, edx
mov ecx, edx
sar eax, 1
and ecx, 1
and eax, 0xf
shl ecx, 4
or eax, ecx
mov ecx, edx
and ecx, 0x20
or eax, ecx
mov ecx, dword [esp + 0x18]
movsx eax, byte [ecx + eax + 0x10012108]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x10]
push 8
pop eax
sar eax, cl
mov ecx, dword [esp + 0x24]
test ecx, eax
je 0x10002786
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
movsx eax, byte [eax + ecx]
push 0x1f
pop ecx
sub ecx, eax
xor eax, eax
inc eax
shl eax, cl
or dword [esp + 0x1c], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1000275b
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add dword [esp + 0x14], 4
inc edx
cmp edx, 0x40
mov dword [ecx], eax
mov dword [esp + 0x10], edx
jl 0x100026c7
add dword [esp + 0x18], 0x40
add dword [esp + 0x20], 4
cmp dword [esp + 0x18], 0x200
mov eax, dword [esp + 0x14]
jl 0x100026bf
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret