Function at 0x474e30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x621809
mov eax, dword fs:[0]
push eax
sub esp, 0x78
mov eax, dword [0x6e4770]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x2c], ebx
push 0x29
push str.http:__update.wn51.com_kantu_updatev1.dat
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.0046b100
push 0x40
mov dword [ebp - 4], 0
call fcn.0052d905
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x474eab
mov ecx, eax
call fcn.0046a7f0
mov esi, eax
mov dword [ebp - 0x38], eax
jmp 0x474eb0
xor esi, esi
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov ecx, esi
mov byte [ebp - 4], 0
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0046aca0
mov ecx, esi
call sym.WnPicViewer.exe_public_virtual:_struct_HWND______thiscall_UiLib::CDuiTimerBase::GetHwnd_void_const
mov dword [ebp - 0x3c], eax
mov esi, dword [eax + 0x10]
sub esi, dword [eax + 0xc]
mov eax, 1
cmove esi, eax
inc esi
push esi
call fcn.0052cd80
push esi
mov edi, eax
push 0
push edi
call fcn.0052f1e0
mov ecx, dword [ebp - 0x3c]
add esp, 0x10
xor edx, edx
xor esi, esi
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x34], eax
sub ecx, eax
je 0x474f37
mov ebx, dword [ebp - 0x3c]
mov ecx, eax
lea ecx, [ecx]
mov al, byte [ecx + esi]
mov cl, byte [edx + str.GUANGSU]
inc edx
xor cl, al
xor eax, eax
cmp edx, 7
mov byte [esi + edi], cl
mov ecx, dword [ebx + 0xc]
cmovge edx, eax
mov eax, dword [ebx + 0x10]
inc esi
sub eax, ecx
cmp esi, eax
jb 0x474f10
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x474f44
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp - 0x84]
call fcn.0042a850
push 1
push 0
push edi
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 2
call fcn.0042cb30
test eax, eax
jne 0x474fd1
test edi, edi
je 0x474f74
push edi
call fcn.0052d900
add esp, 4
xor esi, esi
mov eax, dword [ebp - 0x50]
mov byte [ebp - 4], 0
mov dword [ebp - 0x84], vtable.TiXmlDocument.0
cmp eax, 0x708f6c
je 0x474f97
push eax
call fcn.0052ef7e
add esp, 4
lea ecx, [ebp - 0x84]
call fcn.0042a4e0
cmp dword [ebp - 0x14], 0x10
jb 0x474fb3
push dword [ebp - 0x28]
call fcn.0052d900
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052dfa4
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x474fde
push edi
call fcn.0052d900
add esp, 4
push str.TheConfigure
lea ecx, [ebp - 0x84]
call fcn.00429db0
test eax, eax
jne 0x47500a
push str.TheQueryInfo
lea ecx, [ebp - 0x84]
call fcn.00429db0
test eax, eax
je 0x474f74
push str.AppUpdate
mov ecx, eax
call fcn.00429e80
mov esi, eax
test esi, esi
je 0x474f74
mov ecx, dword [ebx + 0x4b8]
call fcn.004765c0
push dword [ebx + 0x4b8]
mov ecx, ebx
push esi
call fcn.00475950
push dword [ebx + 0x4b8]
mov ecx, ebx
call fcn.00475800
push str.UpdateMode
mov ecx, esi
call fcn.00429e80
test eax, eax
je 0x47511a
push str.UpdateItem
mov ecx, eax
call fcn.00429e80
mov ebx, eax
test ebx, ebx
je 0x475117
mov esi, dword [ebp - 0x2c]
add esi, 0x4bc
lea esp, [esp]
push 0x38
call fcn.0052d905
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x4750a0
mov ecx, eax
call fcn.00471b60
mov edi, eax
jmp 0x4750a2
xor edi, edi
mov ecx, dword [ebp - 0x2c]
push edi
push ebx
mov byte [ebp - 4], 2
mov dword [ebp - 0x30], edi
call fcn.00475bb0
mov ecx, ebx
call fcn.00429ec0
mov ebx, eax
lea ecx, [ebp - 0x30]
mov eax, dword [esi + 4]
cmp ecx, eax
jae 0x4750f4
mov ecx, dword [esi]
lea edx, [ebp - 0x30]
cmp ecx, edx
ja 0x4750f4
mov edi, edx
sub edi, ecx
sar edi, 2
cmp eax, dword [esi + 8]
jne 0x4750e4
push 1
mov ecx, esi
call fcn.004a0db0
mov ecx, dword [esi + 4]
mov eax, dword [esi]
test ecx, ecx
je 0x47510b
mov eax, dword [eax + edi*4]
mov dword [ecx], eax
jmp 0x47510b
cmp eax, dword [esi + 8]
jne 0x475102
push 1
mov ecx, esi
call fcn.004a0db0
mov eax, dword [esi + 4]
test eax, eax
je 0x47510b
mov dword [eax], edi
add dword [esi + 4], 4
test ebx, ebx
jne 0x475080
mov ebx, dword [ebp - 0x2c]
mov ecx, ebx
call fcn.00473530
test eax, eax
je 0x474f74
mov esi, 1
jmp 0x474f76