Function at 0x1403bb0
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
push ebx
push esi
push edi
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp + 0xc]
xor edx, edx
mov ecx, 8
div ecx
test edx, edx
je 0x1403be2
mov eax, 0x406
jmp 0x140412f
mov dword [ebp - 0xc8], 0
jmp 0x1403bfd
mov edx, dword [ebp - 0xc8]
add edx, 1
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp + 0xc]
shr eax, 3
cmp dword [ebp - 0xc8], eax
jae 0x14040d5
push 8
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp + 8]
lea edx, [edx + ecx*8]
lea ecx, [ebp - 0xc4]
call fcn.01404160
mov eax, dword [ebp - 0x144]
cmp dword [eax + 0x340], 0
je 0x1403ca2
mov dword [ebp - 0xcc], 0
jmp 0x1403c52
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0x40
jae 0x1403ca0
mov edx, dword [ebp - 0xcc]
xor eax, eax
mov al, byte [edx + 0x1413208]
xor ecx, ecx
mov cl, byte [ebp + eax - 0xc5]
mov edx, dword [ebp - 0xcc]
xor eax, eax
mov al, byte [edx + 0x1413208]
mov edx, dword [ebp - 0x144]
xor ebx, ebx
mov bl, byte [edx + eax + 0x2ff]
xor ecx, ebx
mov eax, dword [ebp - 0xcc]
mov byte [ebp + eax - 0x84], cl
jmp 0x1403c43
jmp 0x1403cea
mov dword [ebp - 0xcc], 0
jmp 0x1403cbd
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0x40
jae 0x1403cea
mov edx, dword [ebp - 0xcc]
xor eax, eax
mov al, byte [edx + 0x1413208]
mov ecx, dword [ebp - 0xcc]
mov dl, byte [ebp + eax - 0xc5]
mov byte [ebp + ecx - 0x84], dl
jmp 0x1403cae
mov dword [ebp - 0xcc], 0
jmp 0x1403d05
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0x10
jae 0x1403f8b
lea esi, [ebp - 0x64]
mov ecx, 8
lea edi, [ebp - 0x40]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x144]
cmp dword [ecx + 0x340], 0
je 0x1403d95
mov dword [ebp - 0xd0], 0
jmp 0x1403d49
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 0x30
jae 0x1403d93
mov eax, dword [ebp - 0xd0]
xor ecx, ecx
mov cl, byte [eax + 0x1413300]
xor edx, edx
mov dl, byte [ebp + ecx - 0x65]
mov eax, dword [ebp - 0xcc]
imul eax, eax, 0x30
mov ecx, dword [ebp - 0x144]
add ecx, eax
mov eax, dword [ebp - 0xd0]
xor ebx, ebx
mov bl, byte [ecx + eax]
xor edx, ebx
mov ecx, dword [ebp - 0xd0]
mov byte [ebp + ecx - 0x100], dl
jmp 0x1403d3a
jmp 0x1403dff
mov dword [ebp - 0xd0], 0
jmp 0x1403db0
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 0x30
jae 0x1403dff
mov eax, dword [ebp - 0xd0]
xor ecx, ecx
mov cl, byte [eax + 0x1413300]
xor edx, edx
mov dl, byte [ebp + ecx - 0x65]
mov eax, 0xf
sub eax, dword [ebp - 0xcc]
imul eax, eax, 0x30
mov ecx, dword [ebp - 0x144]
add ecx, eax
mov eax, dword [ebp - 0xd0]
xor ebx, ebx
mov bl, byte [ecx + eax]
xor edx, ebx
mov ecx, dword [ebp - 0xd0]
mov byte [ebp + ecx - 0x100], dl
jmp 0x1403da1
mov dword [ebp - 0xd0], 0
jmp 0x1403e1a
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 8
jae 0x1403f21
mov eax, dword [ebp - 0xd0]
shl eax, 6
mov ecx, dword [ebp - 0xd0]
imul ecx, ecx, 6
xor edx, edx
mov dl, byte [ebp + ecx - 0x100]
shl edx, 5
mov ecx, dword [ebp - 0xd0]
imul ecx, ecx, 6
xor ebx, ebx
mov bl, byte [ebp + ecx - 0xfb]
shl ebx, 4
or edx, ebx
mov ecx, dword [ebp - 0xd0]
imul ecx, ecx, 6
xor ebx, ebx
mov bl, byte [ebp + ecx - 0xff]
shl ebx, 3
or edx, ebx
mov ecx, dword [ebp - 0xd0]
imul ecx, ecx, 6
xor ebx, ebx
mov bl, byte [ebp + ecx - 0xfe]
shl ebx, 2
or edx, ebx
mov ecx, dword [ebp - 0xd0]
imul ecx, ecx, 6
xor ebx, ebx
mov bl, byte [ebp + ecx - 0xfd]
shl ebx, 1
or edx, ebx
mov ecx, dword [ebp - 0xd0]
imul ecx, ecx, 6
xor ebx, ebx
mov bl, byte [ebp + ecx - 0xfc]
or edx, ebx
mov dl, byte [eax + edx + 0x1413330]
mov byte [ebp - 0x44], dl
mov eax, dword [ebp - 0x44]
and eax, 0xff
sar eax, 3
and eax, 1
mov ecx, dword [ebp - 0xd0]
mov byte [ebp + ecx*4 - 0x20], al
mov edx, dword [ebp - 0x44]
and edx, 0xff
sar edx, 2
and edx, 1
mov eax, dword [ebp - 0xd0]
mov byte [ebp + eax*4 - 0x1f], dl
mov ecx, dword [ebp - 0x44]
and ecx, 0xff
sar ecx, 1
and ecx, 1
mov edx, dword [ebp - 0xd0]
mov byte [ebp + edx*4 - 0x1e], cl
mov eax, dword [ebp - 0x44]
and eax, 0xff
and eax, 1
mov ecx, dword [ebp - 0xd0]
mov byte [ebp + ecx*4 - 0x1d], al
jmp 0x1403e0b
mov dword [ebp - 0xd0], 0
jmp 0x1403f3c
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 0x20
jae 0x1403f76
mov eax, dword [ebp - 0xd0]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x84]
mov edx, dword [ebp - 0xd0]
xor eax, eax
mov al, byte [edx + 0x1413530]
xor edx, edx
mov dl, byte [ebp + eax - 0x21]
xor ecx, edx
mov eax, dword [ebp - 0xd0]
mov byte [ebp + eax - 0x64], cl
jmp 0x1403f2d
mov ecx, 8
lea esi, [ebp - 0x40]
lea edi, [ebp - 0x84]
rep movsd dword es:[edi], dword [esi]
jmp 0x1403cf6
lea esi, [ebp - 0x64]
mov ecx, 8
lea edi, [ebp - 0x40]
rep movsd dword es:[edi], dword [esi]
mov ecx, 8
lea esi, [ebp - 0x84]
lea edi, [ebp - 0x64]
rep movsd dword es:[edi], dword [esi]
mov ecx, 8
lea esi, [ebp - 0x40]
lea edi, [ebp - 0x84]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x144]
cmp dword [ecx + 0x340], 0
je 0x1404011
mov dword [ebp - 0xcc], 0
jmp 0x1403fe2
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0x40
jae 0x140400f
mov eax, dword [ebp - 0xcc]
xor ecx, ecx
mov cl, byte [eax + 0x1413248]
mov edx, dword [ebp - 0xcc]
mov al, byte [ebp + ecx - 0x85]
mov byte [ebp + edx - 0x140], al
jmp 0x1403fd3
jmp 0x1404071
mov dword [ebp - 0xcc], 0
jmp 0x140402c
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0x40
jae 0x1404071
mov edx, dword [ebp - 0xcc]
xor eax, eax
mov al, byte [edx + 0x1413248]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x85]
mov edx, dword [ebp - 0x144]
add edx, dword [ebp - 0xcc]
xor eax, eax
mov al, byte [edx + 0x300]
xor ecx, eax
mov edx, dword [ebp - 0xcc]
mov byte [ebp + edx - 0x140], cl
jmp 0x140401d
push 8
lea edx, [ebp - 0x140]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x148]
lea ecx, [ecx + eax*8]
call fcn.014041e0
mov edx, dword [ebp - 0x144]
cmp dword [edx + 0x340], 0
je 0x14040b7
mov edi, dword [ebp - 0x144]
add edi, 0x300
mov ecx, 0x10
lea esi, [ebp - 0x140]
rep movsd dword es:[edi], dword [esi]
jmp 0x14040d0
mov edi, dword [ebp - 0x144]
add edi, 0x300
mov ecx, 0x10
lea esi, [ebp - 0xc4]
rep movsd dword es:[edi], dword [esi]
jmp 0x1403bee
mov ecx, 0x10
xor eax, eax
lea edi, [ebp - 0xc4]
rep stosd dword es:[edi], eax
mov ecx, 0x10
xor eax, eax
lea edi, [ebp - 0x84]
rep stosd dword es:[edi], eax
mov ecx, 8
xor eax, eax
lea edi, [ebp - 0x40]
rep stosd dword es:[edi], eax
mov ecx, 0x10
xor eax, eax
lea edi, [ebp - 0x140]
rep stosd dword es:[edi], eax
mov ecx, 0xc
xor eax, eax
lea edi, [ebp - 0x100]
rep stosd dword es:[edi], eax
mov ecx, 8
xor eax, eax
lea edi, [ebp - 0x20]
rep stosd dword es:[edi], eax
mov byte [ebp - 0x44], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8