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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x10cc
call fcn.010474e0
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 0x1045e43
cmp dword [ebx + 0x50], esi
jne 0x1045e5f
cmp dword [ebx + 0x44], 5
je 0x1045e5f
push 0x10054a8
push 2
call fcn.01055c2f
mov eax, 0x8000ffff
jmp 0x104636b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1005474
push 4
call fcn.01055c69
add esp, 0xc
push 0x1005464
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
mov dword [ebp - 0x10b8], edi
cmp edi, esi
je 0x1045f50
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1005450
push edi
call esi
mov dword [ebp - 0x10b4], eax
test eax, eax
jne 0x1045ecd
push 0x100543c
push edi
call esi
mov dword [ebp - 0x10b4], eax
test eax, eax
jne 0x1045ecd
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
and dword [ebp - 0x10b8], 0
jmp 0x1045f4e
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edi, eax
test edi, edi
je 0x1045f4e
mov esi, dword [sym.imp.msvcrt.dll_wcsstr]
push 0x100541c
push edi
call esi
pop ecx
pop ecx
test eax, eax
je 0x1045ef7
mov dword [ebp - 0x10bc], 1
push 0x1004468
push edi
call esi
pop ecx
pop ecx
test eax, eax
je 0x1045f11
mov dword [ebp - 0x10b0], 1
jmp 0x1045f4e
push 0x10053ec
push edi
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1045f3b
push 0x1004344
push edi
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1045f3b
push 0x1001e30
push edi
call esi
pop ecx
pop ecx
test eax, eax
je 0x1045f4e
push 0x10053bc
push 4
call fcn.01055c2f
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.01045c57
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 0x1046031
call fcn.0105c72d
test eax, eax
lea eax, [ebp - 0x250]
je 0x1045fbe
push 0x1005390
jmp 0x1045fc3
push 0x1005378
push esi
push eax
call fcn.01035886
test eax, eax
jl 0x1046031
lea eax, [ebp - 0x250]
push eax
call fcn.010561ca
test eax, eax
jne 0x1045ff5
cmp dword [ebp - 0x10b0], eax
jne 0x1045ff5
push esi
lea eax, [ebp - 0x45c]
push eax
push 0x81
jmp 0x104601c
call fcn.0105a5f8
call fcn.0105e205
test eax, eax
je 0x104600f
push 1
mov ecx, 0x10746c8
call fcn.01058ade
push esi
lea eax, [ebp - 0x45c]
push eax
push 0xd6
push dword [0x1073960]
call edi
test eax, eax
jle 0x1046031
lea eax, [ebp - 0x45c]
push eax
jmp 0x1046036
push 0x1005348
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x109c]
push 0x3f
push eax
call fcn.01045cbf
xor esi, esi
add esp, 0x10
cmp dword [ebp - 0x10b4], esi
je 0x10461a0
cmp dword [0x10746bc], esi
je 0x1046097
push 0x100
lea eax, [ebp - 0x65c]
push eax
push 0xb5
push dword [0x1073960]
call edi
test eax, eax
je 0x1046097
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.01055c2f
lea eax, [ebp - 0x10cc]
push eax
lea eax, [ebp - 0x10ac]
push eax
call dword [ebp - 0x10b4]
test eax, eax
jne 0x1046195
and dword [ebp - 0x10b4], eax
mov eax, dword [ebp - 0x10cc]
cmp eax, 0x78
jne 0x10460dc
push 0x10052dc
jmp 0x104619a
cmp eax, 0x422
je 0x104611c
cmp eax, 0x70
je 0x1046123
cmp eax, 0x50
jne 0x10460f9
push 0x10052a0
push 2
jmp 0x104619b
test eax, eax
jle 0x1046107
and eax, 0xffff
or eax, 0x80070000
push eax
push 0x1005264
push 2
call fcn.01055c69
add esp, 0xc
jmp 0x10461a0
push 0x1005234
jmp 0x1046128
push 0x10051f0
push esi
call fcn.01055c2f
cmp dword [ebx + 0x4c], 0
jne 0x10461a0
push 0x400
lea eax, [ebp - 0x105c]
push eax
push 0xa1
push dword [0x1073960]
call edi
test eax, eax
je 0x104618b
push 0x200
lea eax, [ebp - 0x85c]
push eax
push 0x64
push dword [0x1073960]
call edi
test eax, eax
je 0x104618b
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 0x10461a0
mov eax, 0x80004005
jmp 0x104636b
push 0x10051d4
push esi
call fcn.01055c2f
cmp dword [ebx + 0x44], 5
je 0x10461b2
lea eax, [ebp - 0x10c0]
push eax
call fcn.01045719
mov ecx, 0x10746c8
call fcn.0105689b
mov ecx, dword [ebx]
and eax, 8
push eax
push 1
xor esi, esi
push esi
call fcn.01054de1
push eax
push 0x10051ac
push 4
mov dword [ebp - 0x10b0], eax
call fcn.01055c69
add esp, 0xc
cmp dword [ebp - 0x10c0], esi
je 0x10461ef
call fcn.01045797
cmp dword [ebp - 0x10b0], esi
jl 0x10462d0
mov ecx, dword [ebx + 4]
mov edi, 0xd2af9
cmp ecx, esi
je 0x104623c
call fcn.01046bd3
test eax, eax
je 0x104623c
mov ecx, dword [ebx + 4]
call fcn.01046bea
mov esi, eax
push esi
push 0x1005178
push 4
call fcn.01055c69
add esp, 0xc
test esi, esi
jl 0x1046236
cmp dword [ebp - 0x10b0], edi
je 0x104623c
mov dword [ebp - 0x10b0], esi
mov ecx, dword [ebx + 0x54]
test ecx, ecx
je 0x10462d0
call fcn.01048f83
mov esi, eax
test esi, esi
je 0x10462d0
cmp dword [esi + 0xa0], 0
je 0x10462d0
cmp dword [esi + 0xa8], 0
je 0x10462d0
push dword [esi + 0xc]
call fcn.01047cb3
push eax
push 0x100515c
push 4
call fcn.01055c69
add esp, 0xc
push 0
call fcn.01045693
mov ecx, esi
call fcn.0104b8ce
cmp eax, 0xbc2
je 0x10462b1
cmp eax, 0x80070bc2
je 0x10462b1
cmp eax, edi
je 0x10462b1
cmp dword [ebp - 0x10b0], 0
jl 0x10462b7
test eax, eax
jge 0x10462b7
mov dword [ebp - 0x10b0], eax
jmp 0x10462b7
mov dword [ebp - 0x10b0], edi
push eax
push dword [esi + 0xc]
call fcn.01047cb3
push eax
push 0x1005134
push 4
call fcn.01055c69
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 0x1046351
lea eax, [ebp - 0x10cc]
push eax
lea eax, [ebp - 0x10ac]
push eax
call dword [ebp - 0x10b4]
test eax, eax
jne 0x1046345
mov eax, dword [ebp - 0x10cc]
cmp eax, esi
jle 0x1046333
and eax, 0xffff
or eax, 0x80070000
push eax
push 0x10050fc
push 2
call fcn.01055c69
add esp, 0xc
jmp 0x1046351
push 0x10050dc
push 4
call fcn.01055c2f
cmp dword [ebp - 0x10b8], esi
je 0x1046365
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.01047464
leave
ret