Function at 0x100ca42
Capabilities:
Accept command line arguments
Reference sql statements

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
and dword [ebp - 4], 0
and dword [ebp - 0xc], 0
push ebx
push esi
push edi
mov byte [ebp - 0x14], 0
call fcn.01005b86
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
call fcn.0100b0a9
mov bl, al
neg bl
sbb bl, bl
inc bl
pop ecx
jne 0x100ca93
cmp dword [ebp + 8], 3
je 0x100ca9f
cmp dword [ebp + 8], 2
je 0x100ca9f
push 0x1001de8
call fcn.0100d383
xor eax, eax
pop ecx
pop edi
pop esi
pop ebx
leave
ret
cmp dword [ebp + 8], 4
je 0x100ca9f
cmp dword [ebp + 8], 3
jne 0x100ca81
mov esi, dword [ebp + 0xc]
mov edi, 0x20000
jmp 0x100cb85
inc dword [esi + 4]
movzx eax, al
or eax, 0x20
cmp eax, 0x6e
jg 0x100cb39
je 0x100cb32
cmp eax, 0x66
jg 0x100cb0a
je 0x100cafd
cmp eax, 0x21
je 0x100caf4
cmp eax, 0x2a
je 0x100cae8
cmp eax, 0x3f
je 0x100cbab
cmp eax, 0x61
jne case.0x100cb41.113
or dword [ebp - 4], 8
jmp 0x100cb85
or dword [ebp - 4], 0x23d6
jmp 0x100cb85
or dword [ebp - 4], 0x20
jmp 0x100cb85
push 0x1004590
call fcn.0100d383
pop ecx
jmp 0x100cb85
sub eax, 0x67
je 0x100cb29
sub eax, 5
je 0x100cb20
dec eax
jne case.0x100cb41.113
or dword [ebp - 4], edi
jmp 0x100cb85
or dword [ebp - 4], 0x40000
jmp 0x100cb85
or dword [ebp - 4], 0x10000
jmp 0x100cb85
push 0x1004540
jmp 0x100cb02
sub eax, 0x6f
cmp eax, 8
ja case.0x100cb41.113
jmp dword [eax*4 + 0x100ce5a]
push 0x10044f0
jmp 0x100cb02
or dword [ebp - 4], 4
jmp 0x100cb85
or dword [ebp - 4], 0x2200
jmp 0x100cb85
push 0x10044a0
jmp 0x100cb02
push 0x1004450
jmp 0x100cb02
or dword [ebp - 4], 0x800
jmp 0x100cb85
or dword [ebp - 4], 0x4000
jmp 0x100cb85
or dword [ebp - 4], 0x8000
mov eax, dword [esi + 4]
mov al, byte [eax]
test al, al
jne 0x100caac
inc dword [esi + 4]
test bl, bl
jne 0x100cbbf
cmp dword [ebp + 8], 3
je 0x100cbc5
test dword [ebp - 4], 0xfffeddd3
jmp 0x100cd1e
mov byte [ebp - 0x14], 1
push dword [ebp - 0x14]
call fcn.01006f39
xor eax, eax
inc eax
jmp 0x100ca8d
cmp dword [ebp + 8], 4
jne 0x100cb9f
mov ebx, dword [esi + 8]
push ebx
mov dword [ebp - 0xc], ebx
call fcn.010062bf
pop ecx
test eax, eax
jne 0x100cd01
push dword [section..data]
push ebx
call fcn.0100d9cc
pop ecx
pop ecx
mov ecx, 0x3d2
test eax, eax
jne 0x100cc1c
mov eax, dword [ebp - 4]
and eax, ecx
cmp eax, ecx
jne 0x100cc1c
and dword [ebp - 0xc], 0
call fcn.0100b192
call fcn.01006097
test al, al
jne 0x100cd29
push 0x1004414
call fcn.0100d383
jmp 0x100cbb7
mov eax, dword [ebp - 4]
and eax, ecx
cmp eax, ecx
jne 0x100cc29
push 0
jmp 0x100cbb2
xor edi, edi
lea ecx, [ebp - 8]
mov dword [ebp - 8], edi
call fcn.01005ae5
push eax
push 0x1004400
push dword [esi + 4]
call sub.msi.dll_MsiOpenProductA
cmp eax, edi
jne 0x100cccf
mov esi, dword [ebp - 8]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], edi
call fcn.01005ae5
push eax
push 0x10043c0
push esi
call sub.msi.dll_MsiEnableUIPreview
mov esi, eax
cmp esi, edi
jne 0x100ccbe
push edi
push dword [ebp - 0x10]
call sub.msi.dll_MsiViewModify
push 0x28
pop esi
push esi
call fcn.0100d7aa
pop ecx
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], edi
call fcn.01005ae5
push eax
push esi
call sub.msi.dll_MsiDatabaseIsTablePersistentA
mov esi, eax
cmp esi, edi
jne 0x100ccb1
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0xc]
push 1
push dword [ebp - 0x14]
call sub.msi.dll_MsiRecordSetInteger
cmp dword [ebp - 0x14], edi
je 0x100ccbe
push dword [ebp - 0x14]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x10], edi
je 0x100cccb
push dword [ebp - 0x10]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp esi, edi
je 0x100cceb
push edi
call fcn.01006f39
pop ecx
cmp dword [ebp - 8], edi
je 0x100cce3
push dword [ebp - 8]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
xor eax, eax
inc eax
jmp 0x100ca8e
cmp dword [ebp - 8], edi
je 0x100cbfe
push dword [ebp - 8]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
jmp 0x100cbfe
test dword [ebp - 4], 0x3d2
jne 0x100cc25
test dword [ebp - 4], edi
je 0x100cbfe
test dword [ebp - 4], 0x14bd2
je 0x100cbfe
jmp 0x100cc25
mov ebx, dword [ebp - 4]
test bl, 0x28
jne 0x100cd62
mov eax, 0x392
mov ecx, ebx
and ecx, eax
cmp ecx, eax
jne 0x100cd62
push 0x1004350
call fcn.0100d383
pop ecx
call fcn.0100de27
cmp eax, 0x59
je 0x100cd62
cmp eax, 0x79
je 0x100cd62
push 0x1004344
jmp 0x100cc15
push ebx
call fcn.010074c5
pop ecx
test ebx, 0x8000
je 0x100ce15
call fcn.01006f61
mov bl, al
neg bl
sbb bl, bl
inc bl
mov dword [0x1018028], 0
jne 0x100ce08
mov edi, dword [ebp - 0xc]
mov esi, 0x10017b0
mov eax, dword [0x1018028]
mov ecx, dword [0x1019780]
lea eax, [ecx + eax*4]
cmp dword [eax], 0
je 0x100ce08
test byte [ebp - 4], 8
mov ecx, edi
je 0x100cdc1
test edi, edi
jne 0x100cdb7
mov ecx, esi
push ecx
push dword [eax]
push 0x1004300
jmp 0x100cdcf
test edi, edi
jne 0x100cdc7
mov ecx, esi
push ecx
push dword [eax]
push 0x10042c4
call fcn.0100d383
add esp, 0xc
push edi
push dword [ebp - 4]
call fcn.0100c7e9
mov ecx, dword [0x1019780]
neg al
sbb al, al
inc al
or bl, al
mov eax, dword [0x1018028]
push dword [ecx + eax*4]
call fcn.0100d79a
add esp, 0xc
inc dword [0x1018028]
test bl, bl
je 0x100cd96
push dword [0x1019780]
call fcn.0100d79a
jmp 0x100ce27
push dword [ebp - 0xc]
push ebx
call fcn.0100c7e9
mov bl, al
neg bl
sbb bl, bl
pop ecx
inc bl
pop ecx
test bl, bl
je 0x100ce36
push 0x10042a8
jmp 0x100cc15
cmp byte [0x101977a], 0
jne 0x100ce50
test byte [ebp - 4], 8
jne 0x100ce50
push 0x1004284
call fcn.0100d383
pop ecx
xor eax, eax
jmp 0x100ca8e