Function at 0x425210
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x520acb
mov eax, dword fs:[0]
push eax
sub esp, 0x88
push ebx
push esi
push edi
mov eax, dword [0x58c250]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x30], esi
xor ebx, ebx
mov dword [ebp - 0x14], ebx
lea eax, [esi + 0x410]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x425251
sub eax, edx
sar eax, 1
jne 0x425297
push ecx
mov ecx, esp
mov dword [ebp + 0xc], esp
push str.Empty_XML
call fcn.00411460
mov dword [ebp - 4], ebx
mov dword [ebp - 4], 0xffffffff
mov ecx, esi
call fcn.0041f700
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x2c
push ebx
lea eax, [esi + 0x694]
push eax
call fcn.004f0550
add esp, 0xc
mov ecx, dword [ebp + 0xc]
mov dword [esi + 0x690], ecx
mov dword [ebp - 4], 1
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 2
push 0x17
push ebx
push 0x53cecc
lea ecx, [ebp - 0x1c]
call fcn.0041f350
cmp eax, ebx
jge 0x4252f0
push str.pxmlDOM.CreateInstance____uuidof__MSXML2::DOMDocument30__
push eax
lea ecx, [ebp - 0x64]
call fcn.00412090
push 0x569810
lea edx, [ebp - 0x64]
push edx
call fcn.004f08d9
mov eax, 0xb
mov word [ebp - 0x4c], ax
or ecx, 0xffffffff
mov word [ebp - 0x44], cx
mov byte [ebp - 4], 3
mov ecx, dword [ebp + 8]
call fcn.00408560
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.004050e0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x42532d
push 0x80004003
call fcn.004ef9b0
mov byte [ebp - 4], 3
mov ecx, eax
call fcn.0041fd00
push eax
lea ecx, [ebp - 0x4c]
call fcn.0041f170
lea ecx, [ebp - 0x4c]
call fcn.0041f0c0
test al, al
jne 0x42535e
mov dword [ebp - 0x3c], ebx
push 0x56b620
lea edx, [ebp - 0x3c]
push edx
call fcn.004f08d9
mov dword [ebp - 0x20], ebx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x425376
push 0x80004003
call fcn.004ef9b0
mov edi, eax
mov esi, dword [eax]
lea ecx, [ebp - 0x20]
call fcn.00404ff0
push eax
push edi
mov eax, dword [esi + 0x30]
call eax
cmp eax, ebx
jge 0x4253af
push str.pxmlDOM__get_childNodes__pNodes_
push eax
lea ecx, [ebp - 0x84]
call fcn.00412090
push 0x569810
lea ecx, [ebp - 0x84]
push ecx
call fcn.004f08d9
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x28], ebx
mov ecx, dword [ebp - 0x20]
cmp ecx, esi
jne 0x4253c7
push 0x80004003
call fcn.004ef9b0
call fcn.00404b90
cmp ebx, eax
jge 0x42562e
mov dword [ebp - 0x2c], esi
mov byte [ebp - 4], 6
mov dword [ebp + 8], esi
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x20]
cmp eax, esi
jne 0x4253f3
push 0x80004003
call fcn.004ef9b0
mov edi, eax
mov esi, dword [eax]
lea ecx, [ebp + 8]
call fcn.00404ff0
push eax
push ebx
push edi
mov edx, dword [esi + 0x1c]
call edx
test eax, eax
jns 0x425427
push str.pNodes__get_item_i__pChildNode_
push eax
lea ecx, [ebp - 0x74]
call fcn.00412090
push 0x569810
lea eax, [ebp - 0x74]
push eax
call fcn.004f08d9
mov edi, dword [ebp + 8]
test edi, edi
jne 0x425438
push 0x80004003
call fcn.004ef9b0
push 0
lea ecx, [ebp - 0x2c]
call fcn.004067e0
mov ecx, dword [edi]
mov esi, dword [ebp - 0x2c]
push esi
push edi
mov edx, dword [ecx + 0x1c]
call edx
test eax, eax
jns 0x425474
push str.pChildNode__get_nodeName_name.GetAddress___
push eax
lea ecx, [ebp - 0x94]
call fcn.00412090
push 0x569810
lea eax, [ebp - 0x94]
push eax
call fcn.004f08d9
push str.report
lea ecx, [ebp - 0x18]
call fcn.00405050
mov byte [ebp - 4], 8
or dword [ebp - 0x14], 1
mov ecx, dword [eax]
cmp esi, ecx
je 0x42550a
test esi, esi
jne 0x4254ae
test ecx, ecx
je 0x42550a
mov eax, ecx
cmp dword [eax], esi
je 0x42550a
mov ecx, dword [eax]
push ecx
mov edi, dword [sym.imp.OLEAUT32.dll_VariantInit]
call edi
test eax, eax
jne 0x4254cd
jmp 0x42550a
test ecx, ecx
jne 0x4254bb
cmp dword [esi], ecx
je 0x42550a
mov edx, dword [esi]
push edx
jmp 0x4254a0
push ecx
mov ecx, esi
call fcn.00404ac0
test eax, eax
je 0x42550a
mov edi, dword [sym.imp.OLEAUT32.dll_VariantInit]
push 0x53c104
lea ecx, [ebp - 0x38]
call fcn.00405050
mov dword [ebp - 4], 9
or dword [ebp - 0x14], 2
mov ecx, dword [eax]
cmp esi, ecx
je 0x42550a
test esi, esi
jne 0x425593
test ecx, ecx
je 0x42550a
mov eax, ecx
cmp dword [eax], esi
je 0x42550a
mov ecx, dword [eax]
push ecx
call edi
test eax, eax
jne 0x4255b7
mov bl, 1
mov dword [ebp - 4], 9
test byte [ebp - 0x14], 4
je 0x425525
and dword [ebp - 0x14], 0xfffffffb
lea ecx, [ebp - 0x34]
call fcn.00406790
mov dword [ebp - 4], 8
test byte [ebp - 0x14], 2
je 0x42553e
and dword [ebp - 0x14], 0xfffffffd
lea ecx, [ebp - 0x38]
call fcn.00406790
mov dword [ebp - 4], 7
test byte [ebp - 0x14], 1
je 0x425557
and dword [ebp - 0x14], 0xfffffffe
lea ecx, [ebp - 0x18]
call fcn.00406790
test bl, bl
je 0x425567
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x30]
call fcn.00424530
mov byte [ebp - 4], 6
mov eax, dword [ebp + 8]
test eax, eax
je 0x42557a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.00406790
inc dword [ebp - 0x28]
xor esi, esi
mov ebx, dword [ebp - 0x28]
jmp 0x4253b6
test ecx, ecx
jne 0x4255a7
cmp dword [esi], ecx
je 0x42550a
mov edx, dword [esi]
push edx
jmp 0x425500
push ecx
mov ecx, esi
call fcn.00404ac0
test eax, eax
je 0x42550a
push str.icons
lea ecx, [ebp - 0x34]
call fcn.00405050
mov dword [ebp - 4], 0xa
or dword [ebp - 0x14], 4
mov ecx, dword [eax]
cmp esi, ecx
je 0x42550a
test esi, esi
jne 0x4255fd
test ecx, ecx
je 0x42550a
mov eax, ecx
cmp dword [eax], esi
je 0x42550a
mov ecx, dword [eax]
push ecx
call edi
test eax, eax
jne 0x425627
jmp 0x42550a
test ecx, ecx
jne 0x425617
cmp dword [esi], ecx
je 0x42550a
mov edx, dword [esi]
push edx
call edi
test eax, eax
jne 0x425627
jmp 0x42550a
push ecx
mov ecx, esi
call fcn.00404ac0
test eax, eax
je 0x42550a
xor bl, bl
jmp 0x42550c
mov edi, dword [ebp - 0x30]
mov ecx, edi
call fcn.0041fa20
push edi
lea ecx, [ebp + 0xc]
call fcn.00411460
mov byte [ebp - 4], 0xb
push str.Data_
lea ecx, [ebp + 0xc]
call fcn.00402340
lea ecx, [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x24]
call fcn.00401a60
mov bl, 0xc
mov byte [ebp - 4], bl
push 0x53c3e0
lea ecx, [ebp + 0xc]
call fcn.00402340
push 0x53bb00
lea ecx, [ebp + 0xc]
call fcn.00402340
lea esi, [edi + 0x410]
push esi
lea ecx, [ebp + 0xc]
call fcn.00402340
push esi
lea ecx, [ebp - 0x24]
call fcn.00402340
push 1
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
lea edx, [ebp - 0x24]
push edx
call fcn.00401a60
mov byte [ebp - 4], 0xd
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
lea eax, [ebp + 0xc]
push eax
call fcn.00401a60
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], bl
mov ecx, edi
call fcn.00424c40
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x24]
call fcn.00401ac0
mov byte [ebp - 4], 5
lea ecx, [ebp + 0xc]
call fcn.00401ac0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x425700
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
mov byte [ebp - 4], 2
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x425721
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8