Function at 0x418848
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x154
mov eax, dword [0x6534d8]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x150], ecx
and dword [ebp - 0x13c], 0
jmp 0x418877
mov eax, dword [ebp - 0x13c]
inc eax
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0x10
jge 0x418bec
and dword [ebp - 0x140], 0
jmp 0x41889a
mov eax, dword [ebp - 0x140]
inc eax
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0x30
jge 0x418902
cmp dword [ebp + 0xc], 0
je 0x4188b7
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x154], eax
jmp 0x4188c6
push 0xf
pop eax
sub eax, dword [ebp - 0x13c]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x140]
movzx eax, byte [eax + 0x5f30f8]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax + 0x1f]
mov ecx, dword [ebp - 0x154]
imul ecx, ecx, 0x30
add ecx, dword [ebp - 0x150]
mov edx, dword [ebp - 0x140]
movzx ecx, byte [ecx + edx]
xor eax, ecx
mov ecx, dword [ebp - 0x140]
mov byte [ebp + ecx - 0x34], al
jmp 0x41888d
movzx eax, byte [ebp - 0x34]
shl eax, 7
movzx ecx, byte [ebp - 0x2f]
shl ecx, 6
or eax, ecx
movzx ecx, byte [ebp - 0x33]
shl ecx, 5
or eax, ecx
movzx ecx, byte [ebp - 0x32]
shl ecx, 4
or eax, ecx
movzx ecx, byte [ebp - 0x31]
shl ecx, 3
or eax, ecx
movzx ecx, byte [ebp - 0x30]
shl ecx, 2
or eax, ecx
mov eax, dword [eax + 0x5f3128]
mov dword [ebp - 0x138], eax
movzx eax, byte [ebp - 0x2e]
shl eax, 7
movzx ecx, byte [ebp - 0x29]
shl ecx, 6
or eax, ecx
movzx ecx, byte [ebp - 0x2d]
shl ecx, 5
or eax, ecx
movzx ecx, byte [ebp - 0x2c]
shl ecx, 4
or eax, ecx
movzx ecx, byte [ebp - 0x2b]
shl ecx, 3
or eax, ecx
movzx ecx, byte [ebp - 0x2a]
shl ecx, 2
or eax, ecx
mov eax, dword [eax + 0x5f3228]
mov dword [ebp - 0x134], eax
movzx eax, byte [ebp - 0x28]
shl eax, 7
movzx ecx, byte [ebp - 0x23]
shl ecx, 6
or eax, ecx
movzx ecx, byte [ebp - 0x27]
shl ecx, 5
or eax, ecx
movzx ecx, byte [ebp - 0x26]
shl ecx, 4
or eax, ecx
movzx ecx, byte [ebp - 0x25]
shl ecx, 3
or eax, ecx
movzx ecx, byte [ebp - 0x24]
shl ecx, 2
or eax, ecx
mov eax, dword [eax + 0x5f3328]
mov dword [ebp - 0x130], eax
movzx eax, byte [ebp - 0x22]
shl eax, 7
movzx ecx, byte [ebp - 0x1d]
shl ecx, 6
or eax, ecx
movzx ecx, byte [ebp - 0x21]
shl ecx, 5
or eax, ecx
movzx ecx, byte [ebp - 0x20]
shl ecx, 4
or eax, ecx
movzx ecx, byte [ebp - 0x1f]
shl ecx, 3
or eax, ecx
movzx ecx, byte [ebp - 0x1e]
shl ecx, 2
or eax, ecx
mov eax, dword [eax + 0x5f3428]
mov dword [ebp - 0x12c], eax
movzx eax, byte [ebp - 0x1c]
shl eax, 7
movzx ecx, byte [ebp - 0x17]
shl ecx, 6
or eax, ecx
movzx ecx, byte [ebp - 0x1b]
shl ecx, 5
or eax, ecx
movzx ecx, byte [ebp - 0x1a]
shl ecx, 4
or eax, ecx
movzx ecx, byte [ebp - 0x19]
shl ecx, 3
or eax, ecx
movzx ecx, byte [ebp - 0x18]
shl ecx, 2
or eax, ecx
mov eax, dword [eax + 0x5f3528]
mov dword [ebp - 0x128], eax
movzx eax, byte [ebp - 0x16]
shl eax, 7
movzx ecx, byte [ebp - 0x11]
shl ecx, 6
or eax, ecx
movzx ecx, byte [ebp - 0x15]
shl ecx, 5
or eax, ecx
movzx ecx, byte [ebp - 0x14]
shl ecx, 4
or eax, ecx
movzx ecx, byte [ebp - 0x13]
shl ecx, 3
or eax, ecx
movzx ecx, byte [ebp - 0x12]
shl ecx, 2
or eax, ecx
mov eax, dword [eax + 0x5f3628]
mov dword [ebp - 0x124], eax
movzx eax, byte [ebp - 0x10]
shl eax, 7
movzx ecx, byte [ebp - 0xb]
shl ecx, 6
or eax, ecx
movzx ecx, byte [ebp - 0xf]
shl ecx, 5
or eax, ecx
movzx ecx, byte [ebp - 0xe]
shl ecx, 4
or eax, ecx
movzx ecx, byte [ebp - 0xd]
shl ecx, 3
or eax, ecx
movzx ecx, byte [ebp - 0xc]
shl ecx, 2
or eax, ecx
mov eax, dword [eax + 0x5f3728]
mov dword [ebp - 0x120], eax
movzx eax, byte [ebp - 0xa]
shl eax, 7
movzx ecx, byte [ebp - 5]
shl ecx, 6
or eax, ecx
movzx ecx, byte [ebp - 9]
shl ecx, 5
or eax, ecx
movzx ecx, byte [ebp - 8]
shl ecx, 4
or eax, ecx
movzx ecx, byte [ebp - 7]
shl ecx, 3
or eax, ecx
movzx ecx, byte [ebp - 6]
shl ecx, 2
or eax, ecx
mov eax, dword [eax + 0x5f3828]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x13c], 0xf
jge 0x418b8f
and dword [ebp - 0x144], 0
jmp 0x418b25
mov eax, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0x20
jge 0x418b8d
cmp dword [ebp - 0x144], 0x1f
jle 0x418b39
jmp 0x418b18
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x144]
mov al, byte [eax + 0x20]
mov byte [ebp - 0x145], al
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x144]
movzx eax, byte [eax]
mov ecx, dword [ebp - 0x144]
movzx ecx, byte [ecx + 0x5f3928]
movzx ecx, byte [ebp + ecx - 0x139]
xor eax, ecx
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x144]
mov byte [ecx + 0x20], al
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x144]
mov cl, byte [ebp - 0x145]
mov byte [eax], cl
jmp 0x418b18
jmp 0x418be7
and dword [ebp - 0x14c], 0
jmp 0x418ba5
mov eax, dword [ebp - 0x14c]
inc eax
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0x20
jge 0x418be7
cmp dword [ebp - 0x14c], 0x20
jge 0x418be5
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x14c]
movzx eax, byte [eax]
mov ecx, dword [ebp - 0x14c]
movzx ecx, byte [ecx + 0x5f3928]
movzx ecx, byte [ebp + ecx - 0x139]
xor eax, ecx
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x14c]
mov byte [ecx], al
jmp 0x418b98
jmp 0x41886a
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059508d
leave
ret 8