Function at 0x1045e01
Capabilities:
Accept command line arguments
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x10cc
call fcn.01047500
mov eax, dword [0x1072c48]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor esi, esi
push 0x50
lea eax, [ebp - 0x10ac]
push esi
push eax
mov ebx, ecx
mov dword [ebp - 0x10bc], esi
mov dword [ebp - 0x10b4], esi
mov dword [ebp - 0x10b0], esi
mov dword [ebp - 0x10c0], esi
call sub.msvcrt.dll_memset
xor eax, eax
lea edi, [ebp - 0x10cc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
cmp dword [ebx + 0x10], esi
je 0x1045e60
cmp dword [ebx + 0x50], esi
jne 0x1045e7c
cmp dword [ebx + 0x44], 5
je 0x1045e7c
push 0x10054a8
push 2
call fcn.01055c50
mov eax, 0x8000ffff
jmp 0x1046388
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1005474
push 4
call fcn.01055c8a
add esp, 0xc
push 0x1005464
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
mov dword [ebp - 0x10b8], edi
cmp edi, esi
je 0x1045f6d
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1005450
push edi
call esi
mov dword [ebp - 0x10b4], eax
test eax, eax
jne 0x1045eea
push 0x100543c
push edi
call esi
mov dword [ebp - 0x10b4], eax
test eax, eax
jne 0x1045eea
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
and dword [ebp - 0x10b8], 0
jmp 0x1045f6b
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edi, eax
test edi, edi
je 0x1045f6b
mov esi, dword [sym.imp.msvcrt.dll_wcsstr]
push 0x100541c
push edi
call esi
pop ecx
pop ecx
test eax, eax
je 0x1045f14
mov dword [ebp - 0x10bc], 1
push 0x1004468
push edi
call esi
pop ecx
pop ecx
test eax, eax
je 0x1045f2e
mov dword [ebp - 0x10b0], 1
jmp 0x1045f6b
push 0x10053ec
push edi
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1045f58
push 0x1004344
push edi
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1045f58
push 0x1001e30
push edi
call esi
pop ecx
pop ecx
test eax, eax
je 0x1045f6b
push 0x10053bc
push 4
call fcn.01055c50
and dword [ebp - 0x10b4], 0
xor esi, esi
xor eax, eax
cmp dword [ebp - 0x10bc], esi
push 0x10053ac
setne al
push 0x40
mov dword [ebp - 0x10a8], esi
mov dword [ebp - 0x10a4], esi
mov dword [ebp - 0x10a0], esi
lea eax, [eax + eax + 0x64]
mov dword [ebp - 0x10ac], eax
lea eax, [ebp - 0x44]
push eax
call fcn.01045c74
lea eax, [ebp - 0x250]
push eax
mov esi, 0x105
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x104604e
call fcn.0105c74e
test eax, eax
lea eax, [ebp - 0x250]
je 0x1045fdb
push 0x1005390
jmp 0x1045fe0
push 0x1005378
push esi
push eax
call fcn.010358a6
test eax, eax
jl 0x104604e
lea eax, [ebp - 0x250]
push eax
call fcn.010561eb
test eax, eax
jne 0x1046012
cmp dword [ebp - 0x10b0], eax
jne 0x1046012
push esi
lea eax, [ebp - 0x45c]
push eax
push 0x81
jmp 0x1046039
call fcn.0105a619
call fcn.0105e226
test eax, eax
je 0x104602c
push 1
mov ecx, 0x10746c8
call fcn.01058aff
push esi
lea eax, [ebp - 0x45c]
push eax
push 0xd6
push dword [0x1073960]
call edi
test eax, eax
jle 0x104604e
lea eax, [ebp - 0x45c]
push eax
jmp 0x1046053
push 0x1005348
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x109c]
push 0x3f
push eax
call fcn.01045cdc
xor esi, esi
add esp, 0x10
cmp dword [ebp - 0x10b4], esi
je 0x10461bd
cmp dword [0x10746bc], esi
je 0x10460b4
push 0x100
lea eax, [ebp - 0x65c]
push eax
push 0xb5
push dword [0x1073960]
call edi
test eax, eax
je 0x10460b4
lea eax, [ebp - 0x65c]
push eax
push esi
push 0x5d5
push dword [0x10746bc]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x1005310
push 4
pop esi
push esi
call fcn.01055c50
lea eax, [ebp - 0x10cc]
push eax
lea eax, [ebp - 0x10ac]
push eax
call dword [ebp - 0x10b4]
test eax, eax
jne 0x10461b2
and dword [ebp - 0x10b4], eax
mov eax, dword [ebp - 0x10cc]
cmp eax, 0x78
jne 0x10460f9
push 0x10052dc
jmp 0x10461b7
cmp eax, 0x422
je 0x1046139
cmp eax, 0x70
je 0x1046140
cmp eax, 0x50
jne 0x1046116
push 0x10052a0
push 2
jmp 0x10461b8
test eax, eax
jle 0x1046124
and eax, 0xffff
or eax, 0x80070000
push eax
push 0x1005264
push 2
call fcn.01055c8a
add esp, 0xc
jmp 0x10461bd
push 0x1005234
jmp 0x1046145
push 0x10051f0
push esi
call fcn.01055c50
cmp dword [ebx + 0x4c], 0
jne 0x10461bd
push 0x400
lea eax, [ebp - 0x105c]
push eax
push 0xa1
push dword [0x1073960]
call edi
test eax, eax
je 0x10461a8
push 0x200
lea eax, [ebp - 0x85c]
push eax
push 0x64
push dword [0x1073960]
call edi
test eax, eax
je 0x10461a8
push 0x1011
lea eax, [ebp - 0x85c]
push eax
lea eax, [ebp - 0x105c]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 2
jne 0x10461bd
mov eax, 0x80004005
jmp 0x1046388
push 0x10051d4
push esi
call fcn.01055c50
cmp dword [ebx + 0x44], 5
je 0x10461cf
lea eax, [ebp - 0x10c0]
push eax
call fcn.01045736
mov ecx, 0x10746c8
call fcn.010568bc
mov ecx, dword [ebx]
and eax, 8
push eax
push 1
xor esi, esi
push esi
call fcn.01054e03
push eax
push 0x10051ac
push 4
mov dword [ebp - 0x10b0], eax
call fcn.01055c8a
add esp, 0xc
cmp dword [ebp - 0x10c0], esi
je 0x104620c
call fcn.010457b4
cmp dword [ebp - 0x10b0], esi
jl 0x10462ed
mov ecx, dword [ebx + 4]
mov edi, 0xd2af9
cmp ecx, esi
je 0x1046259
call fcn.01046bf0
test eax, eax
je 0x1046259
mov ecx, dword [ebx + 4]
call fcn.01046c07
mov esi, eax
push esi
push 0x1005178
push 4
call fcn.01055c8a
add esp, 0xc
test esi, esi
jl 0x1046253
cmp dword [ebp - 0x10b0], edi
je 0x1046259
mov dword [ebp - 0x10b0], esi
mov ecx, dword [ebx + 0x54]
test ecx, ecx
je 0x10462ed
call fcn.01048fa3
mov esi, eax
test esi, esi
je 0x10462ed
cmp dword [esi + 0xa0], 0
je 0x10462ed
cmp dword [esi + 0xa8], 0
je 0x10462ed
push dword [esi + 0xc]
call fcn.01047cd3
push eax
push 0x100515c
push 4
call fcn.01055c8a
add esp, 0xc
push 0
call fcn.010456b0
mov ecx, esi
call fcn.0104b8ee
cmp eax, 0xbc2
je 0x10462ce
cmp eax, 0x80070bc2
je 0x10462ce
cmp eax, edi
je 0x10462ce
cmp dword [ebp - 0x10b0], 0
jl 0x10462d4
test eax, eax
jge 0x10462d4
mov dword [ebp - 0x10b0], eax
jmp 0x10462d4
mov dword [ebp - 0x10b0], edi
push eax
push dword [esi + 0xc]
call fcn.01047cd3
push eax
push 0x1005134
push 4
call fcn.01055c8a
add esp, 0x10
xor eax, eax
xor esi, esi
cmp dword [ebp - 0x10bc], esi
setne al
lea eax, [eax + eax + 0x65]
mov dword [ebp - 0x10ac], eax
mov eax, dword [ebp - 0x10c8]
mov dword [ebp - 0x10a4], eax
mov eax, dword [ebp - 0x10c4]
mov dword [ebp - 0x10a0], eax
cmp dword [ebp - 0x10b4], esi
je 0x104636e
lea eax, [ebp - 0x10cc]
push eax
lea eax, [ebp - 0x10ac]
push eax
call dword [ebp - 0x10b4]
test eax, eax
jne 0x1046362
mov eax, dword [ebp - 0x10cc]
cmp eax, esi
jle 0x1046350
and eax, 0xffff
or eax, 0x80070000
push eax
push 0x10050fc
push 2
call fcn.01055c8a
add esp, 0xc
jmp 0x104636e
push 0x10050dc
push 4
call fcn.01055c50
cmp dword [ebp - 0x10b8], esi
je 0x1046382
push dword [ebp - 0x10b8]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x10b0]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01047480
leave