Function at 0x638b40
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x250
mov eax, dword [0x7030b8]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x214], ecx
mov eax, dword [ebp - 0x214]
cmp dword [eax + 4], 0
jne 0x638b6c
xor eax, eax
jmp 0x638e81
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x210], 0
lea ecx, [ebp - 0x21c]
push ecx
mov edx, dword [ebp - 0x214]
mov ecx, dword [edx + 0x1c]
call fcn.00422430
jmp 0x638bab
push 0
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x21c]
call fcn.0042a0a0
lea ecx, [ebp - 0x238]
push ecx
mov edx, dword [ebp - 0x214]
mov ecx, dword [edx + 0x1c]
call fcn.00421d90
push eax
lea ecx, [ebp - 0x21c]
call fcn.00421cb0
movzx eax, al
test eax, eax
je 0x638c7c
lea ecx, [ebp - 0x21c]
call fcn.00421e90
mov ecx, dword [eax + 4]
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0x210]
mov eax, dword [edx + 8]
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
movzx edx, byte [ecx]
push edx
push 0x6e0bfc
lea eax, [ebp - 0x20c]
push eax
call fcn.00420b30
add esp, 0xc
mov ecx, dword [ebp - 0x210]
add ecx, 0xc
push ecx
call fcn.004a1f02
add esp, 4
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jle 0x638c77
mov ecx, dword [ebp - 0x214]
add ecx, 0x90
call fcn.0041d4a0
push eax
lea edx, [ebp - 0x20c]
push edx
mov eax, dword [ebp - 0x210]
add eax, 0xc
push eax
push 0x6e0c04
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x240], 0
jmp 0x638b97
lea ecx, [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0x214]
mov ecx, dword [edx + 0x20]
call fcn.00422430
jmp 0x638ca7
push 0
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x220]
call fcn.0042a0a0
lea ecx, [ebp - 0x248]
push ecx
mov edx, dword [ebp - 0x214]
mov ecx, dword [edx + 0x20]
call fcn.00421d90
push eax
lea ecx, [ebp - 0x220]
call fcn.00421cb0
movzx eax, al
test eax, eax
je 0x638d67
lea ecx, [ebp - 0x220]
call fcn.00421e90
mov ecx, dword [eax + 4]
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0x210]
mov eax, dword [edx + 8]
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ecx]
push edx
push 0x6e0c44
lea eax, [ebp - 0x20c]
push eax
call fcn.00420b30
add esp, 0xc
mov ecx, dword [ebp - 0x210]
add ecx, 0xc
push ecx
call fcn.004a1f02
add esp, 4
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jle 0x638d62
mov ecx, dword [ebp - 0x214]
add ecx, 0x90
call fcn.0041d4a0
push eax
lea edx, [ebp - 0x20c]
push edx
mov eax, dword [ebp - 0x210]
add eax, 0xc
push eax
push str.GDftSet
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
jmp 0x638c93
lea ecx, [ebp - 0x224]
push ecx
mov edx, dword [ebp - 0x214]
mov ecx, dword [edx + 0x24]
call fcn.00422430
jmp 0x638d92
push 0
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x224]
call fcn.0042a0a0
lea ecx, [ebp - 0x250]
push ecx
mov edx, dword [ebp - 0x214]
mov ecx, dword [edx + 0x24]
call fcn.00421d90
push eax
lea ecx, [ebp - 0x224]
call fcn.00421cb0
movzx eax, al
test eax, eax
je 0x638e50
lea ecx, [ebp - 0x224]
call fcn.00421e90
mov ecx, dword [eax + 4]
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0x210]
mov eax, dword [edx + 8]
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0x230]
push ecx
push 0x6e0c2c
lea edx, [ebp - 0x20c]
push edx
call fcn.00420b30
add esp, 0xc
mov eax, dword [ebp - 0x210]
add eax, 0xc
push eax
call fcn.004a1f02
add esp, 4
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jle 0x638e4b
mov ecx, dword [ebp - 0x214]
add ecx, 0x90
call fcn.0041d4a0
push eax
lea ecx, [ebp - 0x20c]
push ecx
mov edx, dword [ebp - 0x210]
add edx, 0xc
push edx
push 0x6e0c34
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
jmp 0x638d7e
push 0
mov ecx, dword [ebp - 0x214]
add ecx, 0xa8
call fcn.0041d4a0
push eax
mov ecx, dword [ebp - 0x214]
add ecx, 0x90
call fcn.0041d4a0
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004421e5
mov esp, ebp
pop ebp
ret