Function at 0x472024
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffedc
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 0x124]
xor ecx, ecx
mov edx, 0x78
call fcn.00403114
lea eax, [ebp - 0xac]
xor ecx, ecx
mov edx, 0x80
call fcn.00403114
lea eax, [ebp - 0x124]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
add eax, 0x38
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add eax, 0x38
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax + 0x502c08]
dec eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
and eax, 7
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
shr eax, 3
mov edx, dword [ebp - 4]
movzx eax, byte [edx + eax]
mov edx, dword [ebp - 0x24]
and eax, dword [edx*4 + 0x502c70]
jbe 0x4720b3
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
mov byte [eax + edx], 1
jmp 0x4720bd
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
mov byte [eax + edx], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x38
jne 0x472077
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov edx, 8
call fcn.00403114
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x1c
jae 0x4720ee
mov dword [ebp - 0x28], 0x1c
jmp 0x4720f5
mov dword [ebp - 0x28], 0x38
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0x502c90]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jae 0x472115
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
jmp 0x47211e
mov eax, dword [ebp - 0x20]
sub eax, 0x1c
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x2c]
mov al, byte [eax + edx]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
mov byte [edx + ecx], al
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x38
jne 0x4720df
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax + 0x502c40]
mov edx, dword [ebp - 0x10]
cmp byte [edx + eax - 1], 0
jbe 0x472180
mov eax, dword [ebp - 0x1c]
mov ecx, 6
xor edx, edx
div ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x1c]
mov ecx, 6
xor edx, edx
div ecx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx*4 + 0x502c70]
shr ecx, 2
or byte [edx + eax], cl
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x30
jne 0x47213e
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
shl eax, 0x18
mov edx, dword [ebp - 0x14]
movzx edx, byte [edx + 2]
shl edx, 0x10
or eax, edx
mov edx, dword [ebp - 0x14]
movzx edx, byte [edx + 4]
shl edx, 8
or eax, edx
mov edx, dword [ebp - 0x14]
movzx edx, byte [edx + 6]
or eax, edx
mov edx, dword [ebp - 0x18]
add edx, edx
mov dword [ebp + edx*4 - 0xac], eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax + 1]
shl eax, 0x18
mov edx, dword [ebp - 0x14]
movzx edx, byte [edx + 3]
shl edx, 0x10
or eax, edx
mov edx, dword [ebp - 0x14]
movzx edx, byte [edx + 5]
shl edx, 8
or eax, edx
mov edx, dword [ebp - 0x14]
movzx edx, byte [edx + 7]
or eax, edx
mov edx, dword [ebp - 0x18]
add edx, edx
mov dword [ebp + edx*4 - 0xa8], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x10
jne 0x4720cb
mov edx, dword [ebp - 8]
lea eax, [ebp - 0xac]
mov ecx, 0x80
call fcn.00402a48
mov esp, ebp
pop ebp
ret