Function at 0x416d60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x94c
push ebx
mov ebx, dword [esp + 0x958]
push ebp
push esi
lea eax, [esp + 0xc]
push edi
xor edi, edi
push eax
push ebx
mov dword [esp + 0x18], edi
call fcn.00411180
add esp, 8
test eax, eax
jne 0x416d94
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94c
ret
mov esi, dword [esp + 0x968]
mov ecx, dword [esi + 0xe48]
push ecx
call fcn.00412940
lea edx, [esp + 0x14]
push str.AutoLoadFiles
push edx
mov dword [esi + 0xe48], edi
call fcn.00411740
mov ebp, eax
push 4
mov dword [esp + 0x40], ebp
lea eax, [ebp + 1]
push eax
call dword [sym.imp.MSVCRT.dll_calloc]
add esp, 0x14
cmp eax, edi
mov dword [esi + 0xe48], eax
jne 0x416df5
lea ecx, [esp + 0x10]
push ecx
call fcn.00411610
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94c
ret
test ebp, ebp
jle 0x416e23
push 2
push 0x80
call dword [sym.imp.MSVCRT.dll_calloc]
mov edx, dword [esi + 0xe48]
add esp, 8
mov dword [edx + edi*4], eax
mov eax, dword [esi + 0xe48]
cmp dword [eax + edi*4], 0
je 0x416e74
inc edi
cmp edi, ebp
jl 0x416df9
lea eax, [esp + 0x5c]
push 0x200
push eax
push str.SAM_Type
lea ecx, [esp + 0x1c]
push str.Configuration
push ecx
push ebx
call fcn.00412af0
mov edi, eax
lea edx, [esp + 0x74]
neg edi
sbb edi, edi
push edx
inc edi
call fcn.004250f0
mov ebp, dword [sym.imp.MSVCRT.dll__wcsicmp]
lea eax, [esp + 0x78]
push str.FIRST
push eax
call ebp
add esp, 0x24
test eax, eax
jne 0x416ea4
mov dword [esi], 0x64
jmp 0x416ebe
mov ecx, dword [esi + 0xe48]
push ecx
call fcn.00412940
lea edx, [esp + 0x14]
mov dword [esi + 0xe48], 0
push edx
call fcn.00411610
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94c
ret
lea ecx, [esp + 0x5c]
push str.RESAMPLE
push ecx
call ebp
add esp, 8
neg eax
sbb eax, eax
neg eax
add eax, 0x65
mov dword [esi], eax
lea edx, [esp + 0x5c]
push 0x200
push edx
push str.SampleCycle
lea eax, [esp + 0x1c]
push str.Configuration
push eax
push ebx
call fcn.00412af0
neg eax
sbb eax, eax
lea ebp, [esi + 0xc]
inc eax
push ebp
add edi, eax
lea eax, [esi + 8]
lea ecx, [esi + 4]
push eax
push ecx
lea edx, [esp + 0x80]
push str._d_d_d
push edx
call dword [sym.imp.MSVCRT.dll_swscanf]
add esp, 0x2c
cmp eax, 3
jl 0x416f18
mov eax, dword [esi + 8]
test eax, eax
jl 0x416f18
cmp dword [ebp], 0
jge 0x416f26
mov dword [ebp], 0
mov dword [esi + 8], 0
lea eax, [esi + 0x10]
push 0x104
push eax
push str.DataDir
lea ecx, [esp + 0x1c]
push str.Configuration
push ecx
push ebx
call fcn.00412af0
neg eax
sbb eax, eax
lea edx, [esp + 0x74]
inc eax
push 0x200
add edi, eax
push edx
push str.AutoLoad
lea eax, [esp + 0x34]
push str.Configuration
push eax
push ebx
call fcn.00412af0
neg eax
sbb eax, eax
lea ecx, [esp + 0x8c]
inc eax
push ecx
add edi, eax
call fcn.004250f0
mov ebp, dword [sym.imp.MSVCRT.dll__wcsicmp]
lea edx, [esp + 0x90]
push 0x433550
push edx
call ebp
add esp, 0x3c
test eax, eax
je 0x41700a
lea eax, [esp + 0x5c]
push 0x432e6c
push eax
call ebp
add esp, 8
test eax, eax
je 0x41700a
lea ecx, [esp + 0x5c]
push 0x432e68
push ecx
call ebp
add esp, 8
test eax, eax
je 0x41700a
lea edx, [esp + 0x5c]
push str.LIST
push edx
call ebp
add esp, 8
test eax, eax
jne 0x416fdf
mov dword [esi + 0x218], 1
jmp 0x417014
lea eax, [esp + 0x5c]
push str.ONCE
push eax
call ebp
add esp, 8
test eax, eax
jne 0x416ffe
mov dword [esi + 0x218], 3
jmp 0x417014
mov dword [esi + 0x218], 0
jmp 0x417014
mov dword [esi + 0x218], 2
lea ecx, [esi + 0x21c]
push 0x200
push ecx
push str.AutoLoadDir
lea edx, [esp + 0x1c]
push str.Configuration
push edx
push ebx
call fcn.00412af0
neg eax
sbb eax, eax
push 0x80
inc eax
lea ecx, [esp + 0x2c]
add edi, eax
lea eax, [esi + 0x61c]
push eax
push str.AutoLoadFile
push str.Configuration
push ecx
push ebx
call fcn.00412af0
lea ebp, [esi + 0x71c]
push 0
neg eax
push 0
push ebp
sbb eax, eax
push str.AutoLoadWait
lea edx, [esp + 0x50]
push str.Configuration
inc eax
push edx
push ebx
add edi, eax
call fcn.00412980
add esp, 0x4c
lea edx, [esp + 0x18]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
push 0
add edi, eax
mov eax, dword [ebp]
test eax, eax
setl cl
dec ecx
push edx
and eax, ecx
push 0
mov dword [ebp], eax
push str.t_ShowTtop
lea eax, [esp + 0x20]
push str.Configuration
push eax
push ebx
call fcn.00412980
fld qword [esp + 0x34]
fmul qword [0x42e518]
fld qword [0x42e450]
add esp, 0x1c
neg eax
sbb eax, eax
fcomp st(1)
inc eax
add edi, eax
fnstsw ax
test ah, 0x41
jne 0x4170e7
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x18]
push 0
push ecx
push 0
push str.t_ShowGoodCR
lea edx, [esp + 0x20]
push str.Configuration
push edx
push ebx
mov dword [esi + 0x720], eax
call fcn.00412980
fld qword [esp + 0x34]
fmul qword [0x42e518]
fld qword [0x42e450]
add esp, 0x1c
neg eax
sbb eax, eax
fcomp st(1)
inc eax
add edi, eax
fnstsw ax
test ah, 0x41
jne 0x41713b
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
mov dword [esi + 0x724], eax
lea eax, [esp + 0x55c]
push 0x200
push eax
push str.t_ButtonsActive
lea ecx, [esp + 0x1c]
push str.Configuration
push ecx
push ebx
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
call fcn.00412af0
neg eax
sbb eax, eax
mov ebp, dword [sym.imp.MSVCRT.dll_swscanf]
inc eax
lea edx, [esp + 0x40]
add edi, eax
lea eax, [esp + 0x30]
push edx
push eax
lea ecx, [esp + 0x57c]
push str._lg_lg
push ecx
call ebp
fld qword [esp + 0x40]
fmul qword [0x42e518]
add esp, 0x28
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x28]
fmul qword [0x42e518]
fld qword [0x42e450]
mov dword [esi + 0x728], eax
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4171e7
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
lea edx, [esp + 0x18]
push 0
push edx
mov dword [esi + 0x72c], eax
push 0
push str.LampFlashRate
lea eax, [esp + 0x20]
push str.Configuration
push eax
push ebx
call fcn.00412980
fld qword [esp + 0x34]
fmul qword [0x42e518]
fld qword [0x42e450]
add esp, 0x1c
neg eax
sbb eax, eax
fcomp st(1)
inc eax
add edi, eax
fnstsw ax
test ah, 0x41
jne 0x41723b
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x18]
push 0
push ecx
push 0
push str.OBDisplayRate
lea edx, [esp + 0x20]
push str.Configuration
push edx
push ebx
mov dword [esi + 0x730], eax
call fcn.00412980
fld qword [esp + 0x34]
fmul qword [0x42e518]
fld qword [0x42e450]
add esp, 0x1c
neg eax
sbb eax, eax
fcomp st(1)
inc eax
add edi, eax
fnstsw ax
test ah, 0x41
jne 0x41728f
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
mov dword [esi + 0x734], eax
lea eax, [esi + 0x738]
push eax
push 0
push 0
push str.OBSysAlarms
lea ecx, [esp + 0x20]
push str.Configuration
push ecx
push ebx
call fcn.00412980
neg eax
sbb eax, eax
lea edx, [esp + 0x578]
inc eax
push 0x200
add edi, eax
push edx
push str.ReSampleButton
lea eax, [esp + 0x38]
push str.Configuration
push eax
push ebx
call fcn.00412af0
neg eax
sbb eax, eax
lea ecx, [esp + 0x4c]
inc eax
lea edx, [esp + 0x90]
add edi, eax
push ecx
push edx
lea eax, [esp + 0x598]
push str._s_lg
push eax
call ebp
add esp, 0x44
lea ecx, [esp + 0x5c]
push 0x43370c
push ecx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x417365
lea edx, [esp + 0x5c]
push str.NONE
push edx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x417365
mov eax, dword [esp + 0x5c]
push eax
push str.0123456789YG
call dword [sym.imp.MSVCRT.dll_wcschr]
add esp, 8
test eax, eax
je 0x417365
mov al, byte [esp + 0x5c]
cmp al, 0x59
jne 0x417358
mov al, 0x47
and eax, 0xff
mov dword [esi + 0x73c], eax
jmp 0x41736f
mov dword [esi + 0x73c], 0
fld qword [esp + 0x18]
fmul qword [0x42e518]
fld qword [0x42e450]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x417390
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
lea ecx, [esp + 0x55c]
push 0x200
push ecx
push str.ExtraSampleButton
lea edx, [esp + 0x1c]
push str.Configuration
push edx
push ebx
mov dword [esi + 0x740], eax
call fcn.00412af0
neg eax
sbb eax, eax
lea ecx, [esp + 0x74]
inc eax
lea edx, [esp + 0x574]
add edi, eax
lea eax, [esp + 0x30]
push eax
push ecx
push str._s_lg
push edx
call ebp
lea eax, [esp + 0x84]
push 0x43370c
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 0x30
test eax, eax
je 0x41743c
lea ecx, [esp + 0x5c]
push str.NONE
push ecx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x41743c
mov edx, dword [esp + 0x5c]
push edx
push str.0123456789YG
call dword [sym.imp.MSVCRT.dll_wcschr]
add esp, 8
test eax, eax
je 0x41743c
mov al, byte [esp + 0x5c]
cmp al, 0x59
jne 0x41742f
mov al, 0x47
and eax, 0xff
mov dword [esi + 0x744], eax
jmp 0x417446
mov dword [esi + 0x744], 0
fld qword [esp + 0x18]
fmul qword [0x42e518]
fld qword [0x42e450]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x417467
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
mov dword [esi + 0x748], eax
lea eax, [esp + 0x55c]
push 0x200
push eax
push str.RenewSampleButton
lea ecx, [esp + 0x1c]
push str.Configuration
push ecx
push ebx
call fcn.00412af0
neg eax
sbb eax, eax
lea edx, [esp + 0x30]
inc eax
push edx
add edi, eax
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x57c]
push str._s_lg
push ecx
call ebp
lea edx, [esp + 0x84]
push 0x43370c
push edx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 0x30
test eax, eax
je 0x417513
lea eax, [esp + 0x5c]
push str.NONE
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x417513
mov ecx, dword [esp + 0x5c]
push ecx
push str.0123456789YG
call dword [sym.imp.MSVCRT.dll_wcschr]
add esp, 8
test eax, eax
je 0x417513
mov al, byte [esp + 0x5c]
cmp al, 0x59
jne 0x417506
mov al, 0x47
and eax, 0xff
mov dword [esi + 0x74c], eax
jmp 0x41751d
mov dword [esi + 0x74c], 0
fld qword [esp + 0x18]
fmul qword [0x42e518]
fld qword [0x42e450]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x41753e
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
lea edx, [esp + 0x5c]
push 0x200
mov dword [esi + 0x750], eax
push edx
push str.T_Good_TC
lea eax, [esp + 0x1c]
push str.Configuration
push eax
push ebx
call fcn.00412af0
neg eax
sbb eax, eax
lea ecx, [esi + 0x768]
inc eax
lea edx, [esi + 0x760]
add edi, eax
push ecx
lea eax, [esi + 0x758]
push edx
push eax
lea ecx, [esp + 0x80]
push str._lg_lg_lg
push ecx
call ebp
lea edx, [esp + 0x88]
push 0x200
push edx
push str.R_Good_TC
lea eax, [esp + 0x48]
push str.Configuration
push eax
push ebx
call fcn.00412af0
add esp, 0x44
lea ecx, [esi + 0x780]
neg eax
sbb eax, eax
lea edx, [esi + 0x778]
inc eax
push ecx
add edi, eax
lea eax, [esi + 0x770]
push edx
push eax
lea ecx, [esp + 0x68]
push str._lg_lg_lg
push ecx
call ebp
lea edx, [esi + 0x788]
push 0
push edx
push 0
push str.CR_Lim
lea eax, [esp + 0x34]
push str.Configuration
push eax
push ebx
call fcn.00412980
lea ecx, [esi + 0x790]
push 0
neg eax
push ecx
push 0
sbb eax, eax
push str.HR_Lim
lea edx, [esp + 0x50]
push str.Configuration
inc eax
push edx
push ebx
add edi, eax
call fcn.00412980
add esp, 0x4c
neg eax
sbb eax, eax
push 0x200
inc eax
add edi, eax
lea eax, [esp + 0x60]
push eax
push str.CupOffDelay
lea ecx, [esp + 0x1c]
push str.Configuration
push ecx
push ebx
call fcn.00412af0
neg eax
sbb eax, eax
lea edx, [esp + 0x4c]
inc eax
push edx
add edi, eax
lea eax, [esp + 0x44]
lea ecx, [esp + 0x34]
push eax
push ecx
lea edx, [esp + 0x80]
push str._lg_lg_lg
push edx
call ebp
fld qword [esp + 0x44]
fmul qword [0x42e518]
fld qword [0x42e450]
mov dword [esp + 0x40], eax
add esp, 0x2c
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x41769d
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
mov dword [esi + 0x798], eax
mov eax, dword [esp + 0x14]
cmp eax, 3
jne 0x41770b
fld qword [esp + 0x28]
fmul qword [0x42e518]
fld qword [0x42e450]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4176d2
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x34]
fmul qword [0x42e518]
fld qword [0x42e450]
mov dword [esi + 0x79c], eax
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4176fe
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
mov dword [esi + 0x7a0], eax
jmp 0x417719
xor eax, eax
mov dword [esi + 0x7a0], eax
mov dword [esi + 0x79c], eax
lea eax, [esp + 0x18]
push 0
push eax
push 0
push str.CupOldDelay
lea ecx, [esp + 0x20]
push str.Configuration
push ecx
push ebx
call fcn.00412980
fld qword [esp + 0x34]
fmul qword [0x42e518]
fld qword [0x42e450]
add esp, 0x1c
neg eax
sbb eax, eax
fcomp st(1)
inc eax
add edi, eax
fnstsw ax
test ah, 0x41
jne 0x417762
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
lea edx, [esi + 0x7a8]
push 0
push edx
mov dword [esi + 0x7a4], eax
push 0
push str.T_DipStart
lea eax, [esp + 0x20]
push str.Configuration
push eax
push ebx
call fcn.00412980
lea ecx, [esp + 0x78]
push 0x200
neg eax
push ecx
push str.t_DipLamp
sbb eax, eax
lea edx, [esp + 0x38]
push str.Configuration
inc eax
push edx
push ebx
add edi, eax
call fcn.00412af0
neg eax
sbb eax, eax
lea ecx, [esp + 0x4c]
inc eax
lea edx, [esp + 0x90]
add edi, eax
lea eax, [esp + 0x5c]
push eax
push ecx
push str._lg_lg
push edx
call ebp
fld qword [esp + 0x5c]
fmul qword [0x42e518]
fld qword [0x42e450]
add esp, 0x44
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4177f7
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x28]
fmul qword [0x42e518]
fld qword [0x42e450]
mov dword [esi + 0x7b0], eax
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x417823
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
mov dword [esi + 0x7b4], eax
lea eax, [esp + 0x18]
push 0
push eax
push 0
push str.t_SampleMax
lea ecx, [esp + 0x20]
push str.Configuration
push ecx
push ebx
call fcn.00412980
fld qword [esp + 0x34]
fmul qword [0x42e518]
fld qword [0x42e450]
add esp, 0x1c
neg eax
sbb eax, eax
fcomp st(1)
inc eax
add edi, eax
fnstsw ax
test ah, 0x41
jne 0x417877
fstp st(0)
fld qword [0x42e450]
call sub.MSVCRT.dll__ftol
lea edx, [esi + 0x7c0]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
push edx
push 0
push 0
push str.Save_TC_Pos
fstp qword [esi + 0x7b8]
lea eax, [esp + 0x20]
push str.Configuration
push eax
push ebx
call fcn.00412980
lea ecx, [esp + 0x578]
push 0x200
neg eax
push ecx
push str.DumpRaw
sbb eax, eax
lea edx, [esp + 0x38]
lea ebp, [esi + 0x9cc]
push str.Configuration
inc eax
push edx
push ebx
add edi, eax
mov dword [ebp], 0xe10
call fcn.00412af0
lea eax, [esi + 0x7c4]
push ebp
push eax
lea ecx, [esp + 0x598]
push str._s_d
push ecx
call dword [sym.imp.MSVCRT.dll_swscanf]
add esp, 0x44
lea edx, [esp + 0x55c]
lea eax, [esp + 0x10]
push 0x200
push edx
push str.DS_ComPort
push str.Hardware
push eax
push ebx
call fcn.00412af0
neg eax
sbb eax, eax
push 0
lea ecx, [esi + 0xaf0]
push 0x2580
lea edx, [esp + 0x57c]
inc eax
push ecx
push edx
add edi, eax
call fcn.00412bd0
lea eax, [esp + 0x584]
push 0x200
push eax
push str.BR_ComPort
lea ecx, [esp + 0x44]
push str.Hardware
push ecx
push ebx
call fcn.00412af0
add esp, 0x40
lea ebp, [esi + 0xb30]
neg eax
sbb eax, eax
inc eax
add edi, eax
cmp word [ebp], 0
mov eax, ebp
jne 0x417983
lea eax, [esi + 0xb78]
push eax
lea edx, [esi + 0xa18]
push 0x2580
lea eax, [esp + 0x564]
push edx
push eax
call fcn.00412bd0
lea ecx, [esp + 0x56c]
push 0x200
push ecx
push str.OB_ComPort
lea edx, [esp + 0x2c]
push str.Hardware
push edx
push ebx
call fcn.00412af0
add esp, 0x28
neg eax
sbb eax, eax
inc eax
add edi, eax
cmp word [ebp], 0
jne 0x4179d6
lea ebp, [esi + 0xb78]
push ebp
lea eax, [esi + 0xbcc]
push 0x12c0
lea ecx, [esp + 0x564]
push eax
push ecx
call fcn.00412bd0
lea edx, [esp + 0x56c]
push 0x200
push edx
push str.OB_LButton
lea eax, [esp + 0x2c]
push str.Hardware
push eax
push ebx
call fcn.00412af0
add esp, 0x28
neg eax
sbb eax, eax
inc eax
add edi, eax
cmp word [esp + 0x55c], 0
je 0x417a92
lea ecx, [esp + 0x55c]
lea eax, [esp + 0x55c]
test ecx, ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x20], eax
je 0x417a92
lea ebp, [esi + 0xcb0]
cmp word [eax], 0
je 0x417a92
cmp dword [esp + 0x14], 3
jge 0x417a92
push 0x200
lea edx, [esp + 0x60]
push 9
push edx
push eax
call fcn.00423d90
mov dword [esp + 0x30], eax
lea eax, [esp + 0x6c]
push 0x20
push eax
push ebp
call fcn.00423f90
mov eax, dword [esp + 0x30]
add esp, 0x1c
inc eax
add ebp, 0x40
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x417a4b
lea ecx, [esp + 0x55c]
push 0x200
push ecx
push str.OB_RButton
lea edx, [esp + 0x1c]
push str.Hardware
push edx
push ebx
call fcn.00412af0
add esp, 0x18
neg eax
sbb eax, eax
inc eax
add edi, eax
cmp word [esp + 0x55c], 0
je 0x417b34
lea ecx, [esp + 0x55c]
lea eax, [esp + 0x55c]
test ecx, ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x20], eax
je 0x417b34
lea ebp, [esi + 0xd70]
cmp word [eax], 0
je 0x417b34
cmp dword [esp + 0x14], 3
jge 0x417b34
push 0x200
lea edx, [esp + 0x60]
push 9
push edx
push eax
call fcn.00423d90
mov dword [esp + 0x30], eax
lea eax, [esp + 0x6c]
push 0x20
push eax
push ebp
call fcn.00423f90
mov eax, dword [esp + 0x30]
add esp, 0x1c
inc eax
add ebp, 0x40
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x417aed
lea ecx, [esp + 0x55c]
push 0x200
push ecx
push str.OB_Brightness
lea edx, [esp + 0x1c]
push str.Hardware
push edx
push ebx
call fcn.00412af0
neg eax
sbb eax, eax
lea ecx, [esi + 0xca8]
inc eax
lea edx, [esp + 0x574]
add edi, eax
lea eax, [esi + 0xcac]
push eax
push ecx
push str._d_d
push edx
call dword [sym.imp.MSVCRT.dll_swscanf]
lea eax, [esp + 0x584]
push 0x200
push eax
push str.OB_Colours
lea ecx, [esp + 0x44]
push str.Hardware
push ecx
push ebx
call fcn.00412af0
add esp, 0x40
neg eax
sbb eax, eax
inc eax
add edi, eax
cmp word [esp + 0x55c], 0
je 0x417cbe
lea eax, [esi + 0xe30]
xor edx, edx
lea ecx, [esp + 0x55c]
mov dword [esp + 0x14], 1
mov word [eax], dx
test ecx, ecx
mov byte [eax + 2], dl
lea eax, [esp + 0x55c]
mov dword [esp + 0x20], eax
je 0x417cbe
lea ebp, [esi + 0xe34]
cmp word [eax], 0
je 0x417cbe
cmp dword [esp + 0x14], 8
jge 0x417cbe
push 0x200
lea edx, [esp + 0x60]
push 9
push edx
push eax
call fcn.00423d90
mov dword [esp + 0x30], eax
push 0x80
lea eax, [esp + 0x470]
push 0x3b
lea ecx, [esp + 0x74]
push eax
push ecx
call fcn.00423d90
lea edx, [esp + 0x47c]
mov dword [esp + 0x44], eax
push edx
call dword [sym.imp.MSVCRT.dll__wtoi]
mov ecx, dword [esp + 0x48]
mov byte [ebp - 1], al
push 0x80
lea eax, [esp + 0x484]
push 0x3b
push eax
push ecx
call fcn.00423d90
lea edx, [esp + 0x490]
mov dword [esp + 0x58], eax
push edx
call dword [sym.imp.MSVCRT.dll__wtoi]
mov ecx, dword [esp + 0x5c]
mov byte [ebp], al
push 0x80
lea eax, [esp + 0x498]
push 0x3b
push eax
push ecx
call fcn.00423d90
add esp, 0x48
lea edx, [esp + 0x45c]
push edx
call dword [sym.imp.MSVCRT.dll__wtoi]
mov byte [ebp + 1], al
mov eax, dword [esp + 0x18]
add esp, 4
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
add ebp, 3
test eax, eax
jne 0x417bef
lea eax, [esi + 0x9d0]
lea ecx, [esp + 0x10]
push eax
push 0
push 0
push str.TC_Sensor
push str.Hardware
push ecx
push ebx
call fcn.00412980
neg eax
sbb eax, eax
lea edx, [esp + 0x78]
inc eax
push 0x200
add edi, eax
push edx
push str.TCLoc_Linear
lea eax, [esp + 0x38]
push str.Hardware
push eax
push ebx
call fcn.00412af0
neg eax
sbb eax, eax
lea ecx, [esi + 0x9e8]
inc eax
lea edx, [esi + 0x9e0]
add edi, eax
push ecx
lea eax, [esi + 0x9d8]
push edx
push eax
lea ecx, [esp + 0x9c]
push str._lg_lg_lg
push ecx
call dword [sym.imp.MSVCRT.dll_swscanf]
add esp, 0x48
lea edx, [esp + 0x5c]
lea eax, [esp + 0x10]
push 0x200
push edx
push str.TCLoc_CupOn
push str.Hardware
push eax
push ebx
call fcn.00412af0
neg eax
sbb eax, eax
lea ecx, [esp + 0x474]
inc eax
lea ebp, [esi + 0x9f8]
add edi, eax
lea eax, [esi + 0x9f0]
push ecx
push ebp
push eax
lea edx, [esp + 0x80]
push str._lg_lg_s
push edx
call dword [sym.imp.MSVCRT.dll_swscanf]
add esp, 0x2c
cmp eax, 3
mov dword [esp + 0x14], eax
jl 0x417e07
cmp word [esp + 0x45c], 0
je 0x417e07
lea eax, [esp + 0x45c]
push str.OB_SIM
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x417dc8
mov dword [esi + 0xa00], eax
mov dword [esi + 0xa04], 0xc0f86a00
jmp 0x417e07
lea ecx, [esp + 0x20]
lea edx, [esp + 0x45c]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll_wcstod]
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x464]
fstp qword [esi + 0xa00]
add esp, 8
cmp eax, ecx
jne 0x417e07
mov dword [esi + 0xa00], 0
mov dword [esi + 0xa04], 0x40f86a00
mov ecx, dword [esp + 0x14]
cmp ecx, 2
jl 0x417e62
fld qword [esi + 0x9f0]
fcomp qword [ebp]
fnstsw ax
test ah, 1
je 0x417e62
cmp ecx, 3
jl 0x417e4c
fld qword [esi + 0xa00]
fld qword [esi + 0x9f0]
fcompp
fnstsw ax
test ah, 1
je 0x417e81
fld qword [esi + 0xa00]
fld qword [ebp]
fcompp
fnstsw ax
test ah, 0x41
jne 0x417e81
mov dword [esi + 0xa00], 0
mov dword [esi + 0xa04], 0x40f86a00
jmp 0x417e81
mov eax, 0x40f86a00
mov dword [esi + 0xa00], 0
mov dword [ebp], 0
mov dword [esi + 0xa04], eax
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x30]
xor ebp, ebp
test eax, eax
jle 0x417eda
lea eax, [ebp + 1]
lea ecx, [esp + 0x3c]
push eax
push 0x431100
push ecx
mov dword [esp + 0x30], eax
call dword [sym.imp.MSVCRT.dll_swprintf]
mov edx, dword [esi + 0xe48]
push 2
lea ecx, [esp + 0x4c]
mov eax, dword [edx + ebp*4]
lea edx, [esp + 0x20]
push eax
push ecx
push str.AutoLoadFiles
push edx
push ebx
call fcn.00412af0
add esp, 0x24
mov ebp, dword [esp + 0x24]
neg eax
sbb eax, eax
inc eax
add edi, eax
mov eax, dword [esp + 0x30]
cmp ebp, eax
jl 0x417e8b
lea eax, [esp + 0x10]
push eax
call fcn.00411610
add esp, 4
xor eax, eax
test edi, edi
pop edi
pop esi
pop ebp
pop ebx
sete al
add esp, 0x94c
ret