Function at 0x100f945
Capabilities:
Move file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x474
mov eax, dword [0x1030118]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
or dword [ebp - 0x460], 0xffffffff
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
xor esi, esi
push 0x24c
mov dword [ebp - 0x46c], eax
lea eax, [ebp - 0x458]
push esi
push eax
mov dword [ebp - 0x470], ecx
mov dword [ebp - 0x464], ebx
mov dword [ebp - 0x468], 1
mov dword [ebp - 0x45c], esi
call fcn.0101bc52
mov eax, dword [edi]
add esp, 0xc
push esi
push 0x1002af0
push esi
push edi
call dword [eax + 0x6c]
mov esi, eax
test esi, esi
jge 0x100f82c
mov eax, dword [section..data]
cmp eax, section..data
je 0x100fa27
test byte [eax + 0x1c], 1
je 0x100fa27
movzx ecx, si
push ecx
push reloc.ole32.dll_CoRegisterClassObject
push 0x39
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010062be
jmp 0x100fa27
push 0x1002ae4
push dword [ebp - 0x46c]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
test eax, eax
jne 0x100f877
mov eax, dword [section..data]
mov ebx, reloc.ole32.dll_CoRegisterClassObject
cmp eax, section..data
je 0x100f86d
test byte [eax + 0x1c], 1
je 0x100f86d
push ebx
push 0x3a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010054b7
mov esi, 0x80004005
jmp 0x100f9dc
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x460], eax
cmp eax, 0xffffffff
jne 0x100f8b2
mov eax, dword [section..data]
mov ebx, reloc.ole32.dll_CoRegisterClassObject
cmp eax, section..data
je 0x100f86d
test byte [eax + 0x1c], 1
je 0x100f86d
push ebx
push 0x3b
jmp 0x100f862
mov ebx, reloc.ole32.dll_CoRegisterClassObject
lea eax, [ebp - 0x430]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x100f8c0
sub eax, edx
sar eax, 1
jne 0x100f8ef
mov eax, dword [section..data]
cmp eax, section..data
je 0x100f9b9
test byte [eax + 0x1c], 1
je 0x100f9b9
push ebx
push 0x3c
jmp 0x100f968
lea eax, [ebp - 0x430]
push eax
push dword [ebp - 0x46c]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
test eax, eax
jne 0x100f92c
mov eax, dword [section..data]
cmp eax, section..data
je 0x100f9b9
test byte [eax + 0x1c], 1
je 0x100f9b9
push ebx
push DispatchMessageA
jmp 0x100f968
mov esi, dword [ebp - 0x464]
lea eax, [ebp - 0x430]
push eax
push 0x1002ae0
lea eax, [esi + 0x54]
push 0x104
push eax
call fcn.0100c705
add esp, 0x10
test eax, eax
jge 0x100f975
mov eax, dword [section..data]
cmp eax, section..data
je 0x100f9b9
test byte [eax + 0x1c], 1
je 0x100f9b9
push ebx
push reloc.USER32.dll_DispatchMessageA
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010054b7
jmp 0x100f9b9
push dword [ebp - 0x468]
mov ecx, dword [ebp - 0x470]
lea eax, [ebp - 0x20c]
push eax
push edi
push esi
call fcn.0100f2d9
test eax, eax
jge 0x100f9b9
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x100f9b9
test byte [ecx + 0x1c], 1
je 0x100f9b9
movzx eax, ax
push eax
push ebx
push 0x3f
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010062be
inc dword [ebp - 0x468]
lea eax, [ebp - 0x45c]
push eax
push dword [ebp - 0x460]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x100f8b7
xor esi, esi
mov eax, dword [edi]
push edi
call dword [eax + DispatchMessageA]
test eax, eax
jge 0x100fa0c
mov eax, dword [section..data]
cmp eax, section..data
je 0x100fa07
test byte [eax + 0x1c], 1
je 0x100fa07
push esi
push ebx
push 0x40
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010062be
mov esi, 0x80004005
cmp dword [ebp - 0x460], 0xffffffff
je 0x100fa21
push dword [ebp - 0x460]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebx, dword [ebp - 0x464]
test esi, esi
jge 0x100fa31
inc dword [ebx + 0x4c]
mov dword [ebx + 0x48], esi
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0101bc5d
leave
ret 0xc