Function at 0x1028b9c
Capabilities:
Accept command line arguments
Check if file exists
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
xor ebx, ebx
push esi
push edi
lea eax, [ebp - 0x10]
push eax
mov edi, ecx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x10], ebx
call fcn.01031307
mov esi, eax
cmp esi, ebx
jge 0x1028bf1
push esi
push 0x121
push 0x1007a80
push 0x100189c
push 1
call fcn.01014247
add esp, 0x14
jmp 0x1029274
push 0x208
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x14], eax
cmp eax, ebx
jne 0x1028c2f
mov esi, 0x8007000e
push esi
push 0x123
push 0x1007a80
push 0x100189c
push 1
call fcn.01014247
add esp, 0x14
jmp 0x102924e
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
push eax
push dword [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 0x1c], eax
call fcn.01025d4f
mov esi, eax
cmp esi, ebx
jge 0x1028c5c
push esi
push 0x128
jmp 0x1028c16
cmp esi, 1
je 0x102924e
cmp dword [edi + 0xd0], 2
je 0x102924e
mov ecx, dword [ebp - 0x18]
xor eax, eax
inc eax
dec ecx
cmp ecx, eax
mov dword [ebp - 0x20], eax
jle 0x102920d
mov ebx, dword [ebp - 0x1c]
add ebx, 8
mov dword [section..data], 0x192
mov eax, dword [ebx - 4]
movzx ecx, word [eax]
mov dword [ebp - 4], eax
cmp cx, 0x2d
je 0x1028ca9
cmp cx, 0x2f
jne 0x1028cae
inc eax
inc eax
mov dword [ebp - 4], eax
xor esi, esi
cmp dword [ebp - 0xc], esi
je 0x1028cc9
push dword [ebp - 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 0xc], esi
mov esi, dword [sym.imp.msvcrt.dll__wcsicmp]
push 0x1007a78
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1028d00
push dword [ebx]
inc dword [ebp - 8]
mov ecx, edi
call fcn.01028841
mov esi, eax
test esi, esi
jge 0x1028dfa
push esi
push 0x141
jmp 0x1029222
push 0x1007a6c
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1028e0b
inc dword [ebp - 8]
lea eax, [ebp - 0xc]
push eax
push dword [ebx]
call fcn.01025f12
mov esi, eax
test esi, esi
jl 0x102919d
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x10291a5
test al, 0x10
je 0x1028d5b
mov ecx, dword [ebp - 0x10]
push 1
call fcn.010311a1
mov esi, eax
test esi, esi
jl 0x10291c3
push dword [ebp - 0xc]
jmp 0x1028dbb
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x14]
mov esi, 0x104
push esi
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
je 0x10291db
cmp eax, esi
ja 0x10291db
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x14]
jbe 0x10291db
xor ecx, ecx
push 0x1007a58
mov word [eax - 2], cx
push dword [ebp - 0x28]
call fcn.01014057
test eax, eax
je 0x1028dde
mov ecx, dword [ebp - 0x10]
push 1
call fcn.010311a1
mov esi, eax
test esi, esi
jl 0x10291cb
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
and dword [eax + 0x80], 0
mov eax, dword [eax + 0x78]
mov ecx, dword [eax]
call fcn.0102607b
mov dword [edi + 0xd0], 4
jmp 0x102916f
lea eax, [ebp - 0x2c]
push eax
push 1
push 1
push dword [ebp - 0xc]
mov ecx, edi
call fcn.0102820e
mov esi, eax
test esi, esi
jl 0x10291d3
cmp esi, 1
jne 0x102916f
mov dword [ebp - 0x24], esi
jmp 0x102916f
push 0x1007a50
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1028e46
inc dword [ebp - 8]
cmp dword [ebp - 8], 1
jg 0x102918d
push dword [ebx]
mov ecx, edi
call fcn.01028a0d
mov esi, eax
test esi, esi
jge 0x102916f
push esi
push 0x193
jmp 0x1029222
push 0x1007a48
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1028e80
mov dword [edi + 0xd0], 3
push dword [ebx]
lea eax, [edi + 0x74]
push eax
call fcn.0101453d
mov esi, eax
test esi, esi
jge 0x102916f
push esi
push 0x19c
jmp 0x1029222
push 0x1007a40
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1028eda
inc dword [ebp - 8]
lea esi, [edi + 0x6c]
mov eax, dword [esi]
test eax, eax
je 0x1028eaf
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
and dword [esi], 0
push dword [ebx]
push esi
call fcn.0101453d
mov esi, eax
test esi, esi
jl 0x10291e8
xor eax, eax
cmp dword [edi + 0xd0], 3
sete al
inc eax
inc eax
mov dword [edi + 0xd0], eax
jmp 0x102916f
push 0x1007a30
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1028f0d
push dword [ebx]
lea eax, [edi + 0xb8]
push eax
call fcn.0101453d
mov esi, eax
test esi, esi
jge 0x102916f
push esi
push 0x1b1
jmp 0x1029222
push 0x1007a24
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1028f53
push dword [ebx]
lea eax, [edi + 0xc0]
push eax
call fcn.0101453d
mov esi, eax
test esi, esi
jl 0x10291f0
push dword [ebx]
mov ecx, edi
call fcn.010270a5
mov esi, eax
test esi, esi
jge 0x102916f
push esi
push 0x1b7
jmp 0x1029222
push 0x1007a1c
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1028f9d
lea eax, [edi + 0xc4]
push eax
push dword [ebx]
call fcn.01025f12
mov esi, eax
test esi, esi
jl 0x10291f8
push dword [edi + 0xc4]
mov ecx, edi
call fcn.01025df9
mov esi, eax
test esi, esi
jge 0x102916f
push esi
push 0x1bd
jmp 0x1029222
push 0x1007a08
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1028fb8
mov dword [edi], 1
jmp 0x102916f
push 0x10079f4
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1028fd4
mov dword [edi + 0x1c], 1
jmp 0x102916f
push 0x10079d8
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1028ff0
mov dword [edi + 0x24], 1
jmp 0x102916f
push 0x10079c8
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x102900c
mov dword [edi + 0x2c], 1
jmp 0x102916f
push 0x10079bc
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1029042
mov dword [edi + 0x44], 1
push 0x10079b0
push dword [ebx]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x102916f
mov dword [edi + 0x40], 1
jmp 0x102916f
push 0x10079a8
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1029080
inc dword [ebp - 8]
push 0x104e198
mov dword [edi + 0xd0], 0xb
push dword [ebx]
call fcn.01025f12
mov esi, eax
test esi, esi
jge 0x102916f
push esi
push 0x1db
jmp 0x1029222
push 0x10079a0
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x10290be
inc dword [ebp - 8]
push 0x104e198
mov dword [edi + 0xd0], 0xc
push dword [ebx]
call fcn.01025f12
mov esi, eax
test esi, esi
jge 0x102916f
push esi
push 0x1e2
jmp 0x1029222
push 0x1007994
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x10290f5
mov dword [edi + 0x10], 1
push dword [ebx]
lea eax, [edi + 0x78]
push eax
call fcn.0101453d
mov esi, eax
test esi, esi
jge 0x102916f
push esi
push 0x1ea
jmp 0x1029222
push 0x1007988
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1029116
push dword [ebx]
call dword [sym.imp.msvcrt.dll__wtol]
pop ecx
mov dword [edi + 0xd4], eax
jmp 0x102916f
push 0x1007980
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1029145
push dword [ebx]
lea eax, [edi + 0x94]
push eax
call fcn.0101453d
mov esi, eax
test esi, esi
jge 0x102916f
push esi
push 0x1ef
jmp 0x1029222
push 0x1007968
push dword [ebp - 4]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1029200
push 0x1004fe4
push dword [ebx]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1029200
and dword [edi + 0x64], eax
add dword [ebp - 0x20], 2
mov eax, dword [ebp - 0x18]
add ebx, 8
dec eax
cmp dword [ebp - 0x20], eax
jl 0x1028c8a
cmp dword [ebp - 8], 1
jle 0x102920d
mov esi, 0x80070057
push esi
push 0x1fb
jmp 0x1029222
push esi
push 0x151
jmp 0x1029222
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10291b9
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
push esi
push 0x156
jmp 0x1029222
push esi
push 0x15b
jmp 0x1029222
push esi
push 0x173
jmp 0x1029222
push esi
push 0x17f
jmp 0x1029222
mov esi, 0x80028016
push esi
push 0x16d
jmp 0x1029222
push esi
push 0x1a5
jmp 0x1029222
push esi
push 0x1b4
jmp 0x1029222
push esi
push 0x1ba
jmp 0x1029222
mov esi, 0x80070057
push esi
push 0x1f5
jmp 0x1029222
lea eax, [ebp - 0x30]
push eax
call fcn.0102517c
mov esi, eax
test esi, esi
jge 0x1029236
push esi
push 0x1ff
push 0x1007a80
push 0x100189c
push 1
call fcn.01014247
add esp, 0x14
cmp dword [ebp - 0xc], 0
je 0x102924e
push dword [ebp - 0xc]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor ebx, ebx
cmp dword [ebp - 0x14], ebx
je 0x1029266
push dword [ebp - 0x14]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [ebp - 0x1c], ebx
je 0x1029274
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
test esi, esi
jl 0x1029288
cmp dword [ebp - 0x24], 0
je 0x1029288
mov dword [edi + 0xd0], 0xd
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret