Function at 0x100a4c10
Capabilities:
Check if file exists
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102fa36c
mov eax, dword fs:[0]
push eax
sub esp, 0x630
mov eax, dword [case.0x100be6e1.80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ebx, dword [ebp + 8]
mov ecx, ebx
movzx eax, bx
shr ecx, 0x10
cmp eax, 0x1199
ja 0x100a4d5e
cmp eax, 0x1196
jae 0x100a4cfd
cmp eax, 0xfa4
je 0x100a4cd7
add eax, 0xffffeff8
cmp eax, 2
ja case.0x100a4d73.4603
cmp dword [esi + 0xc0], 0
je case.0x100a4d73.4603
push 0x1008
push esi
call fcn.100bb1e0
push 0x1009
fstp dword [0x103c9768]
push esi
call fcn.100bb1e0
add esp, 0x10
mov ecx, esi
fstp dword [0x103c976c]
push 1
push 0
push 0x100a
call fcn.100ccfbd
push 1
push 0x11f9
mov ecx, esi
mov dword [0x103c96c8], eax
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
jmp case.0x100a4d73.4603
cmp dword [esi + 0xc0], 0
je case.0x100a4d73.4603
cmp cx, 5
je 0x100a4ec2
cmp cx, 1
jne case.0x100a4d73.4603
jmp 0x100a4ec2
push 0x1196
mov ecx, esi
xor edi, edi
call fcn.100cd5f9
test eax, eax
mov ecx, 1
push 0x1197
cmovne edi, ecx
mov ecx, esi
call fcn.100cd5f9
test eax, eax
je 0x100a4d28
or edi, 4
push 0x1198
mov ecx, esi
call fcn.100cd5f9
test eax, eax
je 0x100a4d3b
or edi, 8
push 0x1199
mov ecx, esi
call fcn.100cd5f9
test eax, eax
je 0x100a4d4e
or edi, 2
mov eax, dword [0x103c9114]
mov dword [eax + 0x108], edi
jmp case.0x100a4d73.4603
sub eax, 0x11f9
cmp eax, 0x11
ja case.0x100a4d73.4603
movzx eax, byte [eax + 0x100a52d8]
jmp dword [eax*4 + 0x100a52b0]
movsd xmm0, qword [0x10321198]
sub esp, 8
mov dword [esi + 0xc0], 0
mov dword [0x103c9768], 0x40000000
movsd qword [esp], xmm0
push 0x1008
push esi
call fcn.100bba10
movsd xmm0, qword [0x1031f0c8]
add esp, 8
mov dword [0x103c976c], 0x3f800000
movsd qword [esp], xmm0
push 0x1009
push esi
call fcn.100bba10
add esp, 0x10
mov dword [0x103c96c8], 5
mov ecx, esi
push 1
push 5
push 0x100a
call fcn.100cdab1
push 0x11fa
mov ecx, esi
call fcn.100ccf47
mov ecx, eax
call fcn.100cdb31
push 0
push 0x11f9
mov ecx, esi
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
mov dword [esi + 0xc0], 1
jmp case.0x100a4d73.4603
lea eax, [ebp - 0x63c]
push eax
lea eax, [ebp - 0x638]
push eax
call sym.VADAV.dll_VDC_GetImageDim
push 0x100
lea eax, [ebp - 0x110]
mov ecx, esi
push eax
push 0x1005
call fcn.100ccffd
lea eax, [ebp - 0x110]
push eax
call fcn.100bae10
lea ecx, [ebp - 0x110]
add esp, 4
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x100a4e63
mov eax, dword [0x10324610]
push dword [ebp - 0x63c]
mov dword [ecx], eax
mov ax, word [0x10324614]
push dword [ebp - 0x638]
mov word [ecx + 4], ax
lea eax, [ebp - 0x110]
mov ecx, dword [0x103c9114]
push eax
call fcn.100b5a70
jmp case.0x100a4d73.4603
push 0x103c8f10
push 0xfa4
push esi
push dword [0x103c00d0]
call fcn.100bf760
add esp, 0x10
test eax, eax
je case.0x100a4d73.4603
push 0
push 0
push 0xc00
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp case.0x100a4d73.4603
push 0x103c8f10
push dword [esi + 0x148]
push 0xfa4
push esi
push dword [0x103c00d0]
call fcn.100bf930
add esp, 0x14
jmp 0x100a4ec2
push 0x103c8f10
push dword [esi + 0x148]
push 0xfa4
push esi
push dword [0x103c00d0]
call fcn.100befb0
add esp, 0x14
test eax, eax
je case.0x100a4d73.4603
push 0
push 0x1202
mov ecx, esi
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push 0
push 0x120a
mov ecx, esi
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
jmp 0x100a4ec2
push 1
lea eax, [ebp - 0x110]
mov ecx, esi
push eax
push 0x1006
call fcn.100a5a50
push 0
push 0
push str.Select_input_image
lea eax, [ebp - 0x110]
push eax
push esi
call fcn.100bb910
add esp, 0x14
test eax, eax
je case.0x100a4d73.4603
lea eax, [ebp - 0x110]
mov ecx, esi
push eax
push 0x1006
call fcn.100a5ab0
jmp case.0x100a4d73.4603
push 0
lea eax, [ebp - 0x110]
mov ecx, esi
push eax
push 0x1007
call fcn.100a5a50
push 0
push 0
push str.Select_result_image
lea eax, [ebp - 0x110]
push eax
push esi
call fcn.100bb9a0
add esp, 0x14
test eax, eax
je case.0x100a4d73.4603
lea eax, [ebp - 0x110]
mov ecx, esi
push eax
push 0x1007
call fcn.100a5ab0
jmp case.0x100a4d73.4603
push 1
push str.___Image_Process___
call fcn.100bbda0
add esp, 8
lea eax, [ebp - 0x110]
mov ecx, esi
push 0x100
push eax
push 0x1005
call fcn.100ccffd
lea eax, [ebp - 0x110]
push eax
call fcn.100bb940
add esp, 4
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x100a507d
lea eax, [ebp - 0x110]
push eax
call fcn.100bbbe0
push eax
lea eax, [ebp - 0x210]
push str.Create__s
push eax
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x110]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
lea eax, [ebp - 0x210]
push 1
je 0x100a51d6
push eax
call fcn.100bbda0
add esp, 8
mov ecx, esi
call fcn.100a5a20
lea eax, [ebp - 0x63c]
push eax
lea eax, [ebp - 0x638]
push eax
call sym.VADAV.dll_VDC_GetImageDim
push 1
lea eax, [ebp - 0x110]
mov ecx, esi
push eax
push 0x1006
call fcn.100a5a50
mov eax, dword [ebp - 0x638]
xor ecx, ecx
imul eax, dword [ebp - 0x63c]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.100c00fe
mov ecx, dword [ebp - 0x638]
mov edi, eax
imul ecx, dword [ebp - 0x63c]
lea eax, [ebp - 0x110]
push 1
push edi
add ecx, ecx
push ecx
push eax
push 0
call fcn.100baf20
add esp, 0x18
test eax, eax
je 0x100a51c6
push 0
push 0
push 0
push 0
push 0
call sym.VADAV.dll_VD_Set_Acquisition
push 0
push 0
push 0
push 0
push 0
call sym.VADAV.dll_VD_Set_Calibration
mov eax, dword [0x103c9114]
push esi
push 0
push dword [0x103c96c0]
push edi
push dword [eax + 0x108]
call sym.VADAV.dll_VD_Set_ImgProcess
push 0x1031bac0
push 0xa
push 0
call sym.VADAV.dll_VD_LogOpen
mov eax, dword [0x103c8e50]
push dword [eax + 0x20]
call sym.VADAV.dll_VD_GetImage
cmp eax, 1
jne 0x100a51c1
push 0
lea eax, [ebp - 0x110]
mov ecx, esi
push eax
push 0x1007
call fcn.100a5a50
mov eax, dword [ebp - 0x638]
imul eax, dword [ebp - 0x63c]
push 1
push edi
add eax, eax
push eax
lea eax, [ebp - 0x110]
push eax
push 1
call fcn.100baf20
add esp, 0x14
test eax, eax
je 0x100a51c1
lea eax, [ebp - 0x110]
push eax
call fcn.100bbbe0
push eax
lea eax, [ebp - 0x210]
push str.Saved__s
push eax
call fcn.100029e0
lea eax, [ebp - 0x210]
push 1
push eax
call fcn.100bbda0
add esp, 0x18
call sym.VADAV.dll_VD_LogClose
push 2
push edi
call fcn.10291e3f
add esp, 8
jmp case.0x100a4d73.4603
push 0
push eax
call fcn.100bb2d0
add esp, 0xc
jmp case.0x100a4d73.4603
mov ecx, esi
call fcn.100a5a20
lea eax, [ebp - 0x634]
push eax
push dword [0x103c96c0]
call fcn.1005ccb0
add esp, 8
lea ecx, [ebp - 0x2d0]
push esi
call fcn.10073ad0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x634]
mov dword [ebp - 0x224], eax
lea ecx, [ebp - 0x2d0]
mov eax, dword [0x103c96c0]
mov dword [ebp - 0x220], eax
call fcn.100ce35e
cmp eax, 1
jne 0x100a5251
lea eax, [ebp - 0x634]
push eax
push dword [0x103c96c0]
call fcn.1005cd90
add esp, 8
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x198]
call fcn.100d70f9
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x218]
call fcn.100d2438
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2d0]
call fcn.100cddc3
push dword [ebp + 0xc]
mov ecx, esi
push ebx
call fcn.100c7f36
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10291e04
mov esp, ebp
pop ebp
ret 8