Function at 0x4823e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
push ebx
mov esp, esp
push esi
mov esi, ecx
push edi
mov dword [esp - 0x44], 0x508e94fc
push dword [esi + 0x24]
call fcn.0048b720
mov edi, dword [esi + 0x24]
xchg edx, edx
add esp, 4
test eax, eax
je 0x482424
push eax
mov dword [esp - 0x44], 0x7a76ce4a
mov eax, dword [0x4ba9c0]
xor eax, dword [0x4ba958]
call eax
mov esp, esp
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov dword [ebx + 4], edi
mov dword [esp - 0x30], esp
cmp byte [esi + 0x2c], 0
jne 0x482620
nop
mov dword [esp - 4], 0x1c3cab1d
mov ecx, ecx
add dword [esp - 4], 0x4f7de2df
xor dword [esp - 4], 0x1cdae89e
xor dword [esp - 4], 0x7bff0987
mov ebp, ebp
add dword [esp - 4], 0x5414109b
sub dword [esp - 4], 0x60b37d7e
sub esp, 4
lea ecx, [ebp - 0xc]
mov dword [esp - 0x24], esp
call fcn.00488190
xor ecx, ecx
lea esp, [esp]
mov esi, esi
mov al, byte [ecx + 0x4ba3fc]
xor al, 0xe
mov byte [ebp + ecx - 0x1c], al
inc ecx
mov dword [esp - 0x2c], 0x6b37dd00
cmp ecx, 0x10
jb 0x482486
lea eax, [ebp - 0x1c]
mov ecx, ecx
push eax
lea ecx, [ebp - 0xc]
call fcn.00488b10
mov eax, dword [ebx]
mov dword [esp - 0x1c], 0x1f710314
test eax, eax
jne 0x4824c2
xor ebx, ebx
xchg esp, esp
jmp 0x4824d4
push eax
mov eax, dword [0x4ba9c8]
xchg ebx, ebx
xor eax, dword [0x4ba958]
call eax
mov ebx, eax
xor edi, edi
mov dword [esp - 0x1c], 0x55dc78
cmp dword [esi + 0x24], edi
jbe 0x48250d
nop
lea eax, [ebx + edi]
xchg edx, edx
push eax
mov eax, dword [esi + 0xc]
lea ecx, [ebp - 0xc]
mov esi, esi
add eax, edi
add eax, dword [esi + 4]
push eax
call fcn.004883e0
mov dword [esp - 0x40], edi
add edi, 8
cmp edi, dword [esi + 0x24]
jb 0x4824e4
mov dword [esp - 0x30], ebx
lea ecx, [ebp - 0xc]
call fcn.00488290
mov eax, dword [esi + 8]
xor eax, 0x6fa836ea
xchg esp, esp
cmp eax, 0x5e9a70a8
jne 0x48260f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edi, edi
test eax, eax
jne 0x482539
xor edi, edi
jmp 0x48254f
push eax
mov eax, dword [0x4ba9c8]
mov edx, edx
xor eax, dword [0x4ba958]
call eax
mov edi, eax
mov dword [esp - 0x28], edx
mov ecx, dword [0x4ba9e0]
lea eax, [ebp - 0x84]
xor ecx, dword [0x4ba958]
push eax
xchg ebx, ebx
call ecx
push dword [esi + 0x24]
lea eax, [ebp - 0x84]
mov dword [esp - 0x40], 0x7e40673d
push edi
push eax
mov eax, dword [0x4ba9e8]
xchg ebp, ebp
xor eax, dword [0x4ba958]
call eax
lea eax, [ebp - 0x84]
push eax
mov esp, esp
mov eax, dword [0x4ba9f0]
xor eax, dword [0x4ba958]
call eax
mov dword [esp - 0x30], ecx
mov ecx, dword [esi + 4]
lea edx, [ebp - 0x2c]
add ecx, 0x14
mov edi, edi
mov esi, 0x439f9ebe
sub esi, 0x2d57cd26
sub esi, 0xab4d7fe
xchg ebp, ebp
xor esi, 0x712f0a68
sub esi, 0x2c11e8a3
add esi, 0xcdaa532
sub esi, 0x5b86b075
mov dword [esp - 0x44], 0x474ee366
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x482607
mov dword [esp - 0x34], ebp
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4825e0
mov edx, edx
mov al, 0x23
add al, 0x13
xor al, 0x72
sub al, 0x2e
mov ebx, ebx
xor al, 0x21
sub al, 0x36
jmp 0x482609
xor al, al
test al, al
xchg edi, edi
jne 0x482653
pop edi
pop esi
xor al, al
xchg edi, edi
pop ebx
mov esp, ebp
pop ebp
mov dword [esp - 0xc], esp
ret 4
test eax, eax
je 0x48263a
push eax
mov dword [esp - 0x34], ebx
mov eax, dword [0x4ba9c8]
xor eax, dword [0x4ba958]
call eax
mov dword [esp - 0x18], ebx
push dword [esi + 0x24]
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 4]
mov edx, edx
push ecx
push eax
call fcn.0048bb50
add esp, 0xc
mov dword [esp - 0x30], esp
pop edi
pop esi
mov al, 0x69
xchg ebp, ebp
sub al, 0x27
sub al, 8
add al, 0x2d
sub al, 0x37
mov dword [esp - 0x10], 0x2d76f58b
sub al, 0x27
xor al, 8
pop ebx
mov esp, ebp
xchg ebx, ebx
pop ebp
ret 4