Function at 0x479c88
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x45
push 0
push 0
dec ecx
jne 0x479c91
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.004049b4
mov eax, dword [ebp + 8]
call fcn.004049b4
xor eax, eax
push ebp
push 0x47a744
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x358]
mov eax, dword [eax + 0x220]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x47a607
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
xor edx, edx
push ebp
push 0x47a5f1
push dword fs:[edx]
mov dword fs:[edx], esp
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x358]
mov eax, dword [eax + 0x220]
mov edx, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x14]
call fcn.00408b30
push 0x47a760
push dword [ebp - 0x14]
push 0x47a774
push dword [ebp - 8]
push 0x47a788
lea eax, [ebp - 0x48]
mov edx, 5
call fcn.00404884
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x374]
call fcn.00442dec
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.00478c20
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x18]
call fcn.00408b30
mov eax, dword [ebp - 0x18]
mov edx, 0x47a798
call fcn.00404910
jne 0x47a530
xor edx, edx
push ebp
push 0x47a4fb
push dword fs:[edx]
mov dword fs:[edx], esp
push 0x47a7a4
push dword [ebp - 0x14]
push 0x47a7bc
push dword [ebp - 8]
mov eax, 0x483dc8
mov edx, 4
call fcn.00404884
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x374]
mov edx, dword [0x483dc8]
call fcn.00442dec
mov eax, dword [0x483dc8]
call fcn.0046b904
call fcn.0040ad60
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x24]
mov eax, 0x47a7cc
call fcn.0040ba08
mov byte [0x483ce4], 1
push 0
push 0x47a7f4
push 0x483cd4
push 0
call fcn.004106a8
add esp, 0x10
push 0x47a808
push 0x47a810
push 0x483cd4
lea eax, [ebp - 0x6c]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004106a8
add esp, 0xc
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x40]
call fcn.00414f9c
lea eax, [ebp - 0x70]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 8]
call fcn.00404810
mov eax, dword [ebp - 0x70]
push eax
push 0x47a820
lea eax, [ebp - 0x40]
push eax
push 0
call fcn.004106a8
add esp, 0x10
jmp 0x479edb
push 0x47a82c
push 0x47a838
push 0x47a844
push 0x483cd4
lea eax, [ebp - 0xa0]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.004106a8
add esp, 0xc
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
push 0x47a850
push 0x483cd4
lea eax, [ebp - 0x80]
push eax
call fcn.004106a8
add esp, 0x1c
lea eax, [ebp - 0x80]
push eax
push 0
call fcn.004106a8
add esp, 0xc
push 0x47a838
push 0x47a844
push 0x483cd4
lea eax, [ebp - 0xc0]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0xd0]
mov edx, 1
mov cl, 1
call fcn.00414ba0
lea edx, [ebp - 0xd0]
pop eax
call fcn.00418cb8
jg 0x479e66
push 0x47a85c
push 1
push 0x47a868
push 0x483cd4
lea eax, [ebp - 0xe0]
push eax
call fcn.004106a8
add esp, 0x10
lea eax, [ebp - 0xe0]
push eax
push 0
call fcn.004106a8
add esp, 0xc
push 0x47a880
push 0x47a838
push 0x47a844
push 0x483cd4
lea eax, [ebp - 0x118]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0x108]
call fcn.004113dc
lea edx, [ebp - 0xf8]
call fcn.00408dd8
push dword [ebp - 0xf8]
push 0x47a8ac
lea eax, [ebp - 0xf4]
mov edx, 3
call fcn.00404884
mov edx, dword [ebp - 0xf4]
lea eax, [ebp - 0xf0]
call fcn.00414dd4
lea eax, [ebp - 0xf0]
push eax
push 0x47a8c0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.004106a8
add esp, 0xc
lea edx, [ebp - 0x128]
pop eax
call fcn.00418cac
lea edx, [ebp - 0xf0]
mov eax, 0x483dc8
call fcn.00413d3c
mov eax, dword [0x483dc8]
call fcn.0046b904
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
push 0x483cd4
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.00479910
mov eax, 0x483cd4
call fcn.0041701c
test al, al
jne 0x47a0d3
push 0x47a8c8
push 0x47a8d4
push 0x483cd4
lea eax, [ebp - 0x148]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0x138]
call fcn.00416a68
lea eax, [ebp - 0x138]
call fcn.004127e4
test al, al
je 0x47a0d3
push 0x47a8e8
push 1
push 0x47a8f0
push 0x483cd4
lea eax, [ebp - 0x158]
push eax
call fcn.004106a8
add esp, 0x10
lea eax, [ebp - 0x158]
push eax
push 0
call fcn.004106a8
add esp, 0xc
mov ebx, 1
push ebx
push 1
push 0x47a900
push 0x47a90c
push 0x483cd4
lea eax, [ebp - 0x180]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.004106a8
add esp, 0x14
lea edx, [ebp - 0x170]
lea eax, [ebp - 0x160]
call fcn.00413d3c
mov eax, dword [ebp - 0x160]
lea edx, [ebp - 0x15c]
call fcn.00408b30
cmp dword [ebp - 0x15c], 0
jne 0x47a142
mov eax, ebx
dec eax
mov dword [ebp - 0x20], eax
jmp 0x47a148
inc ebx
cmp ebx, 0x33
jne 0x47a0d8
cmp dword [ebp - 0x20], 0
jne 0x47a155
mov dword [ebp - 0x20], 1
mov eax, dword [ebp - 0xc]
dec eax
je 0x47a16e
dec eax
je 0x47a22c
dec eax
je 0x47a2ea
jmp 0x47a39f
cmp dword [ebp - 0x20], 0xc
jge 0x47a39f
mov eax, 0xc
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x47a1cb
push 0x47a924
push dword [ebp - 0x14]
push dword [ebp - 8]
push 0x47a93c
lea edx, [ebp - 0x184]
mov eax, dword [ebp - 0x20]
call fcn.00408dd8
push dword [ebp - 0x184]
push 0x47a94c
mov eax, 0x483dc8
mov edx, 6
call fcn.00404884
mov eax, dword [0x483dc8]
call fcn.0046b904
mov ebx, dword [ebp - 0x20]
dec ebx
test ebx, ebx
jl 0x47a39f
inc ebx
push 0x47a950
push 2
push 0x47a95c
push 0x47a90c
push 0x483cd4
lea eax, [ebp - 0x1a4]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x194]
push eax
call fcn.004106a8
add esp, 0x10
lea eax, [ebp - 0x194]
push eax
push 0
call fcn.004106a8
add esp, 0xc
dec ebx
jne 0x47a1d8
jmp 0x47a39f
cmp dword [ebp - 0x20], 0x19
jge 0x47a39f
mov eax, 0x19
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x47a289
push 0x47a924
push dword [ebp - 0x14]
push dword [ebp - 8]
push 0x47a93c
lea edx, [ebp - 0x1a8]
mov eax, dword [ebp - 0x20]
call fcn.00408dd8
push dword [ebp - 0x1a8]
push 0x47a94c
mov eax, 0x483dc8
mov edx, 6
call fcn.00404884
mov eax, dword [0x483dc8]
call fcn.0046b904
mov ebx, dword [ebp - 0x20]
dec ebx
test ebx, ebx
jl 0x47a39f
inc ebx
push 0x47a950
push 2
push 0x47a95c
push 0x47a90c
push 0x483cd4
lea eax, [ebp - 0x1c8]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.004106a8
add esp, 0x10
lea eax, [ebp - 0x1b8]
push eax
push 0
call fcn.004106a8
add esp, 0xc
dec ebx
jne 0x47a296
jmp 0x47a39f
cmp dword [ebp - 0x20], 0x16
jge 0x47a39f
mov eax, 0x16
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x47a347
push 0x47a924
push dword [ebp - 0x14]
push dword [ebp - 8]
push 0x47a93c
lea edx, [ebp - 0x1cc]
mov eax, dword [ebp - 0x20]
call fcn.00408dd8
push dword [ebp - 0x1cc]
push 0x47a94c
mov eax, 0x483dc8
mov edx, 6
call fcn.00404884
mov eax, dword [0x483dc8]
call fcn.0046b904
mov ebx, dword [ebp - 0x20]
dec ebx
test ebx, ebx
jl 0x47a39f
inc ebx
push 0x47a950
push 2
push 0x47a95c
push 0x47a90c
push 0x483cd4
lea eax, [ebp - 0x1ec]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0x1ec]
push eax
lea eax, [ebp - 0x1dc]
push eax
call fcn.004106a8
add esp, 0x10
lea eax, [ebp - 0x1dc]
push eax
push 0
call fcn.004106a8
add esp, 0xc
dec ebx
jne 0x47a350
mov eax, 0x483cd4
call fcn.0041701c
test al, al
jne 0x47a42c
push 0x47a8c8
push 0x47a8d4
push 0x483cd4
lea eax, [ebp - 0x20c]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x1fc]
push eax
call fcn.004106a8
add esp, 0xc
lea eax, [ebp - 0x1fc]
call fcn.00416a68
lea eax, [ebp - 0x1fc]
call fcn.004127e4
test al, al
je 0x47a42c
push 0x47a8e8
push 1
push 0x47a8f0
push 0x483cd4
lea eax, [ebp - 0x21c]
push eax
call fcn.004106a8
add esp, 0x10
lea eax, [ebp - 0x21c]
push eax
push 0
call fcn.004106a8
add esp, 0xc
mov eax, dword [ebp - 4]
call fcn.00474cd0
lea edx, [ebp - 0x224]
xor eax, eax
call fcn.00402ebc
mov eax, dword [ebp - 0x224]
lea edx, [ebp - 0x220]
call fcn.004094e4
push dword [ebp - 0x220]
push dword [ebp - 0x14]
push 0x47a970
push dword [ebp + 8]
lea eax, [ebp - 0x2c]
mov edx, 4
call fcn.00404884
lea edx, [ebp - 0x22c]
xor eax, eax
call fcn.00402ebc
mov eax, dword [ebp - 0x22c]
lea edx, [ebp - 0x228]
call fcn.004094e4
push dword [ebp - 0x228]
push 0x47a97c
push 0x47a970
push 0x47a994
lea eax, [ebp - 0x28]
mov edx, 4
call fcn.00404884
mov eax, dword [ebp - 0x28]
call fcn.00409314
test al, al
je 0x47a4f1
push 0
mov eax, dword [ebp - 0x2c]
call fcn.004049c4
push eax
mov eax, dword [ebp - 0x28]
call fcn.004049c4
push eax
call sub.kernel32.dll_CopyFileA
mov eax, 0x483dc8
mov ecx, dword [ebp - 0x2c]
mov edx, 0x47a9b0
call fcn.00404810
mov eax, dword [0x483dc8]
call fcn.0046b904
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47a540
lea eax, [ebp - 0x1c]
call fcn.00404504
mov eax, dword [ebp - 0x18]
call fcn.0046b904
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47a5fb
push 0x47aa0c
push dword [ebp - 0x14]
push 0x47a7bc
push dword [ebp - 8]
push 0x47aa28
mov eax, 0x483dc8
mov edx, 5
call fcn.00404884
mov eax, dword [0x483dc8]
call fcn.0046b904
push 0x47aa38
push dword [ebp - 0x14]
push 0x47a7bc
push dword [ebp - 8]
push 0x47aa48
call fcn.0040ad60
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [0x483dc4]
call fcn.0040c2e4
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x230]
call fcn.0046c3ac
push dword [ebp - 0x230]
push 0x47aa64
mov eax, 0x483dc8
mov edx, 7
call fcn.00404884
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x374]
mov edx, dword [0x483dc8]
call fcn.00442dec
mov eax, dword [0x483dc8]
call fcn.0046b904
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47a74e
lea eax, [ebp - 0x230]
mov edx, 5
call fcn.00404528
lea eax, [ebp - 0x21c]
mov edx, dword [0x4010e8]
mov ecx, 5
call fcn.0040503c
lea eax, [ebp - 0x1cc]
call fcn.00404504
lea eax, [ebp - 0x1c8]
mov edx, dword [0x4010e8]
mov ecx, 2
call fcn.0040503c
lea eax, [ebp - 0x1a8]
call fcn.00404504
lea eax, [ebp - 0x1a4]
mov edx, dword [0x4010e8]
mov ecx, 2
call fcn.0040503c
lea eax, [ebp - 0x184]
call fcn.00404504
lea eax, [ebp - 0x180]
mov edx, dword [0x4010e8]
mov ecx, 2
call fcn.0040503c
lea eax, [ebp - 0x160]
mov edx, 2
call fcn.00404528
lea eax, [ebp - 0x158]
mov edx, dword [0x4010e8]
mov ecx, 6
call fcn.0040503c
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.00404528
lea eax, [ebp - 0xf0]
mov edx, dword [0x4010e8]
mov ecx, 8
call fcn.0040503c
lea eax, [ebp - 0x70]
call fcn.00404504
lea eax, [ebp - 0x6c]
mov edx, dword [0x4010e8]
mov ecx, 2
call fcn.0040503c
lea eax, [ebp - 0x4c]
mov edx, 3
call fcn.00404528
lea eax, [ebp - 0x40]
call fcn.004106a0
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00404528
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00404528
lea eax, [ebp - 8]
call fcn.00404504
lea eax, [ebp + 8]
call fcn.00404504
ret