Function at 0x1009a670
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd9c
mov eax, dword [case.0x100be6e1.80]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
mov ecx, eax
movzx eax, ax
shr ecx, 0x10
push edi
cmp eax, 0x1132
ja 0x1009aa76
cmp eax, 0x1131
jae 0x1009aa6a
sub eax, 0xfa1
cmp eax, 0x71
ja case.0x1009aa9e.4410
movzx eax, byte [eax + 0x1009b3b8]
jmp dword [eax*4 + 0x1009b37c]
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
mov eax, 0x300
cmp cx, ax
jne case.0x1009aa9e.4410
push 1
push 0
push 0x1005
mov ecx, esi
call fcn.100ccfbd
mov dword [0x103c9158], eax
mov ecx, esi
call fcn.1009bc70
movups xmm0, xmmword [0x103c9158]
movups xmmword [0x103c9190], xmm0
movups xmm0, xmmword [0x103c9168]
movups xmmword [0x103c91a0], xmm0
mov dword [0x103c91ac], 0x2328
movups xmm0, xmmword [0x103c9178]
mov dword [0x103c91a8], 0
movups xmmword [0x103c91b0], xmm0
movq xmm0, qword [0x103c9188]
movq qword [0x103c91c0], xmm0
jmp 0x1009b350
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
mov eax, 0x300
cmp cx, ax
jne case.0x1009aa9e.4410
push 1
push 0
push 0x1006
mov ecx, esi
call fcn.100ccfbd
mov dword [0x103c915c], eax
jmp 0x1009a6f5
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
mov eax, 0x300
cmp cx, ax
jne case.0x1009aa9e.4410
push 1
push 0
push 0x1009
mov ecx, esi
call fcn.100ccfbd
mov dword [0x103c9164], eax
mov ecx, esi
call fcn.1009bc70
movups xmm0, xmmword [0x103c9158]
push 1
push 0
movups xmmword [0x103c9190], xmm0
movups xmm0, xmmword [0x103c9168]
movups xmmword [0x103c91a0], xmm0
mov dword [0x103c91ac], 0x2328
movups xmm0, xmmword [0x103c9178]
mov dword [0x103c91a8], 0
movups xmmword [0x103c91b0], xmm0
movq xmm0, qword [0x103c9188]
movq qword [0x103c91c0], xmm0
jmp 0x1009b354
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
mov eax, 0x300
cmp cx, ax
jne case.0x1009aa9e.4410
push 1
push 0
push 0x100a
mov ecx, esi
call fcn.100ccfbd
mov dword [0x103c9160], eax
jmp 0x1009a7b4
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
mov eax, 0x300
cmp cx, ax
jne case.0x1009aa9e.4410
push 1
push 0
push 0x100b
mov ecx, esi
call fcn.100ccfbd
mov dword [0x103c9168], eax
jmp 0x1009a7b4
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
mov eax, 0x300
cmp cx, ax
jne case.0x1009aa9e.4410
push 1
push 0
push 0x100c
mov ecx, esi
call fcn.100ccfbd
mov dword [0x103c916c], eax
jmp 0x1009a7b4
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
mov eax, 0x300
cmp cx, ax
jne case.0x1009aa9e.4410
push 1
push 0
push 0x100f
mov ecx, esi
call fcn.100ccfbd
mov dword [0x103c00e4], eax
jmp 0x1009b2aa
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
mov eax, 0x300
cmp cx, ax
jne case.0x1009aa9e.4410
push 1
push 0
push 0x1010
mov ecx, esi
call fcn.100ccfbd
mov dword [0x103c009c], eax
jmp 0x1009b2aa
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
mov eax, 0x300
cmp cx, ax
jne case.0x1009aa9e.4410
push 1
push 0
push 0x1011
mov ecx, esi
call fcn.100ccfbd
mov dword [0x103c9764], eax
jmp 0x1009b2aa
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
mov eax, 0x300
cmp cx, ax
jne case.0x1009aa9e.4410
push 0xff
push 0x103c98fc
push 0x1012
mov ecx, esi
call fcn.100ccffd
jmp case.0x1009aa9e.4410
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
cmp cx, 1
jne case.0x1009aa9e.4410
push 0
push 0
push 0x147
push 0xfa1
mov ecx, esi
call fcn.100cda2f
mov ecx, esi
mov dword [0x103c9170], eax
call fcn.1009bc70
jmp case.0x1009aa9e.4410
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
cmp cx, 1
jne case.0x1009aa9e.4410
push 0
push 0
push 0x147
push 0xfa2
mov ecx, esi
call fcn.100cda2f
mov dword [0x103c9574], eax
call fcn.10051580
jmp case.0x1009aa9e.4410
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
cmp cx, 1
jne case.0x1009aa9e.4410
push 0
push 0
push 0x147
push 0xfa4
mov ecx, esi
call fcn.100cda2f
mov dword [0x103c9578], eax
jmp 0x1009b2aa
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
cmp cx, 1
jne case.0x1009aa9e.4410
push 0
push 0
push 0x147
push 0xfa5
mov ecx, esi
call fcn.100cda2f
mov dword [0x103c9a24], eax
jmp case.0x1009aa9e.4410
mov ecx, esi
call fcn.1009bf30
jmp case.0x1009aa9e.4410
cmp eax, 0x12ad
ja case.0x1009aa9e.4410
je 0x1009b2fe
sub eax, 0x1138
cmp eax, 0xc8
ja case.0x1009aa9e.4410
movzx eax, byte [eax + 0x1009b468]
jmp dword [eax*4 + 0x1009b42c]
push 0x1195
mov ecx, esi
call fcn.100cd5f9
test eax, eax
je 0x1009aac8
or dword [0x103c9174], 1
mov ecx, esi
call fcn.1009bc70
jmp case.0x1009aa9e.4410
and dword [0x103c9174], 0xfffffffe
mov ecx, esi
call fcn.1009bc70
jmp case.0x1009aa9e.4410
push 0x1196
mov ecx, esi
call fcn.100cd5f9
test eax, eax
je 0x1009aafe
or dword [0x103c9174], 2
mov ecx, esi
call fcn.1009bc70
jmp case.0x1009aa9e.4410
and dword [0x103c9174], 0xfffffffd
mov ecx, esi
call fcn.1009bc70
jmp case.0x1009aa9e.4410
push 0x103c9158
mov dword [esi + 0xc0], 0
call fcn.100bb9d0
add esp, 4
mov ecx, esi
call fcn.1009bd00
mov ecx, esi
call fcn.1009bc70
push 1
push 2
push 0x100f
mov ecx, esi
mov dword [0x103c00e4], 2
mov dword [0x103c009c], 0x2328
mov dword [0x103c9764], 6
call fcn.100cdab1
push 1
push dword [0x103c009c]
mov ecx, esi
push 0x1010
call fcn.100cdab1
push 1
push dword [0x103c9764]
mov ecx, esi
push 0x1011
call fcn.100cdab1
push 0
push 0x1197
mov ecx, esi
mov dword [0x103c8f04], 0
mov dword [0x103c8f08], 0
mov dword [0x103c8f00], 0
mov dword [0x103c8f0c], 0
call fcn.100ccd1c
push dword [0x103c8f08]
mov ecx, esi
push 0x1198
call fcn.100ccd1c
push dword [0x103c8f00]
mov ecx, esi
push 0x1199
call fcn.100ccd1c
push dword [0x103c8f0c]
mov ecx, esi
push 0x119a
call fcn.100ccd1c
push str.C:DaVinci_
push 0x103c91c8
call fcn.102b2edb
add esp, 8
test eax, eax
je 0x1009ac4f
push 0
push 0x121
push str.Do_you_want_to_revert_default_home_directory_
call fcn.100d2df0
cmp eax, 1
jne 0x1009ac4f
movq xmm0, qword [str.C:DaVinci_]
mov ecx, esi
mov eax, dword [0x1031feb4]
push 0x103c91c8
push 0x100d
movq qword [0x103c91c8], xmm0
mov dword [0x103c91d0], eax
call fcn.100cdaf4
push 0
push 0x11f9
mov ecx, esi
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push 0x1005
mov ecx, esi
call fcn.100ccf47
mov ecx, eax
call fcn.100cdb31
mov eax, dword [0x1031f328]
mov ecx, esi
movq xmm0, qword [str.192.168.1.80]
mov dword [0x103c94d0], eax
mov al, byte [0x1031f32c]
mov dword [0x103c9578], 1
movq qword [0x103c94c8], xmm0
mov byte [0x103c94d4], al
call fcn.1009bed0
push 1
push 1
mov ecx, esi
call fcn.1009a250
mov dword [esi + 0xc0], 1
jmp case.0x1009aa9e.4410
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xd9c], eax
lea eax, [ebp - 0xd9c]
push eax
mov dword [ebp - 0xd98], 0
mov dword [ebp - 0xd94], 0x103c91c8
mov dword [ebp - 0xd90], str.Folder_for_calibration_data_and_acquired_frames
mov dword [ebp - 0xd8c], 0x30
mov dword [ebp - 0xd88], 0
mov dword [ebp - 0xd84], 0
mov dword [ebp - 0xd80], 0
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderA]
test eax, eax
je case.0x1009aa9e.4410
push 0x103c91c8
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
push 0x103c91c8
call fcn.100bae10
add esp, 4
mov ecx, esi
push 0x103c91c8
push 0x100d
call fcn.100cdaf4
push 1
push 0x11f9
mov ecx, esi
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
jmp 0x1009b350
push 5
push 0
push 0x103c8f10
push str.NOTEPAD.EXE
push str.OPEN
push dword [esi + 0x20]
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp case.0x1009aa9e.4410
push 0x100
lea eax, [ebp - 0x30c]
mov ecx, esi
push eax
push 0xfa3
call fcn.100ccffd
lea edi, [ebp - 0x30c]
dec edi
nop
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x1009adb0
mov ax, word [0x1031b1a0]
mov word [edi], ax
lea eax, [ebp - 0x30c]
push eax
call fcn.10051680
push 0xfa3
push esi
call fcn.100be420
add esp, 0xc
jmp case.0x1009aa9e.4410
xor ecx, ecx
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ecx + 0x103c91c8]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x30d], al
test al, al
jne 0x1009adf0
push 0x1132
mov ecx, esi
call fcn.100cd5f9
test eax, eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xd7c]
push eax
je 0x1009ae2b
call sym.VADAV.dll_VDC_GetImageDim
mov edx, 0x1132
jmp 0x1009ae35
call sym.VADAV.dll_VDACQ_GetFrameDim
mov edx, 0x1131
lea ecx, [ebp - 0x30c]
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1009ae40
sub ecx, edi
lea eax, [ebp - 0x30c]
push 0x64
add eax, ecx
mov ecx, esi
push eax
push edx
call fcn.100ccffd
push dword [ebp - 8]
mov ecx, dword [0x103c9114]
lea eax, [ebp - 0x30c]
push dword [ebp - 0xd7c]
push eax
call fcn.100b5a70
jmp case.0x1009aa9e.4410
cmp dword [0x103c977c], 0
je case.0x1009aa9e.4410
push 0x27
push 0x103c94c8
push 0x12ad
mov ecx, esi
call fcn.100ccffd
push 0x103c94c8
call fcn.100be9f0
add esp, 4
mov ebx, eax
call fcn.100c3b5c
push 0x100
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x10c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x10c]
push 0x2e
push eax
call fcn.102a1020
mov byte [eax], 0
mov eax, ebx
shr eax, 0x18
push eax
shr ebx, 0x10
movzx eax, bl
push eax
lea eax, [ebp - 0x40c]
push str.__2.2d__2.2d
push eax
call fcn.100029e0
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x50c]
push str.Load_Setting_File_:__s_s.ini
push eax
call fcn.100029e0
add esp, 0x28
lea eax, [ebp - 0x50c]
push eax
call sym.VADAV.dll_VD_LogMsg
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x20c]
push str._s_s.ini
push eax
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x20c]
mov ecx, esi
push eax
push 0x100e
call fcn.100cdaf4
lea eax, [ebp - 0x20c]
mov ecx, 0x103c8f10
push eax
call fcn.10008060
push 0x1031f298
mov ecx, 0x103c8f10
call fcn.10008160
push 0x103c94c8
push str.IPAddr
mov ecx, 0x103c8f10
call fcn.10008140
push 1
push 1
lea eax, [ebp - 0x20c]
mov ecx, 0x103c8e30
push eax
call fcn.1002c7c0
mov ecx, esi
call fcn.1009a330
push 0
push dword [0x103c9a24]
mov ecx, esi
push 0x14e
push 0xfa5
call fcn.100cda2f
jmp case.0x1009aa9e.4410
push 0
push 0
push 0x147
push 0xfa5
mov ecx, esi
call fcn.100cda2f
mov dword [0x103c9a24], eax
mov ecx, esi
push 0xff
lea eax, [ebp - 0x40c]
push eax
push 0xfa5
call fcn.100ccffd
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x80c]
push str.Load_Setting_File_:_parameter_s
push eax
call fcn.100029e0
add esp, 0xc
lea eax, [ebp - 0x80c]
push eax
call sym.VADAV.dll_VD_LogMsg
lea eax, [ebp - 0x40c]
push eax
push 0x103c91c8
lea eax, [ebp - 0x20c]
push str._sparameter_s
push eax
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x20c]
mov ecx, 0x103c8e30
push 1
push 0
push eax
call fcn.1002c7c0
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, 1
nop
push edi
lea eax, [ebp - 0xc]
push str.Init_d
push eax
call fcn.100029e0
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
push 0x200
lea eax, [ebp - 0x70c]
push eax
push 0x1031b50e
push str.Caption
lea eax, [ebp - 0xc]
push eax
call ebx
lea ecx, [ebp - 0x70c]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1009b0a0
sub ecx, edx
je 0x1009b0db
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0xd78]
push eax
push edi
call fcn.10039a30
lea eax, [ebp - 0x70c]
push eax
lea eax, [ebp - 0xd78]
push eax
push edi
call fcn.10039a90
add esp, 0x18
jmp 0x1009b1e8
call fcn.100c3b5c
push 0x100
lea ecx, [ebp - 0x10c]
push ecx
mov eax, dword [eax + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x10c]
push 0x2e
push eax
call fcn.102a1020
add esp, 8
mov dword [eax + 1], 0x494e49
cmp dword [0x103c977c], 0
je 0x1009b19c
push 0x103c94c8
call fcn.100be9f0
add esp, 4
mov ebx, eax
call fcn.100c3b5c
push 0x100
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x50c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x50c]
push 0x2e
push eax
call fcn.102a1020
mov byte [eax], 0
mov eax, ebx
shr eax, 0x18
push eax
shr ebx, 0x10
movzx eax, bl
push eax
lea eax, [ebp - 0x90c]
push str.__2.2d__2.2d
push eax
call fcn.100029e0
lea eax, [ebp - 0x90c]
push eax
lea eax, [ebp - 0x50c]
push eax
lea eax, [ebp - 0x10c]
push str._s_s.ini
push eax
call fcn.100029e0
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
add esp, 0x28
lea eax, [ebp - 0x10c]
push eax
push 0x200
lea eax, [ebp - 0x70c]
push eax
push 0x1031b50e
push 0x103217a0
lea eax, [ebp - 0xc]
push eax
call ebx
lea ecx, [ebp - 0x70c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1009b1c8
sub ecx, edx
je 0x1009b1e8
push 0x1031b50e
lea eax, [ebp - 0xd78]
push eax
push edi
call fcn.10039a90
add esp, 0xc
inc edi
cmp edi, 0x63
jle 0x1009b060
mov ecx, esi
call fcn.1009a330
push dword [0x103c8f0c]
mov ecx, esi
push 0x119a
call fcn.100ccd1c
jmp case.0x1009aa9e.4410
push 0x1138
mov ecx, esi
call fcn.100cd5f9
mov ecx, dword [0x103c9140]
mov edi, eax
push edi
push 0x1138
call fcn.100ccd1c
mov ecx, dword [0x103c9140]
xor ebx, ebx
test edi, edi
sete bl
push ebx
push 0x1139
call fcn.100ccd1c
push ebx
push 0x1012
mov ecx, esi
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
mov dword [0x103c9784], ebx
jmp case.0x1009aa9e.4410
push 0x1197
mov ecx, esi
call fcn.100cd5f9
push 0x1198
mov ecx, esi
mov dword [0x103c8f04], eax
call fcn.100cd5f9
push 0x1199
mov ecx, esi
mov dword [0x103c8f08], eax
call fcn.100cd5f9
push 0x119a
mov ecx, esi
mov dword [0x103c8f00], eax
call fcn.100cd5f9
mov dword [0x103c8f0c], eax
push 1
push 0x11f9
mov ecx, esi
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
jmp case.0x1009aa9e.4410
push 0x119b
mov ecx, esi
call fcn.100cd5f9
mov dword [0x103c9a48], eax
jmp case.0x1009aa9e.4410
push 0x119c
mov ecx, esi
call fcn.100cd5f9
mov dword [0x103c9a60], eax
push 0x119d
mov ecx, esi
call fcn.100cd5f9
mov dword [0x103c9a64], eax
jmp case.0x1009aa9e.4410
cmp dword [esi + 0xc0], 0
je case.0x1009aa9e.4410
mov eax, 0x300
cmp cx, ax
jne case.0x1009aa9e.4410
push 0x27
push 0x103c94c8
push 0x12ad
mov ecx, esi
call fcn.100ccffd
push 1
push 0x11f9
mov ecx, esi
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push 0x1131
push esi
call fcn.1009bac0
add esp, 8
cmp dword [0x103c9774], 0
je case.0x1009aa9e.4410
push 0
push 1
mov ecx, esi
call fcn.1009a250
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.100c7f36
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10291e04
mov esp, ebp
pop ebp
ret 8