Function at 0x100357e0
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfc
push ebx
push esi
mov esi, eax
push edi
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 + 0x1004e4c0], dl
setne cl
mov byte [ebp + eax - 0x7c], cl
movzx ecx, byte [eax + 0x1004e531]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x1004e4c0], dl
setne cl
mov byte [ebp + eax - 0x7b], cl
movzx ecx, byte [eax + 0x1004e532]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x1004e4c0], dl
setne cl
mov byte [ebp + eax - 0x7a], cl
movzx ecx, byte [eax + 0x1004e533]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x1004e4c0], dl
setne cl
mov byte [ebp + eax - 0x79], cl
add eax, 4
cmp eax, 0x38
jl 0x100357f0
xor ecx, ecx
mov dword [ebp - 4], ecx
jmp 0x10035893
mov ecx, dword [ebp - 4]
movzx ebx, byte [ecx + 0x1004e568]
lea eax, [ecx + ecx]
lea edx, [ebp + eax*4 - 0xf8]
lea eax, [ebp + eax*4 - 0xfc]
mov dword [edx], 0
mov dword [ebp - 0xc], eax
mov dword [eax], 0
mov dword [ebp - 8], edx
xor esi, esi
lea ecx, [ebx + 3]
lea eax, [ebx + 2]
lea edi, [ecx - 3]
cmp edi, 0x1c
jge 0x100358d3
mov dl, byte [ebp + eax - 0x7e]
jmp 0x100358da
mov dl, byte [ebp + edi - 0x98]
lea edi, [ecx - 2]
mov byte [ebp + esi - 0x44], dl
cmp edi, 0x1c
jge 0x100358ec
mov dl, byte [ebp + eax - 0x7d]
jmp 0x100358f3
mov dl, byte [ebp + edi - 0x98]
mov byte [ebp + esi - 0x43], dl
cmp eax, 0x1c
jge 0x10035902
mov dl, byte [ebp + eax - 0x7c]
jmp 0x10035909
mov dl, byte [ebp + eax - 0x98]
mov byte [ebp + esi - 0x42], dl
cmp ecx, 0x1c
jge 0x10035918
mov dl, byte [ebp + eax - 0x7b]
jmp 0x1003591f
mov dl, byte [ebp + ecx - 0x98]
mov byte [ebp + esi - 0x41], dl
add esi, 4
add eax, 4
add ecx, 4
cmp esi, 0x1c
jl 0x100358c5
mov edi, 0x1c
lea edx, [ebx + 0x1f]
lea eax, [ebx + 0x1e]
lea esp, [esp]
lea ecx, [edx - 3]
cmp ecx, 0x38
jge 0x1003594e
mov cl, byte [ebp + eax - 0x7e]
jmp 0x10035955
mov cl, byte [ebp + ecx - 0x98]
lea esi, [edx - 2]
mov byte [ebp + edi - 0x44], cl
cmp esi, 0x38
jge 0x10035967
mov cl, byte [ebp + eax - 0x7d]
jmp 0x1003596e
mov cl, byte [ebp + esi - 0x98]
mov byte [ebp + edi - 0x43], cl
cmp eax, 0x38
jge 0x1003597d
mov cl, byte [ebp + eax - 0x7c]
jmp 0x10035984
mov cl, byte [ebp + eax - 0x98]
mov byte [ebp + edi - 0x42], cl
cmp edx, 0x38
jge 0x10035993
mov cl, byte [ebp + eax - 0x7b]
jmp 0x1003599a
mov cl, byte [ebp + edx - 0x98]
mov byte [ebp + edi - 0x41], cl
add edi, 4
add eax, 4
add edx, 4
cmp edi, 0x38
jl 0x10035940
xor eax, eax
mov edi, edi
movzx edx, byte [eax + 0x1004e578]
cmp byte [ebp + edx - 0x44], 0
mov edx, dword [ebp - 0xc]
je 0x100359ca
mov ecx, dword [eax*4 + 0x1004e4d0]
or dword [edx], ecx
movzx ecx, byte [eax + 0x1004e590]
cmp byte [ebp + ecx - 0x44], 0
mov ecx, dword [ebp - 8]
je 0x100359e4
mov esi, dword [eax*4 + 0x1004e4d0]
or dword [ecx], esi
movzx esi, byte [eax + 0x1004e579]
cmp byte [ebp + esi - 0x44], 0
je 0x100359fb
mov esi, dword [eax*4 + 0x1004e4d4]
or dword [edx], esi
movzx esi, byte [eax + 0x1004e591]
cmp byte [ebp + esi - 0x44], 0
je 0x10035a12
mov esi, dword [eax*4 + 0x1004e4d4]
or dword [ecx], esi
movzx esi, byte [eax + 0x1004e57a]
cmp byte [ebp + esi - 0x44], 0
je 0x10035a29
mov esi, dword [eax*4 + 0x1004e4d8]
or dword [edx], esi
movzx esi, byte [eax + 0x1004e592]
cmp byte [ebp + esi - 0x44], 0
je 0x10035a40
mov esi, dword [eax*4 + 0x1004e4d8]
or dword [ecx], esi
movzx esi, byte [eax + 0x1004e57b]
cmp byte [ebp + esi - 0x44], 0
je 0x10035a57
mov esi, dword [eax*4 + 0x1004e4dc]
or dword [edx], esi
movzx esi, byte [eax + 0x1004e593]
cmp byte [ebp + esi - 0x44], 0
je 0x10035a6e
mov esi, dword [eax*4 + 0x1004e4dc]
or dword [ecx], esi
movzx esi, byte [eax + 0x1004e57c]
cmp byte [ebp + esi - 0x44], 0
je 0x10035a85
mov esi, dword [eax*4 + 0x1004e4e0]
or dword [edx], esi
movzx esi, byte [eax + 0x1004e594]
cmp byte [ebp + esi - 0x44], 0
je 0x10035a9c
mov esi, dword [eax*4 + 0x1004e4e0]
or dword [ecx], esi
movzx esi, byte [eax + 0x1004e57d]
cmp byte [ebp + esi - 0x44], 0
je 0x10035ab3
mov esi, dword [eax*4 + 0x1004e4e4]
or dword [edx], esi
movzx edx, byte [eax + 0x1004e595]
cmp byte [ebp + edx - 0x44], 0
je 0x10035aca
mov edx, dword [eax*4 + 0x1004e4e4]
or dword [ecx], edx
add eax, 6
cmp eax, 0x18
jl 0x100359b0
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, 0x10
jl 0x10035890
lea ecx, [ebp - 0xfc]
call fcn.10035b00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret