Function at 0x475140
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x62189b
mov eax, dword fs:[0]
push eax
sub esp, 0x888
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 dword [ebp - 0x848], ecx
mov edx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x814], 7
mov dword [ebp - 0x818], 0
mov word [ebp - 0x828], ax
cmp word [edx], ax
jne 0x47519d
xor ecx, ecx
jmp 0x4751b1
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4751a2
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x828]
call fcn.00470470
lea eax, [ebp - 0x828]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x840]
push eax
call fcn.0049afe0
add esp, 8
cmp dword [ebp - 0x814], 8
mov byte [ebp - 4], 2
jb 0x4751f6
push dword [ebp - 0x828]
call fcn.0052d900
add esp, 4
xor eax, eax
mov dword [ebp - 0x814], 7
push 0x40
mov dword [ebp - 0x818], 0
mov word [ebp - 0x828], ax
call fcn.0052d905
add esp, 4
mov dword [ebp - 0x844], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x47523c
mov ecx, eax
call fcn.0046a7f0
mov ebx, eax
mov dword [ebp - 0x844], eax
jmp 0x475244
xor ebx, ebx
mov dword [ebp - 0x844], ebx
cmp dword [ebp - 0x82c], 0x10
lea eax, [ebp - 0x840]
mov ecx, ebx
mov byte [ebp - 4], 2
cmovae eax, dword [ebp - 0x840]
push eax
call fcn.0046aca0
mov ecx, ebx
call sym.WnPicViewer.exe_public_virtual:_struct_HWND______thiscall_UiLib::CDuiTimerBase::GetHwnd_void_const
mov edi, eax
mov eax, 1
mov dword [ebp - 0x84c], edi
mov esi, dword [edi + 0x10]
sub esi, dword [edi + 0xc]
cmove esi, eax
inc esi
push esi
call fcn.0052cd80
push esi
mov ebx, eax
push 0
push ebx
call fcn.0052f1e0
mov ecx, dword [ebp - 0x84c]
add esp, 0x10
mov edi, dword [edi + 0xc]
xor edx, edx
xor esi, esi
mov ecx, dword [ecx + 0x10]
sub ecx, edi
je 0x4752d8
lea ebx, [ebx]
mov cl, byte [edx + str.GUANGSU]
xor eax, eax
xor cl, byte [edi + esi]
inc edx
cmp edx, 7
mov byte [esi + ebx], cl
cmovge edx, eax
mov eax, dword [ebp - 0x84c]
inc esi
mov edi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edi
cmp esi, eax
jb 0x4752b0
mov ecx, dword [ebp - 0x844]
test ecx, ecx
je 0x4752e8
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp - 0x894]
call fcn.0042a850
push 1
push 0
push ebx
lea ecx, [ebp - 0x894]
mov byte [ebp - 4], 4
call fcn.0042cb30
test eax, eax
jne 0x475323
test ebx, ebx
je 0x4753a6
push ebx
call fcn.0052d900
add esp, 4
xor esi, esi
jmp 0x475719
push str.TheConfigure
lea ecx, [ebp - 0x894]
call fcn.00429db0
mov ebx, eax
mov dword [ebp - 0x844], ebx
test ebx, ebx
jne 0x47535b
push str.TheQueryInfo
lea ecx, [ebp - 0x894]
call fcn.00429db0
mov ebx, eax
mov dword [ebp - 0x844], eax
test ebx, ebx
je 0x4753a6
xor eax, eax
push 0x3e6
push eax
mov word [ebp - 0x3f8], ax
lea eax, [ebp - 0x3f6]
push eax
call fcn.0052f1e0
xor eax, eax
push 0x3e6
push eax
mov word [ebp - 0x7e0], ax
lea eax, [ebp - 0x7de]
push eax
call fcn.0052f1e0
add esp, 0x18
mov ecx, ebx
push str.AppUpdate
call fcn.00429e80
mov esi, eax
test esi, esi
jne 0x4753ad
xor esi, esi
jmp 0x475719
mov ecx, dword [ebp - 0x848]
mov ecx, dword [ecx + 0x4c8]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ecx, esi
call fcn.00429e50
mov edi, eax
test edi, edi
je 0x47554a
nop
mov ebx, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
add ebx, 8
test ecx, ecx
jne 0x4753e1
xor esi, esi
jmp 0x4753f4
mov eax, dword [ecx]
call dword [eax + 0x30]
test eax, eax
jne 0x4753ee
xor esi, esi
jmp 0x4753f4
mov esi, dword [eax + 0x20]
add esi, 8
lea eax, [ebp - 0x3f8]
push eax
push ebx
call fcn.0049ad50
lea eax, [ebp - 0x7e0]
push eax
push esi
call fcn.0049ad50
xor eax, eax
mov dword [ebp - 0x7fc], 7
add esp, 0x10
mov dword [ebp - 0x800], 0
mov word [ebp - 0x810], ax
cmp word [ebp - 0x7e0], ax
jne 0x47543b
xor ecx, ecx
jmp 0x475453
lea ecx, [ebp - 0x7e0]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x475444
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x7e0]
push eax
lea ecx, [ebp - 0x810]
call fcn.00470470
xor eax, eax
mov byte [ebp - 4], 5
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
cmp word [ebp - 0x3f8], ax
jne 0x475494
xor ecx, ecx
jmp 0x4754af
lea ecx, [ebp - 0x3f8]
lea edx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4754a0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x3f8]
push eax
lea ecx, [ebp - 0x7f8]
call fcn.00470470
mov eax, dword [ebp - 0x848]
lea edx, [ebp - 0x810]
push edx
lea edx, [ebp - 0x7f8]
mov byte [ebp - 4], 6
push edx
mov ecx, dword [eax + 0x4c8]
mov eax, dword [ecx]
call dword [eax]
cmp dword [ebp - 0x7e4], 8
jb 0x4754fb
push dword [ebp - 0x7f8]
call fcn.0052d900
add esp, 4
xor eax, eax
mov dword [ebp - 0x7e4], 7
cmp dword [ebp - 0x7fc], 8
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
mov byte [ebp - 4], 4
jb 0x475533
push dword [ebp - 0x810]
call fcn.0052d900
add esp, 4
mov ecx, edi
call fcn.00429ec0
mov edi, eax
test edi, edi
jne 0x4753d0
mov ebx, dword [ebp - 0x844]
mov eax, dword [ebp - 0x848]
mov ecx, dword [eax + 0x4cc]
mov eax, dword [ecx]
call dword [eax + 0x14]
push str.UpdateSet
mov ecx, ebx
call fcn.00429e80
test eax, eax
je 0x475714
mov ecx, eax
call fcn.00429e50
mov edi, eax
test edi, edi
je 0x475714
mov ecx, dword [edi + 0x18]
mov ebx, dword [edi + 0x20]
add ebx, 8
mov eax, dword [ecx]
call dword [eax + 0x30]
test eax, eax
jne 0x475596
xor esi, esi
jmp 0x47559c
mov esi, dword [eax + 0x20]
add esi, 8
push 0x3e8
lea eax, [ebp - 0x3f8]
push 0
push eax
call fcn.0052f1e0
push 0x3e8
lea eax, [ebp - 0x7e0]
push 0
push eax
call fcn.0052f1e0
lea eax, [ebp - 0x3f8]
push eax
push ebx
call fcn.0049ad50
lea eax, [ebp - 0x7e0]
push eax
push esi
call fcn.0049ad50
xor eax, eax
mov dword [ebp - 0x7fc], 7
add esp, 0x28
mov dword [ebp - 0x800], 0
mov word [ebp - 0x810], ax
cmp word [ebp - 0x7e0], ax
je 0x47561f
lea eax, [ebp - 0x7e0]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x475610
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x7e0]
push eax
lea ecx, [ebp - 0x810]
call fcn.00470470
xor eax, eax
mov byte [ebp - 4], 7
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
cmp word [ebp - 0x3f8], ax
jne 0x475660
xor ecx, ecx
jmp 0x47567f
lea ecx, [ebp - 0x3f8]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x475670
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x3f8]
push eax
lea ecx, [ebp - 0x7f8]
call fcn.00470470
mov eax, dword [ebp - 0x848]
lea edx, [ebp - 0x810]
push edx
lea edx, [ebp - 0x7f8]
mov byte [ebp - 4], 8
push edx
mov ecx, dword [eax + 0x4cc]
mov eax, dword [ecx]
call dword [eax]
cmp dword [ebp - 0x7e4], 8
jb 0x4756cb
push dword [ebp - 0x7f8]
call fcn.0052d900
add esp, 4
xor eax, eax
mov dword [ebp - 0x7e4], 7
cmp dword [ebp - 0x7fc], 8
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
mov byte [ebp - 4], 4
jb 0x475703
push dword [ebp - 0x810]
call fcn.0052d900
add esp, 4
mov ecx, edi
call fcn.00429ec0
mov edi, eax
test edi, edi
jne 0x475580
mov esi, 1
mov eax, dword [ebp - 0x860]
mov byte [ebp - 4], 2
mov dword [ebp - method.TiXmlDocument.virtual_0], vtable.TiXmlDocument.0
cmp eax, 0x708f6c
je 0x47573d
push eax
call fcn.0052ef7e
add esp, 4
lea ecx, [ebp - 0x894]
call fcn.0042a4e0
cmp dword [ebp - 0x82c], 0x10
jb 0x47575f
push dword [ebp - 0x840]
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 4