Function at 0x414d5a
Capabilities:
Print debug messages

Disassembly:
mov eax, 0x4248cc
call fcn.0041b410
sub esp, 0xc8c
push esi
push edi
push 1
xor edi, edi
pop esi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x10], esi
call fcn.00410c67
test eax, eax
jne 0x414d88
call fcn.00410c15
mov dword [ebp - 0x20], esi
cmp dword [0x43a974], edi
push ebx
mov dword [ebp - 0x14], edi
jle 0x4152e2
mov dword [ebp - 0x18], edi
or ebx, 0xffffffff
mov eax, dword [ebp - 0x14]
mov esi, eax
mov eax, dword [0x43a970]
shl esi, 2
mov ecx, dword [esi + eax]
call fcn.00413ead
push eax
call fcn.0041af60
inc eax
push eax
call fcn.0041ac37
pop ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x43a970]
pop ecx
mov ecx, dword [esi + eax]
call fcn.00413ead
push eax
push dword [ebp - 0x1c]
call fcn.0041b320
pop ecx
pop ecx
mov ecx, dword [0x43a984]
test ecx, ecx
je 0x414dfd
mov eax, dword [ebp - 0x18]
mov edi, dword [0x43a974]
cdq
idiv edi
push edi
push dword [ebp - 0x14]
push eax
call ecx
add esp, 0xc
mov eax, dword [0x43a970]
mov ecx, dword [esi + eax]
add ecx, 8
call fcn.00413ead
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push eax
call edi
push 0x42b978
call edi
mov eax, dword [0x43a970]
mov eax, dword [esi + eax]
cmp byte [eax + 0x2c], 0
je 0x414e80
lea ecx, [eax + 8]
call fcn.00413e91
test eax, eax
mov eax, dword [0x43a970]
jne 0x414e58
mov ecx, dword [esi + eax]
add esi, eax
call fcn.00413ead
push eax
mov eax, dword [esi]
push dword [eax + 0x28]
call fcn.00415b1d
pop ecx
pop ecx
jmp 0x415283
mov ecx, dword [esi + eax]
add esi, eax
add ecx, 8
call fcn.00413ead
mov ecx, dword [esi]
push eax
call fcn.00413ead
push eax
mov eax, dword [esi]
push dword [eax + 0x28]
call fcn.00415a5c
add esp, 0xc
jmp 0x415283
push eax
call fcn.00415972
test eax, eax
pop ecx
jne 0x415283
movzx eax, byte [0x42cce4]
mov dword [ebp - 0xc98], eax
lea eax, [ebp - 0x58]
push eax
call fcn.00416145
pop ecx
and dword [ebp - 4], 0
push eax
mov eax, dword [0x43a970]
mov ecx, dword [esi + eax]
call fcn.00414179
lea ecx, [ebp - 0x58]
mov edi, eax
mov dword [ebp - 4], ebx
call fcn.00413e8c
test edi, edi
je 0x414edf
mov dword [ebp - 0xc88], 2
and dword [ebp - 0xc94], 0
jmp 0x415148
lea eax, [ebp - 0x38]
push eax
call fcn.0041630b
pop ecx
push eax
mov eax, dword [0x43a970]
mov dword [ebp - 4], 1
mov ecx, dword [esi + eax]
call fcn.00414179
lea ecx, [ebp - 0x38]
mov edi, eax
mov dword [ebp - 4], ebx
call fcn.00413e8c
test edi, edi
je 0x414f1b
mov dword [ebp - 0xc88], 7
jmp 0x414ed3
lea eax, [ebp - 0x28]
push eax
call fcn.00414843
pop ecx
push eax
mov eax, dword [0x43a970]
mov dword [ebp - 4], 2
mov ecx, dword [esi + eax]
call fcn.00414179
lea ecx, [ebp - 0x28]
mov edi, eax
mov dword [ebp - 4], ebx
call fcn.00413e8c
test edi, edi
je 0x414f54
and dword [ebp - 0xc88], 0
jmp 0x414f8e
lea eax, [ebp - 0x48]
push eax
call fcn.0041485d
pop ecx
push eax
mov eax, dword [0x43a970]
mov dword [ebp - 4], 3
mov ecx, dword [esi + eax]
call fcn.00414179
lea ecx, [ebp - 0x48]
mov edi, eax
mov dword [ebp - 4], ebx
call fcn.00413e8c
test edi, edi
je 0x414f9a
mov dword [ebp - 0xc88], 4
and dword [ebp - 0xc94], 0
jmp 0x415283
mov edi, dword [ebp - 0x1c]
push str.ControllerTS
push edi
call fcn.0041a750
pop ecx
test eax, eax
pop ecx
je 0x414fbd
mov dword [ebp - 0xc88], 3
jmp 0x414ed3
push str.Calibration_Styles
push edi
call fcn.0041a750
pop ecx
test eax, eax
pop ecx
je 0x415021
push ebx
lea eax, [ebp - 0x60]
push 0x5b
push eax
mov eax, dword [0x43a970]
mov dword [ebp - 0xc88], 5
mov ecx, dword [esi + eax]
call fcn.00414280
lea ecx, [ebp - 0xc90]
mov dword [ebp - 4], 4
push ecx
lea ecx, [ebp - 0xc94]
push ecx
push str._dCalibration_Styles_d
mov ecx, eax
call fcn.00413ead
push eax
call fcn.0041aa48
add esp, 0x10
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x60]
jmp 0x415143
push str.Toolbars
push edi
call fcn.0041a750
pop ecx
test eax, eax
pop ecx
je 0x415085
push ebx
lea eax, [ebp - 0x30]
push 0x5b
push eax
mov eax, dword [0x43a970]
mov dword [ebp - 0xc88], 6
mov ecx, dword [esi + eax]
call fcn.00414280
lea ecx, [ebp - 0xc90]
mov dword [ebp - 4], 5
push ecx
lea ecx, [ebp - 0xc94]
push ecx
push str._dToolbars_d
mov ecx, eax
call fcn.00413ead
push eax
call fcn.0041aa48
add esp, 0x10
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x30]
jmp 0x415143
push str.Macros
push edi
call fcn.0041a750
pop ecx
test eax, eax
pop ecx
je 0x4150e6
push ebx
lea eax, [ebp - 0x40]
push 0x5b
push eax
mov eax, dword [0x43a970]
mov dword [ebp - 0xc88], 8
mov ecx, dword [esi + eax]
call fcn.00414280
lea ecx, [ebp - 0xc90]
mov dword [ebp - 4], 6
push ecx
lea ecx, [ebp - 0xc94]
push ecx
push str._dMacros_d
mov ecx, eax
call fcn.00413ead
push eax
call fcn.0041aa48
add esp, 0x10
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x40]
jmp 0x415143
mov eax, dword [0x43a970]
mov ecx, dword [esi + eax]
call fcn.00413e91
cmp eax, 0x5a
mov dword [ebp - 0xc88], 1
jl 0x414ed3
push ebx
lea eax, [ebp - 0x50]
push 0x5b
push eax
mov eax, dword [0x43a970]
mov ecx, dword [esi + eax]
call fcn.00414280
lea ecx, [ebp - 0xc94]
mov dword [ebp - 4], 7
push ecx
push 0x42a790
mov ecx, eax
call fcn.00413ead
push eax
call fcn.0041aa48
add esp, 0xc
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x50]
call fcn.00413e8c
mov eax, dword [0x43a970]
add eax, esi
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xc8c], ecx
mov ecx, dword [eax]
add ecx, 8
call fcn.00413ead
push eax
lea eax, [ebp - 0xc84]
push eax
call fcn.0041b320
mov eax, dword [0x43a970]
pop ecx
add eax, esi
pop ecx
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
test edx, edx
jne 0x4151ac
mov eax, ecx
push dword [eax + 0x18]
lea eax, [ebp - 0x80]
push 0x42e678
push eax
call fcn.00419bfc
mov eax, dword [0x43a970]
add esp, 0xc
mov eax, dword [esi + eax]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x86], eax
jmp 0x4151e8
cmp edx, 2
jne 0x4151d1
mov ecx, dword [ecx + 0x20]
mov dword [ebp - 0x86], ecx
mov eax, dword [eax]
push ecx
push dword [eax + 0x1c]
lea eax, [ebp - 0x884]
push eax
call fcn.0041afe0
add esp, 0xc
jmp 0x4151e8
add ecx, 0x10
call fcn.00413ead
push eax
lea eax, [ebp - 0x884]
push eax
call fcn.0041b320
pop ecx
pop ecx
call fcn.00415668
test eax, eax
je 0x415209
lea eax, [ebp - 0xc98]
push eax
push 0x1b2404
call fcn.00416ea3
pop ecx
mov dword [ebp - 0x10], eax
pop ecx
jmp 0x41520d
and dword [ebp - 0x10], 0
cmp dword [ebp - 0x10], 0
jne 0x415283
mov eax, dword [0x43a970]
mov esi, dword [esi + eax]
mov eax, dword [esi + 0x24]
test eax, eax
jne 0x41523b
push 1
lea eax, [esi + 8]
push dword [ebp - 0x86]
push eax
push esi
push 0x80000002
call fcn.004153ea
jmp 0x415279
cmp eax, 2
push 1
jne 0x415263
push dword [ebp - 0x86]
lea eax, [ebp - 0x884]
push eax
lea eax, [esi + 8]
push eax
push esi
push 0x80000002
call fcn.0041531a
add esp, 0x18
jmp 0x41527c
lea eax, [ebp - 0x884]
push eax
lea eax, [esi + 8]
push eax
push esi
push 0x80000002
call fcn.00415491
add esp, 0x14
test eax, eax
mov dword [ebp - 0x10], eax
je 0x41529f
inc dword [ebp - 0x14]
add dword [ebp - 0x18], 0x64
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x43a974]
jl 0x414d9e
cmp dword [ebp - 0x10], 0
jne 0x4152e2
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
push 0x10
push str.Error
push str.Registry_update_failed
push 0
call edi
mov eax, dword [0x43a970]
mov ecx, dword [ebp - 0x14]
push 0x10
lea esi, [eax + ecx*4]
mov ecx, dword [eax + ecx*4]
add ecx, 8
call fcn.00413ead
mov ecx, dword [esi]
push eax
call fcn.00413ead
push eax
push 0
call edi
push 4
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor esi, esi
pop ebx
cmp dword [0x43a974], esi
je 0x4152f2
call fcn.00414be5
mov eax, dword [0x43a968]
cmp eax, esi
je 0x4152ff
push esi
call eax
pop ecx
cmp dword [ebp - 0x20], esi
pop edi
pop esi
je 0x41530b
call fcn.00410d4e
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov dword fs:[0], ecx
leave
ret