Function at 0x484020
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x224
mov eax, dword [0x651788]
xor eax, esp
mov dword [esp + 0x220], eax
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x18]
mov eax, dword [edi + 4]
mov ebx, dword [eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
nop
test edi, edi
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
je 0x484062
cmp edi, eax
je 0x484067
call fcn.004afdfe
cmp ebx, dword [esp + 0x1c]
je 0x484102
test edi, edi
jne 0x48407a
call fcn.004afdfe
cmp ebx, dword [edi + 4]
jne 0x484084
call fcn.004afdfe
mov edi, dword [ebx + 0x10]
mov edx, dword [edi + 4]
movzx eax, byte [edx]
push eax
lea ecx, [esp + 0x24]
push 0x571094
push ecx
call fcn.00405340
add esp, 0xc
add edi, 8
mov eax, edi
lea edx, [eax + 2]
jmp 0x4840b0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4840b0
sub eax, edx
sar eax, 1
test eax, eax
jle 0x4840ec
cmp dword [esi + 0xb0], 8
jb 0x4840d4
mov eax, dword [esi + 0x9c]
jmp 0x4840da
lea eax, [esi + 0x9c]
push eax
lea edx, [esp + 0x24]
push edx
push edi
push 0x573194
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [esp + 0x10]
call fcn.00419a70
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
jmp 0x484050
mov edi, dword [esi + 0x1c]
mov eax, dword [edi + 4]
mov ebx, dword [eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
test edi, edi
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
je 0x484124
cmp edi, eax
je 0x484129
call fcn.004afdfe
cmp ebx, dword [esp + 0x1c]
je 0x4841c2
test edi, edi
jne 0x48413c
call fcn.004afdfe
cmp ebx, dword [edi + 4]
jne 0x484146
call fcn.004afdfe
mov edi, dword [ebx + 0x10]
mov edx, dword [edi + 4]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x24]
push 0x571094
push ecx
call fcn.00405340
lea edx, [edi + 8]
mov eax, edx
add esp, 0xc
lea edi, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x484170
sub eax, edi
sar eax, 1
test eax, eax
jle 0x4841ac
cmp dword [esi + 0xb0], 8
jb 0x484194
mov eax, dword [esi + 0x9c]
jmp 0x48419a
lea eax, [esi + 0x9c]
push eax
lea eax, [esp + 0x24]
push eax
push edx
push 0x573194
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [esp + 0x10]
call fcn.00419a70
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
jmp 0x484112
mov edi, dword [esi + 0x20]
mov ecx, dword [edi + 4]
mov ebx, dword [ecx]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
test edi, edi
mov eax, dword [esi + 0x20]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
je 0x4841e4
cmp edi, eax
je 0x4841e9
call fcn.004afdfe
cmp ebx, dword [esp + 0x1c]
je 0x484279
test edi, edi
jne 0x4841fc
call fcn.004afdfe
cmp ebx, dword [edi + 4]
jne 0x484206
call fcn.004afdfe
mov edi, dword [ebx + 0x10]
mov eax, dword [edi + 4]
push eax
lea ecx, [esp + 0x24]
push 0x574fd8
push ecx
call fcn.00405340
lea edx, [edi + 8]
mov eax, edx
add esp, 0xc
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x484227
sub eax, edi
sar eax, 1
test eax, eax
jle 0x484263
cmp dword [esi + 0xb0], 8
jb 0x48424b
mov eax, dword [esi + 0x9c]
jmp 0x484251
lea eax, [esi + 0x9c]
push eax
lea eax, [esp + 0x24]
push eax
push edx
push 0x573194
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [esp + 0x10]
call fcn.00419a70
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
jmp 0x4841d2
mov ebx, 8
cmp dword [esi + 0xe8], ebx
jb 0x48428e
mov eax, dword [esi + 0xd4]
jmp 0x484294
lea eax, [esi + 0xd4]
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push eax
push 0x573190
push str.ModifySetConfig
push str.SetModify
call edi
cmp dword [esi + 0xe8], ebx
jb 0x4842bc
mov eax, dword [esi + 0xd4]
jmp 0x4842c2
lea eax, [esi + 0xd4]
push eax
push 0x573190
push str.ModifySetConfig64
push str.SetModify
call edi
cmp dword [esi + 0xe8], ebx
jb 0x4842e4
mov eax, dword [esi + 0xd4]
jmp 0x4842ea
lea eax, [esi + 0xd4]
push eax
push 0x573190
push str.TempModifySetConfig
push str.SetModify
call edi
cmp dword [esi + 0xe8], ebx
jb 0x48430c
mov eax, dword [esi + 0xd4]
jmp 0x484312
lea eax, [esi + 0xd4]
push eax
push 0x573190
push 0x583040
push str.SetModify
call edi
cmp dword [esi + 0xcc], ebx
jb 0x484334
mov eax, dword [esi + 0xb8]
jmp 0x48433a
lea eax, [esi + 0xb8]
cmp dword [esi + 0xb0], ebx
jb 0x48434a
mov esi, dword [esi + 0x9c]
jmp 0x484350
add esi, 0x9c
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ecx, dword [esp + 0x22c]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.004aeca3
mov esp, ebp
pop ebp
ret