Function at 0x40abe0
Capabilities:
Check if file exists
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e841f
mov eax, dword fs:[0]
push eax
sub esp, 0x20c
mov eax, dword [0x5363c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [0x538168]
test eax, eax
jne 0x40ac5f
push 0x1a0
call fcn.004bb92e
mov edi, eax
add esp, 4
mov dword [ebp - 0x1f0], edi
mov dword [ebp - 4], 0
test edi, edi
je 0x40ac51
push 0x1a0
push 0
push edi
call fcn.004bda50
add esp, 0xc
mov ecx, edi
call fcn.00406db0
jmp 0x40ac53
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x538168], eax
push str._delay
lea ecx, [ebp - 0xb8]
push ecx
mov ecx, eax
call sym.CAD.exe_public_virtual:_int___thiscall_DuiLib::CComboUI::GetCurSel_void_const
mov ecx, eax
call fcn.004033e0
cmp dword [ebp - 0xa8], 0
mov dword [ebp - 4], 1
jne 0x40acac
push str.SoftwareSNOFFICE
push reloc.WS2_32.dll_accept
call fcn.00401fa0
add esp, 8
call fcn.004059f0
mov byte [ebp - 0x1e9], 1
jmp 0x40b194
cmp dword [ebp - 0xa4], 0x10
lea eax, [ebp - 0xb8]
cmovae eax, dword [ebp - 0xb8]
push eax
call fcn.004c7dce
mov edi, eax
add esp, 4
test edi, edi
je 0x40b18d
push str.SoftwareSNBKOFFICE
push reloc.WS2_32.dll_accept
call fcn.00401fa0
add esp, 8
test al, al
je 0x40b186
mov ecx, esi
call fcn.0040ab50
test al, al
jne 0x40b186
mov ecx, esi
call fcn.0040a8f0
test al, al
jne 0x40b186
mov ecx, esi
call fcn.0040aac0
test al, al
jne 0x40b186
mov ecx, esi
call fcn.0040aa10
test al, al
jne 0x40b186
mov ecx, esi
call fcn.0040a980
test al, al
jne 0x40b186
imul eax, edi, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, esi
call fcn.0040aa90
test al, al
jne 0x40b186
mov ecx, esi
call fcn.0040a8d0
test al, al
jne 0x40b186
mov ecx, esi
call fcn.0040ab50
test al, al
jne 0x40b186
mov ecx, esi
call fcn.0040a8f0
test al, al
jne 0x40b186
mov ecx, esi
call fcn.0040aac0
test al, al
jne 0x40b186
mov ecx, esi
call fcn.0040aa10
test al, al
jne 0x40b186
mov ecx, esi
call fcn.0040a980
test al, al
jne 0x40b186
push 1
push 0x64
push str.path
push str.SoftwareSNBKOFFICE
lea eax, [ebp - 0x28]
push reloc.WS2_32.dll_accept
push eax
call fcn.00401d90
add esp, 0x18
cmp dword [ebp - 0x18], 0
mov byte [ebp - 4], 2
je 0x40b17c
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x40b17c
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x40b17c
lea eax, [ebp - 0xe8]
push eax
call fcn.00401410
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 3
push eax
call fcn.00401230
add esp, 8
cmp dword [ebp - 0x14], 0x10
lea edi, [ebp - 0x28]
mov edx, dword [ebp - 0x18]
cmovae edi, dword [ebp - 0x28]
mov byte [ebp - 4], 4
test edx, edx
je 0x40aeab
push 0x100
lea eax, [ebp - 0x1e8]
push 0
push eax
call fcn.004bda50
add esp, 0xc
mov ecx, 0x4ed64c
nop
movzx eax, byte [ecx]
inc ecx
mov byte [ebp + eax - 0x1e8], 1
cmp ecx, 0x4ed64e
jne 0x40ae60
mov edx, dword [ebp - 0x18]
or ecx, 0xffffffff
lea eax, [edx - 1]
cmp eax, ecx
cmovb ecx, eax
movzx eax, byte [ecx + edi]
add ecx, edi
mov al, byte [ebp + eax - 0x1e8]
test al, al
jne 0x40aea7
cmp ecx, edi
je 0x40aeab
movzx eax, byte [ecx - 1]
dec ecx
mov al, byte [ebp + eax - 0x1e8]
test al, al
je 0x40ae93
sub ecx, edi
jmp 0x40aeae
or ecx, 0xffffffff
inc ecx
mov dword [ebp - 0x48], 0
cmp edx, ecx
mov dword [ebp - 0x44], 0
lea eax, [ebp - 0x28]
xorps xmm0, xmm0
cmovb ecx, edx
cmp dword [ebp - 0x14], 0x10
push ecx
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x58]
push eax
movups xmmword [ebp - 0x58], xmm0
call fcn.00403d10
mov ecx, dword [ebp - 0x48]
mov eax, accept
mov edx, dword [ebp - 0xc0]
sub eax, ecx
mov byte [ebp - 4], 5
mov dword [ebp - 0x200], edx
cmp eax, edx
jb 0x40b1eb
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
mov edi, 0xf
mov dword [ebp - 0x30], 0
cmovae eax, dword [ebp - 0x58]
xorps xmm0, xmm0
cmp dword [ebp - 0xbc], 0x10
mov dword [ebp - 0x1fc], eax
lea eax, [ebp - 0xd0]
cmovae eax, dword [ebp - 0xd0]
add ecx, edx
mov dword [ebp - 0x1f0], eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x1f4], eax
movups xmmword [ebp - 0x40], xmm0
cmp ecx, edi
jbe 0x40af93
mov edi, ecx
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x40af6e
mov edi, accept
jmp 0x40af78
mov eax, 0x16
cmp edi, eax
cmovb edi, eax
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x40]
call fcn.00402f80
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x40], eax
push dword [ebp - 0x48]
mov dword [ebp - 0x30], ecx
push dword [ebp - 0x1fc]
mov dword [ebp - 0x2c], edi
push eax
call fcn.004bd4d0
push dword [ebp - 0x200]
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x1f4]
add eax, edi
push dword [ebp - 0x1f0]
push eax
call fcn.004bd4d0
mov eax, dword [ebp - 0x1f8]
add esp, 0x18
mov byte [edi + eax], 0
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
push 1
cmovae ecx, dword [ebp - 0x40]
lea eax, [ebp - 0xe8]
cmp dword [ebp - 0xd4], 0x10
push ecx
cmovae eax, dword [ebp - 0xe8]
push eax
mov byte [ebp - 4], 6
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x40b156
lea eax, [ebp - 0xa0]
mov ecx, esi
push eax
call fcn.0040a410
cmp dword [ebp - 0x90], 0
mov byte [ebp - 4], 7
jne 0x40b0ab
lea eax, [ebp - 0x88]
mov ecx, esi
push eax
call fcn.0040a690
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 8
push eax
call fcn.00401410
add esp, 4
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 9
jb 0x40b053
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00401950
add esp, 8
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 0xb
call fcn.00403210
cmp dword [ebp - 0x5c], 8
lea ecx, [ebp - 0x70]
push 0
cmovae ecx, dword [ebp - 0x70]
lea eax, [ebp - 0x88]
cmp dword [ebp - 0x74], 8
cmovae eax, dword [ebp - 0x88]
push eax
push 0
push ecx
mov ecx, esi
call fcn.0040a0c0
lea ecx, [ebp - 0x70]
call fcn.004031b0
lea ecx, [ebp - 0x88]
jmp 0x40b146
cmp dword [ebp - 0x8c], 0x10
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x40b14b
cmp dword [ebp - 0x8c], 0x10
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00401950
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xc
cmovae eax, dword [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00401950
add esp, 0x10
cmp dword [ebp - 0x5c], 8
lea ecx, [ebp - 0x70]
push 0
cmovae ecx, dword [ebp - 0x70]
lea eax, [ebp - 0x88]
cmp dword [ebp - 0x74], 8
push ecx
cmovae eax, dword [ebp - 0x88]
mov ecx, esi
push 0
push eax
mov byte [ebp - 4], 0xd
call fcn.0040a0c0
lea ecx, [ebp - 0x88]
call fcn.004031b0
lea ecx, [ebp - 0x70]
call fcn.004031b0
lea ecx, [ebp - 0xa0]
call fcn.00403210
lea ecx, [ebp - 0x40]
call fcn.00403210
lea ecx, [ebp - 0x58]
call fcn.00403210
lea ecx, [ebp - 0xd0]
call fcn.00403210
lea ecx, [ebp - 0xe8]
call fcn.00403210
lea ecx, [ebp - 0x28]
call fcn.00403210
jmp 0x40b18d
mov ecx, esi
call fcn.0040a850
mov byte [ebp - 0x1e9], 0
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0x10
jb 0x40b1ca
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b1c0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b1f0
push ecx
push edx
call fcn.004bb95e
add esp, 8
mov al, byte [ebp - 0x1e9]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004bb96c
mov esp, ebp
pop ebp
ret
call fcn.00402fe0
call fcn.004c15cf
int3