Function at 0x429c00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa00
mov esi, esp
push 0x1000
call fcn.004084d0
add esp, 4
mov dword [esi + 0x24], eax
mov dword [esi + 0x714], 0xb78688ee
mov dword [esi + 0x718], 0x91425d49
mov word [esi + 0x71c], 0xed8c
mov byte [esi + 0x71e], 0
mov eax, 0xa881fcc4
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0x577e0a50]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xe0
mov byte [esi + eax + 0x577e0a50], cl
inc eax
cmp eax, 0xa881fccf
jne 0x429c50
mov eax, dword [0x442864]
mov dword [esi + 0x414], 0xf0929cba
mov dword [esi + 0x418], 0xded0dbdb
mov dword [esi + 0x41c], 0xdac8ccdf
mov dword [esi + 0x420], 0xd1d1d4c8
mov word [esi + 0x424], 0xe1fa
mov byte [esi + 0x426], 0xc2
mov word [esi + 0x427], 0
mov byte [esi + 0x429], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esi + ecx + 0x414]
mov ebx, ecx
xor ebx, 0xe953d4cf
mov edx, ecx
or edx, 0x16ac2b30
and ebx, edx
add ebx, edx
lea edx, [edi + edi]
not edx
add edx, edi
or edx, ebx
not ebx
or ebx, edi
lea edi, [ebx + ebx]
not edi
add edi, ebx
not edx
or edx, edi
mov ebx, edx
or ebx, 0xfe
add ebx, edx
not edx
and edx, 1
add ebx, edx
add bl, 0x81
mov byte [esi + ecx + 0x414], bl
inc ecx
cmp ecx, 0x16
jne 0x429cd0
mov ecx, dword [str.1vJIvk__win_chr_main]
mov dword [esi + 0xbc], 0x88de3b39
mov dword [esi + 0xc0], 0xeeee3f87
mov dword [esi + 0xc4], 0xf124d995
mov dword [esi + 0xc8], 0xe5c827c1
mov dword [esi + 0xcc], 0xece1e69f
mov dword [esi + 0xd0], 0xdea7e0e0
mov dword [esi + 0xd4], 0x163ed8a0
mov dword [esi + 0xd8], 0xa0adf516
mov dword [esi + 0xdc], 0xd1d9c81c
mov dword [esi + 0xe0], 0xcecc1fd2
mov dword [esi + 0xe4], 0x5feb0c5
mov dword [esi + 0xe8], 0xc4bdcbe6
mov dword [esi + 0xec], 0xccc1cac7
mov dword [esi + 0xf0], 0x4535c4bc
mov dword [esi + 0xf4], 0x36353f42
mov dword [esi + 0xf8], 0x363a2833
mov dword [esi + 0xfc], 0xfdf1d14e
mov dword [esi + 0x100], 0x2c2d4a12
mov dword [esi + 0x104], 0xe5160023
mov dword [esi + 0x108], 0x25215204
mov dword [esi + 0x10c], 0x3ec112e
mov dword [esi + 0x110], 0x22d05921
mov dword [esi + 0x114], 0x2526d322
mov dword [esi + 0x118], 0xd4f22324
mov dword [esi + 0x11c], 0x393537da
mov word [esi + 0x120], 0xdf24
mov byte [esi + 0x122], 0xe0
mov word [esi + 0x123], 0
xor edx, edx
mov ebx, edx
add bl, 0x4a
xor bl, byte [esi + edx + 0xbc]
add bl, 0xb0
mov byte [esi + edx + 0xbc], bl
inc edx
cmp edx, 0x69
jne 0x429e40
movzx edx, byte [esi + 0xbc]
mov ebx, dword [esi + 0x24]
test dl, dl
je 0x429e8b
lea edi, [esi + 0xbd]
mov ebx, dword [esi + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x429e80
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x429eab
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x429ea0
mov byte [ebx], 0
movzx ecx, byte [esi + 0x414]
test cl, cl
je 0x429ecb
lea edx, [esi + 0x415]
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x429ec0
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x429eeb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x429ee0
mov byte [ebx], 0
movzx eax, byte [esi + 0x714]
test al, al
je 0x429f0b
lea ecx, [esi + 0x715]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x429f00
mov byte [ebx], 0
push 0
call fcn.0043c750
add esp, 4
xor ecx, ecx
mov dword [esi + 0xc], eax
test eax, eax
setne cl
mov eax, dword [ecx*4 + 0x44592c]
mov ecx, 0xb354313d
xor ecx, dword [0x445934]
add eax, ecx
inc eax
mov edx, ebx
jmp eax