Function at 0x1017bc30
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov eax, dword [0x10254be4]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x5c], 0
jmp 0x1017bc52
mov eax, dword [ebp - 0x5c]
add eax, 1
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x40
jge 0x1017bc6d
mov ecx, dword [ebp - 0x5c]
movzx edx, byte [ecx + 0x10253298]
mov al, byte [ebp - 0x5c]
mov byte [edx + 0x10269800], al
jmp 0x1017bc49
mov dword [ebp - 0x5c], 0
jmp 0x1017bc7f
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x5c], 0x40
jge 0x1017bca4
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x68], 0x40
jae 0x1017bc93
jmp 0x1017bc98
call fcn.10195443
mov eax, dword [ebp - 0x68]
mov byte [eax + 0x1026cd28], 0
jmp 0x1017bc76
mov dword [ebp - 0x5c], 0
jmp 0x1017bcb6
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x5c], 0x40
jge 0x1017bd5c
mov edx, dword [ebp - 0x5c]
movzx eax, byte [edx + 0x10252ff8]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jne 0x1017bcd5
jmp 0x1017bcad
mov ecx, 1
imul edx, ecx, 0
movzx eax, byte [edx + 0x10252fe8]
mov ecx, dword [ebp - 0x58]
lea edx, [ecx + eax - 1]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x58]
cdq
mov ecx, 0x1c
idiv ecx
mov eax, 1
imul ecx, eax, 0
movzx eax, byte [ecx + 0x10252fe8]
cmp edx, eax
jge 0x1017bd15
mov ecx, dword [ebp - 0x58]
sub ecx, 0x1c
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x58]
movzx eax, byte [edx + str.91__]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jle 0x1017bd4b
mov ecx, dword [ebp - 0x58]
sub ecx, 1
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x58]
or edx, 7
mov eax, dword [ebp - 0x58]
and eax, 7
sub edx, eax
mov dword [ebp - 0x58], edx
mov ecx, dword [ebp - 0x58]
add ecx, 1
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x5c]
mov al, byte [ebp - 0x58]
mov byte [edx + 0x1026cd28], al
jmp 0x1017bcad
push 8
push 8
push 0x1026cd28
push 0x10269880
call fcn.1017c2d0
add esp, 0x10
mov dword [ebp - 0x60], 0
jmp 0x1017bd84
mov ecx, dword [ebp - 0x60]
add ecx, 1
mov dword [ebp - 0x60], ecx
cmp dword [ebp - 0x60], 2
jge 0x1017be8c
mov dword [ebp - 0x5c], 0
jmp 0x1017bda0
mov edx, dword [ebp - 0x5c]
add edx, 1
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 0x40
jge 0x1017bdcd
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0x40
jae 0x1017bdb4
jmp 0x1017bdb9
call fcn.10195443
mov ecx, dword [ebp - 0x6c]
mov byte [ebp + ecx - 0x44], 0
mov edx, dword [ebp - 0x5c]
mov byte [edx + 0x1026cd28], 0
jmp 0x1017bd97
mov dword [ebp - 0x5c], 0
jmp 0x1017bddf
mov eax, dword [ebp - 0x5c]
add eax, 1
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x40
jge 0x1017be09
mov ecx, dword [ebp - 0x5c]
movzx edx, byte [ecx + 0x10252ff8]
mov dword [ebp - 0x58], edx
cmp dword [ebp - 0x58], 0
jne 0x1017bdfa
jmp 0x1017bdd6
mov eax, dword [ebp - 0x5c]
add eax, 1
mov ecx, dword [ebp - 0x58]
mov byte [ebp + ecx - 0x45], al
jmp 0x1017bdd6
mov dword [ebp - 0x5c], 0
jmp 0x1017be1b
mov edx, dword [ebp - 0x5c]
add edx, 1
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 0x40
jge 0x1017be6a
mov eax, dword [ebp - 0x5c]
movzx ecx, byte [eax + 0x10252ff8]
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x58], 0
jne 0x1017be36
jmp 0x1017be12
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x60]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x58]
cdq
mov ecx, 0x1c
idiv ecx
cmp edx, dword [ebp - 0x60]
jg 0x1017be58
mov edx, dword [ebp - 0x58]
sub edx, 0x1c
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov dl, byte [ebp + ecx - 0x44]
mov byte [eax + 0x1026cd28], dl
jmp 0x1017be12
push 8
push 8
push 0x1026cd28
mov eax, dword [ebp - 0x60]
shl eax, 0xb
add eax, 0x1026a080
push eax
call fcn.1017c2d0
add esp, 0x10
jmp 0x1017bd7b
mov dword [ebp - 0x5c], 0
jmp 0x1017be9e
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x5c], 8
jge 0x1017bf55
mov dword [ebp - 0x60], 0
jmp 0x1017beba
mov edx, dword [ebp - 0x60]
add edx, 1
mov dword [ebp - 0x60], edx
cmp dword [ebp - 0x60], 8
jge 0x1017bf50
cmp dword [ebp - 0x60], 2
jge 0x1017bed3
mov dword [ebp - 0x70], 0
jmp 0x1017beec
imul eax, dword [ebp - 0x5c], 6
mov ecx, dword [ebp - 0x60]
movzx edx, byte [eax + ecx + 0x10252f7e]
movzx eax, byte [edx + 0x10252f3f]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x58], 0x20
jle 0x1017bf03
mov edx, dword [ebp - 0x58]
sub edx, 0x20
mov dword [ebp - 0x58], edx
jmp 0x1017bf12
cmp dword [ebp - 0x58], 0
jle 0x1017bf12
mov eax, dword [ebp - 0x58]
sub eax, 1
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jle 0x1017bf3b
mov ecx, dword [ebp - 0x58]
sub ecx, 1
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x58]
or edx, 7
mov eax, dword [ebp - 0x58]
and eax, 7
sub edx, eax
mov dword [ebp - 0x58], edx
mov ecx, dword [ebp - 0x58]
add ecx, 1
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
mov cl, byte [ebp - 0x58]
mov byte [eax + edx*8 + 0x1026cd28], cl
jmp 0x1017beb1
jmp 0x1017be95
push 8
push 4
push 0x1026cd28
push 0x1026b080
call fcn.1017c2d0
add esp, 0x10
mov dword [ebp - 0x5c], 0
jmp 0x1017bf7d
mov edx, dword [ebp - 0x5c]
add edx, 1
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 0x40
jge 0x1017bfd1
mov eax, dword [ebp - 0x5c]
movzx ecx, byte [eax + 0x10253258]
movzx edx, byte [ecx + 0x10252f3f]
mov dword [ebp - 0x58], edx
cmp dword [ebp - 0x58], 0
jle 0x1017bfc0
mov eax, dword [ebp - 0x58]
sub eax, 1
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x58]
or ecx, 7
mov edx, dword [ebp - 0x58]
and edx, 7
sub ecx, edx
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x58]
add eax, 1
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov edx, dword [ebp - 0x58]
mov byte [edx + 0x1026cd27], cl
jmp 0x1017bf74
push 8
push 8
push 0x1026cd28
push 0x1026c480
call fcn.1017c2d0
add esp, 0x10
mov dword [ebp - 0x5c], 0
jmp 0x1017bff9
mov eax, dword [ebp - 0x5c]
add eax, 1
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x30
jge 0x1017c01a
mov ecx, dword [ebp - 0x5c]
movzx edx, byte [ecx + 0x10252f80]
mov eax, dword [ebp - 0x5c]
mov cl, byte [edx + 0x10253237]
mov byte [eax + 0x1026cd28], cl
jmp 0x1017bff0
mov dword [ebp - 0x64], 0
jmp 0x1017c02c
mov edx, dword [ebp - 0x64]
add edx, 1
mov dword [ebp - 0x64], edx
cmp dword [ebp - 0x64], 8
jge 0x1017c2c0
mov dword [ebp - 0x60], 0
jmp 0x1017c048
mov eax, dword [ebp - 0x60]
add eax, 1
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x40
jge 0x1017c2bb
mov ecx, dword [ebp - 0x60]
and ecx, 1
shl ecx, 5
mov edx, dword [ebp - 0x60]
sar edx, 1
and edx, 1
shl edx, 3
or ecx, edx
mov eax, dword [ebp - 0x60]
sar eax, 2
and eax, 1
shl eax, 2
or ecx, eax
mov edx, dword [ebp - 0x60]
sar edx, 3
and edx, 1
shl edx, 1
or ecx, edx
mov eax, dword [ebp - 0x60]
sar eax, 4
and eax, 1
or ecx, eax
mov edx, dword [ebp - 0x60]
sar edx, 5
and edx, 1
shl edx, 4
or ecx, edx
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x64]
shl eax, 6
mov ecx, dword [ebp - 0x58]
movzx edx, byte [eax + ecx + 0x10253038]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x58]
sar eax, 3
and eax, 1
mov ecx, dword [ebp - 0x58]
sar ecx, 2
and ecx, 1
shl ecx, 1
or eax, ecx
mov edx, dword [ebp - 0x58]
sar edx, 1
and edx, 1
shl edx, 2
or eax, edx
mov ecx, dword [ebp - 0x58]
and ecx, 1
shl ecx, 3
or eax, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], 0
jmp 0x1017c0f6
mov edx, dword [ebp - 0x5c]
add edx, 1
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 0x20
jge 0x1017c11b
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0x20
jae 0x1017c10a
jmp 0x1017c10f
call fcn.10195443
mov ecx, dword [ebp - 0x74]
mov byte [ecx + 0x1026cd68], 0
jmp 0x1017c0ed
mov dword [ebp - 0x5c], 0
jmp 0x1017c12d
mov edx, dword [ebp - 0x5c]
add edx, 1
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 4
jge 0x1017c150
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
sar eax, cl
movzx ecx, al
and ecx, 1
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
mov byte [eax + edx*4 + 0x1026cd68], cl
jmp 0x1017c124
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], 0x18
mov ecx, dword [ebp - 0x5c]
sub ecx, 1
mov dword [ebp - 0x5c], ecx
js 0x1017c186
mov edx, dword [ebp - 0x58]
shl edx, 1
mov eax, dword [ebp - 0x5c]
movzx ecx, byte [eax + 0x1026cd28]
movzx eax, byte [ecx + 0x1026cd67]
or edx, eax
mov dword [ebp - 0x58], edx
jmp 0x1017c15e
mov ecx, 1
imul edx, ecx, 0
mov al, byte [ebp - 0x58]
mov byte [ebp + edx - 0x4c], al
mov ecx, dword [ebp - 0x58]
sar ecx, 6
mov dword [ebp - 0x58], ecx
mov edx, 1
shl edx, 0
mov al, byte [ebp - 0x58]
mov byte [ebp + edx - 0x4c], al
mov ecx, dword [ebp - 0x58]
sar ecx, 6
mov dword [ebp - 0x58], ecx
mov edx, 1
shl edx, 1
mov al, byte [ebp - 0x58]
mov byte [ebp + edx - 0x4c], al
mov ecx, dword [ebp - 0x58]
sar ecx, 6
mov dword [ebp - 0x58], ecx
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp - 0x58]
mov byte [ebp + eax - 0x4c], cl
mov edx, dword [ebp - 0x4c]
and edx, 0x3f3f3f3f
shl edx, 2
mov eax, 0x800
imul ecx, eax, 0
mov eax, dword [ebp - 0x64]
shl eax, 8
lea ecx, [ecx + eax + 0x1026b480]
mov eax, dword [ebp - 0x60]
mov dword [ecx + eax*4], edx
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], 0x18
mov ecx, dword [ebp - 0x5c]
sub ecx, 1
mov dword [ebp - 0x5c], ecx
js 0x1017c239
mov edx, dword [ebp - 0x58]
shl edx, 1
mov eax, dword [ebp - 0x5c]
movzx ecx, byte [eax + 0x1026cd40]
movzx eax, byte [ecx + 0x1026cd67]
or edx, eax
mov dword [ebp - 0x58], edx
jmp 0x1017c211
mov ecx, 1
imul edx, ecx, 0
mov al, byte [ebp - 0x58]
mov byte [ebp + edx - 0x54], al
mov ecx, dword [ebp - 0x58]
sar ecx, 6
mov dword [ebp - 0x58], ecx
mov edx, 1
shl edx, 0
mov al, byte [ebp - 0x58]
mov byte [ebp + edx - 0x54], al
mov ecx, dword [ebp - 0x58]
sar ecx, 6
mov dword [ebp - 0x58], ecx
mov edx, 1
shl edx, 1
mov al, byte [ebp - 0x58]
mov byte [ebp + edx - 0x54], al
mov ecx, dword [ebp - 0x58]
sar ecx, 6
mov dword [ebp - 0x58], ecx
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp - 0x58]
mov byte [ebp + eax - 0x54], cl
mov edx, dword [ebp - 0x54]
and edx, 0x3f3f3f3f
shl edx, 2
mov eax, 0x800
shl eax, 0
mov ecx, dword [ebp - 0x64]
shl ecx, 8
lea eax, [eax + ecx + 0x1026b480]
mov ecx, dword [ebp - 0x60]
mov dword [eax + ecx*4], edx
jmp 0x1017c03f
jmp 0x1017c023
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101949b1
mov esp, ebp
pop ebp
ret