Function at 0x42e634
Capabilities:
Copy file

Disassembly:
push 0x90
mov eax, 0x47fe81
call fcn.004542d2
mov esi, edx
mov dword [ebp - 0x40], esi
mov edi, ecx
mov dword [ebp - 0x18], edi
lea eax, [ebp - 0x20]
xor ebx, ebx
push eax
push str.ApplyXmlIniConfUpdate
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x20], ebx
call fcn.0041e3a4
mov dword [ebp - 4], ebx
push ecx
lea ecx, [ebp - 0x9c]
call fcn.00435951
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.0040aa2d
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x14]
call fcn.0040aa2d
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x3c]
call fcn.0040aa2d
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
call fcn.0040aa2d
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1c]
call fcn.0044ebb0
lea ecx, [ebp - 0x34]
call fcn.0044ebb0
mov bh, byte [0x4a73d0]
xor eax, eax
mov ecx, edi
mov byte [ebp - 0x29], bh
mov byte [ebp - 0x35], al
call fcn.0044ece0
test al, al
jne 0x42e78a
mov ecx, edi
call fcn.004528c0
cmp eax, 2
jne 0x42e78a
mov ecx, edi
call fcn.0044fd40
push eax
lea ecx, [ebp - 0x48]
call fcn.0040a5c2
lea ecx, [ebp - 0x48]
call fcn.0041aee1
mov ecx, eax
call fcn.0040930a
push str.iniconf
push dword [ebp - 0x48]
call fcn.0045d493
pop ecx
pop ecx
test eax, eax
jne 0x42e78a
push 0x49449c
lea eax, [ebp - 0x30]
mov ecx, edi
push eax
call fcn.0044f130
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.0044ece0
test al, al
je 0x42e750
push 0x49449c
push str._s_attribute_is_mandatory_for_iniconf_node
call fcn.0041defb
pop ecx
pop ecx
mov dword [ebp - 0x20], 0xd
jmp 0x42e791
lea ecx, [ebp - 0x1c]
call fcn.004528e0
push eax
lea ecx, [ebp - 0x14]
call fcn.0040a5c2
lea ecx, [ebp - 0x14]
call fcn.0041aee1
mov ecx, eax
call fcn.0040930a
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
jne 0x42e7f4
push 0x49449c
push str._s_attribute_is_empty
call fcn.0041defb
pop ecx
pop ecx
mov dword [ebp - 0x20], 0x57
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x3c]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
xor eax, eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x9c]
call fcn.00435973
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x78]
call fcn.0041e418
mov eax, esi
call fcn.004542a0
ret
push eax
push str.Processing_iniconf_node:__s
call fcn.0041defb
pop ecx
pop ecx
push str.flags
lea eax, [ebp - 0x30]
mov ecx, edi
push eax
call fcn.0044f130
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.0044ed10
mov dword [ebp - 0x30], 9
test eax, eax
je 0x42e8a1
lea ecx, [ebp - 0x1c]
call fcn.004528e0
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x10]
call fcn.0041ecb7
mov esi, dword [ebp - 0x10]
push 9
push str.mustexist
push esi
call fcn.0046a3d9
add esp, 0xc
test eax, eax
jne 0x42e85d
add esi, 0x12
mov bl, 1
mov dword [ebp - 0x10], esi
jmp 0x42e834
push 3
push 0x493454
push esi
call fcn.0046a3d9
add esp, 0xc
test eax, eax
jne 0x42e87b
add esi, 6
mov bh, 1
mov dword [ebp - 0x10], esi
jmp 0x42e834
lea ecx, [ebp - 0x10]
call fcn.0041ecb7
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov edi, dword [ebp - 0x18]
mov byte [ebp - 0x29], bh
cmp word [eax], cx
je 0x42e89e
push eax
push str.Invalid_flag__s
jmp 0x42e740
mov esi, dword [ebp - 0x40]
xor eax, eax
lea ecx, [ebp - 0x14]
push esi
push eax
mov dl, 1
call fcn.0041efbe
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x42e791
lea ecx, [ebp - 0x14]
call fcn.0041f8a4
test al, al
jne 0x42e8f6
lea eax, [ebp - 0x14]
mov edx, 0x4a74ac
push eax
lea ecx, [ebp - 0x10]
call fcn.0041ae36
pop ecx
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
push eax
call fcn.0040943e
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
lea ecx, [ebp - 0x14]
call fcn.004204c3
test al, al
je 0x42e915
push dword [ebp - 0x14]
push str.Destination_ini_is_already_scheduled_for_replace__using__s_destination_instead
call fcn.0041defb
pop ecx
pop ecx
mov byte [ebp - 0x29], 1
test bl, bl
je 0x42e94a
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x2a]
push esi
push eax
xor dl, dl
call fcn.00416e56
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x42e791
cmp byte [ebp - 0x2a], al
jne 0x42e94a
push str.Attribute_mustexist_is_specified__but_the_ini_file_is_missing__skipping
call fcn.0041defb
pop ecx
jmp 0x42e791
push 0x5c
push dword [ebp - 0x14]
call fcn.00454aca
pop ecx
pop ecx
test eax, eax
je 0x42e990
sub eax, dword [ebp - 0x14]
sar eax, 1
cmp eax, 0xffffffff
je 0x42e990
inc eax
lea ecx, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00416bff
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x44]
push eax
call fcn.0040943e
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
jmp 0x42e99c
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040943e
lea eax, [ebp - 0x44]
push eax
lea edx, [esi + 4]
lea ecx, [ebp - 0x18]
call fcn.0041ae36
mov byte [ebp - 4], 0xa
lea ecx, [esi + 8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x10]
call fcn.0041ae36
pop ecx
pop ecx
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3c]
push eax
call fcn.0040943e
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov ecx, dword [ebp - 0x3c]
call fcn.0041facf
test al, al
je 0x42e9fa
mov bh, 1
jmp 0x42ea4d
mov ecx, dword [ebp - 0x14]
call fcn.0041facf
test al, al
je 0x42ea4a
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
push 1
push dword [ebp - 0x3c]
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov esi, eax
call ebx
test esi, esi
jne 0x42ea47
cmp eax, 0x20
je 0x42ea2c
cmp eax, 5
jne 0x42ea3d
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
sub dword [ebp - 0x30], 1
jns 0x42ea0c
call ebx
mov dword [ebp - 0x20], eax
jmp 0x42e791
mov esi, dword [ebp - 0x40]
mov bh, byte [ebp - 0x35]
lea eax, [ebp - 0x30]
mov ecx, edi
push eax
call fcn.0044f6c0
lea ecx, [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
call fcn.0044ed10
test eax, eax
je 0x42ef68
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x18]
call fcn.0040aa2d
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x28]
call fcn.0040aa2d
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x24]
call fcn.0040aa2d
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x10]
call fcn.0040aa2d
mov byte [ebp - 4], 0x11
xor eax, eax
lea ecx, [ebp - 0x34]
mov bl, al
call fcn.004528c0
cmp eax, 2
je 0x42eae6
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
jmp 0x42ed2c
push esi
lea edx, [ebp - 0x2a]
lea ecx, [ebp - 0x34]
call fcn.0041a8a0
pop ecx
test eax, eax
je 0x42eb29
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
jmp 0x42ed2c
cmp byte [ebp - 0x2a], 0
jne 0x42eb61
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
jmp 0x42ed2c
lea ecx, [ebp - 0x34]
call fcn.0044fd40
push eax
lea ecx, [ebp - 0x18]
call fcn.0040a5c2
lea ecx, [ebp - 0x18]
call fcn.0041aee1
mov ecx, eax
call fcn.0040930a
push 0x494668
push dword [ebp - 0x18]
call fcn.0045d493
pop ecx
pop ecx
test eax, eax
jne 0x42ef16
push str.flags
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x34]
call fcn.0044f130
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.0044ed10
test eax, eax
je 0x42ec07
lea ecx, [ebp - 0x1c]
call fcn.004528e0
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x30]
call fcn.0041ecb7
mov esi, dword [ebp - 0x30]
push 6
push str.delete
push esi
call fcn.0046a3d9
add esp, 0xc
test eax, eax
jne 0x42ebee
add esi, 0xc
mov bl, 1
mov dword [ebp - 0x30], esi
jmp 0x42ebc5
lea ecx, [ebp - 0x30]
call fcn.0041ecb7
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp word [eax], cx
jne 0x42ed61
mov esi, dword [ebp - 0x40]
push str.name
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x34]
call fcn.0044f130
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.0044ece0
test al, al
jne 0x42eecf
lea ecx, [ebp - 0x1c]
call fcn.004528e0
push eax
lea ecx, [ebp - 0x28]
call fcn.0040a5c2
lea ecx, [ebp - 0x28]
call fcn.0041aee1
mov ecx, eax
call fcn.0040930a
mov eax, dword [ebp - 0x28]
cmp dword [eax - 0xc], 0
je 0x42ee85
push str.section
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x34]
call fcn.0044f130
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.0044ece0
test al, al
jne 0x42ee3b
lea ecx, [ebp - 0x1c]
call fcn.004528e0
push eax
lea ecx, [ebp - 0x24]
call fcn.0040a5c2
lea ecx, [ebp - 0x24]
call fcn.0041aee1
mov ecx, eax
call fcn.0040930a
mov eax, dword [ebp - 0x24]
cmp dword [eax - 0xc], 0
je 0x42edf1
push str.value
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x34]
call fcn.0044f130
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.0044ece0
test al, al
je 0x42ecd7
test bl, bl
je 0x42eda7
lea ecx, [ebp - 0x1c]
call fcn.004528e0
push eax
lea ecx, [ebp - 0x10]
call fcn.0040a5c2
push dword [ebp - 0x3c]
test bl, bl
je 0x42ecf4
xor eax, eax
push eax
jmp 0x42ecf7
push dword [ebp - 0x10]
push dword [ebp - 0x28]
push dword [ebp - 0x24]
call edi
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0040aa0b
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x34]
call fcn.0044fdd0
lea ecx, [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
call fcn.0044ed10
test eax, eax
jne 0x42ea73
jmp 0x42ef68
push eax
push str.Invalid_flag__s_in_key_node
call fcn.0041defb
pop ecx
pop ecx
mov dword [ebp - 0x20], 0xd
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
jmp 0x42ef59
push str.value
push str._s_attribute_is_mandatory_for_key_node
call fcn.0041defb
pop ecx
pop ecx
mov dword [ebp - 0x20], 0xd
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
jmp 0x42ef59
push str.section
push str._s_attribute_is_empty_for_key_node
call fcn.0041defb
pop ecx
pop ecx
mov dword [ebp - 0x20], 0x57
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
jmp 0x42ef59
push str.section
push str._s_attribute_is_mandatory_for_key_node
call fcn.0041defb
pop ecx
pop ecx
mov dword [ebp - 0x20], 0xd
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
jmp 0x42ef59
push str.name
push str._s_attribute_is_empty_for_key_node
call fcn.0041defb
pop ecx
pop ecx
mov dword [ebp - 0x20], 0x57
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
jmp 0x42ef59
push str.name
push str._s_attribute_is_mandatory_for_key_node
call fcn.0041defb
pop ecx
pop ecx
mov dword [ebp - 0x20], 0xd
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
jmp 0x42ef59
push dword [ebp - 0x18]
push str.Unsupported_node:__s
call fcn.0041defb
pop ecx
pop ecx
mov dword [ebp - 0x20], 0x57
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
cmp dword [ebp - 0x20], 0
jne 0x42e791
test bh, bh
jne 0x42e791
mov ecx, dword [ebp - 0x3c]
call fcn.0041facf
test al, al
je 0x42e791
lea ecx, [ebp - 0x58]
call fcn.00432c13
mov byte [ebp - 4], 0x3e
xor eax, eax
mov esi, dword [ebp - 0x40]
mov edx, esi
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.00430795
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
je 0x42efbf
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.00432c55
jmp 0x42e791
mov al, byte [ebp - 0x29]
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x49], al
lea eax, [ebp - 0x3c]
push eax
call fcn.0040943e
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x50]
call fcn.0040943e
push str..Conf
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x30]
call fcn.00409299
mov byte [ebp - 4], 0x3f
lea ecx, [esi + 8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x40]
call fcn.0041ae36
pop ecx
pop ecx
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x54]
push eax
call fcn.0040943e
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x40]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.0040aa0b
lea eax, [ebp - 0x58]
lea ecx, [esi + 0x18]
push eax
push dword [ecx]
call fcn.0043205e
jmp 0x42efae