Function at 0x42b36a
Capabilities:
Encode data using xor

Disassembly:
mov dword [ebp - 0x94], 0xebdc9ab7
mov dword [ebp - 0x90], 0xdeecd4ef
mov dword [ebp - 0x8c], 0xebdfcb23
mov dword [ebp - 0x88], 0xc429d0e6
mov dword [ebp - 0x84], 0xf2c7d4e4
mov dword [ebp - 0x80], 0xcccd2437
mov dword [ebp - 0x7c], 0xf3fcfcf3
mov word [ebp - 0x78], 0x6df3
mov dword [ebp - 0x76], 0
mov byte [ebp - 0x72], 0
mov eax, 0x3e
mov ecx, 0xc1
nop
nop
movzx esi, byte [ebp + eax - 0xd2]
mov ebx, ecx
and ebx, 0xa
mov edx, eax
and edx, 0x75
or edx, ebx
mov ebx, ecx
or ebx, esi
xor edx, 0x75
or edx, ecx
and edx, esi
xor edx, ebx
mov bl, 0xc9
sub bl, dl
mov byte [ebp + eax - 0xd2], bl
inc eax
dec ecx
cmp eax, 0x61
jne case.default.0x42a5f7
mov ecx, dword [ebp - 0x3c]
push edi
call fcn.0042ce30
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
xor ebx, ebx
jmp dword [ecx*4 + 0x44a010]
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xb0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xa8]
mov dword [eax + 4], ecx
mov eax, 0xffffffff
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42ab91
mov esi, dword [ebp - 0xb4]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [edi], 0
mov dword [edi + 4], 0
push 0xe18a387a
push dword [0x44f2c0]
mov dword [ebp - 0x24], edx
call fcn.004412a0
add esp, 8
push edi
push 1
push 0
push 0
push esi
push 0
push dword [ebp - 0xac]
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a130]
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
jmp dword [0x44a138]
mov edx, dword [ebp - 0x24]
movzx eax, byte [edx]
test al, al
mov ecx, dword [ebp - 0x18]
je 0x42abc2
inc edx
mov edi, dword [ebp - 0x40]
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x42abb5
jmp 0x42abc5
mov edi, dword [ebp - 0x40]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [edi]
test esi, esi
je 0x42abff
mov ecx, dword [edi + 4]
mov edx, esi
and edx, 3
je 0x42ac03
xor edi, edi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x42abe1
add eax, edi
mov edx, esi
sub edx, edi
mov ebx, eax
mov edi, dword [ebp - 0x40]
jmp 0x42ac05
mov esi, eax
jmp 0x42ac45
mov edx, esi
cmp esi, 4
mov esi, ebx
jb 0x42ac45
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x42ac0c
mov byte [esi], 0xa
inc esi
push 0xa7ffa4f5
push dword [0x44f2a8]
call fcn.004412a0
add esp, 8
push dword [edi + 4]
call eax
mov dl, 1
mov ebx, dword [ebp - 0x20]
jmp dword [0x44a138]
push dword [ebp - 0xa8]
mov edi, esi
mov esi, edx
call fcn.00408820
mov edx, esi
mov esi, edi
add esp, 4
mov ecx, dword [ebp - 0x38]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x44a0d0]
mov dword [ebp - 0x10], ecx
jmp dword [0x44a170]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], edx
mov esi, dword [ebp - 0x2c]
mov ecx, esi
call fcn.0042cfb0
push esi
call fcn.00408820
add esp, 4
xor esi, esi
jmp dword [0x44a158]
mov dword [ebp - 0x10], ecx
push dword [ebp - 0x3c]
call fcn.00408820
add esp, 4
mov ecx, dword [ebp - 0x10]
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44a168]
push dword [ebp - 0xa4]
call fcn.00408820
add esp, 4
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44a168]
mov eax, dword [ebp - 0x18]
mov byte [eax], 0
mov dword [esi], 0xa7a2a171
mov dword [esi + 4], 0xa38f8eb5
mov dword [esi + 8], 0xb8bcbeb1
mov dword [esi + 0xc], 0xbaaa9673
mov dword [esi + 0x10], 0x8f75b481
mov dword [esi + 0x14], 0x8983868b
mov dword [esi + 0x18], 0x93964f8b
mov word [esi + 0x1c], 0x1598
mov dword [esi + 0x1e], 0
mov eax, 0xd100960c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0x2eff69f4]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xc4
mov byte [esi + eax + 0x2eff69f4], cl
inc eax
cmp eax, 0xd100962e
jne 0x42b230
mov eax, dword [ebp - 0x18]
sub eax, edi
mov ecx, dword [ebp + 8]
push eax
push edi
push esi
call fcn.00409660
mov dword [ebp - 0x10], eax
jmp dword [0x44a170]
jmp dword [0x44a17c]
mov eax, dword [ebp - 0x10]
and al, 1
mov esi, dword [ebp - 0x28]
test esi, esi
jne 0x42b00d
jmp fcn.0042b044
push edi
call fcn.00408820
add esp, 4
push edi
call fcn.00408820
add esp, 4
jmp dword [0x44a184]
push eax
sub esp, 0x10
mov esi, esp
sub esp, 0x14
mov ebx, esp
push eax
mov ecx, esp
sub esp, 8
mov edi, esp
sub esp, 0x10
mov edx, esp
jmp eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x60], ecx
sub esp, 0x10
mov dword [ebp - 0x34], esp
sub esp, 0x1c
mov dword [ebp - 0x24], esp
sub esp, 0x20
mov dword [ebp - 0x28], esp
sub esp, 0x18
mov dword [ebp - 0x30], esp
sub esp, 0x1c
mov dword [ebp - 0x2c], esp
sub esp, 0xc
mov dword [ebp - 0x64], esp
sub esp, 0x20
mov eax, esp
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x40], eax
push eax
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x4c], esp
sub esp, 0x1c
mov dword [ebp - 0xa8], esp
sub esp, 8
mov dword [ebp - 0x70], esp
sub esp, 8
mov dword [ebp - 0x44], esp
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x84], eax
sub esp, 0x34
mov eax, esp
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x68], eax
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xac], eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebx], 0x43034125
mov dword [ebx + 4], 0x47d645d4
mov dword [ebx + 8], 0x4beb490c
mov dword [ebx + 0xc], 0x4fef4dd8
mov dword [ebx + 0x10], 0xb3b2b1d5
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x10], ebx
movzx eax, byte [ebx + esi]
mov edi, esi
xor edi, 0xf26c730f
mov edx, esi
or edx, 0x10
and edx, edi
mov edi, eax
not edi
mov ebx, edi
or edi, 0xef
add edi, eax
inc edi
mov ecx, esi
and ecx, 0xf
xor ecx, 0xf26c730f
and ebx, 0x10
or edi, ebx
mov eax, ecx
sub eax, edx
sub edx, ecx
mov ebx, eax
and ebx, 0xd0606310
or eax, 0x2a1d14ef
add eax, edx
mov ecx, eax
not ecx
and ecx, ebx
xor eax, ebx
add eax, ebx
mov ebx, dword [ebp - 0x10]
sub eax, ecx
xor eax, edi
add al, 0x50
mov byte [ebx + esi], al
inc esi
cmp esi, 0x14
jne 0x42b420
mov eax, ebx
mov edx, dword [ebp - 0x14]
mov edi, edx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
add ebx, 0x14
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, dword [ebp - 0x60]
push ebx
push 0
push 0
push 9
push edx
push 0
call dword [0x44f2b0]
mov edi, dword [ebp - 0x20]
mov dword [edi], 0xa3626143
mov word [edi + 4], 0
mov ecx, 0xe63fbde8
nop
nop
movzx edx, byte [edi + ecx + 0x19c04218]
xor edx, ecx
add edx, 0x80c14a77
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [edi + ecx + 0x19c04218], dl
inc ecx
cmp ecx, 0xe63fbdee
jne 0x42b4d0
xor ecx, ecx
cmp eax, dword [edi]
setne cl
jmp dword [ecx*4 + 0x44a198]