Function at 0x44d250
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x6c
call fcn.00596bf0
mov eax, dword [0x616930]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x1c]
push esi
mov esi, edx
push edi
mov edi, ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], 1
test esi, esi
jne 0x44d2b3
push 0x143
push str.....cryptoevpevp_lib.c
push 0x9f
push 0xa2
push 6
call fcn.0040e790
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0057af8a
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 8]
mov dword [ebp - 0x64], eax
test eax, eax
js 0x44d489
call fcn.004957b0
mov ecx, eax
mov dword [ebp - 0x4c], ecx
test ecx, ecx
je 0x44d489
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x5c], edx
test edi, edi
jne 0x44d2ee
mov edi, 0x5ad275
mov dword [ebp + 8], 0
jmp 0x44d30c
cmp dword [ebp + 8], 0xffffffff
jne 0x44d30c
mov eax, edi
lea ebx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x44d300
sub eax, ebx
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
push esi
push eax
push edi
xor edx, edx
call fcn.004953f0
add esp, 0xc
test eax, eax
je 0x44d481
call fcn.004957b0
mov ebx, eax
test ebx, ebx
je 0x44d481
cmp dword [ebp + 0x18], 0
je 0x44d49c
lea ecx, [ecx]
mov eax, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x64]
cmp eax, esi
jg 0x44d34c
mov esi, eax
mov eax, dword [ebp - 0x58]
mov ecx, eax
shr ecx, 0x18
mov edx, eax
shr edx, 0x10
mov byte [ebp - 0x50], cl
mov byte [ebp - 0x4f], dl
mov edx, dword [ebp - 0x4c]
mov ecx, eax
shr ecx, 8
push edx
mov edi, ebx
mov byte [ebp - 0x4e], cl
mov byte [ebp - 0x4d], al
call fcn.004959b0
add esp, 4
test eax, eax
je 0x44d47a
cmp dword [ebx], 0
je 0x44d47a
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebx + 4]
test ecx, ecx
je 0x44d3a9
mov edx, dword [eax + 0x14]
push ecx
mov ecx, dword [ebp - 0x68]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
je 0x44d47a
cmp dword [ebx], 0
je 0x44d47a
mov eax, dword [ebx + 4]
mov edx, dword [eax + 0x14]
push 4
lea ecx, [ebp - 0x50]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
je 0x44d47a
lea eax, [ebp - 0x48]
push eax
push ebx
xor ecx, ecx
call fcn.00495660
add esp, 8
test eax, eax
je 0x44d47a
mov edx, dword [ebp - 0x54]
push esi
lea ecx, [ebp - 0x48]
push ecx
push edx
call fcn.0057e070
mov edi, 1
add esp, 0xc
mov dword [ebp - 0x60], edi
cmp dword [ebp + 0x14], edi
jle 0x44d462
mov eax, dword [ebp - 0x4c]
push eax
mov edi, ebx
call fcn.004959b0
add esp, 4
test eax, eax
je 0x44d47a
lea ecx, [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x64]
push ebx
call fcn.00495630
add esp, 8
test eax, eax
je 0x44d47a
lea edx, [ebp - 0x48]
push edx
push ebx
xor ecx, ecx
call fcn.00495660
add esp, 8
test eax, eax
je 0x44d47a
test esi, esi
jle 0x44d451
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x48]
sub ecx, eax
mov edi, esi
mov dl, byte [ecx + eax]
xor byte [eax], dl
inc eax
dec edi
jne 0x44d448
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp eax, dword [ebp + 0x14]
jl 0x44d401
mov edi, 1
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x58], edi
add dword [ebp - 0x54], esi
sub eax, esi
mov dword [ebp - 0x5c], eax
test eax, eax
jne 0x44d340
jmp 0x44d4a1
mov esi, ebx
call fcn.00495820
mov esi, dword [ebp - 0x4c]
call fcn.00495820
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0057af8a
mov esp, ebp
pop ebp
ret
mov edi, 1
mov esi, ebx
call fcn.00495820
mov esi, dword [ebp - 0x4c]
call fcn.00495820
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0057af8a
mov esp, ebp
pop ebp
ret