Function at 0x41d390
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x484053
mov eax, dword fs:[0]
push eax
sub esp, 0x424
mov eax, dword [0x4a4b34]
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
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_868
lea ecx, [ebp - 0x414]
mov dword [ebp - 4], 0
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov ebx, 1
push str.0000
mov ecx, 0x4ac710
mov byte [ebp - 4], bl
mov byte [0x4ac460], 0
mov byte [0x4ac560], 0
call dword [sym.imp.mfc100.dll_Ordinal_1316]
push 0
push 0
mov ecx, 0x4ac720
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_10915
mov esi, dword [sym.imp.MSVCR100.dll_atoi]
test eax, eax
je 0x41d77d
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
mov edx, 0x4ac560
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, ebx
test cl, cl
jne 0x41d450
lea ecx, [ebp - 0x414]
push ecx
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
mov edx, 0x4ac460
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, ebx
test cl, cl
jne 0x41d480
lea edx, [ebp - 0x414]
push edx
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x414]
push ecx
lea ecx, [ebp - 0x430]
mov dword [0x4ac680], eax
call sub.mfc100.dll_Ordinal_11318
lea edx, [ebp - 0x414]
push edx
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [0x4a4410]
add esp, 4
lea ecx, [ebp - 0x414]
push ecx
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
add esp, 4
lea edx, [ebp - 0x414]
push edx
lea ecx, [ebp - 0x430]
mov dword [0x4ac69c], eax
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [0x4a7d48]
add esp, 4
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [0x4a7d40]
add esp, 4
lea ecx, [ebp - 0x414]
push ecx
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
add esp, 4
lea edx, [ebp - 0x414]
push edx
lea ecx, [ebp - 0x430]
mov dword [0x4ac6a0], eax
call sub.mfc100.dll_Ordinal_11318
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
push ecx
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea edx, [ebp - 0x414]
push edx
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fstp qword [0x4a7d50]
add esp, 4
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x414]
push ecx
lea ecx, [ebp - 0x430]
mov dword [0x4ac6c4], eax
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
add esp, 4
lea edx, [ebp - 0x414]
push edx
lea ecx, [ebp - 0x430]
mov dword [0x4ac6c8], eax
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
mov dword [0x4ac6cc], eax
add esp, 4
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x414]
push ecx
lea ecx, [ebp - 0x430]
mov dword [0x4ac6d0], eax
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
add esp, 4
lea edx, [ebp - 0x414]
push edx
lea ecx, [ebp - 0x430]
mov dword [0x4ac6d4], eax
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
mov dword [0x4ac6d8], eax
add esp, 4
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x414]
push ecx
lea ecx, [ebp - 0x430]
mov dword [0x4ac6dc], eax
call sub.mfc100.dll_Ordinal_11318
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x430]
mov dword [0x4ac6e0], eax
call sub.mfc100.dll_Ordinal_2538
call sub.mfc100.dll_Ordinal_1929
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov edx, dword [edx + 0x8c]
push str.0000
push str.Pass1
push str.Settings
lea ecx, [ebp - 0x418]
push ecx
mov ecx, eax
call edx
push eax
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc100.dll_Ordinal_1313]
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], bl
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea eax, [ebp - 0x414]
push eax
mov ecx, 0x4ac710
call dword [sym.imp.mfc100.dll_Ordinal_1313]
call sub.mfc100.dll_Ordinal_1929
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov edx, dword [edx + 0x8c]
push str.0000
push str.Pass2
push str.Settings
lea ecx, [ebp - 0x418]
push ecx
mov ecx, eax
call edx
push eax
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 3
call dword [sym.imp.mfc100.dll_Ordinal_1313]
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], bl
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea eax, [ebp - 0x414]
push eax
mov ecx, 0x4ac714
call dword [sym.imp.mfc100.dll_Ordinal_1313]
call sub.mfc100.dll_Ordinal_1929
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov edx, dword [edx + 0x8c]
push 0x492a58
push 0x493a40
push str.Settings
lea ecx, [ebp - 0x418]
push ecx
mov ecx, eax
call edx
push eax
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc100.dll_Ordinal_1313]
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], bl
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
add esp, 4
mov dword [0x4ac6bc], eax
test eax, eax
jne 0x41d8b7
push eax
push eax
push 0x348
call fcn.004022cf
push 0
push 0
push 0x349
call fcn.004022cf
add esp, 0x18
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.r168twin.ini
push 0x3ff
lea eax, [ebp - 0x410]
push eax
push 0x492a58
push str.SaveErrImage
push str.TroubleShooting
call edi
lea ecx, [ebp - 0x410]
push ecx
call esi
add esp, 4
push str.r168twin.ini
push 0x3ff
lea edx, [ebp - 0x410]
push edx
push str.25.0
push str.Acceptance
push 0x493a20
mov dword [0x4ac6c0], eax
call edi
lea eax, [ebp - 0x410]
push eax
call esi
mov dword [ebp - 0x418], eax
fild dword [ebp - 0x418]
add esp, 4
fstp qword [0x4a7cf8]
call sub.mfc100.dll_Ordinal_1929
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov edx, dword [edx + 0x8c]
push 0x493a1c
push str.BaseCount
push str.Settings
lea ecx, [ebp - 0x418]
push ecx
mov ecx, eax
call edx
push eax
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 5
call dword [sym.imp.mfc100.dll_Ordinal_1313]
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], bl
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
add esp, 4
mov dword [0x4a4408], eax
cmp eax, 2
je 0x41d9a5
cmp eax, 4
je 0x41d9a5
mov dword [0x4a4408], 2
call sub.mfc100.dll_Ordinal_1929
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov edx, dword [edx + 0x8c]
push 0x492a58
push str.JigCheckUse
push str.Settings
lea ecx, [ebp - 0x418]
push ecx
mov ecx, eax
call edx
push eax
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc100.dll_Ordinal_1313]
lea ecx, [ebp - 0x418]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x414]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call esi
add esp, 4
push str.r168twin.ini
push 0x3ff
mov dword [0x4ac6a4], eax
lea eax, [ebp - 0x410]
push eax
push 0x492a58
push str.ModelFinderType
push str.TroubleShooting
call edi
lea ecx, [ebp - 0x410]
push ecx
call esi
add esp, 4
push str.r168twin.ini
push 0x3ff
lea edx, [ebp - 0x410]
push edx
push str.0.01
push str.MoveTolerance
push 0x493a20
mov dword [0x4ac6e4], eax
call edi
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.MSVCR100.dll_atof]
fabs
add esp, 4
fstp qword [0x4a4418]
push str.r168twin.ini
push 0x3ff
lea ecx, [ebp - 0x410]
push ecx
push 0x4939d0
push str.InpCount
push str.TroubleShooting
call edi
lea edx, [ebp - 0x410]
push edx
call esi
add esp, 4
mov dword [0x4a440c], eax
cmp eax, ebx
jge 0x41daad
mov dword [0x4a440c], ebx
push str.r168twin.ini
push 0x3ff
lea eax, [ebp - 0x410]
push eax
push 0x492a58
push str.InpDelay
push str.TroubleShooting
call edi
lea ecx, [ebp - 0x410]
push ecx
call esi
add esp, 4
mov dword [0x4ac6e8], eax
test eax, eax
jns 0x41daee
mov dword [0x4ac6e8], 0
push str.r168twin.ini
push 0x3ff
lea edx, [ebp - 0x410]
push edx
push 0x492a58
push str.Monitor
push 0x493a20
call edi
lea eax, [ebp - 0x410]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x414]
mov dword [0x4ac704], eax
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x430]
mov dword [ebp - 4], 0xffffffff
call sub.mfc100.dll_Ordinal_1266
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.0047e7ac
mov esp, ebp
pop ebp
ret