Function at 0x1005e3c0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14c
mov eax, dword [case.0x100be6e1.80]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
mov dword [ebp - 0x144], ebx
cmp edi, 0xc01
ja 0x1005ead4
je 0x1005e936
cmp edi, 0x113
ja 0x1005e771
je 0x1005e59d
mov eax, edi
sub eax, 2
je 0x1005e51a
sub eax, 0x12
jne 0x1005eaf1
lea eax, [ebp - 0x114]
push eax
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetClientRect]
cmp dword [esi + 0x1e8], 0
jne 0x1005e461
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov esi, eax
lea eax, [ebp - 0x114]
push esi
push eax
push ebx
call dword [sym.imp.USER32.dll_FillRect]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x1005ec92
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x10c]
push 0
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x108]
push 1
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x148]
push eax
push 2
lea eax, [ebp - 0x13c]
mov dword [ebp - 0x134], 0x78007800
push eax
push ebx
mov dword [ebp - 0x130], 0x7d00
mov dword [ebp - 0x124], 0xdc00dc00
mov dword [ebp - 0x120], 0xe100
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 1
call dword [sym.imp.MSIMG32.dll_GradientFill]
push 2
mov ecx, esi
call fcn.100ccf47
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1005ec92
push 5
push 5
push 0x1005
push 2
push ebx
mov ecx, esi
call fcn.1005f010
jmp 0x1005ec92
push 1
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x103c8e50]
xor ecx, ecx
cmp eax, esi
cmove eax, ecx
mov dword [0x103c8e50], eax
mov eax, dword [esi + 0x24c]
test eax, eax
je 0x1005e546
push eax
call sym.VADAV.dll_VDACQ_Close
mov eax, dword [esi + 0x238]
test eax, eax
je 0x1005e565
push 2
push eax
mov dword [esi + 0x23c], 0
call fcn.10291e3f
add esp, 8
mov eax, dword [esi + 0x240]
test eax, eax
je 0x1005eaf1
push 4
push eax
call fcn.10291e3f
add esp, 8
mov ecx, esi
push dword [ebp + 0x10]
push ebx
push edi
call fcn.100ca82c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10291e04
mov esp, ebp
pop ebp
ret 0xc
mov eax, ebx
sub eax, 0
je 0x1005e622
sub eax, 1
jne 0x1005eaf1
cmp dword [esi + 0x1e8], eax
je 0x1005eaf1
push 0x12b7
call fcn.100ccf47
mov edi, eax
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x144]
mov ecx, edi
push eax
call fcn.100e9a68
push 0
push 0
push 0x408
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
inc eax
xor ecx, ecx
cmp eax, dword [ebp - 0x140]
cmovg eax, ecx
mov ecx, edi
push eax
call fcn.1005e3a0
push dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov ecx, esi
push ebx
push edi
call fcn.100ca82c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10291e04
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi + 0x1e8]
or eax, dword [0x103ca048]
je 0x1005eaf1
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, eax
push 0xd
mov dword [ebp - 0x140], ebx
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
push 2
push ebx
mov dword [ebp - 0x14c], eax
call dword [sym.imp.GDI32.dll_SetBkMode]
push 0
push ebx
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0x808080
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
mov ecx, esi
sub ebx, dword [esi + 0x248]
lea eax, [ebp - 0x114]
push eax
call fcn.1005f1f0
mov eax, 0x45e7b273
mul ebx
mov edi, edx
shr edi, 0xe
imul eax, edi, 0xffff15a0
add ebx, eax
mov eax, 0x10624dd3
mul ebx
mov ecx, edx
shr ecx, 6
imul eax, ecx, 0x3e8
sub ebx, eax
mov eax, 0xcccccccd
mul ebx
lea eax, [ebp - 0x104]
shr edx, 3
push edx
push ecx
push edi
push str._2.2d:_2.2d._2.2d
push eax
call fcn.100029e0
mov edi, dword [ebp - 0x140]
lea eax, [ebp - 0x114]
mov ebx, dword [sym.imp.USER32.dll_DrawTextA]
add esp, 0x14
push 0x25
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x104]
push eax
push edi
call ebx
add dword [ebp - 0x110], 0x28
cmp dword [0x103c9ab0], 0
je 0x1005e732
cmp dword [0x103c9aac], 0
lea eax, [ebp - 0x114]
push 0x25
push eax
push 0xffffffffffffffff
je 0x1005e72a
push str.READY
jmp 0x1005e72f
push str.__WAIT
push edi
call ebx
push dword [ebp - 0x14c]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push edi
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_ReleaseDC]
push dword [ebp + 0x10]
mov ebx, dword [ebp - 0x144]
mov ecx, esi
mov edi, dword [ebp + 8]
push ebx
push edi
call fcn.100ca82c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10291e04
mov esp, ebp
pop ebp
ret 0xc
cmp edi, 0xc00
jne 0x1005eaf1
test ebx, ebx
jne 0x1005e8d5
cmp dword [esi + 0x1b0], ebx
jne 0x1005e799
push ebx
push ebx
push 0xc01
jmp 0x1005ec89
call fcn.1005f270
mov dword [esi + 0x244], 0xffffffff
cmp dword [0x103c9770], 0
je 0x1005e7b9
mov eax, dword [esi + 0x1b4]
jmp 0x1005e7bc
or eax, 0xffffffff
push dword [esi + 0x210]
push dword [esi + 0x20c]
push eax
push dword [esi + 0x1b0]
push dword [esi + 0x1bc]
push dword [esi + 0x1b8]
push dword [esi + 0x1ac]
call fcn.10030760
mov dword [esi + 0x24c], eax
test eax, eax
jne 0x1005e83f
cmp dword [esi + 0xa8], eax
jne 0x1005e831
mov dword [esi + 0xa8], 1
cmp byte [esi + 0xac], al
jne 0x1005e831
movups xmm0, xmmword [str.ERR:_Acquisition_API_initialization]
movups xmmword [esi + 0xac], xmm0
movups xmm0, xmmword [0x10323fb4]
movups xmmword [esi + 0xbc], xmm0
mov eax, dword [0x10323fc4]
mov dword [esi + 0xcc], eax
push 2
mov ecx, esi
call fcn.100ce542
jmp 0x1005ec92
cmp dword [0x103c9f74], 0
je 0x1005e856
mov dword [0x103c9f74], 0
xor eax, eax
jmp 0x1005e860
movzx eax, byte [esi + 0x1ac]
and eax, 1
push eax
call fcn.100be810
add esp, 4
mov ecx, esi
push eax
call fcn.100cdc35
cmp dword [0x103c9b8c], 1
jne 0x1005e898
push 0xffffffffffffffff
push 0
push 0
push 0
push 0
call sym.VADAV.dll_VDACQ_Connect
push 0
push 0x103c9b90
push eax
call sym.VADAV.dll_VDACQ_LoadFrameWithName
jmp 0x1005e8a3
push dword [esi + 0x24c]
call sym.VADAV.dll_VDACQ_StartFrame
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x248], eax
mov eax, dword [esi + 0x1e8]
or eax, dword [0x103ca048]
je 0x1005ec92
push 0
push 0x64
push 0
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x1005ec92
cmp dword [esi + 0x1f0], 0
jne 0x1005ec92
mov eax, dword [esi + 0x1e8]
mov dword [esi + 0x1f0], 1
or eax, dword [0x103ca048]
je 0x1005e905
push 0
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
cmp dword [esi + 0x24c], 0
je 0x1005ec92
mov dword [0x103c9f8c], 0
push dword [esi + 0x24c]
call sym.VADAV.dll_VDACQ_Close
mov dword [esi + 0x24c], 0
jmp 0x1005ec92
test ebx, ebx
jne 0x1005ea8c
cmp dword [esi + 0x1e8], ebx
je 0x1005e9dd
movaps xmm0, xmmword [0x10324040]
push 0x12b7
movups xmmword [ebp - 0x11c], xmm0
mov dword [ebp - 0x10c], 0x1006
mov dword [ebp - 0x108], 0x1007
call fcn.100ccf47
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov ebx, eax
push 0xf
push 0
push 0x406
push dword [ebx + 0x20]
call edi
push 0
push 0
push 0x402
push dword [ebx + 0x20]
call edi
push 5
mov ecx, ebx
call fcn.100cdc87
push 0
push 0xfa
push 1
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
xor edi, edi
nop word [eax + eax]
push 0
push dword [ebp + edi*4 - 0x11c]
mov ecx, esi
call fcn.100ccf47
mov ecx, eax
call fcn.100cdc87
inc edi
cmp edi, 6
jb 0x1005e9c0
cmp dword [esi + 0x1c4], 0
jne 0x1005e9f4
push 0
push 0
push 0xc02
jmp 0x1005ec89
mov dword [esi + 0x244], 0xffffffff
cmp dword [esi + 0x1b0], 0
jne 0x1005ea14
push dword [esi + 0x1c4]
mov ecx, esi
call fcn.1005eeb0
push dword [esi + 0x1c4]
push dword [esi + 0x1d0]
push dword [esi + 0x1cc]
push dword [esi + 0x1c0]
call sym.VADAV.dll_VDC_Process
mov dword [esi + 0x250], eax
test eax, eax
jne 0x1005ea85
cmp dword [esi + 0xa8], eax
jne 0x1005ea7c
mov dword [esi + 0xa8], 1
cmp byte [esi + 0xac], al
jne 0x1005ea7c
movups xmm0, xmmword [str.ERR:_Calibration_API_initialization]
movups xmmword [esi + 0xac], xmm0
movups xmm0, xmmword [0x10323fd8]
movups xmmword [esi + 0xbc], xmm0
mov eax, dword [0x10323fe8]
mov dword [esi + 0xcc], eax
push 2
mov ecx, esi
call fcn.100ce542
push 2
jmp 0x1005ec54
mov eax, dword [esi + 0x250]
test eax, eax
je 0x1005ec92
cmp dword [esi + 0xa8], 0
jne 0x1005eabf
mov ecx, dword [esi + 0x1c8]
test ecx, ecx
je 0x1005eabf
push ecx
push dword [esi + 0x1c4]
call sym.VADAV.dll_VDC_CutImage
mov eax, dword [esi + 0x250]
push eax
call sym.VADAV.dll_VDC_Close
mov dword [esi + 0x250], 0
jmp 0x1005ec92
mov eax, edi
sub eax, 0xc02
je 0x1005ebaa
sub eax, 0x2ac6
je 0x1005eb93
sub eax, 1
je 0x1005eb10
push dword [ebp + 0x10]
mov ecx, esi
push ebx
push edi
call fcn.100ca82c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10291e04
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esi + 0x244], ebx
je 0x1005ec92
push 0x100
lea eax, [ebp - 0x104]
push eax
call fcn.100cd453
cmp dword [esi + 0x244], 0
jl 0x1005eb4a
lea eax, [ebp - 0x104]
push 0x20
push eax
call fcn.102a1020
add esp, 8
mov byte [eax], 0
lea ecx, [ebp - 0x104]
mov dword [esi + 0x244], ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1005eb60
sub ecx, edx
lea eax, [ebp - 0x104]
push ebx
add eax, ecx
push str.__d__
push eax
call fcn.100029e0
add esp, 0xc
lea eax, [ebp - 0x104]
mov ecx, esi
push eax
call fcn.100cdc35
jmp 0x1005ec92
xor eax, eax
cmp dword [esi + 0xa8], eax
setg al
inc eax
push eax
call fcn.100ce542
jmp 0x1005ec92
test ebx, ebx
jne 0x1005ec66
cmp dword [esi + 0x1d8], ebx
je 0x1005ec80
mov dword [esi + 0x244], 0xffffffff
cmp dword [esi + 0x1c4], ebx
jne 0x1005ebdb
push dword [esi + 0x1d8]
call fcn.1005ef00
push dword [esi + 0x1dc]
push dword [esi + 0x1d8]
push dword [esi + 0x1e4]
push dword [esi + 0x1e0]
push dword [esi + 0x1d4]
call sym.VADAV.dll_VDIP_Process
mov dword [esi + 0x254], eax
test eax, eax
jne 0x1005ec52
cmp dword [esi + 0xa8], eax
jne 0x1005ec49
mov dword [esi + 0xa8], 1
cmp byte [esi + 0xac], al
jne 0x1005ec49
movups xmm0, xmmword [str.ERR:_Img_process_API_initialization]
movups xmmword [esi + 0xac], xmm0
movups xmm0, xmmword [0x10323ffc]
movups xmmword [esi + 0xbc], xmm0
mov eax, dword [0x1032400c]
mov dword [esi + 0xcc], eax
push 2
mov ecx, esi
call fcn.100ce542
push 3
call fcn.100be810
add esp, 4
mov ecx, esi
push eax
call fcn.100cdc35
jmp 0x1005ec92
mov eax, dword [esi + 0x254]
test eax, eax
je 0x1005ec80
push eax
call sym.VADAV.dll_VDIP_Close
mov dword [esi + 0x254], 0
push 0
push 0
push 0x36c8
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10291e04
mov esp, ebp
pop ebp
ret 0xc