Function at 0x446be0
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [0x5402b0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x88], eax
push edi
mov esi, ecx
xor eax, eax
movzx ecx, byte [eax + str.80_]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x541ed4], dl
setne cl
mov byte [ebp + eax - 0x74], cl
movzx ecx, byte [eax + 0x541f51]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x541ed4], dl
setne cl
mov byte [ebp + eax - 0x73], cl
movzx ecx, byte [eax + 0x541f52]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x541ed4], dl
setne cl
mov byte [ebp + eax - 0x72], cl
movzx ecx, byte [eax + 0x541f53]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x541ed4], dl
setne cl
mov byte [ebp + eax - 0x71], cl
add eax, 4
cmp eax, 0x38
jl 0x446c03
xor edx, edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], 0x1e
jmp 0x446ca4
mov edx, dword [ebp - 0x7c]
cmp dword [ebp + 0xc], 1
mov eax, dword [ebp - 0x78]
je 0x446cb0
lea eax, [edx + edx]
movzx ebx, byte [edx + 0x541f88]
lea ecx, [ebp + eax*4 - 0x104]
lea eax, [ebp + eax*4 - 0x108]
mov dword [ecx], 0
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x84], eax
mov dword [eax], 0
xor esi, esi
lea ecx, [ebx + 3]
lea eax, [ebx + 2]
lea edi, [ecx - 3]
cmp edi, 0x1c
jge 0x446cf0
mov dl, byte [ebp + eax - 0x76]
jmp 0x446cf7
mov dl, byte [ebp + edi - 0x90]
lea edi, [ecx - 2]
cmp edi, 0x1c
mov byte [ebp + esi - 0x3c], dl
jge 0x446d09
mov dl, byte [ebp + eax - 0x75]
jmp 0x446d10
mov dl, byte [ebp + edi - 0x90]
cmp eax, 0x1c
mov byte [ebp + esi - 0x3b], dl
jge 0x446d1f
mov dl, byte [ebp + eax - 0x74]
jmp 0x446d26
mov dl, byte [ebp + eax - 0x90]
cmp ecx, 0x1c
mov byte [ebp + esi - 0x3a], dl
jge 0x446d35
mov dl, byte [ebp + eax - 0x73]
jmp 0x446d3c
mov dl, byte [ebp + ecx - 0x90]
mov byte [ebp + esi - 0x39], dl
add esi, 4
add eax, 4
add ecx, 4
cmp esi, 0x1c
jl 0x446ce2
mov edi, 0x1c
lea edx, [ebx + 0x1f]
lea eax, [ebx + 0x1e]
lea esp, [esp]
lea ecx, [edx - 3]
cmp ecx, 0x38
jge 0x446d6e
mov cl, byte [ebp + eax - 0x76]
jmp 0x446d75
mov cl, byte [ebp + ecx - 0x90]
lea esi, [edx - 2]
cmp esi, 0x38
mov byte [ebp + edi - 0x3c], cl
jge 0x446d87
mov cl, byte [ebp + eax - 0x75]
jmp 0x446d8e
mov cl, byte [ebp + esi - 0x90]
cmp eax, 0x38
mov byte [ebp + edi - 0x3b], cl
jge 0x446d9d
mov cl, byte [ebp + eax - 0x74]
jmp 0x446da4
mov cl, byte [ebp + eax - 0x90]
cmp edx, 0x38
mov byte [ebp + edi - 0x3a], cl
jge 0x446db3
mov cl, byte [ebp + eax - 0x73]
jmp 0x446dba
mov cl, byte [ebp + edx - 0x90]
mov byte [ebp + edi - 0x39], cl
add edi, 4
add eax, 4
add edx, 4
cmp edi, 0x38
jl 0x446d60
xor eax, eax
mov edi, edi
movzx edx, byte [eax + 0x541f98]
cmp byte [ebp + edx - 0x3c], 0
mov edx, dword [ebp - 0x84]
je 0x446ded
mov ecx, dword [eax*4 + 0x541ef0]
or dword [edx], ecx
movzx ecx, byte [eax + 0x541fb0]
cmp byte [ebp + ecx - 0x3c], 0
mov ecx, dword [ebp - 0x80]
je 0x446e07
mov esi, dword [eax*4 + 0x541ef0]
or dword [ecx], esi
movzx esi, byte [eax + 0x541f99]
cmp byte [ebp + esi - 0x3c], 0
je 0x446e1e
mov esi, dword [eax*4 + 0x541ef4]
or dword [edx], esi
movzx esi, byte [eax + 0x541fb1]
cmp byte [ebp + esi - 0x3c], 0
je 0x446e35
mov esi, dword [eax*4 + 0x541ef4]
or dword [ecx], esi
movzx esi, byte [eax + 0x541f9a]
cmp byte [ebp + esi - 0x3c], 0
je 0x446e4c
mov esi, dword [eax*4 + 0x541ef8]
or dword [edx], esi
movzx esi, byte [eax + 0x541fb2]
cmp byte [ebp + esi - 0x3c], 0
je 0x446e63
mov esi, dword [eax*4 + 0x541ef8]
or dword [ecx], esi
movzx esi, byte [eax + 0x541f9b]
cmp byte [ebp + esi - 0x3c], 0
je 0x446e7a
mov esi, dword [eax*4 + 0x541efc]
or dword [edx], esi
movzx esi, byte [eax + 0x541fb3]
cmp byte [ebp + esi - 0x3c], 0
je 0x446e91
mov esi, dword [eax*4 + 0x541efc]
or dword [ecx], esi
movzx esi, byte [eax + 0x541f9c]
cmp byte [ebp + esi - 0x3c], 0
je 0x446ea8
mov esi, dword [eax*4 + 0x541f00]
or dword [edx], esi
movzx esi, byte [eax + 0x541fb4]
cmp byte [ebp + esi - 0x3c], 0
je 0x446ebf
mov esi, dword [eax*4 + 0x541f00]
or dword [ecx], esi
movzx esi, byte [eax + 0x541f9d]
cmp byte [ebp + esi - 0x3c], 0
je 0x446ed6
mov esi, dword [eax*4 + 0x541f04]
or dword [edx], esi
movzx edx, byte [eax + 0x541fb5]
cmp byte [ebp + edx - 0x3c], 0
je 0x446eed
mov edx, dword [eax*4 + 0x541f04]
or dword [ecx], edx
add eax, 6
cmp eax, 0x18
jl 0x446dd0
mov eax, dword [ebp - 0x78]
inc dword [ebp - 0x7c]
sub eax, 2
cmp eax, 0xfffffffe
mov dword [ebp - 0x78], eax
jg 0x446ca1
mov eax, dword [ebp - 0x88]
push eax
lea ecx, [ebp - 0x108]
call fcn.00446f40
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004c0985
mov esp, ebp
pop ebp
ret 8