Function at 0x417510
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x57c
mov eax, dword [0x599690]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x38
push str.91__
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x47c]
push ecx
call fcn.004173a0
add esp, 0x10
mov dword [ebp - 0x8c], 0
jmp 0x417558
mov edx, dword [ebp - 0x8c]
add edx, 1
mov dword [ebp - 0x8c], edx
cmp dword [ebp - 0x8c], 0x1c
jge 0x41757d
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov dl, byte [ebp + ecx - 0x47c]
mov byte [ebp + eax - 0x444], dl
jmp 0x417549
mov dword [ebp - 0x8c], 0
jmp 0x417598
mov eax, dword [ebp - 0x8c]
add eax, 1
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0x1c
jge 0x4175bd
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x8c]
mov al, byte [ebp + edx - 0x460]
mov byte [ebp + ecx - 0x428], al
jmp 0x417589
mov dword [ebp - 0x8c], 0
jmp 0x4175d8
mov ecx, dword [ebp - 0x8c]
add ecx, 1
mov dword [ebp - 0x8c], ecx
cmp dword [ebp - 0x8c], 0x10
jge 0x417670
push 0x1c
mov edx, dword [ebp - 0x8c]
movzx eax, byte [edx + 0x59af30]
push eax
lea ecx, [ebp - 0x444]
push ecx
call fcn.004173e0
add esp, 0xc
push 0x1c
mov edx, dword [ebp - 0x8c]
movzx eax, byte [edx + 0x59af30]
push eax
lea ecx, [ebp - 0x428]
push ecx
call fcn.004173e0
add esp, 0xc
push 0x1c
push 0x1c
lea edx, [ebp - 0x428]
push edx
lea eax, [ebp - 0x444]
push eax
lea ecx, [ebp - 0xc4]
push ecx
call fcn.00417460
add esp, 0x14
push 0x30
push 0x59ae30
lea edx, [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0x8c]
imul eax, eax, 0x30
lea ecx, [ebp + eax - 0x3c8]
push ecx
call fcn.004173a0
add esp, 0x10
jmp 0x4175c9
push 0x40
push 0x59ae60
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x88]
push eax
call fcn.004173a0
add esp, 0x10
mov dword [ebp - 0x480], 0
jmp 0x4176a5
mov ecx, dword [ebp - 0x480]
add ecx, 1
mov dword [ebp - 0x480], ecx
cmp dword [ebp - 0x480], 0x20
jge 0x4176e1
mov edx, dword [ebp - 0x480]
mov eax, dword [ebp - 0x480]
mov cl, byte [ebp + eax - 0x88]
mov byte [ebp + edx - 0x3ec], cl
mov edx, dword [ebp - 0x480]
mov eax, dword [ebp - 0x480]
mov cl, byte [ebp + eax - 0x68]
mov byte [ebp + edx - 0x40c], cl
jmp 0x417696
mov dword [ebp - 0x8c], 0
jmp 0x4176fc
mov edx, dword [ebp - 0x8c]
add edx, 1
mov dword [ebp - 0x8c], edx
cmp dword [ebp - 0x8c], 0x10
jge 0x417a55
push 0x30
push 0x59aea0
lea eax, [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x4e0]
push ecx
call fcn.004173a0
add esp, 0x10
cmp dword [ebp + 0x14], 0
je 0x41773a
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x57c], edx
jmp 0x41774b
mov eax, 0xf
sub eax, dword [ebp - 0x8c]
mov dword [ebp - 0x57c], eax
push 0x30
mov ecx, dword [ebp - 0x57c]
imul ecx, ecx, 0x30
lea edx, [ebp + ecx - 0x3c8]
push edx
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [ebp - 0x4b0]
push ecx
call fcn.004174d0
add esp, 0x10
mov dword [ebp - 0x480], 0
jmp 0x41778f
mov edx, dword [ebp - 0x480]
add edx, 1
mov dword [ebp - 0x480], edx
cmp dword [ebp - 0x480], 8
jge 0x4177ef
mov dword [ebp - 0x3cc], 0
jmp 0x4177b3
mov eax, dword [ebp - 0x3cc]
add eax, 1
mov dword [ebp - 0x3cc], eax
cmp dword [ebp - 0x3cc], 6
jge 0x4177ed
mov ecx, dword [ebp - 0x480]
imul ecx, ecx, 6
add ecx, dword [ebp - 0x3cc]
mov edx, dword [ebp - 0x480]
imul edx, edx, 6
lea eax, [ebp + edx - 0x530]
mov edx, dword [ebp - 0x3cc]
mov cl, byte [ebp + ecx - 0x4b0]
mov byte [eax + edx], cl
jmp 0x4177a4
jmp 0x417780
mov dword [ebp - 0x480], 0
jmp 0x41780a
mov edx, dword [ebp - 0x480]
add edx, 1
mov dword [ebp - 0x480], edx
cmp dword [ebp - 0x480], 8
jge 0x417919
mov eax, dword [ebp - 0x480]
imul eax, eax, 6
movsx ecx, byte [ebp + eax - 0x530]
shl ecx, 1
mov edx, dword [ebp - 0x480]
imul edx, edx, 6
movsx eax, byte [ebp + edx - 0x52b]
or ecx, eax
mov dword [ebp - 0x578], ecx
mov ecx, dword [ebp - 0x480]
imul ecx, ecx, 6
movsx edx, byte [ebp + ecx - 0x52f]
shl edx, 3
mov eax, dword [ebp - 0x480]
imul eax, eax, 6
movsx ecx, byte [ebp + eax - 0x52e]
shl ecx, 2
or edx, ecx
mov eax, dword [ebp - 0x480]
imul eax, eax, 6
movsx ecx, byte [ebp + eax - 0x52d]
shl ecx, 1
or edx, ecx
mov eax, dword [ebp - 0x480]
imul eax, eax, 6
movsx ecx, byte [ebp + eax - 0x52c]
or edx, ecx
mov dword [ebp - 0x574], edx
mov dword [ebp - 0x3cc], 0
jmp 0x4178b6
mov edx, dword [ebp - 0x3cc]
add edx, 1
mov dword [ebp - 0x3cc], edx
cmp dword [ebp - 0x3cc], 4
jge 0x417914
mov eax, dword [ebp - 0x480]
shl eax, 6
mov ecx, dword [ebp - 0x578]
shl ecx, 4
add eax, dword [ebp - 0x574]
movzx edx, byte [ecx + eax + 0x59af40]
mov ecx, 3
sub ecx, dword [ebp - 0x3cc]
mov eax, 1
shl eax, cl
and edx, eax
neg edx
sbb edx, edx
neg edx
mov ecx, dword [ebp - 0x480]
imul ecx, ecx, 6
lea eax, [ebp + ecx - 0x530]
mov ecx, dword [ebp - 0x3cc]
mov byte [eax + ecx], dl
jmp 0x4178a7
jmp 0x4177fb
mov dword [ebp - 0x480], 0
jmp 0x417934
mov edx, dword [ebp - 0x480]
add edx, 1
mov dword [ebp - 0x480], edx
cmp dword [ebp - 0x480], 8
jge 0x417994
mov dword [ebp - 0x3cc], 0
jmp 0x417958
mov eax, dword [ebp - 0x3cc]
add eax, 1
mov dword [ebp - 0x3cc], eax
cmp dword [ebp - 0x3cc], 4
jge 0x417992
mov ecx, dword [ebp - 0x480]
imul ecx, ecx, 6
lea edx, [ebp + ecx - 0x530]
mov eax, dword [ebp - 0x480]
mov ecx, dword [ebp - 0x3cc]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x3cc]
mov dl, byte [edx + ecx]
mov byte [ebp + eax - 0x570], dl
jmp 0x417949
jmp 0x417925
push 0x20
push 0x59aed0
lea eax, [ebp - 0x570]
push eax
lea ecx, [ebp - 0x550]
push ecx
call fcn.004173a0
add esp, 0x10
push 0x20
lea edx, [ebp - 0x550]
push edx
lea eax, [ebp - 0x3ec]
push eax
lea ecx, [ebp - 0x500]
push ecx
call fcn.004174d0
add esp, 0x10
mov dword [ebp - 0x480], 0
jmp 0x4179eb
mov edx, dword [ebp - 0x480]
add edx, 1
mov dword [ebp - 0x480], edx
cmp dword [ebp - 0x480], 0x20
jge 0x417a10
mov eax, dword [ebp - 0x480]
mov ecx, dword [ebp - 0x480]
mov dl, byte [ebp + ecx - 0x40c]
mov byte [ebp + eax - 0x3ec], dl
jmp 0x4179dc
mov dword [ebp - 0x480], 0
jmp 0x417a2b
mov eax, dword [ebp - 0x480]
add eax, 1
mov dword [ebp - 0x480], eax
cmp dword [ebp - 0x480], 0x20
jge 0x417a50
mov ecx, dword [ebp - 0x480]
mov edx, dword [ebp - 0x480]
mov al, byte [ebp + edx - 0x500]
mov byte [ebp + ecx - 0x40c], al
jmp 0x417a1c
jmp 0x4176ed
push 0x20
push 0x20
lea ecx, [ebp - 0x3ec]
push ecx
lea edx, [ebp - 0x40c]
push edx
lea eax, [ebp - 0x48]
push eax
call fcn.00417460
add esp, 0x14
push 0x40
push 0x59aef0
lea ecx, [ebp - 0x48]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004173a0
add esp, 0x10
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00520c7a
mov esp, ebp
pop ebp
ret