Function at 0x108aae5
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file
Print debug messages

Disassembly:
mov eax, 0x109486e
call fcn.0109436e
sub esp, 0xf40
mov eax, dword [0x1099a38]
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0xd9c], eax
xor ebx, ebx
mov dword [ebp - 0xda4], ebx
mov dword [ebp - 0xdc8], ebx
lea eax, [ebp - 0x11c]
push eax
call fcn.010886d9
mov esi, eax
cmp esi, ebx
je 0x108ab44
push esi
push 0x102c73c
push 0x102c71c
call fcn.01071aea
add esp, 0xc
jmp 0x108bbf4
xor eax, eax
mov cl, byte [ebp + eax - 0x11c]
mov byte [ebp + eax - 0x224], cl
inc eax
test cl, cl
jne 0x108ab46
push 0x2e
lea eax, [ebp - 0x224]
push eax
call sub.msvcrt.dll_strrchr
pop ecx
pop ecx
cmp eax, ebx
je 0x108acae
mov esi, 0x102c714
mov edi, eax
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0xe8c], ebx
mov dword [ebp - 0xe88], ebx
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0xeb0]
call fcn.0108cacf
mov esi, eax
cmp esi, ebx
je 0x108abc0
push esi
lea eax, [ebp - 0x11c]
push eax
push 0x102c73c
push 0x102c6e8
call fcn.01071aea
add esp, 0x10
jmp 0x108bbe5
lea eax, [ebp - 0x434]
push eax
lea eax, [ebp - 0x53c]
push eax
lea ecx, [ebp - 0xeb0]
call fcn.0108ccfe
mov esi, eax
cmp esi, ebx
je 0x108abf3
push esi
lea eax, [ebp - 0x11c]
push eax
push 0x102c73c
push 0x102c6ac
jmp 0x108abb3
cmp byte [ebp - 0x53c], 0
je 0x108bbcf
cmp byte [ebp - 0x434], 0
je 0x108bbcf
mov dword [ebp - 0xdc4], ebx
jmp 0x108ac2c
mov ecx, dword [ebp - 0xdc4]
cmp ecx, ebx
je 0x108ac44
push 1
call fcn.01088e6f
inc dword [ebp - 0xda4]
lea eax, [ebp - 0xdc4]
lea ecx, [ebp - 0xeb0]
push eax
call fcn.0108ce0e
mov esi, eax
cmp esi, ebx
je 0x108ac15
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xeb0]
call fcn.0108aa20
cmp esi, ebx
je 0x108ac6c
push esi
push 0x102c73c
push 0x102c684
call fcn.01071aea
add esp, 0xc
jmp 0x108ac85
cmp dword [ebp - 0xda4], ebx
jne 0x108ac8c
push 0x102c73c
push 0x102c66c
call fcn.01071aea
pop ecx
pop ecx
mov eax, 0xf209
jmp 0x108acb3
push dword [ebp - 0xd9c]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x108accb
push 0x102c73c
push 0x102c648
call fcn.01071aea
pop ecx
pop ecx
mov eax, 0x54f
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.0106bc50
pop edi
pop esi
pop ebx
leave
ret 4
mov dword [ebp - 0xf10], ebx
mov dword [ebp - 0xf0c], ebx
mov dword [ebp - 4], 1
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0xf34]
call fcn.0108cacf
mov edi, eax
cmp edi, ebx
je 0x108ad0e
push edi
push 0x102c73c
push 0x102c620
call fcn.01071aea
add esp, 0xc
jmp 0x108bb8b
lea eax, [ebp - 0xb6c]
push eax
lea eax, [ebp - 0x53c]
push eax
lea ecx, [ebp - 0xf34]
call fcn.0108ccfe
mov edi, eax
cmp edi, ebx
je 0x108ad4c
push edi
lea eax, [ebp - 0x11c]
push eax
push 0x102c73c
push 0x102c6ac
call fcn.01071aea
add esp, 0x10
jmp 0x108bb8b
push 0x105
lea eax, [ebp - 0xc74]
push eax
call fcn.01088615
mov edi, eax
cmp edi, ebx
je 0x108ad70
push edi
push 0x102c73c
push 0x102c5f4
jmp 0x108ad01
lea eax, [ebp - 0xb6c]
push eax
lea eax, [ebp - 0xc74]
push eax
push 0x1020a90
lea eax, [ebp - 0x434]
push eax
call sub.msvcrt.dll_sprintf
add esp, 0x10
lea ecx, [ebp - 0xe40]
call fcn.0108aa3d
mov byte [ebp - 4], 2
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0xe40]
call fcn.0108a94e
mov edi, eax
cmp edi, 2
je 0x108bbae
cmp edi, 3
je 0x108bbae
cmp edi, ebx
je 0x108adea
push edi
lea eax, [ebp - 0x434]
push eax
push 0x102c73c
push 0x102c5c4
call fcn.01071aff
add esp, 0x10
jmp 0x108bb7c
push dword [ebp - 0xe2c]
call fcn.0104fe1f
xor esi, esi
mov dword [ebp - 0xd84], esi
mov dword [ebp - 0xda8], esi
mov dword [ebp - 0xda0], esi
mov ebx, 0x102c73c
mov dword [ebp - 0xddc], esi
mov dword [ebp - 0xde8], esi
mov dword [ebp - 0xd98], esi
mov dword [ebp - 0xd90], esi
mov dword [ebp - 0xd88], esi
mov dword [ebp - 0xde0], esi
mov dword [ebp - 0xdd0], esi
mov dword [ebp - 0xdcc], esi
push dword [ebp - 0xda4]
push dword [ebp - 0xdc8]
call fcn.0108895a
call fcn.0108899a
test eax, eax
je 0x108ae6f
push ebx
push 0x102c59c
call fcn.01071aea
pop ecx
pop ecx
mov edi, 0x4c7
jmp 0x108b81e
lea eax, [ebp - 0xd84]
push eax
lea ecx, [ebp - 0xf34]
call fcn.0108ce0e
mov edi, eax
cmp edi, esi
je 0x108ae93
push edi
push ebx
push 0x102c56c
jmp 0x108b873
cmp dword [ebp - 0xd84], esi
je 0x108b81e
mov byte [ebp - 4], 3
mov edi, dword [ebp - 0xd84]
lea eax, [ebp - 0xd98]
push eax
push dword [edi + 0xc]
lea ecx, [ebp - 0xe40]
call fcn.0108a993
mov dword [ebp - 0xd80], eax
cmp eax, esi
je 0x108aee9
push eax
push dword [edi + 0xc]
push ebx
push 0x102c52c
call fcn.01071aff
add esp, 0x10
mov dword [ebp - 0xd80], 0xf203
jmp 0x108b27a
mov eax, dword [edi + 4]
cmp eax, 3
je 0x108aefc
cmp eax, 0x80
jne 0x108af96
mov eax, dword [ebp - 0xd98]
cmp dword [eax], 0x39314150
je 0x108af1a
push dword [edi + 0xc]
push dword [edi + 8]
push dword [edi]
push ebx
push 0x102c4f8
jmp 0x108af89
mov dword [ebp - 0xdd8], esi
lea eax, [ebp - 0xdd8]
push eax
push dword [edi + 0xc]
push dword [ebp - 0xd98]
call fcn.0106dde8
test eax, eax
jne 0x108af6c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xd80], eax
mov eax, dword [ebp - 0xd84]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax]
push dword [ebp - 0xd80]
push ebx
push 0x102c4b8
call fcn.01071aff
add esp, 0x18
jmp 0x108aeda
cmp dword [ebp - 0xdd8], 0xffffffff
je 0x108af96
mov eax, dword [ebp - 0xd84]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax]
push ebx
push 0x102c488
call fcn.01071aff
add esp, 0x14
jmp 0x108aeda
mov dword [ebp - 4], 2
mov byte [ebp - 4], 5
or dword [ebp - 0xdb4], 0xffffffff
mov dword [ebp - 0xdb0], esi
mov dword [ebp - 0xdac], esi
mov byte [ebp - 4], 6
or dword [ebp - 0xdc0], 0xffffffff
mov dword [ebp - 0xdbc], esi
mov dword [ebp - 0xdb8], esi
mov byte [ebp - 4], 7
mov dword [ebp - 0xde4], esi
mov eax, dword [ebp - 0xd84]
cmp dword [eax + 0x10], esi
je 0x108b0bf
mov edi, 0x105
mov dword [ebp - 0xd88], edi
lea ecx, [ebp - 0xd88]
push ecx
lea ecx, [ebp - 0x854]
push ecx
push dword [eax + 0x10]
call fcn.01088635
mov dword [ebp - 0xd80], eax
cmp eax, esi
je 0x108b01b
push eax
push ebx
push 0x102c458
jmp 0x108b1e1
push esi
push 1
lea eax, [ebp - 0xde8]
push eax
lea eax, [ebp - 0xddc]
push eax
lea eax, [ebp - 0x854]
push eax
lea ecx, [ebp - 0xdb4]
call fcn.0108a83c
mov dword [ebp - 0xd80], eax
cmp eax, esi
je 0x108b0b9
mov dword [ebp - 0xd88], edi
lea eax, [ebp - 0xd88]
push eax
lea eax, [ebp - 0xa64]
push eax
mov eax, dword [ebp - 0xd84]
push dword [eax]
call fcn.01088635
mov dword [ebp - 0xdec], eax
cmp eax, esi
je 0x108b07b
push dword [ebp - 0xd80]
jmp 0x108b010
push esi
xor edi, edi
inc edi
push edi
lea eax, [ebp - 0xd88]
push eax
lea eax, [ebp - 0xd90]
push eax
lea eax, [ebp - 0xa64]
push eax
lea ecx, [ebp - 0xdc0]
call fcn.0108a83c
mov dword [ebp - 0xdec], eax
cmp eax, esi
jne 0x108b1e9
mov dword [ebp - 0xde4], edi
jmp 0x108b1b2
mov eax, dword [ebp - 0xd84]
mov ecx, dword [eax + 4]
cmp ecx, 3
je 0x108b0f5
cmp ecx, 0x80
je 0x108b0f5
cmp ecx, 0xff
jne 0x108b1b2
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xd88], eax
mov eax, dword [ebp - 0xd98]
mov dword [ebp - 0xd90], eax
jmp 0x108b1b2
push esi
push esi
push esi
lea ecx, [ebp - 0xdd0]
push ecx
lea ecx, [ebp - 0xd88]
push ecx
push esi
lea ecx, [ebp - 0xd90]
push ecx
push dword [ebp - 0xde8]
push dword [ebp - 0xddc]
push dword [eax + 0xc]
push dword [ebp - 0xd98]
call fcn.0106d6cc
mov dword [ebp - 0xe00], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0xe54], edi
mov eax, dword [ebp - 0xd84]
cmp dword [eax + 0x10], esi
je 0x108b181
lea ecx, [ebp - 0xdb4]
call fcn.0108a7e1
lea eax, [ebp - 0x854]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x108b181
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [ebp - 0xd84]
push dword [eax + 0x10]
push ebx
push 0x102c408
call fcn.01071aff
add esp, 0x10
cmp dword [ebp - 0xe00], esi
jne 0x108b1a8
mov dword [ebp - 0xd80], edi
mov eax, dword [ebp - 0xd84]
push dword [eax]
push edi
push ebx
push 0x102c3b8
call fcn.01071aff
add esp, 0x10
jmp 0x108b1e9
mov dword [ebp - 0xde0], 1
lea eax, [ebp - 0xf44]
push eax
push dword [ebp - 0xd88]
push dword [ebp - 0xd90]
call fcn.0106de3b
test eax, eax
jne 0x108b210
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xd80], eax
push eax
push ebx
push 0x102c378
call fcn.01071aff
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xdc0]
call fcn.0108a7e1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xdb4]
call fcn.0108a7e1
mov byte [ebp - 4], 2
jmp 0x108b32b
push 4
pop ecx
mov eax, dword [ebp - 0xd84]
lea edi, [eax + 0x14]
lea esi, [ebp - 0xf44]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
je 0x108b283
cmp dword [eax + 4], 0xff
mov ecx, 0x102c36c
je 0x108b23b
mov ecx, 0x102c360
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax]
push ecx
push ebx
push 0x102c334
call fcn.01071aff
add esp, 0x18
mov dword [ebp - 0xd80], 0xd
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xdc0]
call fcn.0108a7e1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xdb4]
call fcn.0108a7e1
mov byte [ebp - 4], 2
jmp 0x108b37e
cmp dword [ebp - 0xde4], 0
je 0x108b2c7
push dword [eax]
push ebx
push 0x102c2f8
call fcn.01071b29
add esp, 0xc
xor edi, edi
mov dword [ebp - 0xd80], edi
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xdc0]
call fcn.0108a7e1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xdb4]
call fcn.0108a7e1
jmp 0x108b50d
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xdc0]
call fcn.0108a7e1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xdb4]
call fcn.0108a7e1
mov dword [ebp - 4], 2
jmp 0x108b32b
cmp dword [ebp - 0xd80], 0
jne 0x108b37e
mov dword [ebp - 0xdf0], 0x105
lea eax, [ebp - 0xdf0]
push eax
lea eax, [ebp - 0x32c]
push eax
mov eax, dword [ebp - 0xd84]
push dword [eax]
call fcn.01088635
mov edi, eax
xor eax, eax
cmp edi, eax
je 0x108b679
push edi
push ebx
push 0x102c458
call fcn.01071aea
add esp, 0xc
jmp 0x108b7db
mov eax, dword [ebp - 0xd84]
push dword [eax]
push ebx
push 0x102c270
call fcn.01071b14
add esp, 0xc
xor esi, esi
mov dword [ebp - 0xdd4], esi
mov dword [ebp - 0xdfc], esi
mov dword [ebp - 0xdf8], esi
mov dword [ebp - 0xdf4], esi
cmp dword [ebp - 0xda8], esi
jne 0x108b450
mov byte [ebp - 4], 9
push 0x11c
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0xe50], eax
mov byte [ebp - 4], 0xa
cmp eax, esi
je 0x108b3e7
lea ecx, [ebp - 0x224]
push ecx
mov ecx, eax
call fcn.01089eac
jmp 0x108b3e9
xor eax, eax
mov edi, eax
mov dword [ebp - 0xe4c], edi
mov byte [ebp - 4], 9
mov dword [ebp - 0xda8], edi
cmp edi, esi
jne 0x108b414
push 0xe
pop edi
lea eax, [ebp - 0x11c]
push eax
push ebx
push 0x102c230
jmp 0x108b4ff
mov dword [ebp - 4], 2
lea eax, [ebp - 0x53c]
push eax
push 0x10224e8
push 0x102b958
lea eax, [ebp - 0xd7c]
push eax
call sub.msvcrt.dll_sprintf
add esp, 0x10
lea eax, [ebp - 0xd7c]
push eax
lea eax, [ebp - 0x53c]
push eax
mov ecx, edi
call fcn.01088bb8
cmp dword [ebp - 0xda0], esi
jne 0x108b569
mov byte [ebp - 4], 0xc
push 0x14
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0xe28], eax
mov byte [ebp - 4], 0xd
cmp eax, esi
je 0x108b4da
push dword [ebp - 0xd9c]
mov ecx, eax
call fcn.01089dc7
jmp 0x108b4dc
xor eax, eax
mov dword [ebp - 0xe48], eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0xda0], eax
cmp eax, esi
jne 0x108b569
push 0xe
pop edi
push dword [ebp - 0xd9c]
push ebx
push 0x102c1c4
mov dword [ebp - 0xd80], edi
call fcn.01071aea
add esp, 0xc
mov byte [ebp - 4], 2
jmp 0x108b7db
mov dword [ebp - 4], 2
lea eax, [ebp - 0xdfc]
push eax
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0xd84]
push dword [eax]
mov ecx, dword [ebp - 0xda0]
call fcn.0108c4de
mov edi, eax
cmp edi, esi
je 0x108b5ab
push edi
mov eax, dword [ebp - 0xd84]
push dword [eax]
push ebx
push 0x102c164
jmp 0x108b6f7
xor eax, eax
mov dword [ebp - 0xe24], eax
mov dword [ebp - 0xe20], eax
mov dword [ebp - 0xe1c], eax
mov dword [ebp - 0xe18], eax
mov dword [ebp - 0xe14], eax
lea edi, [ebp - 0xe10]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0xd84]
mov ecx, dword [eax]
mov dword [ebp - 0xe24], ecx
mov ecx, dword [ebp - 0xdd4]
mov dword [ebp - 0xe20], ecx
mov ecx, dword [ebp - 0xdf4]
mov dword [ebp - 0xe1c], ecx
mov ecx, dword [ebp - 0xdf8]
mov dword [ebp - 0xe18], ecx
lea esi, [eax + 0x14]
lea edi, [ebp - 0xe10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
push dword [ebp - 0xe24]
push ebx
push 0x102b888
call fcn.01071b3e
add esp, 0x10
lea eax, [ebp - 0xe24]
push eax
mov ecx, dword [ebp - 0xda8]
call fcn.01089cea
mov edi, eax
test edi, edi
je 0x108b65e
push edi
mov eax, dword [ebp - 0xd84]
push dword [eax]
push ebx
push 0x102c138
call fcn.01071aea
add esp, 0x10
jmp 0x108b665
and dword [ebp - 0xe24], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xe24]
call fcn.01088b5e
jmp 0x108b7db
push eax
push eax
push 2
push eax
push eax
push 0x40000000
lea eax, [ebp - 0x32c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xd8c], eax
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xffffffff
jne 0x108b704
call esi
mov edi, eax
cmp edi, 3
jne 0x108b6e5
lea eax, [ebp - 0x32c]
push eax
call fcn.010300d2
cmp eax, 1
jne 0x108b6e9
xor edi, edi
push edi
push edi
push 2
push edi
push edi
push 0x40000000
lea eax, [ebp - 0x32c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xd8c], eax
cmp eax, 0xffffffff
jne 0x108b704
call esi
mov edi, eax
test edi, edi
je 0x108b704
lea eax, [ebp - 0x32c]
push eax
push edi
push ebx
push 0x102be1c
call fcn.01071aea
add esp, 0x10
jmp 0x108b7db
push 0
push 0
push dword [ebp - 0xd88]
push dword [ebp - 0xd8c]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push dword [ebp - 0xd8c]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0xd8c]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
test eax, eax
je 0x108b754
call esi
mov edi, eax
lea eax, [ebp - 0x32c]
push eax
push edi
push ebx
push 0x102c110
call sub.ntdll.dll_DbgPrint
jmp 0x108b7bf
push dword [ebp - 0xd88]
push dword [ebp - 0xd90]
push dword [ebp - 0xd8c]
call fcn.0108a9c8
test al, al
jne 0x108b788
call esi
mov edi, eax
lea eax, [ebp - 0x32c]
push eax
push edi
push ebx
push 0x102c0e0
call fcn.01071aea
jmp 0x108b7bf
cmp dword [ebp - 0xdcc], 0
je 0x108b7c2
lea eax, [ebp - 0xdd0]
push eax
push eax
push eax
push dword [ebp - 0xd8c]
call dword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
jne 0x108b7c2
call esi
push eax
lea eax, [ebp - 0x32c]
push eax
push ebx
push 0x102c0bc
call fcn.01071aff
add esp, 0x10
push dword [ebp - 0xd8c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x108b7db
xor esi, esi
cmp dword [ebp - 0xde0], esi
je 0x108b7ff
cmp dword [ebp - 0xd90], esi
je 0x108b7ff
push 0x8000
push esi
push dword [ebp - 0xd90]
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov ecx, dword [ebp - 0xd84]
cmp ecx, esi
je 0x108b816
push 1
call fcn.01088e6f
mov dword [ebp - 0xd84], esi
cmp edi, esi
je 0x108bba1
mov ecx, dword [ebp - 0xda0]
test ecx, ecx
je 0x108b82f
push 1
call fcn.0108aac4
mov esi, dword [ebp - 0xda8]
test esi, esi
je 0x108b868
mov ecx, esi
call fcn.0108aa95
push eax
push 0
push eax
push ebx
push 0x102bc88
call fcn.01071b14
add esp, 0x14
test edi, edi
jne 0x108b85f
mov ecx, esi
call fcn.01089258
mov edi, eax
push 1
mov ecx, esi
call fcn.01089f27
test edi, edi
je 0x108b880
push edi
push ebx
push 0x102c0a0
call fcn.01071aea
add esp, 0xc
jmp 0x108bb7c
and dword [ebp - 0xd94], 0
lea ecx, [ebp - 0xe40]
call fcn.0108a97c
lea eax, [ebp - 0x434]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x108b8bf
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x434]
push eax
push ebx
push 0x102c058
call fcn.01071aff
add esp, 0x10
mov esi, 0x102c050
mov edi, 0x102c048
push 0x105
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x644]
push eax
call sub.msvcrt.dll_strncpy
add esp, 0xc
cmp byte [ebp - 0x540], 0
jne 0x108b9de
push 0x102c040
lea eax, [ebp - 0x644]
push eax
call sub.msvcrt.dll_strstr
pop ecx
pop ecx
test eax, eax
je 0x108b9de
mov byte [eax], 0
push dword [ebp - 0xd94]
push esi
lea eax, [ebp - 0x644]
push eax
push edi
lea eax, [ebp - 0x74c]
push eax
call sub.msvcrt.dll_sprintf
add esp, 0x14
lea eax, [ebp - 0x74c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x108b952
inc dword [ebp - 0xd94]
cmp dword [ebp - 0xd94], 0xa
jb 0x108b8c9
cmp dword [ebp - 0xd94], 2
jb 0x108bad9
xor eax, eax
mov dword [ebp - 0xee4], eax
mov dword [ebp - 0xee0], eax
mov byte [ebp - 4], 0x10
mov dword [ebp - 0xe60], eax
mov dword [ebp - 0xe5c], eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0xeb8], eax
mov dword [ebp - 0xeb4], eax
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0xd94], 9
jb 0x108b9e6
push ebx
push 0x102c000
call fcn.01071aea
pop ecx
pop ecx
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xedc]
call fcn.0108aa20
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xe84]
call fcn.0108aa20
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xf08]
call fcn.0108aa20
mov edi, 0xf207
jmp 0x108bb7c
push 0x57
pop edi
jmp 0x108bb7c
mov eax, dword [ebp - 0xd94]
dec eax
push eax
push esi
lea eax, [ebp - 0x644]
push eax
push edi
lea eax, [ebp - 0x95c]
push eax
call sub.msvcrt.dll_sprintf
add esp, 0x14
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0xedc]
call fcn.0108cacf
test eax, eax
jne 0x108baac
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0xe84]
call fcn.0108cacf
test eax, eax
jne 0x108baac
lea eax, [ebp - 0xedc]
push eax
lea ecx, [ebp - 0xe84]
call fcn.0108d005
test al, al
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x11c]
push eax
push ebx
je 0x108ba9f
push 0x102bfd0
call fcn.01071b29
add esp, 0x10
lea eax, [ebp - 0x95c]
push eax
lea ecx, [ebp - 0xf08]
call fcn.0108cacf
test eax, eax
jne 0x108baac
lea eax, [ebp - 0xf08]
push eax
lea ecx, [ebp - 0xe84]
call fcn.0108d005
test al, al
je 0x108baac
push ebx
push 0x102bf70
jmp 0x108b9a0
push 0x102bf38
call fcn.01071b29
add esp, 0x10
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xedc]
call fcn.0108aa20
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xe84]
call fcn.0108aa20
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xf08]
call fcn.0108aa20
lea eax, [ebp - 0x74c]
push eax
lea eax, [ebp - 0x11c]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileA]
call esi
test eax, eax
jne 0x108bb1a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push edi
lea eax, [ebp - 0x74c]
push eax
lea eax, [ebp - 0x11c]
push eax
push ebx
push 0x102bf08
call fcn.01071aea
add esp, 0x14
jmp 0x108bb7c
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x108bb6a
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x224]
push eax
call esi
test eax, eax
jne 0x108bb58
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push edi
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x224]
jmp 0x108bb09
push ebx
push 0x102becc
call fcn.01071b14
mov edi, 0xf200
jmp 0x108bb7a
push ebx
push 0x102bea4
call fcn.01071b14
mov edi, 0xf201
pop ecx
pop ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe40]
call fcn.0108aa73
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf34]
call fcn.0108aa20
mov eax, edi
jmp 0x108acb3
inc dword [ebp - 0xdc8]
xor esi, esi
jmp 0x108ae0e
push edi
lea eax, [ebp - 0x434]
push eax
push 0x102c73c
push 0x102be78
call fcn.01071aff
add esp, 0x10
mov edi, 0xf200
jmp 0x108bb7c
push 0x102c73c
push 0x102be60
call fcn.01071aea
pop ecx
pop ecx
mov esi, 0xf209
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xeb0]
call fcn.0108aa20
mov eax, esi
jmp 0x108acb3