Function at 0x454af0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53add7
mov eax, dword fs:[0]
push eax
sub esp, 0x384
mov eax, dword [0x657114]
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 dword [ebp - 0x33c], ecx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0
mov ecx, 0x7d
mov dword [ebp - 4], 0
mov esi, str.lFbc0axrM4D0jcBFudIInRIpqyeaOnXPNfLkv1RnKxNxFYTIBrv70BMOKXXTibwmbLvhaqt4xHMmXQ2eNXDwfvpgljZQSwgGureZec7axeBbHEGilFTUJFwFY0mDiAzLweiq850i0lbeIfcjO1zU334Y2Fn7vCAcOpIEqR7glATfRR13yvAgUVV10UVAWi8xWqHqnv0CayvBQeZBA2kIlnKkWVHUKQmcYIZKiRRO9uoOGaFOEWTwGOMxF88PuXuwjuhzGpDwlfj00cA8zT34IV7XI2MhkdlHqdG1HkQnEBEWsUU9WJnEIM6wiWkVN0tlMXQD4tU9m4MMdOInPN47L6QISrFVKW8Y4RMGKas4HfiQQpvGkvy9rszbiSTvDJ9uu8Foxovrf6jKC0QLCFMWlatViVVd5qgGZRifLWC0pCMBSl4GKKUtGipygNgIDRvKC7GKxEoxPY3vIOrvWVmke1hyJ92sgCwCxNnvFTp2jxTGHH0Ufm0
mov dword [ebp - 0x30c], 0xf
lea edi, [ebp - 0x308]
mov dword [ebp - 0x310], 0
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x308], 0
mov byte [ebp - 0x320], 0
jne 0x454b86
xor ecx, ecx
jmp 0x454b99
lea ecx, [ebp - 0x308]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x454b90
sub ecx, edx
push ecx
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x320]
call fcn.00407bd0
lea eax, [ebp - 0x320]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x348]
call fcn.00407e30
mov eax, dword [ebp - 0x30c]
mov byte [ebp - 4], 0
cmp eax, 0x10
jb 0x454be4
inc eax
lea ecx, [ebp - 0x320]
push eax
push dword [ebp - 0x320]
call fcn.00407cd0
mov esi, dword [ebp + 0xc]
xor ecx, ecx
xor edx, edx
test esi, esi
jle 0x454c07
nop
mov al, byte [ecx + str.GUANGSU]
inc ecx
xor byte [ebx + edx], al
xor eax, eax
cmp ecx, 7
cmovge ecx, eax
inc edx
cmp edx, esi
jl 0x454bf0
lea ecx, [ebp - 0x390]
call fcn.004694a0
push 1
push 0
push ebx
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], 2
call fcn.0046bf10
push str.TheQueryInfo
lea ecx, [ebp - 0x390]
call fcn.0046a270
mov esi, eax
test esi, esi
jne 0x454c52
test ebx, ebx
je 0x454c4b
push 1
push ebx
call fcn.004682c2
add esp, 8
xor esi, esi
jmp 0x454da9
call fcn.00402160
push str.TheConfig
mov ecx, esi
call fcn.0046a270
test eax, eax
je 0x454da4
push str.InstallMD5
mov ecx, eax
call fcn.0046a270
test eax, eax
je 0x454da4
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x454da4
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x30c], 0
mov ecx, 0x41
mov byte [ebp - 4], 3
mov esi, str.U5vjZCvi54INkfST7slcLHHQhK9iD95FVdcLcJjcRlP8baJ8Xv1k3zSXv2dGXLV9RlnIBQenKV5H2olQ3DQY6GiWwD9mrnmcFX719Ghohbzc88vOHXRMSe3C5x6MWDkUIMKCJF1NwXN1YFekEm2AIWoTWIcMxYWStuV5T3PLv7TCazuATdN6NsmtuYkEtAn2CJ3zmRDQbUQvlPUSlOVgtjco8Op1rF7hOyoKvJMYQKjITe7cDvuFzFX4y6ah6R9tE0D
mov dword [ebp - 0x324], 0xf
lea edi, [ebp - 0x114]
mov dword [ebp - 0x328], 0
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x114], 0
mov byte [ebp - 0x338], 0
jne 0x454ce6
xor ecx, ecx
jmp 0x454cf9
lea ecx, [ebp - 0x114]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x454cf0
sub ecx, edx
push ecx
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x338]
call fcn.00407bd0
lea eax, [ebp - 0x338]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x314]
call fcn.00407e30
mov eax, dword [ebp - 0x324]
mov byte [ebp - 4], 3
cmp eax, 0x10
jb 0x454d44
inc eax
lea ecx, [ebp - 0x338]
push eax
push dword [ebp - 0x338]
call fcn.00407cd0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x30]
mov esi, eax
test esi, esi
je 0x454d99
call fcn.00472c99
mov eax, dword [esi + 0x20]
add eax, 8
push eax
lea eax, [ebp - 0x338]
push eax
call fcn.004cd497
mov ecx, dword [ebp - 0x33c]
add esp, 8
add ecx, 0x44
push eax
call fcn.00404010
mov eax, dword [ebp - 0x324]
cmp eax, 8
jb 0x454d99
inc eax
lea ecx, [ebp - 0x338]
push eax
push dword [ebp - 0x338]
call fcn.00402750
lea ecx, [ebp - 0x314]
call fcn.004059b0
mov esi, 1
mov eax, dword [ebp - 0x35c]
mov dword [ebp - method.TiXmlDocument.virtual_0], vtable.TiXmlDocument.0
cmp eax, 0x65d118
je 0x454dc9
push eax
call fcn.00468326
add esp, 4
lea ecx, [ebp - 0x390]
call fcn.00469900
mov ebx, dword [ebp - 0x348]
test ebx, ebx
je 0x454e67
push dword [ebp - 0x33c]
lea eax, [ebp - 0x348]
push eax
push dword [ebp - 0x344]
push ebx
call fcn.004056f0
mov ecx, dword [ebp - 0x340]
mov eax, 0x2aaaaaab
sub ecx, ebx
add esp, 0x10
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xaaaaaaa
jbe 0x454e23
call fcn.004e6401
lea eax, [eax + eax*2]
shl eax, 3
cmp eax, 0x1000
jb 0x454e5e
test bl, 0x1f
je 0x454e3a
call fcn.004e6401
mov eax, dword [ebx - 4]
cmp eax, ebx
jb 0x454e46
call fcn.004e6401
sub ebx, eax
cmp ebx, 4
jae 0x454e52
call fcn.004e6401
cmp ebx, 0x23
jbe 0x454e5c
call fcn.004e6401
mov ebx, eax
push ebx
call fcn.004bead5
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.004682d0
mov esp, ebp
pop ebp
ret 8