Function at 0x402b7f
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40f05c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xe94
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov dword [0x414f20], eax
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
test eax, eax
jne 0x403575
mov cl, byte [0x414f24]
mov byte [ebp - 0x128], cl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x127]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x103
lea edx, [ebp - 0x128]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov byte [ebp - 0x25], 0
lea ecx, [ebp - 0x348]
call fcn.004041d0
mov dword [ebp - 4], 0
mov al, byte [0x414f28]
mov byte [ebp - 0x33c], al
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x33b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea ecx, [ebp - 0x33c]
push ecx
lea edx, [ebp - 0x128]
push edx
lea ecx, [ebp - 0x348]
call fcn.0040443f
mov byte [ebp - 0x135], 0
mov al, byte [0x414f2c]
mov byte [ebp - 0x5a8], al
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x5a7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea ecx, [ebp - 0x5a8]
push ecx
lea edx, [ebp - 0x128]
push edx
lea ecx, [ebp - 0x348]
call fcn.0040441c
mov byte [ebp - 0x3a1], 0
lea eax, [ebp - 0x5a8]
push eax
call fcn.00405460
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jl 0x402ccd
mov ecx, dword [ebp - 0x24]
movsx edx, byte [ebp + ecx - 0x5a8]
cmp edx, 0x5c
je 0x402cc0
mov eax, dword [ebp - 0x24]
movsx ecx, byte [ebp + eax - 0x5a8]
cmp ecx, 0x2f
jne 0x402cc2
jmp 0x402ccd
mov edx, dword [ebp - 0x24]
sub edx, 1
mov dword [ebp - 0x24], edx
jmp 0x402c9a
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
lea edx, [ebp + ecx - 0x5a8]
push edx
lea ecx, [ebp - 0x394]
call fcn.00402370
mov byte [ebp - 4], 1
lea eax, [ebp - 0x33c]
push eax
call fcn.00405460
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jl 0x402d35
mov ecx, dword [ebp - 0x24]
movsx edx, byte [ebp + ecx - 0x33c]
cmp edx, 0x5c
je 0x402d28
mov eax, dword [ebp - 0x24]
movsx ecx, byte [ebp + eax - 0x33c]
cmp ecx, 0x2f
jne 0x402d2a
jmp 0x402d35
mov edx, dword [ebp - 0x24]
sub edx, 1
mov dword [ebp - 0x24], edx
jmp 0x402d02
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
lea edx, [ebp + ecx - 0x33c]
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402370
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x394]
call fcn.00402841
lea ecx, [ebp - 0x1c]
call fcn.00402841
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
lea ecx, [ebp - 0x374]
call fcn.00402370
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x374]
call fcn.00402841
lea ecx, [ebp - 0x394]
call fcn.004027ae
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x5ac], 0xffffffff
lea ecx, [ebp - 0x394]
call fcn.004027ae
push eax
lea ecx, [ebp - 0x374]
call fcn.0040295b
mov dword [ebp - 0x5ac], eax
cmp dword [ebp - 0x5ac], 0xffffffff
jne 0x402df2
lea ecx, [ebp - 0x1c]
call fcn.004027ae
push eax
lea ecx, [ebp - 0x374]
call fcn.0040295b
mov dword [ebp - 0x5ac], eax
lea ecx, [ebp - 0x1c]
call fcn.004027ae
mov dword [ebp - 0x368], eax
push 0x414f30
lea ecx, [ebp - 0x354]
call fcn.00402370
mov byte [ebp - 4], 4
cmp dword [ebp - 0x5ac], 0xffffffff
jne 0x402e23
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
lea ecx, [ebp - 0x354]
call fcn.004025ef
jmp 0x402e6f
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
lea ecx, [ebp - 0x374]
call fcn.004025ef
mov eax, dword [ebp - 0x368]
push eax
call fcn.00405460
add esp, 4
mov ecx, dword [ebp - 0x5ac]
add ecx, eax
mov dword [ebp - 0x5b0], ecx
lea ecx, [ebp - 0x374]
call fcn.004027ae
add eax, dword [ebp - 0x5b0]
push eax
lea ecx, [ebp - 0x354]
call fcn.004025d3
push 0x414f34
lea ecx, [ebp - 0x384]
call fcn.00402370
mov byte [ebp - 4], 5
push 0x414f38
lea ecx, [ebp - 0x3a0]
call fcn.00402370
mov byte [ebp - 4], 6
push 0x414f3c
lea ecx, [ebp - 0x134]
call fcn.00402370
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x364]
call entry0
mov byte [ebp - 4], 8
mov dword [ebp - 0x378], 0
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x388], 0
lea ecx, [ebp - 0x354]
call fcn.00402b41
cmp dword [ebp - 0x378], eax
jge 0x403005
mov edx, dword [ebp - 0x378]
push edx
lea ecx, [ebp - 0x354]
call fcn.00402a50
mov byte [ebp - 0x5b4], al
mov al, byte [ebp - 0x5b4]
mov byte [ebp - 0xe58], al
cmp byte [ebp - 0xe58], 0x7c
je 0x402f1e
jmp 0x402fa8
cmp dword [ebp - 0x20], 0
je 0x402f37
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x388], 0
jmp 0x402fa6
mov ecx, dword [ebp - 0x388]
add ecx, 1
mov dword [ebp - 0x388], ecx
cmp dword [ebp - 0x388], 1
jle 0x402fa6
mov dword [ebp - 0x388], 0
push 1
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x134]
call fcn.004027ae
push eax
lea ecx, [ebp - 0x3a0]
call fcn.004027ae
push eax
lea ecx, [ebp - 0x364]
call fcn.00401471
push 0x414f40
lea ecx, [ebp - 0x3a0]
call fcn.004025ef
push 0x414f44
lea ecx, [ebp - 0x134]
call fcn.004025ef
jmp 0x402ff1
cmp dword [ebp - 0x20], 0
je 0x402fc2
mov dl, byte [ebp - 0x5b4]
push edx
lea ecx, [ebp - 0x384]
call fcn.0040268a
jmp 0x402ff1
cmp dword [ebp - 0x388], 0
jne 0x402fdf
mov al, byte [ebp - 0x5b4]
push eax
lea ecx, [ebp - 0x3a0]
call fcn.0040268a
jmp 0x402ff1
mov cl, byte [ebp - 0x5b4]
push ecx
lea ecx, [ebp - 0x134]
call fcn.0040268a
mov edx, dword [ebp - 0x378]
add edx, 1
mov dword [ebp - 0x378], edx
jmp 0x402ed5
cmp dword [ebp - 0x20], 0
jne 0x403047
lea ecx, [ebp - 0x3a0]
call fcn.00402b0b
test eax, eax
jne 0x403047
push 1
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x134]
call fcn.004027ae
push eax
lea ecx, [ebp - 0x3a0]
call fcn.004027ae
push eax
lea ecx, [ebp - 0x364]
call fcn.00401471
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x364]
call fcn.004015be
mov dword [ebp - 0xe5c], eax
mov eax, dword [ebp - 0xe5c]
mov dword [ebp - 0x5b8], eax
cmp dword [ebp - 0x5b8], 0
jbe 0x40342a
lea ecx, [ebp - 0x5c8]
push ecx
push str.SolidEdge.FileProperties
call dword [sym.imp.ole32.dll_CLSIDFromProgID]
test eax, eax
jne 0x40342a
mov dword [ebp - 0x5d0], 0
mov dword [ebp - 0x5d4], 1
lea edx, [ebp - 0x5cc]
push edx
push 0x412150
push 7
push 0
lea eax, [ebp - 0x5c8]
push eax
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [ebp - 0x5d4], eax
cmp dword [ebp - 0x5d4], 0
jl 0x40342a
lea ecx, [ebp - 0x5d0]
push ecx
push 0x410190
mov edx, dword [ebp - 0x5cc]
push edx
mov eax, dword [ebp - 0x5cc]
mov ecx, dword [eax]
call dword [ecx]
mov dword [ebp - 0xe60], eax
mov edx, dword [ebp - 0xe60]
mov dword [ebp - 0x5d8], edx
mov eax, dword [ebp - 0x5cc]
push eax
mov ecx, dword [ebp - 0x5cc]
mov edx, dword [ecx]
call dword [edx + 8]
cmp dword [ebp - 0x5d8], 0
jne 0x40342a
lea ecx, [ebp - 0x5dc]
call fcn.00403d40
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x5d0]
push eax
lea ecx, [ebp - 0x5dc]
call fcn.00403e10
mov word [ebp - 0x5f0], 2
mov word [ebp - 0x5e8], 0
lea ecx, [ebp - 0x5f0]
push ecx
lea ecx, [ebp - 0xe24]
call fcn.00403820
mov dword [ebp - 0xe64], eax
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0xe24]
push edx
lea ecx, [ebp - 0x384]
call fcn.004027ae
mov dword [ebp - 0xe68], eax
push ecx
mov ecx, esp
mov dword [ebp - 0xe28], esp
mov eax, dword [ebp - 0xe68]
push eax
call fcn.00403610
mov dword [ebp - 0xe6c], eax
mov ecx, dword [ebp - 0xe6c]
mov dword [ebp - 0xe70], ecx
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x5dc]
call fcn.00403d80
mov dword [ebp - 0xe74], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xe74]
call fcn.00403a60
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xe24]
call fcn.004038c0
lea ecx, [ebp - 0x5e0]
call fcn.00403d40
mov byte [ebp - 4], 0xd
push str.Custom
lea ecx, [ebp - 0xe38]
call fcn.00403880
mov dword [ebp - 0xe78], eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x5dc]
call fcn.00403d80
mov dword [ebp - 0xe7c], eax
lea edx, [ebp - 0xe38]
push edx
lea eax, [ebp - 0xe3c]
push eax
mov ecx, dword [ebp - 0xe7c]
call fcn.00403b60
mov dword [ebp - 0xe80], eax
mov ecx, dword [ebp - 0xe80]
mov dword [ebp - 0xe84], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xe84]
push edx
lea ecx, [ebp - 0x5e0]
call fcn.00403e50
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xe3c]
call fcn.00403d60
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xe38]
call fcn.004038c0
mov dword [ebp - 0x378], 0
jmp 0x403296
mov eax, dword [ebp - 0x378]
add eax, 1
mov dword [ebp - 0x378], eax
mov ecx, dword [ebp - 0x378]
cmp ecx, dword [ebp - 0x5b8]
jae 0x4033f0
mov dword [ebp - 0x9f8], 0
mov dword [ebp - 0x9f4], 0
mov dword [ebp - 0xa00], 0
mov dword [ebp - 0x9fc], 0
lea edx, [ebp - 0xa00]
push edx
lea eax, [ebp - 0x9f8]
push eax
push 0x3ff
lea ecx, [ebp - 0xe00]
push ecx
push 0x3ff
lea edx, [ebp - 0x9f0]
push edx
mov eax, dword [ebp - 0x378]
push eax
lea ecx, [ebp - 0x364]
call fcn.004015cf
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xe00]
push ecx
lea ecx, [ebp - 0xe4c]
call fcn.00403880
mov dword [ebp - 0xe88], eax
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0xe4c]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0xe50], esp
lea eax, [ebp - 0x9f0]
push eax
call fcn.00403610
mov dword [ebp - 0xe8c], eax
mov ecx, dword [ebp - 0xe8c]
mov dword [ebp - 0xe90], ecx
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x5e0]
call fcn.00403d80
mov dword [ebp - 0xe94], eax
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0xe54]
push edx
mov ecx, dword [ebp - 0xe94]
call fcn.00403c40
mov dword [ebp - 0xe98], eax
mov eax, dword [ebp - 0xe98]
mov dword [ebp - 0xe9c], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xe9c]
push ecx
lea ecx, [ebp - 0xe04]
call fcn.00403e90
mov dword [ebp - 0xea0], eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xe54]
call fcn.00403d60
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xe4c]
call fcn.004038c0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xe04]
call fcn.00403d60
jmp 0x4033e4
mov dword [ebp - 4], 0xd
jmp 0x403287
lea ecx, [ebp - 0x5e0]
call fcn.00403d80
mov dword [ebp - 0xea4], eax
mov ecx, dword [ebp - 0xea4]
call fcn.00403c00
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5e0]
call fcn.00403d60
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x5dc]
call fcn.00403d60
jmp 0x4034e1
mov dword [ebp - 4], 8
call dword [sym.imp.ole32.dll_OleUninitialize]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x364]
call fcn.00401035
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x134]
call fcn.004022f0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3a0]
call fcn.004022f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x384]
call fcn.004022f0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x354]
call fcn.004022f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x374]
call fcn.004022f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.004022f0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x394]
call fcn.004022f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x348]
call fcn.004041fb
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10