Function at 0x42882e
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x450
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x50], 0xb92ebb11
mov dword [esp + 0x54], 0xbdd9bf23
mov dword [esp + 0x58], 0xb1e0b32f
mov dword [esp + 0x5c], 0xb53eb72b
mov dword [esp + 0x60], 0xa9aaab2f
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
xor dl, 0x1f
add dl, al
xor dl, byte [esp + ecx + 0x50]
add dl, 0x65
mov byte [esp + ecx + 0x50], dl
inc ecx
add al, 2
cmp ecx, 0x14
jne case.default.0x4287ed
lea ebp, [esp + 0x50]
lea ecx, [esp + 0x28]
push ebp
call fcn.0043be20
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447ba8]
lea ecx, [esp + 0x28]
push 0x410
call fcn.0043c0c0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447bb0]
mov eax, dword [case.0x4287ed.0]
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x447cb0]
jmp dword [0x447bcc]
mov dword [esp + 0x50], 0x568f40ad
mov dword [esp + 0x54], 0x485eb5a8
mov dword [esp + 0x58], 0x5c555fb9
mov dword [esp + 0x5c], 0x936a5abd
mov dword [esp + 0x60], 0x6887be92
mov dword [esp + 0x64], 0x6b8cba85
mov dword [esp + 0x68], 0x6e918a96
mov dword [esp + 0x6c], 0x72ab6c87
mov dword [esp + 0x70], 0xaa98829e
mov dword [esp + 0x74], 0x7aa7bd99
mov dword [esp + 0x78], 0xe7b69999
mov word [esp + 0x7c], 0
mov byte [esp + 0x7e], 0
mov eax, 0xe65f6bd2
mov ecx, 0x668250b7
mov edx, 0x19a09448
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x19a0947e]
mov ebx, eax
xor ebx, edi
lea esi, [ebx + ebx]
not esi
add esi, ebx
and esi, eax
add esi, esi
mov ebx, edi
sub ebx, esi
add ebx, ecx
sub esi, edi
add esi, edx
and esi, 0xe4
mov edi, ebx
and edi, 0x1a
sub edi, esi
and ebx, 1
or ebx, edi
add bl, 0xe5
mov byte [esp + eax + 0x19a0947e], bl
inc eax
inc ecx
dec edx
cmp edx, 0x19a09419
jne 0x4288b0
lea eax, [esp + 0x50]
lea edx, [esp + 0x44]
lea ecx, [esp + 0x28]
push 0
push 0x2b
push eax
push edx
call fcn.0043c620
nop
mov dword [esp + 0x50], 0x568f40ad
mov dword [esp + 0x54], 0x485eb5a8
mov dword [esp + 0x58], 0x5c555fb9
mov dword [esp + 0x5c], 0x936a5abd
mov dword [esp + 0x60], 0x6887be92
mov dword [esp + 0x64], 0x6b8cba85
mov dword [esp + 0x68], 0x6e918a96
mov dword [esp + 0x6c], 0x72ab6c87
mov dword [esp + 0x70], 0xaa98829e
mov dword [esp + 0x74], 0x7aa7bd99
mov dword [esp + 0x78], 0xe7b69999
mov word [esp + 0x7c], 0
mov byte [esp + 0x7e], 0
mov eax, 0xe65f6bd2
mov ecx, 0x668250b7
mov edx, 0x19a09448
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x19a0947e]
mov ebx, eax
xor ebx, edi
lea esi, [ebx + ebx]
not esi
add esi, ebx
and esi, eax
add esi, esi
mov ebx, edi
sub ebx, esi
add ebx, ecx
sub esi, edi
add esi, edx
and esi, 0xe4
mov edi, ebx
and edi, 0x1a
sub edi, esi
and ebx, 1
or ebx, edi
add bl, 0xe5
mov byte [esp + eax + 0x19a0947e], bl
inc eax
inc ecx
dec edx
cmp edx, 0x19a09419
jne 0x428990
lea eax, [esp + 0x44]
lea ecx, [esp + 0x28]
push 0
push 0x2b
push ebp
push eax
call fcn.0043c620
jmp dword [0x447bd0]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
xor eax, eax
cmp ebx, esi
sete al
jmp dword [eax*4 + 0x447bd8]
mov eax, esi
sub eax, ebx
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.004083e0
add esp, 4
mov dword [esp + 0x20], 0
xor ecx, ecx
mov dword [esp + 0x40], esi
cmp ebx, esi
setne cl
mov dword [esp + 0x38], eax
mov edi, eax
jmp dword [ecx*4 + 0x447be0]
mov ebx, dword [esp + 0x20]
mov eax, ebx
and al, 1
mov ecx, dword [case.0x4287ed.17]
nop
nop
nop
nop
nop
jmp ecx
movzx eax, al
mov esi, dword [esp + 0x38]
jmp dword [eax*4 + 0x447bf8]
jmp dword [0x447ca8]
mov esi, dword [ebx]
push 0x400
push 0
push ebp
call fcn.00408460
add esp, 0xc
lea eax, [esp + 0xc]
lea ecx, [esp + 0x28]
push eax
push 0x400
push ebp
push esi
call fcn.0043c550
cmp eax, 0xc0000000
setae al
cmp dword [esp + 0xc], 0
sete cl
or cl, al
movzx ecx, cl
xor eax, eax
jmp dword [ecx*4 + 0x447c00]
xor edi, edi
test ebx, ebx
jne 0x429073
jmp 0x429080
cmp ebx, esi
je 0x429080
push ebx
call fcn.004083f0
add esp, 4
mov ebx, edi
jmp dword [0x447cb0]