Function at 0x41dca0
Capabilities:
Encode data using xor

Disassembly:
push ebx
push ebp
push esi
mov esi, dword [esp + 0x10]
push edi
push esi
call fcn.00425b60
mov ebp, dword [esp + 0x1c]
add esp, 4
test ebp, ebp
je 0x41deaa
mov al, byte [esi + 1]
and al, 0xf
cmp al, 0xf
je 0x41dccf
pop edi
pop esi
pop ebp
mov ax, 0x1d02
pop ebx
ret
mov ecx, dword [esp + 0x1c]
lea eax, [ecx - 1]
cmp eax, 3
ja case.default.0x41dcdf
jmp dword [eax*4 + 0x41df34]
xor eax, eax
mov dl, byte [eax + esi + 8]
mov byte [eax + esi], dl
inc eax
cmp eax, 0x40
jb 0x41dce8
push esi
push ebp
call fcn.0041cb40
add esp, 8
xor eax, eax
mov cl, byte [eax + esi + 0x10]
mov dl, byte [eax + esi]
xor dl, cl
mov byte [eax + esi], dl
inc eax
cmp eax, 0x10
jb 0x41dd01
lea edi, [esi + 0x10]
push edi
push ebp
call fcn.0041cb40
mov ecx, 0xfffffff0
add esp, 8
mov eax, edi
sub ecx, esi
mov dl, byte [eax + 0x10]
mov bl, byte [eax]
xor bl, dl
mov byte [eax], bl
inc eax
lea edx, [ecx + eax]
cmp edx, 0x10
jb 0x41dd29
lea edi, [esi + 0x20]
push edi
push ebp
call fcn.0041cb40
mov ecx, 0xffffffe0
add esp, 8
mov eax, edi
sub ecx, esi
mov dl, byte [eax + 0x10]
mov bl, byte [eax]
xor bl, dl
mov byte [eax], bl
inc eax
lea edx, [ecx + eax]
cmp edx, 0x10
jb 0x41dd51
lea eax, [esi + 0x30]
push eax
push ebp
call fcn.0041cb40
mov cl, byte [esi + 6]
mov al, byte [esi + 0x3e]
add esp, 8
cmp cl, al
jne 0x41dd88
mov dl, byte [esi + 7]
mov al, byte [esi + 0x3f]
cmp dl, al
je 0x41deaa
pop edi
pop esi
pop ebp
mov ax, 0x1d02
pop ebx
ret
xor eax, eax
mov cl, byte [eax + esi + 8]
mov byte [eax + esi], cl
inc eax
cmp eax, 0x30
jb 0x41dd93
push esi
push ebp
call fcn.0041cb40
add esp, 8
xor eax, eax
mov dl, byte [eax + esi + 0x10]
mov bl, byte [eax + esi]
xor bl, dl
mov byte [eax + esi], bl
inc eax
cmp eax, 0x10
jb 0x41ddac
lea edi, [esi + 0x10]
push edi
push ebp
call fcn.0041cb40
mov ecx, 0xfffffff0
add esp, 8
mov eax, edi
sub ecx, esi
mov dl, byte [eax + 0x10]
mov bl, byte [eax]
xor bl, dl
mov byte [eax], bl
inc eax
lea edx, [eax + ecx]
cmp edx, 0x10
jb 0x41ddd4
lea eax, [esi + 0x20]
push eax
push ebp
call fcn.0041cb40
mov cl, byte [esi + 6]
mov al, byte [esi + 0x2e]
add esp, 8
cmp cl, al
jne 0x41de0b
mov dl, byte [esi + 7]
mov al, byte [esi + 0x2f]
cmp dl, al
je 0x41deaa
pop edi
pop esi
pop ebp
mov ax, 0x1d02
pop ebx
ret
xor eax, eax
mov cl, byte [eax + esi + 8]
mov byte [eax + esi], cl
inc eax
cmp eax, 0x20
jb 0x41de16
push esi
push ebp
call fcn.0041cb40
add esp, 8
xor eax, eax
mov dl, byte [eax + esi + 0x10]
mov bl, byte [eax + esi]
xor bl, dl
mov byte [eax + esi], bl
inc eax
cmp eax, 0x10
jb 0x41de2f
lea eax, [esi + 0x10]
push eax
push ebp
call fcn.0041cb40
mov cl, byte [esi + 6]
mov al, byte [esi + 0x1e]
add esp, 8
cmp cl, al
jne 0x41de62
mov dl, byte [esi + 7]
mov al, byte [esi + 0x1f]
cmp dl, al
je 0x41deaa
pop edi
pop esi
pop ebp
mov ax, 0x1d02
pop ebx
ret
xor eax, eax
mov cl, byte [eax + esi + 8]
mov byte [eax + esi], cl
inc eax
cmp eax, 0x10
jb 0x41de6d
push esi
push ebp
call fcn.0041cb40
mov dl, byte [esi + 6]
mov al, byte [esi + 0xe]
add esp, 8
cmp dl, al
jne case.0x41dee6.4
mov al, byte [esi + 7]
mov cl, byte [esi + 0xf]
cmp al, cl
je 0x41deaa
pop edi
pop esi
pop ebp
mov ax, 0x1d02
pop ebx
ret
pop edi
pop esi
pop ebp
mov ax, 0x1d10
pop ebx
ret
mov al, byte [esi + 4]
mov dl, byte [esi + 5]
xor ecx, ecx
mov cl, byte [esi + 1]
mov edi, ecx
add ecx, eax
mov al, byte [esi + 3]
add edx, ecx
mov cl, byte [esi + 2]
add edx, eax
add ecx, edx
xor edx, edx
mov dl, byte [esi]
and ecx, 0xff
xor ecx, edx
je 0x41dedc
pop edi
pop esi
pop ebp
mov ax, 0x1d0d
pop ebx
ret
mov eax, edi
and eax, 0xf
cmp eax, 7
ja case.default.0x41dee6
jmp dword [eax*4 + 0x41df44]
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
ret
pop edi
pop esi
pop ebp
mov ax, 0x1d41
pop ebx
ret
pop edi
pop esi
pop ebp
mov ax, 0x1d04
pop ebx
ret
pop edi
pop esi
pop ebp
mov ax, 0x1d0a
pop ebx
ret
pop edi
pop esi
pop ebp
mov ax, 0x1d15
pop ebx
ret
pop edi
pop esi
pop ebp
mov ax, 0x1d42
pop ebx
ret
pop edi
pop esi
pop ebp
mov ax, 0x1d3f
pop ebx
ret
pop edi
pop esi
pop ebp
mov ax, 0x1dff
pop ebx
ret