Function at 0x434220
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x21c
mov eax, dword [0x4c5174]
xor eax, esp
mov dword [esp + 0x218], eax
push ebx
mov ebx, ecx
push esi
mov esi, dword [ebx + 0x14]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
test esi, esi
mov eax, dword [ebx + 0x14]
mov edi, dword [eax + 4]
je 0x434261
cmp esi, eax
je 0x434266
call fcn.00455674
cmp dword [esp + 0x10], edi
je 0x434300
test esi, esi
jne 0x434279
call fcn.00455674
mov edx, dword [esp + 0x10]
cmp edx, dword [esi + 4]
jne 0x434287
call fcn.00455674
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x10]
mov ecx, dword [esi + 4]
cmp dword [ecx], 0
je 0x4342a7
push 0x4987fc
push 0x4972d0
lea edx, [esp + 0x20]
push edx
jmp 0x4342b6
push 0x499be0
push 0x4972d0
lea eax, [esp + 0x20]
push eax
call fcn.004553fc
add esp, 0xc
add esi, 0xc
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4342c6
sub eax, edx
sar eax, 1
test eax, eax
jle 0x4342ee
lea ecx, [ebx + 0x24]
push ecx
lea edx, [esp + 0x1c]
push edx
push esi
push str.Setting
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [esp + 0xc]
call fcn.00408570
mov esi, dword [esp + 0xc]
jmp 0x434253
mov esi, dword [ebx + 0x18]
mov eax, dword [esi + 4]
mov edi, dword [eax]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
test esi, esi
mov eax, dword [ebx + 0x18]
mov ebx, dword [eax + 4]
je 0x43431e
cmp esi, eax
je 0x434323
call fcn.00455674
cmp edi, ebx
je 0x4343a7
test esi, esi
jne 0x434334
call fcn.00455674
cmp edi, dword [esi + 4]
jne 0x43433e
call fcn.00455674
mov esi, dword [edi + 0x10]
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x1c]
push 0x497504
push eax
call fcn.004553fc
lea edx, [esi + 8]
mov eax, edx
add esp, 0xc
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x434361
sub eax, esi
sar eax, 1
test eax, eax
jle 0x43438d
mov ecx, dword [esp + 0x14]
add ecx, 0x24
push ecx
lea eax, [esp + 0x1c]
push eax
push edx
push str.Setting
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [esp + 0xc]
call fcn.00408570
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
jmp 0x434310
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + 0x1c]
mov edx, dword [esi + 4]
mov edi, dword [edx]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
jmp 0x4343c0
test esi, esi
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x1c]
mov ebx, dword [eax + 4]
je 0x4343d2
cmp esi, eax
je 0x4343d7
call fcn.00455674
cmp edi, ebx
je 0x434452
test esi, esi
jne 0x4343e4
call fcn.00455674
cmp edi, dword [esi + 4]
jne 0x4343ee
call fcn.00455674
mov esi, dword [edi + 0x10]
mov ecx, dword [esi + 4]
push ecx
lea edx, [esp + 0x1c]
push 0x4972d0
push edx
call fcn.004553fc
lea edx, [esi + 8]
mov eax, edx
add esp, 0xc
lea esi, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x434410
sub eax, esi
sar eax, 1
test eax, eax
jle 0x43443c
mov eax, dword [esp + 0x14]
add eax, 0x24
push eax
lea ecx, [esp + 0x1c]
push ecx
push edx
push str.Setting
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [esp + 0xc]
call fcn.00408570
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
jmp 0x4343c0
mov edi, dword [esp + 0x14]
mov ebx, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea esi, [edi + 0x22c]
push esi
push 0x4987fc
push str.IsModifySetConfig
push str.SetModify
call ebx
push esi
push 0x4987fc
push str.IsModifySetConfig64
push str.SetModify
call ebx
push 0
lea edx, [edi + 0x63c]
push edx
add edi, 0x24
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ecx, dword [esp + 0x224]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.00454f91
mov esp, ebp
pop ebp
ret