Function at 0x401820
Capabilities:
Print debug messages

Disassembly:
sub esp, 0xd8
mov eax, ecx
push ebx
xor ecx, ecx
push ebp
mov dword [esp + 0xc], ecx
push esi
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0xec]
mov dword [esp + 0x18], ecx
push edi
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xf4]
mov edx, ecx
lea edi, [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
xor ebx, ebx
and ecx, 3
mov dword [esp + 0x24], eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
xor ebp, ebp
push ecx
mov ecx, eax
mov dword [esp + 0x14], ebx
call fcn.00401560
movsx ecx, byte [esp + 0xec]
add ecx, 0xffffffcc
cmp ecx, 0x11
ja case.0x40188a.56
jmp dword [ecx*4 + 0x401c24]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x28]
push str.Soft_Trigger
push edx
mov ebp, 0x66
call esi
add esp, 8
jmp 0x40199f
mov ebp, 0x67
push str.One_Trigger
jmp 0x401c0e
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0x28]
push str.Tracking_Image
push ecx
mov ebp, 0x68
call esi
add esp, 8
jmp 0x40199f
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x28]
push str.Local_Status
push edx
mov ebp, 0x6a
mov ebx, 1
call esi
add esp, 8
jmp 0x40199f
movsx ebx, byte [esp + 0x15]
sub ebx, 0x30
mov ebp, 0x80
push ebx
mov dword [esp + 0x14], 1
push str.LANE:__d
jmp 0x401b5f
movsx ecx, byte [esp + 0x15]
movsx edx, byte [esp + 0x16]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*2 - 0x210]
mov cl, byte [esp + 0x17]
cmp cl, 0x31
jne 0x401946
mov ebp, 0x99
jmp 0x40197c
cmp cl, 0x32
jne 0x401952
mov ebp, 0x9a
jmp 0x40197c
cmp cl, 0x33
jne 0x40195e
mov ebp, 0x97
jmp 0x40197c
cmp cl, 0x34
jne 0x40196a
mov ebp, 0x98
jmp 0x40197c
cmp cl, 0x35
jne 0x40197c
mov ebp, 0x9b
mov dword [esp + 0x10], 1
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push ebx
movsx ecx, cl
push ecx
push eax
lea edx, [esp + 0x34]
push str.PANTILT:__d__c__d_
push edx
call esi
add esp, 0x14
test ebp, ebp
je case.0x40188a.56
mov ecx, dword [esp + 0x24]
push 0x40d020
push 0
mov dword [ecx + 0x1448], 0
call dword [sym.imp.USER32.dll_FindWindowA]
push ebx
mov edi, eax
push ebp
push 0x40e
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
push str.DCamControl
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push ebp
push 0x40e
push eax
call ebx
cmp dword [esp + 0x10], 1
jne 0x401a05
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
push 0x6a
push 0x40e
push edi
call ebx
mov ecx, dword [0x40e438]
lea edx, [esp + 0x28]
push edx
push 0x3f0
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::SetWindowTextA
lea eax, [esp + 0x28]
lea ecx, [esp + 0x68]
push eax
push str.CENTER___s
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0x68]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd8
ret 0x10
movsx ecx, byte [esp + 0x15]
sub ecx, 0x30
cmp ecx, 1
jne 0x401a61
mov ebp, 0x9c
jmp 0x401aaf
cmp ecx, 2
jne 0x401a6d
mov ebp, 0x9d
jmp 0x401aaf
cmp ecx, 3
jne 0x401a79
mov ebp, 0x9e
jmp 0x401aaf
cmp ecx, 4
jne 0x401a85
mov ebp, 0x9f
jmp 0x401aaf
cmp ecx, 5
jne 0x401a91
mov ebp, 0xa1
jmp 0x401aaf
cmp ecx, 6
jne 0x401a9d
mov ebp, 0xa2
jmp 0x401aaf
cmp ecx, 7
jne 0x401aaf
mov ebp, 0xa0
mov dword [esp + 0x10], 1
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push ecx
push eax
lea eax, [esp + 0x30]
push str.LENS:__d__d
push eax
call esi
add esp, 0x10
xor ebx, ebx
jmp 0x401997
movsx ecx, byte [esp + 0x15]
movsx edx, byte [esp + 0x16]
lea ecx, [ecx + ecx*4]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
mov ebp, 0x81
mov dword [esp + 0x10], 1
lea ebx, [edx + ecx*2 - 0x210]
push ebx
push eax
lea eax, [esp + 0x30]
push str.L_DLY:__d___d_
push eax
call esi
add esp, 0x10
jmp 0x40199f
movsx ebx, byte [esp + 0x15]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
sub ebx, 0x30
push ebx
push eax
lea ecx, [esp + 0x30]
push str.MODE:__d___d_
push ecx
mov ebp, 0x7d
mov dword [esp + 0x20], 1
call esi
add esp, 0x10
jmp 0x40199f
movsx ebx, byte [esp + 0x15]
mov edx, dword [0x40e438]
sub ebx, 0x30
push ebx
mov ebp, 0x85
mov dword [edx + 0x70], ebx
mov dword [esp + 0x14], 1
push str.OPER:___d_
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x30]
push eax
call esi
add esp, 0xc
jmp 0x40199f
mov edi, dword [esp + 0xf0]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov edx, edi
mov dword [esp + 0x18], ecx
mov ebx, dword [sym.imp.MSVCRT.dll_atoi]
mov ax, word [edx]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov ebp, 0x82
mov cl, byte [edx + 2]
lea edx, [esp + 0x14]
push edx
mov word [esp + 0x18], ax
mov byte [esp + 0x1a], cl
call ebx
add edi, 3
mov esi, eax
lea edx, [esp + 0x18]
mov ax, word [edi]
push edx
mov word [esp + 0x1c], ax
mov cl, byte [edi + 2]
mov byte [esp + 0x1e], cl
call ebx
mov ebx, eax
mov ecx, esi
and ebx, 0xffff
push eax
push esi
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x38]
and ecx, 0xffff
shl ebx, 0x10
push str.SPD_FLT:_T:_d__C:_d
push edx
or ebx, ecx
mov dword [esp + 0x28], 1
call esi
add esp, 0x18
jmp 0x40199f
mov ebp, 0x92
push str.RTU_RESET
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x2c]
push eax
call esi
add esp, 8
jmp 0x40199f