Function at 0x100251d
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x1008008]
push ebx
push esi
push edi
xor ebx, ebx
mov esi, 0x100134c
lea edi, [ebp - 0xc]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 4], eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], ebx
movsw word es:[edi], word [esi]
mov dword [ebp - 0x3c], 0x2f
mov dword [ebp - 0x28], ebx
call fcn.01004ffe
cmp eax, ebx
mov dword [ebp - 0x1c], eax
jne 0x1002594
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.01002d77
mov eax, dword [sym.imp.msvcrt.dll__iob]
push 0x20001
add eax, 0x40
push eax
call fcn.01004bc0
xor eax, eax
inc eax
jmp 0x1002ce5
mov dword [ebp - 0x40], 0x3f
mov dword [ebp - 0x44], 0x79
lea eax, [ebp - 0x134]
mov ecx, 0xf0
mov byte [eax], bl
inc eax
dec ecx
jne 0x10025ad
push 8
mov edi, 0x1001340
push edi
lea eax, [ebp - 0x134]
push eax
call fcn.0100362a
lea eax, [ebp - 0x40]
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x2c]
push 8
mov dword [ebp - 0x108], eax
xor esi, esi
push edi
lea eax, [ebp - 0xe4]
inc esi
push eax
mov dword [ebp - 0x12c], 0xa
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x124], 0x20000
mov dword [ebp - 0x120], ebx
call fcn.0100362a
lea eax, [ebp - 0x1c]
push 8
mov dword [ebp - 0xb8], eax
push edi
lea eax, [ebp - 0x94]
push eax
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xcc], 2
mov dword [ebp - 0xd4], 0x40001
mov dword [ebp - 0xd0], ebx
call fcn.0100362a
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x44]
mov dword [ebp - 0x74], eax
push ebx
lea eax, [ebp - 0x30]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x134]
push eax
push 3
push 0xffffffffffffffff
push dword [ebp + 0xc]
mov dword [ebp - 0x8c], 0xa
push edi
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
call fcn.0100676f
test eax, eax
jne 0x100269f
mov eax, dword [sym.imp.msvcrt.dll__iob]
push 0x20001
add eax, 0x40
push eax
call fcn.01004bc0
jmp 0x1002cde
push dword [ebp - 0x1c]
call fcn.01005088
cmp edi, esi
je 0x1002cbc
cmp dword [ebp - 0x2c], esi
jne 0x10026bd
cmp edi, 2
ja 0x1002cbc
cmp dword [ebp - 0x2c], ebx
jne 0x10026cb
cmp eax, 2
jb 0x1002cbc
cmp dword [ebp - 0x30], esi
jne 0x10026d9
cmp edi, 6
ja 0x1002cbc
cmp dword [ebp - 0x2c], esi
jne 0x10026ea
call fcn.0100157c
xor esi, esi
jmp 0x1002cd5
push ebx
push dword [ebp - 0x1c]
call fcn.0100562e
push esi
push dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
call fcn.0100562e
push ebx
push dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
call fcn.01002fa4
test eax, eax
jne 0x1002719
push 0xce
jmp 0x1002cc1
push ebx
push dword [ebp - 0x20]
call fcn.01002fa4
test eax, eax
jne 0x1002730
push 0xcf
jmp 0x1002cc1
mov edi, dword [sym.imp.msvcrt.dll_wcspbrk]
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x24]
call edi
test eax, eax
pop ecx
pop ecx
je 0x100274f
push 0x105
jmp 0x1002cc1
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x20]
call edi
test eax, eax
pop ecx
pop ecx
je 0x1002768
push 0x106
jmp 0x1002cc1
mov edi, dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
lea eax, [ebp - 0x34]
push eax
push ebx
push ebx
push dword [ebp - 0x24]
call edi
cmp eax, ebx
jne 0x1002795
mov eax, dword [sym.imp.msvcrt.dll__iob]
push 0x10001
add eax, 0x40
push eax
call fcn.01004bc0
jmp 0x1002cd5
lea eax, [eax + eax + 0x28]
push eax
call fcn.010032f6
cmp eax, ebx
mov dword [ebp - 0x14], eax
je 0x100277d
lea ecx, [ebp - 0x34]
push ecx
push eax
push eax
call fcn.01003394
shr eax, 1
push eax
push dword [ebp - 0x24]
call edi
test eax, eax
jne 0x10027de
mov eax, dword [sym.imp.msvcrt.dll__iob]
push 0x10001
add eax, 0x40
push eax
call fcn.01004bc0
lea eax, [ebp - 0x14]
push eax
call fcn.010036e8
jmp 0x1002cd5
lea eax, [ebp - 0x38]
push eax
push ebx
push ebx
push dword [ebp - 0x20]
call edi
cmp eax, ebx
je 0x10027bd
lea eax, [eax + eax + 0x28]
push eax
call fcn.010032f6
cmp eax, ebx
mov dword [ebp - 0x18], eax
je 0x10027bd
lea ecx, [ebp - 0x38]
push ecx
push eax
push eax
call fcn.01003394
shr eax, 1
push eax
push dword [ebp - 0x20]
call edi
test eax, eax
jne 0x1002848
mov eax, dword [sym.imp.msvcrt.dll__iob]
push 0x10001
add eax, 0x40
push eax
call fcn.01004bc0
lea eax, [ebp - 0x1c]
push eax
call fcn.01005067
lea eax, [ebp - 0x14]
push eax
call fcn.010036e8
lea eax, [ebp - 0x18]
push eax
call fcn.010036e8
jmp 0x1002cde
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1002881
push dword [ebp - 0x14]
call fcn.01003394
add eax, 0xfe
push eax
call fcn.010032f6
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x1002b2d
push dword [ebp - 0x14]
push 0xc8
jmp 0x100295d
test al, 0x10
je 0x10028b0
push dword [ebp - 0x24]
call fcn.01003394
add eax, 0xfe
push eax
call fcn.010032f6
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x1002b2d
push dword [ebp - 0x24]
push 0xd2
jmp 0x100295d
push 2
push esi
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x20]
call fcn.01002fbc
test eax, eax
jne 0x10028fd
mov edi, dword [sym.imp.msvcrt.dll_wcstok]
push 0x100133c
push dword [ebp - 0x20]
call edi
test eax, eax
pop ecx
pop ecx
je 0x10028f3
push 0x100133c
push dword [ebp - 0x20]
call edi
cmp eax, ebx
pop ecx
pop ecx
je 0x10028fd
push eax
call fcn.01004e8f
test eax, eax
jne 0x10028fd
push 0x104
jmp 0x10029d1
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1002933
push dword [ebp - 0x18]
call fcn.01003394
add eax, 0xfe
push eax
call fcn.010032f6
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x1002b2d
push dword [ebp - 0x18]
push 0xc9
jmp 0x100295d
test al, 0x10
je 0x10029a1
push dword [ebp - 0x20]
call fcn.01003394
add eax, 0xfe
push eax
call fcn.010032f6
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x1002b2d
push dword [ebp - 0x20]
push 0xd3
call fcn.01004b9e
push eax
push dword [ebp - 0x10]
call fcn.01003394
shr eax, 1
push eax
push dword [ebp - 0x10]
call fcn.010036c1
mov eax, dword [sym.imp.msvcrt.dll__iob]
add esp, 0x10
push dword [ebp - 0x10]
add eax, 0x40
push eax
call fcn.01004834
lea eax, [ebp - 0x1c]
push eax
call fcn.01005067
lea eax, [ebp - 0x10]
push eax
call fcn.010036e8
jmp 0x1002831
push ebx
push dword [ebp - 0x14]
call fcn.01002fa4
test eax, eax
je 0x10029ea
push ebx
push dword [ebp - 0x18]
call fcn.01002fa4
test eax, eax
je 0x10029ea
push ebx
push esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.01002fbc
test eax, eax
jne 0x10029ea
push 0xd4
call fcn.01004b9e
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.01004834
jmp 0x1002828
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
push ebx
push 0x80
push 3
push ebx
push esi
push ebx
push dword [ebp - 0x24]
call edi
cmp eax, 0xffffffff
jne 0x1002a6f
push dword [ebp - 0x24]
call fcn.01003394
add eax, 0xfe
push eax
call fcn.010032f6
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x1002b2d
push dword [ebp - 0x24]
push 0xd7
call fcn.01004b9e
push eax
push dword [ebp - 0x10]
call fcn.01003394
shr eax, 1
push eax
push dword [ebp - 0x10]
call fcn.010036c1
mov eax, dword [sym.imp.msvcrt.dll__iob]
add esp, 0x10
push dword [ebp - 0x10]
add eax, 0x40
push eax
call fcn.01004834
lea eax, [ebp - 0x10]
push eax
call fcn.010036e8
lea eax, [ebp - 0x1c]
push eax
call fcn.01005067
jmp 0x1002ce3
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
push 0x80
push 3
push ebx
push esi
push ebx
push dword [ebp - 0x20]
call edi
cmp eax, 0xffffffff
jne 0x1002af5
push dword [ebp - 0x20]
call fcn.01003394
add eax, 0xfe
push eax
call fcn.010032f6
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x1002b2d
push dword [ebp - 0x20]
push pe_nt_image_headers32
call fcn.01004b9e
push eax
push dword [ebp - 0x10]
call fcn.01003394
shr eax, 1
push eax
push dword [ebp - 0x10]
call fcn.010036c1
mov eax, dword [sym.imp.msvcrt.dll__iob]
add esp, 0x10
push dword [ebp - 0x10]
add eax, 0x40
push eax
call fcn.01004834
lea eax, [ebp - 0x1c]
push eax
call fcn.01005067
lea eax, [ebp - 0x10]
push eax
call fcn.010036e8
jmp 0x1002ce3
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 2
push esi
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x24]
call fcn.01002fbc
test eax, eax
jne 0x1002b99
push ebx
push dword [ebp - 0x24]
call fcn.01002fa4
lea eax, [eax + eax + 0x28]
push eax
call fcn.010032f6
cmp eax, ebx
mov dword [ebp - 0x28], eax
jne 0x1002b51
mov eax, dword [sym.imp.msvcrt.dll__iob]
push 0x10001
add eax, 0x40
push eax
call fcn.01004bc0
lea eax, [ebp - 0x14]
push eax
call fcn.010036e8
lea eax, [ebp - 0x18]
jmp 0x10027d3
push eax
call fcn.01003394
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.01003668
mov edi, dword [sym.imp.msvcrt.dll_wcstok]
push 0x100133c
push dword [ebp - 0x28]
call edi
test eax, eax
pop ecx
pop ecx
je 0x1002b99
push 0x100133c
push dword [ebp - 0x28]
call edi
pop ecx
pop ecx
push dword [ebp - 0x28]
mov edi, eax
call fcn.01003394
push eax
push edi
push dword [ebp - 0x28]
call fcn.01003668
push dword [ebp - 0x28]
push dword [ebp - 0x30]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.0100214a
test eax, eax
jne 0x1002bf3
cmp dword [0x100801c], 4
je 0x1002bd0
mov eax, dword [sym.imp.msvcrt.dll__iob]
push 0x20001
add eax, 0x40
push eax
call fcn.01004bc0
lea eax, [ebp - 0x1c]
push eax
call fcn.01005067
lea eax, [ebp - 0x14]
push eax
call fcn.010036e8
lea eax, [ebp - 0x18]
push eax
call fcn.010036e8
lea eax, [ebp - 0x28]
jmp 0x100283d
cmp dword [0x100801c], 3
je 0x1002c94
push dword [ebp - 0x18]
call fcn.01003394
push dword [ebp - 0x14]
mov edi, eax
call fcn.01003394
lea eax, [edi + eax + 0x1fc]
push eax
call fcn.010032f6
cmp eax, ebx
mov dword [ebp - 0x10], eax
jne 0x1002c53
mov eax, dword [sym.imp.msvcrt.dll__iob]
push 0x10001
add eax, 0x40
push eax
call fcn.01004bc0
lea eax, [ebp - 0x14]
push eax
call fcn.010036e8
lea eax, [ebp - 0x18]
push eax
call fcn.010036e8
lea eax, [ebp - 0x28]
jmp 0x10027d3
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push 0xcd
call fcn.01004b9e
push eax
push dword [ebp - 0x10]
call fcn.01003394
shr eax, 1
push eax
push dword [ebp - 0x10]
call fcn.010036c1
mov eax, dword [sym.imp.msvcrt.dll__iob]
add esp, 0x14
push dword [ebp - 0x10]
add eax, 0x20
push eax
call fcn.01004834
lea eax, [ebp - 0x10]
push eax
call fcn.010036e8
lea eax, [ebp - 0x1c]
push eax
call fcn.01005067
lea eax, [ebp - 0x14]
push eax
call fcn.010036e8
lea eax, [ebp - 0x18]
push eax
call fcn.010036e8
lea eax, [ebp - 0x28]
push eax
call fcn.010036e8
xor esi, esi
jmp 0x1002cde
push 0xca
call fcn.01004b9e
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.01004834
lea eax, [ebp - 0x1c]
push eax
call fcn.01005067
call fcn.01003902
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01006d7a
leave
ret