Function at 0x47221c
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffed8
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 0x128]
xor ecx, ecx
mov edx, 0x78
call fcn.00403114
lea eax, [ebp - 0xb0]
xor ecx, ecx
mov edx, 0x80
call fcn.00403114
lea eax, [ebp - 0x128]
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 0x4722ab
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
mov byte [eax + edx], 1
jmp 0x4722b5
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 0x47226f
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 0x4722e6
mov dword [ebp - 0x28], 0x1c
jmp 0x4722ed
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 0x47230d
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
jmp 0x472316
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 0x4722d7
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 0x472378
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 0x472336
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 - 0xb0], 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 - 0xac], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x10
jne 0x4722c3
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
add eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb0]
mov dword [ebp - 0x30], eax
mov eax, 0x1e
sub eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb0]
mov edx, dword [ebp - 0x18]
mov dword [ebp + edx*4 - 0xb0], eax
mov eax, 0x1e
sub eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xb0], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xac]
mov dword [ebp - 0x30], eax
mov eax, 0x1f
sub eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb0]
mov edx, dword [ebp - 0x18]
mov dword [ebp + edx*4 - 0xac], eax
mov eax, 0x1f
sub eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xb0], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 8
jne 0x472400
mov edx, dword [ebp - 8]
lea eax, [ebp - 0xb0]
mov ecx, 0x80
call fcn.00402a48
mov esp, ebp
pop ebp
ret