Function at 0x100023ae
Capabilities:
Encrypt data using des

Disassembly:
sub esp, 0x14
mov eax, dword [esp + 0x18]
push ebx
push ebp
push esi
push edi
add eax, 0x1080
push 0x800
push eax
call fcn.1000217c
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
pop ecx
pop ecx
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
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], 0x210
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x10]
movsx eax, byte [eax + 0x10012050]
push edi
dec eax
push ebx
mov dword [esp + 0x28], eax
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 eax, dword [esp + 0x20]
mov ecx, eax
sar ecx, 2
cmp ecx, dword [esp + 0x1c]
jne 0x10002571
mov ecx, dword [esp + 0x14]
and eax, 3
test dword [eax*4 + 0x10012348], ecx
je 0x10002571
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
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, ecx
mov ecx, dword [esp + 0x10]
sar ecx, 3
add ecx, dword [esp + 0x28]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x10]
and ecx, 7
mov cl, byte [ecx*4 + 0x10012328]
or byte [eax], cl
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x40
jl 0x10002452
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x10
jl 0x1000244e
add dword [esp + 0x18], 0x10
inc dword [esp + 0x1c]
cmp dword [esp + 0x18], 0x310
jl 0x1000244a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret