Function at 0x42f03e
Capabilities:
Copy file

Disassembly:
push 0x90
mov eax, 0x481901
call fcn.00456992
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.0041e6cc
mov dword [ebp - 4], ebx
push ecx
lea ecx, [ebp - 0x9c]
call fcn.004362ad
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.0040aaed
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x14]
call fcn.0040aaed
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x3c]
call fcn.0040aaed
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
call fcn.0040aaed
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1c]
call fcn.00451160
lea ecx, [ebp - 0x34]
call fcn.00451160
mov bh, byte [0x4c24a0]
xor eax, eax
mov ecx, edi
mov byte [ebp - 0x29], bh
mov byte [ebp - 0x35], al
call fcn.004512f0
test al, al
jne 0x42f194
mov ecx, edi
call fcn.00454f40
cmp eax, 2
jne 0x42f194
mov ecx, edi
call fcn.00452350
push eax
lea ecx, [ebp - 0x48]
call fcn.0040a676
lea ecx, [ebp - 0x48]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
push str.iniconf
push dword [ebp - 0x48]
call fcn.0045f9d3
pop ecx
pop ecx
test eax, eax
jne 0x42f194
push 0x4aee2c
lea eax, [ebp - 0x30]
mov ecx, edi
push eax
call fcn.00451700
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.004512f0
test al, al
je 0x42f15a
push 0x4aee2c
push str._s_attribute_is_mandatory_for_iniconf_node
call fcn.0041e1d8
pop ecx
pop ecx
mov dword [ebp - 0x20], 0xd
jmp 0x42f19b
lea ecx, [ebp - 0x1c]
call fcn.00454f60
push eax
lea ecx, [ebp - 0x14]
call fcn.0040a676
lea ecx, [ebp - 0x14]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
jne 0x42f1fe
push 0x4aee2c
push str._s_attribute_is_empty
call fcn.0041e1d8
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.0040aacb
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x3c]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
xor eax, eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x9c]
call fcn.004362cf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x78]
call fcn.0041e740
mov eax, esi
call fcn.00456960
ret
push eax
push str.Processing_iniconf_node:__s
call fcn.0041e1d8
pop ecx
pop ecx
push str.flags
lea eax, [ebp - 0x30]
mov ecx, edi
push eax
call fcn.00451700
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.00451320
mov dword [ebp - 0x30], 9
test eax, eax
je 0x42f2ab
lea ecx, [ebp - 0x1c]
call fcn.00454f60
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x10]
call fcn.0041efe3
mov esi, dword [ebp - 0x10]
push 9
push str.mustexist
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42f267
add esi, 0x12
mov bl, 1
mov dword [ebp - 0x10], esi
jmp 0x42f23e
push 3
push 0x4adde4
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42f285
add esi, 6
mov bh, 1
mov dword [ebp - 0x10], esi
jmp 0x42f23e
lea ecx, [ebp - 0x10]
call fcn.0041efe3
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov edi, dword [ebp - 0x18]
mov byte [ebp - 0x29], bh
cmp word [eax], cx
je 0x42f2a8
push eax
push str.Invalid_flag__s
jmp 0x42f14a
mov esi, dword [ebp - 0x40]
xor eax, eax
lea ecx, [ebp - 0x14]
push esi
push eax
mov dl, 1
call fcn.0041f2ea
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x42f19b
lea ecx, [ebp - 0x14]
call fcn.0041fc81
test al, al
jne 0x42f300
lea eax, [ebp - 0x14]
mov edx, 0x4c2584
push eax
lea ecx, [ebp - 0x10]
call fcn.0041b04e
pop ecx
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x14]
push eax
call fcn.0040951e
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
lea ecx, [ebp - 0x14]
call fcn.004208a0
test al, al
je 0x42f31f
push dword [ebp - 0x14]
push str.Destination_ini_is_already_scheduled_for_replace__using__s_destination_instead
call fcn.0041e1d8
pop ecx
pop ecx
mov byte [ebp - 0x29], 1
test bl, bl
je 0x42f354
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x2a]
push esi
push eax
xor dl, dl
call fcn.00416e67
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x42f19b
cmp byte [ebp - 0x2a], al
jne 0x42f354
push str.Attribute_mustexist_is_specified__but_the_ini_file_is_missing__skipping
call fcn.0041e1d8
pop ecx
jmp 0x42f19b
push 0x5c
push dword [ebp - 0x14]
call fcn.00456ff3
pop ecx
pop ecx
test eax, eax
je 0x42f39a
sub eax, dword [ebp - 0x14]
sar eax, 1
cmp eax, 0xffffffff
je 0x42f39a
inc eax
lea ecx, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00416c10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x44]
push eax
call fcn.0040951e
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42f3a6
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040951e
lea eax, [ebp - 0x44]
push eax
lea edx, [esi + 4]
lea ecx, [ebp - 0x18]
call fcn.0041b04e
mov byte [ebp - 4], 0xa
lea ecx, [esi + 8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x10]
call fcn.0041b04e
pop ecx
pop ecx
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3c]
push eax
call fcn.0040951e
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov ecx, dword [ebp - 0x3c]
call fcn.0041feac
test al, al
je 0x42f404
mov bh, 1
jmp 0x42f457
mov ecx, dword [ebp - 0x14]
call fcn.0041feac
test al, al
je 0x42f454
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 0x42f451
cmp eax, 0x20
je 0x42f436
cmp eax, 5
jne 0x42f447
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
sub dword [ebp - 0x30], 1
jns 0x42f416
call ebx
mov dword [ebp - 0x20], eax
jmp 0x42f19b
mov esi, dword [ebp - 0x40]
mov bh, byte [ebp - 0x35]
lea eax, [ebp - 0x30]
mov ecx, edi
push eax
call fcn.00451a90
lea ecx, [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
call fcn.00451320
test eax, eax
je 0x42f972
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x18]
call fcn.0040aaed
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x28]
call fcn.0040aaed
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x24]
call fcn.0040aaed
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x10]
call fcn.0040aaed
mov byte [ebp - 4], 0x11
xor eax, eax
lea ecx, [ebp - 0x34]
mov bl, al
call fcn.00454f40
cmp eax, 2
je 0x42f4f0
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42f736
push esi
lea edx, [ebp - 0x2a]
lea ecx, [ebp - 0x34]
call fcn.0041aa50
pop ecx
test eax, eax
je 0x42f533
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42f736
cmp byte [ebp - 0x2a], 0
jne 0x42f56b
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42f736
lea ecx, [ebp - 0x34]
call fcn.00452350
push eax
lea ecx, [ebp - 0x18]
call fcn.0040a676
lea ecx, [ebp - 0x18]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
push 0x4aeff8
push dword [ebp - 0x18]
call fcn.0045f9d3
pop ecx
pop ecx
test eax, eax
jne 0x42f920
push str.flags
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x34]
call fcn.00451700
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.00451320
test eax, eax
je 0x42f611
lea ecx, [ebp - 0x1c]
call fcn.00454f60
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x30]
call fcn.0041efe3
mov esi, dword [ebp - 0x30]
push 6
push str.delete
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42f5f8
add esi, 0xc
mov bl, 1
mov dword [ebp - 0x30], esi
jmp 0x42f5cf
lea ecx, [ebp - 0x30]
call fcn.0041efe3
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp word [eax], cx
jne 0x42f76b
mov esi, dword [ebp - 0x40]
push str.name
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x34]
call fcn.00451700
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.004512f0
test al, al
jne 0x42f8d9
lea ecx, [ebp - 0x1c]
call fcn.00454f60
push eax
lea ecx, [ebp - 0x28]
call fcn.0040a676
lea ecx, [ebp - 0x28]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
mov eax, dword [ebp - 0x28]
cmp dword [eax - 0xc], 0
je 0x42f88f
push str.section
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x34]
call fcn.00451700
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.004512f0
test al, al
jne 0x42f845
lea ecx, [ebp - 0x1c]
call fcn.00454f60
push eax
lea ecx, [ebp - 0x24]
call fcn.0040a676
lea ecx, [ebp - 0x24]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
mov eax, dword [ebp - 0x24]
cmp dword [eax - 0xc], 0
je 0x42f7fb
push str.value
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x34]
call fcn.00451700
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.004512f0
test al, al
je 0x42f6e1
test bl, bl
je 0x42f7b1
lea ecx, [ebp - 0x1c]
call fcn.00454f60
push eax
lea ecx, [ebp - 0x10]
call fcn.0040a676
push dword [ebp - 0x3c]
test bl, bl
je 0x42f6fe
xor eax, eax
push eax
jmp 0x42f701
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.0040aacb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0040aacb
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x34]
call fcn.00452410
lea ecx, [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
call fcn.00451320
test eax, eax
jne 0x42f47d
jmp 0x42f972
push eax
push str.Invalid_flag__s_in_key_node
call fcn.0041e1d8
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.0040aacb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42f963
push str.value
push str._s_attribute_is_mandatory_for_key_node
call fcn.0041e1d8
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.0040aacb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42f963
push str.section
push str._s_attribute_is_empty_for_key_node
call fcn.0041e1d8
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.0040aacb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42f963
push str.section
push str._s_attribute_is_mandatory_for_key_node
call fcn.0041e1d8
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.0040aacb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42f963
push str.name
push str._s_attribute_is_empty_for_key_node
call fcn.0041e1d8
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.0040aacb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42f963
push str.name
push str._s_attribute_is_mandatory_for_key_node
call fcn.0041e1d8
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.0040aacb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42f963
push dword [ebp - 0x18]
push str.Unsupported_node:__s
call fcn.0041e1d8
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.0040aacb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
cmp dword [ebp - 0x20], 0
jne 0x42f19b
test bh, bh
jne 0x42f19b
mov ecx, dword [ebp - 0x3c]
call fcn.0041feac
test al, al
je 0x42f19b
lea ecx, [ebp - 0x58]
call fcn.0043358d
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.004311e1
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
je 0x42f9c9
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.004335cf
jmp 0x42f19b
mov al, byte [ebp - 0x29]
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x49], al
lea eax, [ebp - 0x3c]
push eax
call fcn.0040951e
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x50]
call fcn.0040951e
push str..Conf
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x30]
call fcn.00409379
mov byte [ebp - 4], 0x3f
lea ecx, [esi + 8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x40]
call fcn.0041b04e
pop ecx
pop ecx
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x54]
push eax
call fcn.0040951e
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x40]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
lea eax, [ebp - 0x58]
lea ecx, [esi + 0x18]
push eax
push dword [ecx]
call fcn.00432a70
jmp 0x42f9b8