Function at 0x10024b09
Capabilities:
Copy file
Move file

Disassembly:
push 0x2ac
push 0x10024b90
call fcn.100014a0
mov eax, dword [0x1003b164]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x298], eax
xor ebx, ebx
mov dword [ebp - 0x280], ebx
mov dword [ebp - 0x288], ebx
mov dword [ebp - 0x27c], ebx
mov dword [ebp - 0x278], ebx
mov ecx, 0x96
xor eax, eax
lea edi, [ebp - 0x274]
rep stosd dword es:[edi], eax
cmp dword [0x1003b4ac], ebx
jne 0x10024b9c
push 0x1af
push 0x10004ac0
push 0x10004b3c
call fcn.100280bc
mov eax, 0x80110472
lea esp, [ebp - 0x2c8]
mov ecx, dword [ebp - 0x1c]
call fcn.10023cf0
call fcn.10001766
ret 8
push 0x1003b494
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call esi
xor edi, edi
inc edi
mov dword [ebp - 0x28c], edi
mov dword [ebp - 4], ebx
call fcn.10023f97
test eax, eax
jne 0x10024c15
mov dword [ebp - 0x290], ebx
cmp dword [ebp - 0x290], 2
jge 0x10024d16
push ebx
push dword [ebp + 0xc]
lea eax, [ebp - 0x27c]
push eax
push 0x1003b4b8
call fcn.1002470d
mov dword [ebp - 0x280], eax
cmp eax, ebx
jge 0x10024c4e
cmp eax, 0x8007000e
je 0x10024c15
cmp eax, 0x800705af
je 0x10024c15
cmp eax, 0x8007045b
je 0x10024c15
push 0x1c1
push 0x10004ac0
push eax
call fcn.100280bc
cmp dword [ebp - 0x280], ebx
jl 0x10025022
mov eax, dword [ebp - 0x298]
mov ecx, dword [0x1003b6c0]
mov dword [eax], ecx
mov eax, dword [0x1003b6c0]
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
or dword [ebp - 4], 0xffffffff
call fcn.1002503d
mov eax, dword [ebp - 0x280]
jmp 0x10024b73
cmp eax, edi
jne 0x10024ce7
cmp dword [ebp + 0xc], ebx
je 0x10024c79
push edi
lea eax, [ebp - 0x228]
push eax
push 0x1003bc80
call dword [sym.imp.KERNEL32.dll_CopyFileW]
inc dword [ebp - 0x290]
jmp 0x10024bc4
mov dword [ebp - 0x284], ebx
lea eax, [ebp - 0x284]
push eax
push 0x10113
lea eax, [ebp - 0x228]
push eax
call sym.catsrv.dll_CreateComponentLibraryTS
mov dword [ebp - 0x280], eax
cmp eax, ebx
jl 0x10024cd5
mov eax, dword [ebp - 0x284]
mov ecx, dword [eax]
push 0x10002bbc
push eax
call dword [ecx + 0xb4]
mov dword [ebp - 0x280], eax
cmp eax, ebx
jl 0x10024cd5
mov eax, dword [ebp - 0x284]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0xcc]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x284]
cmp eax, ebx
je 0x10024c6e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10024c6e
cmp dword [0x1003b6c0], ebx
je 0x10024d16
mov eax, dword [0x1003b23c]
cmp eax, dword [ebp - 0x270]
jl 0x10024d16
jg 0x10024d0b
mov eax, dword [0x1003b238]
cmp eax, dword [ebp - 0x274]
jb 0x10024d16
mov dword [ebp - 0x280], ebx
jmp 0x10024c15
push 0x1003b494
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x28c], ebx
cmp word [ebp - 0x26c], bx
jne 0x10024d44
push 0x1f7
push 0x10004ac0
push 0x10024e34
call fcn.100280bc
cmp word [ebp - 0x228], bx
jne 0x10024d61
push 0x1f8
push 0x10004ac0
push 0x10024e0c
call fcn.100280bc
cmp word [ebp - 0x26c], bx
je 0x10024e5c
cmp word [ebp - 0x228], bx
je 0x10024e5c
lea eax, [ebp - 0x288]
push eax
push 0x6001
push dword [0x1003b6d8]
push ebx
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x228]
push eax
call sym.catsrv.dll_OpenComponentLibrarySharedTS
mov dword [ebp - 0x280], eax
push 0x1003b494
call esi
mov dword [ebp - 0x28c], edi
cmp dword [ebp - 0x280], ebx
jl 0x10024eab
cmp dword [0x1003b6c0], ebx
je 0x10024e6b
mov eax, dword [0x1003b23c]
cmp eax, dword [ebp - 0x270]
jl 0x10024e6b
jg 0x10024dec
mov eax, dword [0x1003b238]
cmp eax, dword [ebp - 0x274]
jb 0x10024e6b
mov eax, dword [ebp - 0x288]
cmp eax, ebx
je 0x10024c15
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x288], ebx
jmp 0x10024c15
mov dword [ebp - 0x280], 0x8000ffff
jmp 0x10024da7
push 0x1003b230
call fcn.10024057
mov ecx, 0x98
lea esi, [ebp - 0x27c]
mov edi, 0x1003b230
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x288]
mov dword [0x1003b6c0], eax
mov ecx, dword [eax]
push 0x10002bbc
push eax
call dword [ecx + 0xb4]
mov dword [ebp - 0x280], eax
jmp 0x10024c15
cmp dword [ebp - 0x280], 0x80041015
jne 0x10024c15
mov ebx, 0x1003b284
push ebx
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
mov esi, eax
mov dword [ebp - 0x2bc], esi
lea eax, [esi + esi + 0x12]
add eax, 3
and eax, 0xfffffffc
call fcn.10001a44
mov dword [ebp - 0x18], esp
mov edi, esp
mov dword [ebp - 0x294], edi
lea eax, [esi + esi]
mov ecx, eax
mov esi, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, esp
lea edi, [eax + ecx]
mov esi, 0x10025010
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x226
mov esi, 0x10004ac0
push esi
push 0x10024f90
call fcn.100280bc
xor edi, edi
inc edi
push edi
push dword [ebp - 0x294]
push ebx
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov dword [ebp - 0x2b8], 0x80041015
mov word [ebp - 0x2b4], 0x63
mov dword [ebp - 0x2b0], 0xc00012b8
xor eax, eax
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], edi
push 0x229
push esi
lea eax, [ebp - 0x2b8]
push eax
call fcn.1000bc07
add esp, 0xc
xor ebx, ebx
jmp 0x10024c15
push 0x1003b230
call fcn.10024057
jmp 0x10024c3a