Function at 0x42a750
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x9e0
push 0x1000
call fcn.00407f60
add esp, 4
mov dword [esp + 0x730], 0x18170bef
mov dword [esp + 0x734], 0x6737e68
mov word [esp + 0x738], 0xce2d
mov esi, 0x1d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + esi + 0x713]
lea ecx, [esi - 0x12735b00]
or ecx, edx
and edx, esi
sub ecx, edx
mov edx, ecx
not edx
and edx, 0xe9
and ecx, 0x16
sub ecx, edx
inc cl
mov byte [esp + esi + 0x713], cl
inc esi
cmp esi, 0x27
jne 0x42a7a0
mov dword [esp + 0x1c], eax
mov eax, dword [0x441014]
mov dword [esp + 4], eax
mov dword [esp + 0x400], 0xe4c6c8ae
mov dword [esp + 0x404], 0x20c0707
mov dword [esp + 0x408], 0xe1c180b
mov dword [esp + 0x40c], 0x1d1d1804
mov word [esp + 0x410], 0xd5ce
mov byte [esp + 0x412], 0xb6
xor eax, eax
nop
mov ecx, eax
add cl, 0x84
xor cl, byte [esp + eax + 0x400]
add cl, 0xe0
mov byte [esp + eax + 0x400], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x13
jb 0x42a820
mov eax, dword [str.GThHyI]
mov dword [esp + 8], eax
mov dword [esp + 0xb8], 0xd9e98a8a
mov dword [esp + 0xbc], 0xdfd18e24
mov dword [esp + 0xc0], 0xf083e8d6
mov dword [esp + 0xc4], 0xc4e786e2
mov dword [esp + 0xc8], 0xddc6c7cc
mov dword [esp + 0xcc], 0xcfc8c1c3
mov dword [esp + 0xd0], 0x97a9c9c3
mov dword [esp + 0xd4], 0x41c2f495
mov dword [esp + 0xd8], 0xb0ae99ef
mov dword [esp + 0xdc], 0xbfb3eeb1
mov dword [esp + 0xe0], 0xe489b1a6
mov dword [esp + 0xe4], 0xa5b2ba85
mov dword [esp + 0xe8], 0xbda6bba4
mov dword [esp + 0xec], 0xa4baa5af
mov dword [esp + 0xf0], 0xb7b2aea1
mov dword [esp + 0xf4], 0x97b5b9b0
mov dword [esp + 0xf8], 0xccd6f09d
mov dword [esp + 0xfc], 0x9d929bb1
mov dword [esp + 0x100], 0xc4d1a180
mov dword [esp + 0x104], 0x849e93a7
mov dword [esp + 0x108], 0xb8dbb09d
mov dword [esp + 0x10c], 0xc1df9d98
mov dword [esp + 0x110], 0xc4c1d2c0
mov dword [esp + 0x114], 0x35edc2c7
mov dword [esp + 0x118], 0x48525629
mov word [esp + 0x11c], 0x2e47
mov byte [esp + 0x11e], 0xf
mov edx, 0x4ea8a999
mov esi, 0x31575667
nop
nop
movzx eax, byte [esp + edx - 0x4ea8a8e1]
lea ecx, [edx - 0x4ea8a8f8]
and ecx, eax
mov ebx, ecx
and ebx, 0xfffffffd
mov edi, ecx
or edi, 0xfffffffd
inc edi
imul edi, ebx
mov ebx, ecx
and ebx, 2
or ecx, 2
imul ecx, ebx
mov ebx, ecx
sub ebx, edi
add edi, eax
sub ebx, eax
add ebx, esi
or ebx, 1
add ebx, edi
sub edi, ecx
lea eax, [edx + edi]
dec eax
sub ebx, ecx
add ebx, edx
add ebx, ebx
mov ecx, ebx
and ecx, eax
or ebx, eax
xor ebx, 1
add ebx, ecx
mov byte [esp + edx - 0x4ea8a8e1], bl
inc edx
dec esi
cmp edx, 0x4ea8aa00
jne 0x42a980
movzx eax, byte [esp + 0xb8]
mov ecx, dword [esp + 0x1c]
mov esi, ecx
test al, al
je 0x42aa0b
lea edx, [esp + 0xb9]
mov esi, ecx
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x42aa00
mov byte [esi], 0
mov ecx, dword [esp + 8]
movzx eax, byte [ecx]
test al, al
je 0x42aa2b
inc ecx
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42aa20
mov byte [esi], 0
movzx eax, byte [esp + 0x400]
test al, al
je 0x42aa5b
lea ecx, [esp + 0x401]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42aa50
mov byte [esi], 0
mov ecx, dword [esp + 4]
movzx eax, byte [ecx]
test al, al
je 0x42aa7b
inc ecx
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42aa70
mov byte [esi], 0
movzx eax, byte [esp + 0x730]
test al, al
je 0x42aaab
lea ecx, [esp + 0x731]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42aaa0
mov byte [esi], 0
push 0
call fcn.0043c1f0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ecx*4 + 0x444480]
mov ecx, 0xce701958
xor ecx, dword [0x444488]
add ecx, edx
inc ecx
jmp ecx