Function at 0x1000b260
Capabilities:
Copy file

Disassembly:
push 0xffffffffffffffff
push 0x100b5190
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100d3fe0]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x84], 0
je 0x1000b771
cmp dword [esp + 0x48], 0x7536
jne 0x1000b2be
mov eax, dword [edi + 0x100cc]
push 0x7536
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, edi
call fcn.10009b90
jmp 0x1000b771
push 0xfff3
lea esi, [edi + 0xac]
push esi
push 0x8300000b
lea ecx, [edi + 0x88]
call fcn.1007c8d0
mov dword [edi + 0x100a0], eax
test eax, eax
je 0x1000b771
mov dword [esp + 0x20], esi
lea esp, [esp]
mov ecx, dword [edi + 0x100a0]
lea eax, [ecx + edi + 0xac]
lea ecx, [edi + 0x1009f]
cmp eax, ecx
jb 0x1000b309
mov eax, ecx
mov ebx, dword [esp + 0x20]
cmp ebx, eax
jae 0x1000b6fa
add ebx, 0x14
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000b320
sub eax, edx
push 9
push ebx
mov dword [esp + 0x34], eax
call fcn.1007f590
add esp, 8
test eax, eax
je 0x1000b771
mov byte [eax], 0
inc eax
push 9
push eax
call fcn.1007f590
mov esi, eax
add esp, 8
test esi, esi
je 0x1000b771
mov byte [esi], 0
inc esi
push 9
push esi
call fcn.1007f590
add esp, 8
test eax, eax
je 0x1000b771
mov byte [eax], 0
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000b378
sub eax, edx
cmp eax, 3
jbe 0x1000b683
mov eax, dword [0x100d302c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xa8]
mov byte [esp + 0x40], 1
test eax, eax
je 0x1000b6c2
push eax
lea ecx, [esp + 0x4c]
call fcn.100097c0
mov edx, dword [edi + 0xa8]
add edx, 4
push edx
lea ecx, [esp + 0x18]
call fcn.100097c0
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0xa8]
mov ecx, dword [eax + 0xc]
push edx
push esi
mov dword [esp + 0x30], ecx
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
je 0x1000b5b0
push 0x5f
push 0x20
lea ecx, [esp + 0x1c]
call fcn.10009a10
mov ebp, dword [edi + 0x100c4]
cmp dword [ebp - 0xc], 0
jl 0x1000b419
mov dword [esp + 0x18], ebp
add ebp, 0xfffffff4
push ebp
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x1000b457
mov eax, dword [0x100d302c]
mov dword [esp + 0x18], eax
test ebp, ebp
jne 0x1000b42a
xor ebx, ebx
jmp 0x1000b433
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
push ebx
lea ecx, [esp + 0x1c]
call fcn.100096e0
test eax, eax
je 0x1000b457
push ebx
push ebp
mov ebp, dword [esp + 0x20]
push ebp
call fcn.1007f6e0
mov dword [ebp - 8], ebx
add esp, 0xc
mov byte [ebx + ebp], 0
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x100bae9c
push 0x100bae9c
mov byte [esp + 0x48], 2
call ebp
push eax
lea ecx, [esp + 0x20]
call fcn.100098f0
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx - 8]
push ebx
push ecx
lea ecx, [esp + 0x20]
call fcn.100098f0
push str..magicdeskfile
push str..magicdeskfile
call ebp
push eax
lea ecx, [esp + 0x20]
call fcn.100098f0
mov ebp, dword [0x100d302c]
mov dword [esp + 0x1c], ebp
push esi
mov byte [esp + 0x44], 3
call fcn.100332a0
add esp, 4
test eax, eax
je 0x1000b4c8
push esi
lea ecx, [esp + 0x20]
call fcn.10009830
jmp 0x1000b4e7
mov edx, dword [esp + 0x48]
push edx
call fcn.100332a0
add esp, 4
test eax, eax
je 0x1000b4eb
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x20]
call fcn.100097c0
mov ebp, dword [esp + 0x1c]
push ebp
call fcn.10033150
add esp, 4
push esi
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], eax
call fcn.10009830
cmp dword [edi + 0x100c8], 0
mov esi, dword [esp + 0x18]
je 0x1000b567
lea ecx, [esp + 0x48]
lea eax, [edi + 0x100d0]
push ecx
push eax
call fcn.10009510
test al, al
je 0x1000b567
mov edx, dword [edi + 0x100a4]
imul edx, edx, 0xf4240
cmp dword [esp + 0x24], edx
jge 0x1000b540
push 0
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [esp + 0x48]
push eax
lea ecx, [edi + 0x100d0]
call fcn.100097c0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
mov eax, dword [edi + 0x100c8]
push ebx
push ecx
push esi
push edx
call eax
add esp, 0x10
lea ecx, [ebp - 0xc]
cmp ecx, dword [0x100d3028]
je 0x1000b589
add ebp, 0xfffffff4
push ebp
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x1000b589
push ebp
call fcn.1007fde4
add esp, 4
lea edx, [esi - 0xc]
mov byte [esp + 0x40], 1
cmp edx, dword [0x100d3028]
je 0x1000b5b0
add esi, 0xfffffff4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x1000b5b0
push esi
call fcn.1007fde4
add esp, 4
mov esi, dword [edi + 0xa8]
test esi, esi
je 0x1000b5ca
mov ecx, esi
call fcn.1000a300
push esi
call fcn.1007fde4
add esp, 4
cmp dword [edi + 0x100c0], 0
mov dword [edi + 0xa8], 0
je 0x1000b6a5
mov ebx, dword [edi + 0x100a8]
mov eax, dword [edi + 0x100bc]
mov ebp, dword [eax]
lea esi, [edi + 0x100a8]
test ebx, ebx
jne 0x1000b69e
call fcn.10080551
xor eax, eax
cmp ebp, dword [eax + 0x14]
jne 0x1000b60e
call fcn.10080551
mov eax, dword [ebp + 8]
push ebp
push ebx
lea ecx, [esp + 0x38]
push ecx
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.1000b140
mov edx, dword [esp + 0x28]
push edx
mov ecx, edi
call fcn.1000a1e0
mov eax, dword [esp + 0x14]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x100d3028]
je 0x1000b655
lea esi, [eax - 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x1000b655
push esi
call fcn.1007fde4
add esp, 4
mov eax, dword [esp + 0x48]
lea edx, [eax - 0xc]
mov dword [esp + 0x40], 0xffffffff
cmp edx, dword [0x100d3028]
je 0x1000b683
lea esi, [eax - 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x1000b683
push esi
call fcn.1007fde4
add esp, 4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
add eax, 4
and eax, 0xfffffffc
lea edx, [ecx + eax + 0x14]
mov dword [esp + 0x20], edx
jmp 0x1000b2f0
mov eax, dword [ebx]
jmp 0x1000b604
push 0
mov ecx, edi
call fcn.1000a1e0
mov eax, dword [edi + 0x100cc]
push 0x7535
push eax
call dword [sym.imp.USER32.dll_KillTimer]
jmp 0x1000b6e6
push 0x100baea0
push ebx
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
je 0x1000b6e6
push esi
mov ecx, edi
call fcn.10009e20
test eax, eax
jne 0x1000b6e6
push esi
mov ecx, edi
call fcn.1000ac30
lea ecx, [esp + 0x14]
call fcn.10001b90
lea ecx, [esp + 0x48]
call fcn.10001b90
jmp 0x1000b771
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [edi + 0xa8]
mov ebx, eax
mov ebp, 0xc8
test esi, esi
je 0x1000b73d
cmp dword [esi + 0xc], ebp
je 0x1000b73d
mov ecx, ebx
sub ecx, dword [esi + 8]
cmp ecx, 0x2710
jbe 0x1000b73d
mov ecx, esi
call fcn.1000a300
push esi
call fcn.1007fde4
add esp, 4
mov dword [edi + 0xa8], 0
mov esi, dword [edi + 0xa8]
test esi, esi
je 0x1000b771
cmp dword [esi + 0xc], ebp
jne 0x1000b771
sub ebx, dword [esi + 8]
cmp ebx, 0x7d0
jbe 0x1000b771
mov ecx, esi
call fcn.1000a300
push esi
call fcn.1007fde4
add esp, 4
mov dword [edi + 0xa8], 0
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 4