Function at 0x446280
Capabilities:
Encrypt data using des

Disassembly:
sub esp, 0xfc
mov eax, dword [0x53a1a4]
xor eax, esp
mov dword [esp + 0xf8], eax
push ebx
push ebp
push esi
push edi
xor edi, edi
mov esi, ecx
xor eax, eax
mov edi, edi
movzx ecx, byte [eax + str.80_]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x542010], dl
setne cl
mov byte [esp + eax + 0xd0], cl
movzx ecx, byte [eax + 0x542081]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x542010], dl
setne cl
mov byte [esp + eax + 0xd1], cl
movzx ecx, byte [eax + 0x542082]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x542010], dl
setne cl
mov byte [esp + eax + 0xd2], cl
movzx ecx, byte [eax + 0x542083]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x542010], dl
setne cl
mov byte [esp + eax + 0xd3], cl
add eax, 4
cmp eax, 0x38
jl 0x4462a0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0x78
mov ebx, 0x7c
jmp 0x446352
xor edi, edi
mov eax, dword [esp + 0x14]
movzx ebp, byte [eax + 0x5420b8]
mov edx, dword [esp + 0x10]
mov dword [esp + ebx + 0x18], edi
mov dword [esp + edx + 0x18], edi
xor esi, esi
lea ecx, [ebp + 3]
lea eax, [ebp + 2]
lea edi, [ecx - 3]
cmp edi, 0x1c
jge 0x446382
mov dl, byte [esp + eax + 0xce]
jmp 0x446389
mov dl, byte [esp + edi + 0xb4]
lea edi, [ecx - 2]
cmp edi, 0x1c
mov byte [esp + esi + 0x98], dl
jge 0x4463a1
mov dl, byte [esp + eax + 0xcf]
jmp 0x4463a8
mov dl, byte [esp + edi + 0xb4]
cmp eax, 0x1c
mov byte [esp + esi + 0x99], dl
jge 0x4463bd
mov dl, byte [esp + eax + 0xd0]
jmp 0x4463c4
mov dl, byte [esp + eax + 0xb4]
cmp ecx, 0x1c
mov byte [esp + esi + 0x9a], dl
jge 0x4463d9
mov dl, byte [esp + eax + 0xd1]
jmp 0x4463e0
mov dl, byte [esp + ecx + 0xb4]
mov byte [esp + esi + 0x9b], dl
add esi, 4
add eax, 4
add ecx, 4
cmp esi, 0x1c
jl 0x446371
mov edi, 0x1c
lea edx, [ebp + 0x1f]
lea eax, [ebp + 0x1e]
lea ecx, [edx - 3]
cmp ecx, 0x38
jge 0x446415
mov cl, byte [esp + eax + 0xce]
jmp 0x44641c
mov cl, byte [esp + ecx + 0xb4]
lea esi, [edx - 2]
cmp esi, 0x38
mov byte [esp + edi + 0x98], cl
jge 0x446434
mov cl, byte [esp + eax + 0xcf]
jmp 0x44643b
mov cl, byte [esp + esi + 0xb4]
cmp eax, 0x38
mov byte [esp + edi + 0x99], cl
jge 0x446450
mov cl, byte [esp + eax + 0xd0]
jmp 0x446457
mov cl, byte [esp + eax + 0xb4]
cmp edx, 0x38
mov byte [esp + edi + 0x9a], cl
jge 0x44646c
mov cl, byte [esp + eax + 0xd1]
jmp 0x446473
mov cl, byte [esp + edx + 0xb4]
mov byte [esp + edi + 0x9b], cl
add edi, 4
add eax, 4
add edx, 4
cmp edi, 0x38
jl 0x446404
xor eax, eax
mov edi, edi
movzx edx, byte [eax + 0x5420c8]
cmp byte [esp + edx + 0x98], 0
mov ecx, dword [esp + 0x10]
je 0x4464b0
mov edx, dword [eax*4 + 0x542020]
or dword [esp + ecx + 0x18], edx
movzx edx, byte [eax + 0x5420e0]
cmp byte [esp + edx + 0x98], 0
je 0x4464cc
mov edx, dword [eax*4 + 0x542020]
or dword [esp + ebx + 0x18], edx
movzx edx, byte [eax + 0x5420c9]
cmp byte [esp + edx + 0x98], 0
je 0x4464e8
mov edx, dword [eax*4 + 0x542024]
or dword [esp + ecx + 0x18], edx
movzx edx, byte [eax + 0x5420e1]
cmp byte [esp + edx + 0x98], 0
je 0x446504
mov edx, dword [eax*4 + 0x542024]
or dword [esp + ebx + 0x18], edx
movzx edx, byte [eax + 0x5420ca]
cmp byte [esp + edx + 0x98], 0
je 0x446520
mov edx, dword [eax*4 + 0x542028]
or dword [esp + ecx + 0x18], edx
movzx edx, byte [eax + 0x5420e2]
cmp byte [esp + edx + 0x98], 0
je 0x44653c
mov edx, dword [eax*4 + 0x542028]
or dword [esp + ebx + 0x18], edx
movzx edx, byte [eax + 0x5420cb]
cmp byte [esp + edx + 0x98], 0
je 0x446558
mov edx, dword [eax*4 + 0x54202c]
or dword [esp + ecx + 0x18], edx
movzx edx, byte [eax + 0x5420e3]
cmp byte [esp + edx + 0x98], 0
je 0x446574
mov edx, dword [eax*4 + 0x54202c]
or dword [esp + ebx + 0x18], edx
movzx edx, byte [eax + 0x5420cc]
cmp byte [esp + edx + 0x98], 0
je 0x446590
mov edx, dword [eax*4 + 0x542030]
or dword [esp + ecx + 0x18], edx
movzx edx, byte [eax + 0x5420e4]
cmp byte [esp + edx + 0x98], 0
je 0x4465ac
mov edx, dword [eax*4 + 0x542030]
or dword [esp + ebx + 0x18], edx
movzx edx, byte [eax + 0x5420cd]
cmp byte [esp + edx + 0x98], 0
je 0x4465c8
mov edx, dword [eax*4 + 0x542034]
or dword [esp + ecx + 0x18], edx
movzx ecx, byte [eax + 0x5420e5]
cmp byte [esp + ecx + 0x98], 0
je 0x4465e4
mov edx, dword [eax*4 + 0x542034]
or dword [esp + ebx + 0x18], edx
add eax, 6
cmp eax, 0x18
jl 0x446490
inc dword [esp + 0x14]
sub dword [esp + 0x10], 8
sub ebx, 8
cmp ebx, 0xfffffffc
jg 0x446350
lea ecx, [esp + 0x18]
call fcn.00446630
mov ecx, dword [esp + 0x108]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004ea10a
add esp, 0xfc
ret