Function at 0x581220
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x1a
push 0
push 0
dec ecx
jne 0x581228
push ebx
push esi
push edi
mov eax, 0x580c80
call fcn.0040748c
xor eax, eax
push ebp
push 0x581cbf
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x58127c
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x14]
mov eax, 0x1a
call fcn.00562c94
mov edx, dword [ebp - 0x14]
mov eax, dword [0x587cd8]
call fcn.00404e5c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58129e
xor eax, eax
push ebp
push 0x58199e
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x581318
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0x1c]
mov ecx, 0x581d54
call fcn.00405124
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
call fcn.004056f8
mov eax, dword [ebp - 0x18]
call fcn.0049d788
test al, al
jne 0x58130e
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0x24]
mov ecx, 0x581d54
call fcn.00405124
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.004056f8
mov eax, dword [ebp - 0x20]
call fcn.0049d7e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x581322
xor eax, eax
push ebp
push 0x58138e
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0x2c]
mov ecx, 0x581d64
call fcn.00405124
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
call fcn.004056f8
mov eax, dword [ebp - 0x28]
call fcn.0049d788
test al, al
jne 0x581384
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0x34]
mov ecx, 0x581d64
call fcn.00405124
mov edx, dword [ebp - 0x34]
lea eax, [ebp - 0x30]
call fcn.004056f8
mov eax, dword [ebp - 0x30]
call fcn.0049d7e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x581398
xor eax, eax
push ebp
push 0x581404
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0x3c]
mov ecx, 0x581d80
call fcn.00405124
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 0x38]
call fcn.004056f8
mov eax, dword [ebp - 0x38]
call fcn.0049d788
test al, al
jne 0x5813fa
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0x44]
mov ecx, 0x581d80
call fcn.00405124
mov edx, dword [ebp - 0x44]
lea eax, [ebp - 0x40]
call fcn.004056f8
mov eax, dword [ebp - 0x40]
call fcn.0049d7e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58140e
xor eax, eax
push ebp
push 0x581500
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x54]
mov eax, dword [0x587abc]
mov eax, dword [eax]
call fcn.0048623c
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.0040abcc
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov edx, 0x3a8
call fcn.00566d00
lea eax, [ebp - 0x4c]
mov edx, 0x581d94
call fcn.00405790
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 0x48]
call fcn.004050a0
mov eax, dword [ebp - 0x48]
call fcn.0040a9c8
test al, al
je 0x5814f6
push 0
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0x58]
mov ecx, 0x581dc0
call fcn.00405124
mov eax, dword [ebp - 0x58]
call fcn.004052d8
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x587abc]
mov eax, dword [eax]
call fcn.0048623c
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
call fcn.0040abcc
lea eax, [ebp - 0x5c]
mov edx, 0x581de0
call fcn.004050e0
mov eax, dword [ebp - 0x5c]
call fcn.004052d8
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x5814f6
lea edx, [ebp - 0x68]
mov eax, dword [0x587abc]
mov eax, dword [eax]
call fcn.0048623c
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x64]
call fcn.0040abcc
lea eax, [ebp - 0x64]
mov edx, 0x581de0
call fcn.004050e0
mov eax, dword [ebp - 0x64]
call fcn.0040aaf8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58150a
xor eax, eax
push ebp
push 0x581611
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x78]
mov eax, dword [0x587abc]
mov eax, dword [eax]
call fcn.0048623c
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 0x74]
call fcn.0040abcc
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x70]
mov edx, 0x3a8
call fcn.00566d00
lea eax, [ebp - 0x70]
mov edx, 0x581df8
call fcn.00405790
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0x6c]
call fcn.004050a0
mov eax, dword [ebp - 0x6c]
call fcn.0040a9c8
test al, al
je 0x581607
push 0
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0x7c]
mov ecx, 0x581e1c
call fcn.00405124
mov eax, dword [ebp - 0x7c]
call fcn.004052d8
push eax
lea edx, [ebp - 0x84]
mov eax, dword [0x587abc]
mov eax, dword [eax]
call fcn.0048623c
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x80]
call fcn.0040abcc
lea eax, [ebp - 0x80]
mov edx, 0x581e38
call fcn.004050e0
mov eax, dword [ebp - 0x80]
call fcn.004052d8
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x581607
lea edx, [ebp - 0x8c]
mov eax, dword [0x587abc]
mov eax, dword [eax]
call fcn.0048623c
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 0x88]
call fcn.0040abcc
lea eax, [ebp - 0x88]
mov edx, 0x581e38
call fcn.004050e0
mov eax, dword [ebp - 0x88]
call fcn.0040aaf8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58161b
xor eax, eax
push ebp
push 0x58167f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x581e50
call fcn.0040a9c8
test al, al
je 0x581675
push 0
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0x90]
mov ecx, 0x581e1c
call fcn.00405124
mov eax, dword [ebp - 0x90]
call fcn.004052d8
push eax
push 0x581e68
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x581675
mov eax, 0x581e50
call fcn.0040aaf8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x581689
xor eax, eax
push ebp
push 0x5816ed
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x581e88
call fcn.0040a9c8
test al, al
je 0x5816e3
push 0
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0x94]
mov ecx, 0x581dc0
call fcn.00405124
mov eax, dword [ebp - 0x94]
call fcn.004052d8
push eax
push 0x581ea4
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x5816e3
mov eax, 0x581e88
call fcn.0040aaf8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5816f7
call fcn.00402ff4
test eax, eax
jle 0x581994
mov edx, 0x5896d4
mov eax, 1
call fcn.0040305c
mov edx, 0x5896d8
mov eax, 2
call fcn.0040305c
mov edx, 0x581ec8
mov eax, dword [0x5896d4]
call fcn.0040541c
inc eax
jle 0x581994
mov edx, dword [0x5896d4]
mov eax, 0x581ec8
call fcn.0040f6f8
mov edx, eax
mov eax, 0x5896d4
mov ecx, 0xa
call fcn.00405378
mov edx, dword [0x5896d4]
mov eax, 0x581edc
call fcn.0040f6f8
mov edx, eax
mov eax, 0x5896d4
mov ecx, 1
call fcn.00405378
mov dl, 1
mov eax, dword [0x48aba4]
call fcn.0048bc74
mov esi, eax
mov dl, 1
mov eax, dword [0x48aba4]
call fcn.0048bc74
mov ebx, eax
mov dl, 1
mov eax, dword [0x48aba4]
call fcn.0048bc74
mov edi, eax
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0x98]
mov ecx, 0x581dc0
call fcn.00405124
mov eax, dword [ebp - 0x98]
call fcn.0040a9c8
test al, al
je 0x581801
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0xa0]
mov ecx, 0x581dc0
call fcn.00405124
mov edx, dword [ebp - 0xa0]
lea eax, [ebp - 0x9c]
call fcn.004056f8
mov edx, dword [ebp - 0x9c]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x6c]
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0xa4]
mov ecx, 0x581e1c
call fcn.00405124
mov eax, dword [ebp - 0xa4]
call fcn.0040a9c8
test al, al
je 0x58185e
mov edx, dword [0x587cd8]
mov edx, dword [edx]
lea eax, [ebp - 0xac]
mov ecx, 0x581e1c
call fcn.00405124
mov edx, dword [ebp - 0xac]
lea eax, [ebp - 0xa8]
call fcn.004056f8
mov edx, dword [ebp - 0xa8]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x6c]
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x14]
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
pop edx
cmp edx, eax
jle 0x58188c
lea edx, [ebp - 0xb0]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0xb0]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0xb4]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xb4]
push eax
lea eax, [ebp - 0xb8]
mov edx, dword [0x5896d4]
call fcn.004056f8
mov eax, dword [ebp - 0xb8]
pop edx
call fcn.00405a9c
test eax, eax
jne 0x58197c
xor eax, eax
push ebp
push 0x581958
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x587cd8]
push dword [eax]
push 0x581d64
push dword [0x5896d4]
push 0x581ee8
lea eax, [ebp - 0xbc]
mov edx, 4
call fcn.00405198
mov eax, dword [ebp - 0xbc]
call fcn.0040a9c8
test al, al
jne 0x58194e
mov eax, dword [0x587cd8]
push dword [eax]
push 0x581d64
push dword [0x5896d4]
push 0x581ee8
lea eax, [ebp - 0xc4]
mov edx, 4
call fcn.00405198
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0xc0]
call fcn.004056f8
mov edx, dword [ebp - 0xc0]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x78]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x581994
push 0x40
mov ecx, 0x581eec
mov edx, 0x581f34
mov eax, dword [0x5878f8]
mov eax, dword [eax]
call fcn.0049bf10
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5819a8
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
call fcn.00580ba0
test al, al
jne 0x581b8e
lea edx, [ebp - 0xd0]
mov eax, dword [0x587abc]
mov eax, dword [eax]
call fcn.0048623c
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0xcc]
call fcn.0040abcc
mov eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0xc8]
mov edx, 0x3a8
call fcn.00566d00
lea eax, [ebp - 0xc8]
mov edx, 0x581f60
call fcn.00405790
mov eax, dword [ebp - 0xc8]
call fcn.0049d910
mov eax, dword [0x587abc]
mov eax, dword [eax]
call fcn.00485ae4
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, 0x581f78
call fcn.004856cc
mov ecx, dword [0x587aa4]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x55c3ac]
call fcn.00485afc
mov ecx, dword [0x58794c]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x5250a8]
call fcn.00485afc
mov ecx, dword [0x587d0c]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x507b74]
call fcn.00485afc
mov ecx, dword [0x587b30]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x525fa8]
call fcn.00485afc
mov ecx, dword [0x58791c]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x526a7c]
call fcn.00485afc
mov ecx, dword [0x58770c]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x52af60]
call fcn.00485afc
mov ecx, dword [0x587cb0]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x536864]
call fcn.00485afc
mov ecx, dword [0x587c20]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x52b4a0]
call fcn.00485afc
mov ecx, dword [0x587840]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x55abfc]
call fcn.00485afc
mov ecx, dword [0x587b24]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x55b120]
call fcn.00485afc
mov ecx, dword [0x5877b8]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x527614]
call fcn.00485afc
mov ecx, dword [0x587b74]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x55b3d4]
call fcn.00485afc
mov ecx, dword [0x587958]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x55b89c]
call fcn.00485afc
mov ecx, dword [0x587748]
mov eax, dword [0x587abc]
mov eax, dword [eax]
mov edx, dword [0x55bac0]
call fcn.00485afc
mov eax, dword [0x587abc]
mov eax, dword [eax]
call fcn.00485b7c
jmp 0x581b9a
mov eax, dword [0x587abc]
mov eax, dword [eax]
call fcn.00485c68
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x581cc9
lea eax, [ebp - 0xd0]
mov edx, 2
call fcn.00404e2c
lea eax, [ebp - 0xc8]
call fcn.00405524
lea eax, [ebp - 0xc4]
call fcn.00404e08
lea eax, [ebp - 0xc0]
call fcn.00405524
lea eax, [ebp - 0xbc]
call fcn.00404e08
lea eax, [ebp - 0xb8]
mov edx, 3
call fcn.0040553c
lea eax, [ebp - 0xac]
call fcn.00404e08
lea eax, [ebp - 0xa8]
call fcn.00405524
lea eax, [ebp - 0xa4]
mov edx, 2
call fcn.00404e2c
lea eax, [ebp - 0x9c]
call fcn.00405524
lea eax, [ebp - 0x98]
mov edx, 0xa
call fcn.00404e2c
lea eax, [ebp - 0x70]
call fcn.00405524
lea eax, [ebp - 0x6c]
mov edx, 8
call fcn.00404e2c
lea eax, [ebp - 0x4c]
call fcn.00405524
lea eax, [ebp - 0x48]
mov edx, 2
call fcn.00404e2c
lea eax, [ebp - 0x40]
call fcn.00405524
lea eax, [ebp - 0x3c]
call fcn.00404e08
lea eax, [ebp - 0x38]
call fcn.00405524
lea eax, [ebp - 0x34]
call fcn.00404e08
lea eax, [ebp - 0x30]
call fcn.00405524
lea eax, [ebp - 0x2c]
call fcn.00404e08
lea eax, [ebp - 0x28]
call fcn.00405524
lea eax, [ebp - 0x24]
call fcn.00404e08
lea eax, [ebp - 0x20]
call fcn.00405524
lea eax, [ebp - 0x1c]
call fcn.00404e08
lea eax, [ebp - 0x18]
call fcn.00405524
lea eax, [ebp - 0x14]
call fcn.00404e08
ret