Function at 0x10075240
Capabilities:
Encrypt data using des

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
push 0x78
mov dword [esp + 0x24], ecx
call fcn.1001c740
mov ebp, dword [esp + 0x30]
mov esi, eax
mov ecx, 0x1009b469
sub ecx, esi
mov dword [esp + 0x20], ecx
mov ecx, 0x1009b46a
sub ecx, esi
mov dword [esp + 0x18], ecx
mov edx, 0x1009b468
mov ecx, 0x1009b46b
add esp, 4
sub edx, esi
sub ecx, esi
lea edi, [esi + 0x70]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], 0xe
mov edi, edi
movzx ecx, byte [edx + eax]
sub ecx, 1
mov ebx, ecx
and ecx, 7
sar ebx, 3
movzx ebx, byte [ebx + ebp]
test byte [ecx*4 + 0x1009b4e0], bl
setne cl
mov byte [eax], cl
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [ecx + eax]
sub ecx, 1
mov ebx, ecx
sar ebx, 3
movzx ebx, byte [ebx + ebp]
and ecx, 7
test byte [ecx*4 + 0x1009b4e0], bl
setne cl
mov byte [eax + 1], cl
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
sub ecx, 1
mov ebx, ecx
sar ebx, 3
movzx ebx, byte [ebx + ebp]
and ecx, 7
test byte [ecx*4 + 0x1009b4e0], bl
setne cl
mov byte [eax + 2], cl
mov ecx, dword [esp + 0x10]
movzx ecx, byte [ecx + eax]
sub ecx, 1
mov ebx, ecx
sar ebx, 3
movzx ebx, byte [ebx + ebp]
and ecx, 7
test byte [ecx*4 + 0x1009b4e0], bl
setne cl
mov byte [eax + 3], cl
add eax, 4
sub dword [esp + 0x18], 1
jne 0x10075290
xor edx, edx
xor eax, eax
mov ecx, edi
mov dword [ecx], eax
mov dword [esp + 0x2c], edx
mov dword [ecx + 4], eax
jmp 0x10075350
mov edx, dword [esp + 0x2c]
xor eax, eax
mov ecx, edi
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x10075350
mov edx, dword [esp + 0x2c]
lea ecx, [ecx]
movzx ecx, byte [edx + 0x1009b4a0]
xor ebx, ebx
add ecx, eax
cmp eax, 0x1c
setge bl
mov ebp, ecx
sub ebx, 1
and ebx, 0xffffffe4
add ebx, 0x38
cmp ecx, ebx
jl 0x10075373
lea ebp, [ecx - 0x1c]
mov bl, byte [esi + ebp]
mov byte [eax + esi + 0x38], bl
movzx ebx, byte [edx + 0x1009b4a0]
lea ecx, [eax + 1]
lea ebp, [ebx + eax + 1]
xor ebx, ebx
cmp ecx, 0x1c
setge bl
sub ebx, 1
and ebx, 0xffffffe4
add ebx, 0x38
cmp ebp, ebx
jl 0x100753a0
add ebp, 0xffffffe4
mov bl, byte [esi + ebp]
mov byte [ecx + esi + 0x38], bl
movzx edx, byte [edx + 0x1009b4a0]
xor ebx, ebx
lea ebp, [edx + eax + 2]
lea edx, [ecx + 1]
cmp edx, 0x1c
setge bl
sub ebx, 1
and ebx, 0xffffffe4
add ebx, 0x38
cmp ebp, ebx
jl 0x100753cd
add ebp, 0xffffffe4
mov dl, byte [esi + ebp]
xor ebx, ebx
add ecx, 2
cmp ecx, 0x1c
setge bl
mov byte [esi + eax + 0x3a], dl
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx + 0x1009b4a0]
lea edx, [edx + eax + 3]
sub ebx, 1
and ebx, 0xffffffe4
add ebx, 0x38
cmp edx, ebx
jl 0x100753fe
add edx, 0xffffffe4
mov cl, byte [esi + edx]
mov byte [esi + eax + 0x3b], cl
add eax, 4
cmp eax, 0x38
jl 0x10075349
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 5
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], 3
mov ebx, 2
mov ecx, 1
lea esp, [esp]
movzx edx, byte [ecx + 0x1009b4af]
cmp byte [edx + esi + 0x37], 0
je 0x10075466
xor edx, edx
mov ebp, 6
div ebp
mov ebp, edx
mov edx, dword [ebp*4 + 0x1009b4e0]
sar edx, 2
or byte [eax + edi], dl
movzx eax, byte [ecx + 0x1009b4b0]
cmp byte [eax + esi + 0x37], 0
je 0x1007548e
xor edx, edx
mov ebp, 6
mov eax, ecx
div ebp
mov ebp, edx
mov edx, dword [ebp*4 + 0x1009b4e0]
sar edx, 2
or byte [eax + edi], dl
movzx eax, byte [ebx + 0x1009b4b0]
cmp byte [eax + esi + 0x37], 0
je 0x100754b6
xor edx, edx
mov ebp, 6
mov eax, ebx
div ebp
mov ebp, edx
mov edx, dword [ebp*4 + 0x1009b4e0]
sar edx, 2
or byte [eax + edi], dl
mov eax, dword [esp + 0x10]
movzx edx, byte [eax + 0x1009b4b0]
cmp byte [edx + esi + 0x37], 0
je 0x100754e0
xor edx, edx
mov ebp, 6
div ebp
mov ebp, edx
mov edx, dword [ebp*4 + 0x1009b4e0]
sar edx, 2
or byte [eax + edi], dl
mov eax, dword [esp + 0x14]
movzx edx, byte [eax + 0x1009b4b0]
cmp byte [edx + esi + 0x37], 0
je 0x1007550a
xor edx, edx
mov ebp, 6
div ebp
mov ebp, edx
mov edx, dword [ebp*4 + 0x1009b4e0]
sar edx, 2
or byte [eax + edi], dl
mov eax, dword [esp + 0x18]
movzx edx, byte [eax + 0x1009b4b0]
cmp byte [edx + esi + 0x37], 0
je 0x10075534
xor edx, edx
mov ebp, 6
div ebp
mov ebp, edx
mov edx, dword [ebp*4 + 0x1009b4e0]
sar edx, 2
or byte [eax + edi], dl
mov eax, dword [esp + 0x1c]
mov edx, 6
add dword [esp + 0x10], edx
add dword [esp + 0x14], edx
add dword [esp + 0x18], edx
add eax, edx
add ecx, edx
add ebx, edx
cmp ecx, 0x31
mov dword [esp + 0x1c], eax
jl 0x10075440
movzx edx, byte [edi + 4]
movzx eax, byte [edi + 6]
xor ecx, ecx
mov ch, byte [edi]
mov ebp, dword [esp + 0x20]
mov cl, byte [edi + 2]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp + 0x88]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x2c]
mov dword [edx + eax*8], ecx
movzx edx, byte [edi + 5]
xor ecx, ecx
mov ch, byte [edi + 1]
add eax, 1
mov dword [esp + 0x2c], eax
mov cl, byte [edi + 3]
shl ecx, 8
or ecx, edx
movzx edx, byte [edi + 7]
shl ecx, 8
or ecx, edx
cmp eax, 0x10
mov edx, dword [ebp + 0x88]
mov dword [edx + eax*8 - 4], ecx
jl 0x1007533a
cmp dword [esp + 0x28], 1
jne 0x10075603
xor ecx, ecx
mov eax, 0x7c
jmp 0x100755d0
mov edx, dword [ebp + 0x88]
mov ebx, dword [eax + edx - 4]
mov edi, dword [ecx + edx]
mov dword [ecx + edx], ebx
mov dword [eax + edx - 4], edi
mov edx, dword [ebp + 0x88]
mov ebx, dword [eax + edx]
mov edi, dword [ecx + edx + 4]
mov dword [ecx + edx + 4], ebx
mov dword [eax + edx], edi
sub eax, 8
add ecx, 8
cmp eax, 0x3c
jg 0x100755d0
xor eax, eax
mov ecx, 0x1e
mov edi, esi
push esi
rep stosd dword es:[edi], eax
call fcn.1001c790
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 0xc