Function at 0x4180d1
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45f58b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x88
mov dword [ebp - 0x94], ecx
lea ecx, [ebp - 0x54]
call fcn.00402500
mov dword [ebp - 4], 0
push 0x473f40
lea ecx, [ebp - 0x54]
call fcn.00402570
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x54]
call fcn.004025b0
mov ecx, dword [ebp - 0x94]
call fcn.004028d0
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x94]
cmp dword [ecx + 0xc8], 0
jne 0x4181a5
mov edx, dword [ebp - 0x78]
push edx
mov ecx, dword [ebp - 0x94]
add ecx, 0xc4
call fcn.00402700
mov eax, dword [ebp - 0x94]
cmp dword [eax + 0xc0], 0
jne 0x41817b
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x78]
push eax
mov ecx, dword [ebp - 0x94]
add ecx, 0xbc
call fcn.0041b910
mov ecx, dword [ebp - 0x94]
add ecx, 0xbc
push ecx
mov ecx, dword [ebp - 0x94]
add ecx, 0xc4
call fcn.00402760
mov edx, dword [ebp - 0x94]
mov dword [edx + 0xd4], eax
mov eax, dword [ebp - 0x78]
push eax
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402700
mov ecx, dword [ebp - 0x78]
push ecx
mov ecx, dword [ebp - 0x94]
call fcn.004028f0
lea edx, [ebp - 0x54]
push edx
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
mov dword [ebp - 0x74], eax
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x94]
add eax, 0xb50
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x20]
push edx
push 0
push 0
mov ecx, dword [ebp - 0x94]
add ecx, 0xc4
call fcn.00402800
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
cmp dword [ebp - 0x50], 0
je 0x418236
lea ecx, [ebp - 0x54]
call fcn.00458680
push 0x85
push 0x1ea
push 0
push 0
lea ecx, [ebp - 0x3c]
call fcn.004022c0
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x3c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x38]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x34]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x30]
mov dword [ecx + 0xc], eax
push str.HW_SCAN
mov ecx, dword [ebp - 0x94]
add ecx, 0xc4
push ecx
mov ecx, dword [ebp - 0x94]
call fcn.00418a1e
push 0x50
push 0x1ea
push 0x86
push 0
lea ecx, [ebp - 0x3c]
call fcn.0041b530
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x3c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x38]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x34]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x30]
mov dword [edx + 0xc], ecx
push str.HW_COPY
mov edx, dword [ebp - 0x94]
add edx, 0xc4
push edx
mov ecx, dword [ebp - 0x94]
call fcn.00418a1e
push 0x76
push 0x1ea
push 0xd7
push 0
lea ecx, [ebp - 0x3c]
call fcn.0041b530
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x38]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x30]
mov dword [eax + 0xc], edx
push str.HW_EMAIL
mov eax, dword [ebp - 0x94]
add eax, 0xc4
push eax
mov ecx, dword [ebp - 0x94]
call fcn.00418a1e
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x473f64
push 0x473f74
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x94]
mov dword [ecx + 0xb60], eax
mov edx, dword [ebp - 0x94]
cmp dword [edx + 0xb60], 1
jne 0x4183a8
push 0x5a
push 0x1ea
push 0x14e
push 0
lea ecx, [ebp - 0x3c]
call fcn.0041b530
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x38]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x30]
mov dword [eax + 0xc], edx
push str.HW_GREEN
mov eax, dword [ebp - 0x94]
add eax, 0xc4
push eax
mov ecx, dword [ebp - 0x94]
call fcn.00418a1e
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x473f90
push 0x473f9c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 1
jne 0x418492
lea ecx, [ebp - 0x84]
call fcn.00402500
mov byte [ebp - 4], 1
push 0x473fa4
lea ecx, [ebp - 0x84]
call fcn.00402570
push 0x7d
push 0x1bb
push 0x5a
push 0x18e
lea ecx, [ebp - 0x3c]
call fcn.0041b530
lea ecx, [ebp - 0x84]
push ecx
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
mov dword [ebp - 0x7c], eax
push 0xcc0020
push 0
push 0
mov edx, dword [ebp - 0x94]
add edx, 0xb50
push edx
lea ecx, [ebp - 0x3c]
call fcn.004076d0
push eax
lea ecx, [ebp - 0x3c]
call fcn.004076b0
push eax
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x94]
add ecx, 0xc4
call fcn.00402800
mov edx, dword [ebp - 0x7c]
push edx
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
lea ecx, [ebp - 0x84]
call fcn.00458680
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x84]
call fcn.00402550
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x473fb4
push 0x473fc8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 1
jne 0x418585
lea ecx, [ebp - 0x8c]
call fcn.00402500
mov byte [ebp - 4], 2
push 0x473fd0
lea ecx, [ebp - 0x8c]
call fcn.00402570
push 0x80
push 0x185
push 0x5d
push 0x158
lea ecx, [ebp - 0x3c]
call fcn.0041b530
lea eax, [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
mov dword [ebp - 0x90], eax
push 0xcc0020
push 0
push 0
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004076d0
push eax
lea ecx, [ebp - 0x3c]
call fcn.004076b0
push eax
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x94]
add ecx, 0xc4
call fcn.00402800
mov ecx, dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
lea ecx, [ebp - 0x8c]
call fcn.00458680
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8c]
call fcn.00402550
mov dword [ebp - 0x60], 2
mov dword [ebp - 0x70], 2
mov dword [ebp - 0x2c], 2
mov ecx, 0x479910
call fcn.00402270
push eax
mov edx, dword [ebp - 0x60]
push edx
push 0x473fe0
push 0x473fec
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x60], eax
mov ecx, 0x479910
call fcn.00402270
push eax
mov eax, dword [ebp - 0x70]
push eax
push 0x473ff4
push 0x474000
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x70], eax
mov ecx, 0x479910
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
push str.HW_ScanMode
push 0x474014
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x68]
call fcn.00402500
mov byte [ebp - 4], 3
cmp dword [ebp - 0x60], 1
jne 0x418646
push 0x47401c
lea ecx, [ebp - 0x68]
call fcn.00402570
mov edx, dword [ebp - 0x94]
cmp dword [edx + 0xb80], 0
je 0x418641
push 1
mov ecx, dword [ebp - 0x94]
add ecx, 0xb64
call fcn.004548eb
jmp 0x4186d2
cmp dword [ebp - 0x60], 0
jne 0x41867d
push 0x47402c
lea ecx, [ebp - 0x68]
call fcn.00402570
mov eax, dword [ebp - 0x94]
cmp dword [eax + 0xb80], 0
je 0x41867b
push 1
mov ecx, dword [ebp - 0x94]
add ecx, 0xb64
call fcn.004548eb
jmp 0x4186d2
cmp dword [ebp - 0x60], 2
jne 0x4186d2
push 0x47403c
lea ecx, [ebp - 0x68]
call fcn.00402570
mov ecx, dword [ebp - 0x94]
cmp dword [ecx + 0xb80], 0
je 0x4186d2
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x47404c
push str.HW_JP2000
push 0x47405c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0
mov ecx, dword [ebp - 0x94]
add ecx, 0xb64
call fcn.004548eb
push 0x75
push 0x139
push 0x5d
push 0x121
lea ecx, [ebp - 0x3c]
call fcn.0041b530
lea edx, [ebp - 0x68]
push edx
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
mov dword [ebp - 0x28], eax
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x94]
add eax, 0xb50
push eax
lea ecx, [ebp - 0x3c]
call fcn.004076d0
push eax
lea ecx, [ebp - 0x3c]
call fcn.004076b0
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
mov ecx, dword [ebp - 0x94]
add ecx, 0xc4
call fcn.00402800
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
lea ecx, [ebp - 0x68]
call fcn.00458680
lea ecx, [ebp - 0x4c]
call fcn.00402500
mov byte [ebp - 4], 4
cmp dword [ebp - 0x2c], 1
jne 0x41877e
push 0x474064
lea ecx, [ebp - 0x4c]
call fcn.00402570
jmp 0x4187a6
cmp dword [ebp - 0x2c], 0
jne 0x418793
push 0x474074
lea ecx, [ebp - 0x4c]
call fcn.00402570
jmp 0x4187a6
cmp dword [ebp - 0x2c], 2
jne 0x4187a6
push 0x474084
lea ecx, [ebp - 0x4c]
call fcn.00402570
push 0x111
push 0x137
push 0xfd
push 0x11f
lea ecx, [ebp - 0x3c]
call fcn.0041b530
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
mov dword [ebp - 0x28], eax
push 0xcc0020
push 0
push 0
mov edx, dword [ebp - 0x94]
add edx, 0xb50
push edx
lea ecx, [ebp - 0x3c]
call fcn.004076d0
push eax
lea ecx, [ebp - 0x3c]
call fcn.004076b0
push eax
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x94]
add ecx, 0xc4
call fcn.00402800
mov edx, dword [ebp - 0x28]
push edx
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
lea ecx, [ebp - 0x4c]
call fcn.00458680
lea ecx, [ebp - 0x44]
call fcn.00402500
mov byte [ebp - 4], 5
push 0x474094
lea ecx, [ebp - 0x44]
call fcn.00402570
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x3c]
call fcn.0041b530
lea eax, [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
mov dword [ebp - 0x28], eax
push 0xcc0020
push 0
push 0
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004076d0
push eax
lea ecx, [ebp - 0x3c]
call fcn.004076b0
push eax
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x94]
add ecx, 0xc4
call fcn.00402800
mov ecx, dword [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
lea ecx, [ebp - 0x44]
call fcn.00458680
lea ecx, [ebp - 0x5c]
call fcn.00402500
mov byte [ebp - 4], 6
cmp dword [ebp - 0x70], 1
jne 0x4188f8
push 0x4740a4
lea ecx, [ebp - 0x5c]
call fcn.00402570
jmp 0x418920
cmp dword [ebp - 0x70], 0
jne 0x41890d
push 0x4740b4
lea ecx, [ebp - 0x5c]
call fcn.00402570
jmp 0x418920
cmp dword [ebp - 0x70], 2
jne 0x418920
push 0x4740c4
lea ecx, [ebp - 0x5c]
call fcn.00402570
push 0xc5
push 0x137
push 0xad
push 0x11f
lea ecx, [ebp - 0x3c]
call fcn.0041b530
lea edx, [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
mov dword [ebp - 0x28], eax
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x94]
add eax, 0xb50
push eax
lea ecx, [ebp - 0x3c]
call fcn.004076d0
push eax
lea ecx, [ebp - 0x3c]
call fcn.004076b0
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
mov ecx, dword [ebp - 0x94]
add ecx, 0xc4
call fcn.00402800
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00402760
lea ecx, [ebp - 0x5c]
call fcn.00458680
mov ecx, dword [ebp - 0x94]
cmp dword [ecx + 0xb54], 0
je 0x4189d1
mov ecx, dword [ebp - 0x94]
add ecx, 0xb50
call fcn.00457e57
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x5c]
call fcn.00402550
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
call fcn.00402550
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4c]
call fcn.00402550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x68]
call fcn.00402550
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.00402550
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret