Function at 0x413660
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
mov eax, dword [0x43db90]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov dword [ebp - 0xfc], eax
xor ecx, ecx
movzx edx, byte [ecx + str.80_]
mov eax, edx
sar eax, 3
movzx eax, byte [eax + esi]
and edx, 7
test byte [edx*2 + 0x43c270], al
setne dl
mov byte [ebp + ecx - 0x74], dl
movzx edx, byte [ecx + 0x43c2f1]
mov eax, edx
sar eax, 3
movzx eax, byte [eax + esi]
and edx, 7
test byte [edx*2 + 0x43c270], al
setne dl
mov byte [ebp + ecx - 0x73], dl
movzx edx, byte [ecx + 0x43c2f2]
mov eax, edx
sar eax, 3
movzx eax, byte [eax + esi]
and edx, 7
test byte [edx*2 + 0x43c270], al
setne dl
mov byte [ebp + ecx - 0x72], dl
movzx edx, byte [ecx + 0x43c2f3]
mov eax, edx
sar eax, 3
movzx eax, byte [eax + esi]
and edx, 7
test byte [edx*2 + 0x43c270], al
setne dl
mov byte [ebp + ecx - 0x71], dl
add ecx, 4
cmp ecx, 0x38
jl 0x413684
xor eax, eax
mov dword [ebp - 0xf8], eax
lea esp, [esp]
movzx ebx, byte [eax + 0x43c2e0]
lea ecx, [eax + eax]
lea edx, [ebp + ecx*4 - 0xf0]
lea ecx, [ebp + ecx*4 - 0xf4]
mov dword [edx], 0
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x100], ecx
mov dword [ecx], 0
xor esi, esi
lea edx, [ebx + 3]
lea ecx, [ebx + 2]
lea edi, [edx - 3]
cmp edi, 0x1c
jge 0x413766
mov al, byte [ebp + ecx - 0x76]
jmp 0x41376d
mov al, byte [ebp + edi - 0x90]
lea edi, [edx - 2]
mov byte [ebp + esi - 0x3c], al
cmp edi, 0x1c
jge 0x41377f
mov al, byte [ebp + ecx - 0x75]
jmp 0x413786
mov al, byte [ebp + edi - 0x90]
mov byte [ebp + esi - 0x3b], al
cmp ecx, 0x1c
jge 0x413795
mov al, byte [ebp + ecx - 0x74]
jmp 0x41379c
mov al, byte [ebp + ecx - 0x90]
mov byte [ebp + esi - 0x3a], al
cmp edx, 0x1c
jge 0x4137ab
mov al, byte [ebp + ecx - 0x73]
jmp 0x4137b2
mov al, byte [ebp + edx - 0x90]
mov byte [ebp + esi - 0x39], al
add esi, 4
add ecx, 4
add edx, 4
cmp esi, 0x1c
jl 0x413758
mov edi, 0x1c
lea esi, [ebx + 0x1f]
lea ecx, [ebx + 0x1e]
nop
lea edx, [esi - 3]
cmp edx, 0x38
jge 0x4137e2
mov dl, byte [ebp + ecx - 0x76]
mov byte [ebp + edi - 0x3c], dl
jmp 0x4137ed
mov al, byte [ebp + edx - 0x90]
mov byte [ebp + edi - 0x3c], al
lea edx, [esi - 2]
cmp edx, 0x38
jge 0x4137ff
mov dl, byte [ebp + ecx - 0x75]
mov byte [ebp + edi - 0x3b], dl
jmp 0x41380a
mov al, byte [ebp + edx - 0x90]
mov byte [ebp + edi - 0x3b], al
cmp ecx, 0x38
jge 0x413819
mov dl, byte [ebp + ecx - 0x74]
mov byte [ebp + edi - 0x3a], dl
jmp 0x413824
mov al, byte [ebp + ecx - 0x90]
mov byte [ebp + edi - 0x3a], al
cmp esi, 0x38
jge 0x413833
mov dl, byte [ebp + ecx - 0x73]
mov byte [ebp + edi - 0x39], dl
jmp 0x41383e
mov al, byte [ebp + esi - 0x90]
mov byte [ebp + edi - 0x39], al
add edi, 4
add ecx, 4
add esi, 4
cmp edi, 0x38
jl 0x4137d0
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x104]
xor ecx, ecx
lea ebx, [ebx]
movzx esi, byte [ecx + 0x43c328]
cmp byte [ebp + esi - 0x3c], 0
je 0x413877
mov esi, dword [ecx*4 + 0x43c280]
or dword [edx], esi
movzx esi, byte [ecx + 0x43c340]
cmp byte [ebp + esi - 0x3c], 0
je 0x41388e
mov esi, dword [ecx*4 + 0x43c280]
or dword [eax], esi
movzx esi, byte [ecx + 0x43c329]
cmp byte [ebp + esi - 0x3c], 0
je 0x4138a5
mov esi, dword [ecx*4 + 0x43c284]
or dword [edx], esi
movzx esi, byte [ecx + 0x43c341]
cmp byte [ebp + esi - 0x3c], 0
je 0x4138bc
mov esi, dword [ecx*4 + 0x43c284]
or dword [eax], esi
movzx esi, byte [ecx + 0x43c32a]
cmp byte [ebp + esi - 0x3c], 0
je 0x4138d3
mov esi, dword [ecx*4 + 0x43c288]
or dword [edx], esi
movzx esi, byte [ecx + 0x43c342]
cmp byte [ebp + esi - 0x3c], 0
je 0x4138ea
mov esi, dword [ecx*4 + 0x43c288]
or dword [eax], esi
movzx esi, byte [ecx + 0x43c32b]
cmp byte [ebp + esi - 0x3c], 0
je 0x413901
mov esi, dword [ecx*4 + 0x43c28c]
or dword [edx], esi
movzx esi, byte [ecx + 0x43c343]
cmp byte [ebp + esi - 0x3c], 0
je 0x413918
mov esi, dword [ecx*4 + 0x43c28c]
or dword [eax], esi
movzx esi, byte [ecx + 0x43c32c]
cmp byte [ebp + esi - 0x3c], 0
je 0x41392f
mov esi, dword [ecx*4 + 0x43c290]
or dword [edx], esi
movzx esi, byte [ecx + 0x43c344]
cmp byte [ebp + esi - 0x3c], 0
je 0x413946
mov esi, dword [ecx*4 + 0x43c290]
or dword [eax], esi
movzx esi, byte [ecx + 0x43c32d]
cmp byte [ebp + esi - 0x3c], 0
je 0x41395d
mov esi, dword [ecx*4 + 0x43c294]
or dword [edx], esi
movzx esi, byte [ecx + 0x43c345]
cmp byte [ebp + esi - 0x3c], 0
je 0x413974
mov esi, dword [ecx*4 + 0x43c294]
or dword [eax], esi
add ecx, 6
cmp ecx, 0x18
jl 0x413860
mov eax, dword [ebp - 0xf8]
inc eax
mov dword [ebp - 0xf8], eax
cmp eax, 0x10
jl 0x413720
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0xf4]
call fcn.00412a40
push 0x38
lea ecx, [ebp - 0x74]
push 0
push ecx
call fcn.00413a70
push 0x38
lea edx, [ebp - 0x3c]
push 0
push edx
call fcn.00413a70
push 0x80
lea eax, [ebp - 0xf4]
push 0
push eax
call fcn.00413a70
mov ecx, dword [ebp - 4]
add esp, 0x24
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00415106
mov esp, ebp
pop ebp
ret