Function at 0x51ad78
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x571de1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd70
mov dword [ebp - 0xd6c], ecx
mov dword [ebp - 0x7e4], 1
push 0
lea ecx, [ebp - 0xa60]
call fcn.0042a330
mov dword [ebp - 4], 0
mov dword [ebp - 0x9fc], 1
push 0
lea ecx, [ebp - 0x5d4]
call fcn.00436246
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x4b4]
mov dword [ebp - 0xa04], ecx
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0x4b4]
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x9e8], 0
mov ecx, dword [ebp - 0xd6c]
add ecx, 0x3b0
mov dword [ebp - 0x5d8], ecx
mov edx, dword [ebp - 0xd6c]
add edx, 0x3b0
push edx
push str.DoSettingFunc:_m_szINIPath___s_r_n
lea eax, [ebp - 0x9e4]
push eax
call fcn.0054c45b
add esp, 0xc
lea ecx, [ebp - 0x9e4]
push ecx
call fcn.00536ebf
add esp, 4
mov ecx, dword [ebp - 0xd6c]
add ecx, 0x10d2c
call fcn.004bb3c8
test eax, eax
jne 0x51aec7
push str.DoSettingFunc:_MessageBox_Thread_is_running__r_n
lea edx, [ebp - 0x9e4]
push edx
call fcn.0054c45b
add esp, 8
lea eax, [ebp - 0x9e4]
push eax
call fcn.00536ebf
add esp, 4
push 0
push 0
push str.Thread_is_running
mov ecx, dword [ebp - 0xd6c]
call fcn.00563067
mov dword [ebp - 0xd5c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5d4]
call fcn.00438a90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa60]
call fcn.00420fa0
mov eax, dword [ebp - 0xd5c]
jmp 0x51b3ae
mov ecx, 1
test ecx, ecx
je 0x51afa1
mov edx, dword [ebp - 0x5d8]
push edx
push str.DoSettingFunc:_while_1__pSearch___s_r_n
lea eax, [ebp - 0x9e4]
push eax
call fcn.0054c45b
add esp, 0xc
lea ecx, [ebp - 0x9e4]
push ecx
call fcn.00536ebf
add esp, 4
push 0x5b40dc
mov edx, dword [ebp - 0x5d8]
add edx, 1
push edx
call fcn.0054ccc0
add esp, 8
mov dword [ebp - 0x5d8], eax
cmp dword [ebp - 0x5d8], 0
je 0x51af78
push 0x104
push 0
lea eax, [ebp - 0x7e0]
push eax
call fcn.0054bfb0
add esp, 0xc
mov ecx, dword [ebp - 0xd6c]
add ecx, 0x3b0
mov edx, dword [ebp - 0x5d8]
sub edx, ecx
push edx
mov eax, dword [ebp - 0xd6c]
add eax, 0x3b0
push eax
lea ecx, [ebp - 0x7e0]
push ecx
call fcn.0054c980
add esp, 0xc
mov edx, dword [ebp - 0x5d8]
mov dword [ebp - 0x9e8], edx
jmp 0x51af9c
cmp dword [ebp - 0x9e8], 0
je 0x51af9a
mov eax, dword [ebp - 0x9e8]
add eax, 1
push eax
lea ecx, [ebp - 0x6dc]
push ecx
call fcn.0054bec0
add esp, 8
jmp 0x51afa1
jmp 0x51aec7
lea edx, [ebp - 0x7e0]
push edx
call fcn.0053534c
add esp, 4
mov dword [ebp - 0x9ec], 0
jmp 0x51afcb
mov eax, dword [ebp - 0x9ec]
add eax, 1
mov dword [ebp - 0x9ec], eax
cmp dword [ebp - 0x9ec], 0x10
jge 0x51afee
mov ecx, dword [ebp - 0x9ec]
add ecx, 0x97
push ecx
mov ecx, dword [ebp - 0xd6c]
call fcn.00411370
jmp 0x51afbc
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [0x5c481c]
mov dword [ebp - 0x9f0], edx
lea ecx, [ebp - 0xa60]
call fcn.00564fdd
cmp eax, 1
jne 0x51b34d
push str.DoSettingFunc:_pwd.DoModal____IDOK_r_n
lea eax, [ebp - 0x9e4]
push eax
call fcn.0054c45b
add esp, 8
lea ecx, [ebp - 0x9e4]
push ecx
call fcn.00536ebf
add esp, 4
lea ecx, [ebp - 0xa60]
call fcn.0042a53a
push eax
lea ecx, [ebp - 0x5d4]
call fcn.004363a7
push 0
push 0x5b4108
push 0x221000
lea edx, [ebp - 0x6dc]
push edx
push 0
push 1
lea ecx, [ebp - 0xc58]
call fcn.0055ed21
mov byte [ebp - 4], 2
lea eax, [ebp - 0x7e0]
mov dword [ebp - 0xbd0], eax
lea ecx, [ebp - 0xc58]
call fcn.0055ee83
cmp eax, 1
jne 0x51b097
jmp 0x51b0ac
mov ecx, dword [ebp - 0xd6c]
call fcn.00564499
mov dword [ebp - 0x7e4], 0
cmp dword [ebp - 0x7e4], 0
je 0x51b33e
mov ecx, dword [ebp - 0xd6c]
add ecx, 0x10d2c
mov dword [ebp - 0x578], ecx
lea edx, [ebp - 0xd60]
push edx
lea ecx, [ebp - 0xc58]
call fcn.0055ef5e
mov dword [ebp - 0xd70], eax
mov eax, dword [ebp - 0xd70]
mov dword [ebp - 0xd74], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xd74]
call fcn.00401440
push eax
lea ecx, [ebp - 0x574]
push ecx
call fcn.0054bec0
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd60]
call fcn.00560ea1
lea edx, [ebp - 0xd64]
push edx
lea ecx, [ebp - 0xc58]
call fcn.0055ef5e
mov dword [ebp - 0xd78], eax
mov eax, dword [ebp - 0xd78]
mov dword [ebp - 0xd7c], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xd7c]
call fcn.00401440
push eax
mov ecx, dword [ebp - 0xd6c]
add ecx, 0x3b0
push ecx
call fcn.0054bec0
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd64]
call fcn.00560ea1
push 0
mov edx, dword [ebp - 0xd6c]
add edx, 0x3b0
push edx
push 1
call fcn.00426ee0
add esp, 0xc
mov eax, dword [ebp - 0xd6c]
add eax, 0x3b0
push eax
lea ecx, [ebp - 0x1d0]
push ecx
call fcn.0054bec0
add esp, 8
push 1
mov ecx, dword [ebp - 0xd6c]
call fcn.0052e3c9
lea ecx, [ebp - 0x5d4]
call fcn.00564fdd
cmp eax, 1
jne 0x51b242
mov edx, dword [ebp - 0xd6c]
add edx, 0x3b0
push edx
lea eax, [ebp - 0x574]
push eax
call fcn.0054d7f0
add esp, 8
test eax, eax
je 0x51b21e
push 0
lea ecx, [ebp - 0x574]
push ecx
mov edx, dword [ebp - 0xd6c]
add edx, 0x3b0
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 0x574]
push eax
mov ecx, dword [ebp - 0xd6c]
add ecx, 0x3b0
push ecx
call fcn.0054bec0
add esp, 8
push 0
mov edx, dword [ebp - 0xd6c]
add edx, 0x3b0
push edx
push 0
call fcn.00426ee0
add esp, 0xc
mov ecx, dword [ebp - 0xd6c]
call fcn.0051e5b8
mov eax, dword [ebp - 0xd6c]
add eax, 0x3b0
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.00521f5d
mov ecx, dword [ebp - 0xd6c]
call fcn.005271f2
call fcn.00428514
cmp dword [0x5be010], 5
jne 0x51b2d5
mov ecx, dword [ebp - 0xd6c]
call fcn.005175d6
push 0
mov ecx, dword [ebp - 0xd6c]
call fcn.0052e3c9
test eax, eax
je 0x51b2d5
push str.Must_Restart_MP_Tool__
lea ecx, [ebp - 0xd58]
push ecx
call fcn.0054bec0
add esp, 8
push 4
push 0
lea edx, [ebp - 0xd58]
push edx
mov ecx, dword [ebp - 0xd6c]
call fcn.00563067
cmp eax, 6
jne 0x51b2d5
push 0
mov ecx, dword [ebp - 0xd6c]
call fcn.0051c321
mov ecx, dword [ebp - 0xd6c]
call fcn.005652c7
mov dword [ebp - 0x9ec], 0
jmp 0x51b2f0
mov eax, dword [ebp - 0x9ec]
add eax, 1
mov dword [ebp - 0x9ec], eax
cmp dword [ebp - 0x9ec], 8
jge 0x51b318
push 5
mov ecx, dword [ebp - 0x9ec]
imul ecx, ecx, 0x3c
mov edx, dword [ebp - 0xd6c]
lea ecx, [edx + ecx + 0x14680]
call fcn.00564430
jmp 0x51b2e1
push 5
mov ecx, dword [ebp - 0xd6c]
add ecx, 0x14644
call fcn.00564430
push 0
mov ecx, dword [ebp - 0xd6c]
add ecx, 0x14914
call fcn.00564430
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc58]
call fcn.00416480
push str.DoSettingFunc:_End_r_n
lea eax, [ebp - 0x9e4]
push eax
call fcn.0054c45b
add esp, 8
lea ecx, [ebp - 0x9e4]
push ecx
call fcn.00536ebf
add esp, 4
mov ecx, dword [ebp - 0xd6c]
call fcn.00564499
mov edx, dword [ebp - 0x7e4]
mov dword [ebp - 0xd68], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5d4]
call fcn.00438a90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa60]
call fcn.00420fa0
mov eax, dword [ebp - 0xd68]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret