Function at 0x40e9eb
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push 8
call fcn.004a9c19
add esp, 4
mov dword [ebp - 4], eax
mov edi, eax
mov esi, 0x5819e9
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.004a9c19
add esp, 4
mov dword [ebp - 8], eax
mov edi, eax
mov esi, 0x5819e9
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov eax, 0x5859db
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
push 0x6dc49c
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1b4]
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40ea7b
push ebx
call fcn.004a9c1f
add esp, 4
push str.Patch_
push dword [0x6dc3a0]
mov ecx, 2
call fcn.0040129d
add esp, 8
mov dword [ebp - 0x20], eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0040f0be
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40eab7
push ebx
call fcn.004a9c1f
add esp, 4
mov ebx, dword [0x6dc488]
call fcn.00401312
mov eax, 1
cmp eax, ecx
jl 0x40ead8
push 1
call fcn.004a9c2b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 4]
call fcn.004012f9
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x168
call fcn.004ae000
add esp, 0x10
mov dword [ebp - 0x28], eax
push 0x5859f6
push dword [ebp - 0x28]
push 0x585a07
mov ecx, 3
call fcn.0040129d
add esp, 0xc
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40eb32
push ebx
call fcn.004a9c1f
add esp, 4
push 1
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x20]
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x198]
mov ebx, eax
test ebx, ebx
je 0x40eb57
push ebx
call fcn.004a9c1f
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40eb67
push ebx
call fcn.004a9c1f
add esp, 4
mov dword [ebp - 0xc], 0
mov ebx, dword [ebp - 8]
call fcn.004012f9
xor ecx, ecx
push eax
lea eax, [ebp - 0x10]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40ece9
push 0
mov ebx, 0x350
call fcn.004af870
add esp, 4
mov ebx, dword [ebp - 8]
call fcn.00401312
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x40ebbc
push 4
call fcn.004a9c2b
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ebcf
push 1
call fcn.004a9c2b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push str.Patch_
push dword [0x6dc3a0]
mov ecx, 2
call fcn.0040129d
add esp, 8
mov dword [ebp - 0x24], eax
push 0
mov ebx, 0x104
call fcn.004ad7f0
add esp, 4
mov dword [ebp - 0x28], eax
push 0x581ccc
push dword [ebp - 0x28]
mov ecx, 2
call fcn.0040129d
add esp, 8
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40ec2f
push ebx
call fcn.004a9c1f
add esp, 4
push reloc.WS2_32.dll_bind
push 0
push 1
push 0x80000301
push 0
push 1
push 0
push 0
push 0
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x40ec60
mov eax, 0x532331
push eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x40ec74
mov eax, 0x532331
push eax
push reloc.WS2_32.dll_connect
push 0
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
test eax, eax
jne 0x40ec8a
mov eax, 0x532331
push eax
push 6
mov ebx, 0x180
call fcn.004b1f90
add esp, 0x4c
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x40ecb0
push ebx
call fcn.004a9c1f
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40ecc0
push ebx
call fcn.004a9c1f
add esp, 4
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40ecd4
push ebx
call fcn.004a9c1f
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040f70f
pop eax
pop ebx
pop ecx
jmp 0x40eb7f
add esp, 0xc
mov ebx, dword [ebp - 4]
call fcn.004012f9
xor ecx, ecx
push eax
lea eax, [ebp - 0x10]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40effb
push 0
mov ebx, 0x350
call fcn.004af870
add esp, 4
mov ebx, dword [ebp - 4]
call fcn.00401312
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x40ed3a
push 4
call fcn.004a9c2b
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ed4d
push 1
call fcn.004a9c2b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push str.Patch_
push dword [0x6dc3a0]
mov ecx, 2
call fcn.0040129d
add esp, 8
mov dword [ebp - 0x24], eax
push 0
mov ebx, 0x104
call fcn.004ad7f0
add esp, 4
mov dword [ebp - 0x28], eax
push 0x581ccc
push dword [ebp - 0x28]
mov ecx, 2
call fcn.0040129d
add esp, 8
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40edad
push ebx
call fcn.004a9c1f
add esp, 4
push reloc.WS2_32.dll_bind
push 0
push 1
push 0x80000301
push 0
push 1
push 0
push 0
push 0
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x40edde
mov eax, 0x532331
push eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x40edf2
mov eax, 0x532331
push eax
push reloc.WS2_32.dll_connect
push 0
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
test eax, eax
jne 0x40ee08
mov eax, 0x532331
push eax
push 6
mov ebx, 0x180
call fcn.004b1f90
add esp, 0x4c
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x40ee2e
push ebx
call fcn.004a9c1f
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40ee3e
push ebx
call fcn.004a9c1f
add esp, 4
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40ee52
push ebx
call fcn.004a9c1f
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 4]
call fcn.00401312
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x40ee73
push 4
call fcn.004a9c2b
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ee86
push 1
call fcn.004a9c2b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], esp
push 2
push 0
push 0
push 0x40fbde
push dword [ebp - 0x18]
mov ebx, dword [ebp - 0x20]
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_CopyFileExA]
nop
nop
nop
nop
cmp dword [ebp - 0x24], esp
je 0x40eec9
push 6
call fcn.004a9c2b
add esp, 4
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x40ef83
inc dword [ebp - 0xc]
mov ebx, dword [0x6dc488]
call fcn.00401312
mov eax, 0
cmp eax, ecx
jl 0x40eefa
push 1
call fcn.004a9c2b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push 0x80000301
push 0
push dword [ebp - 0xc]
push 1
mov ebx, 0x168
call fcn.004ae000
add esp, 0x10
mov dword [ebp - 0x24], eax
push 0x585a0d
push dword [ebp - 0x24]
push 0x585a16
mov ecx, 3
call fcn.0040129d
add esp, 0xc
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x40ef4e
push ebx
call fcn.004a9c1f
add esp, 4
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x20]
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x198]
mov ebx, eax
test ebx, ebx
je 0x40ef73
push ebx
call fcn.004a9c1f
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40ef83
push ebx
call fcn.004a9c1f
add esp, 4
mov ebx, dword [0x6dc48c]
call fcn.00401312
mov eax, 1
cmp eax, ecx
jl 0x40efa4
push 1
call fcn.004a9c2b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 4]
call fcn.004012f9
mov dword [ebp - 0x24], eax
fild dword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fild dword [ebp - 0x24]
fstp qword [ebp - 0x34]
fdiv qword [ebp - 0x34]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fmul qword [0x585a24]
fstp qword [ebp - 0x44]
push 1
fld qword [ebp - 0x44]
call fcn.00403a9a
push eax
push dword [ebp - 0x20]
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x188]
pop eax
pop ebx
pop ecx
jmp 0x40ecfd
add esp, 0xc
push 0x6dc3f4
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x88]
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40f02e
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40f02a
imul eax, dword [ebx]
jmp 0x40f01f
mov ecx, eax
test ecx, ecx
je 0x40f04d
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40f046
push ebx
push eax
call fcn.004a9c1f
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40f034
call fcn.004a9c1f
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40f073
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40f06f
imul eax, dword [ebx]
jmp 0x40f064
mov ecx, eax
test ecx, ecx
je 0x40f092
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40f08b
push ebx
push eax
call fcn.004a9c1f
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40f079
call fcn.004a9c1f
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40f0aa
push ebx
call fcn.004a9c1f
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40f0ba
push ebx
call fcn.004a9c1f
add esp, 4
mov esp, ebp
pop ebp
ret