Function at 0x438162
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x460134
call fcn.0045e9d0
sub esp, 0x90
test byte [0x464760], 1
push ebx
push esi
push edi
mov esi, 0x4645f8
jne 0x43819c
or byte [0x464760], 1
mov ecx, esi
call fcn.0042c9ac
push 0x4388c6
call fcn.0045ea1b
pop ecx
mov eax, dword [ebp + 0xc]
sub eax, 0x4e
je 0x43865f
sub eax, 0xc2
je 0x4385aa
dec eax
jne 0x4388b3
push 0x452
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp + 0x14], eax
movzx eax, word [ebp + 0x10]
dec eax
je 0x43848c
sub eax, 0x3f7
je 0x4382a7
sub eax, 0x40
je 0x438284
sub eax, 0x1b
je 0x438218
sub eax, 0x11
jne 0x438550
push 0
push 0x437d44
push dword [ebp + 8]
push 0x126
push dword [0x536190]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
jmp 0x438550
push 0xa
xor eax, eax
pop ecx
lea edi, [ebp - 0x3c]
rep stosd dword es:[edi], eax
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
xor edi, edi
push edi
push edi
push 0x1042
mov dword [ebp - 0x3c], 4
push dword [ebp + 0x14]
call esi
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push eax
push edi
push 0x1005
push dword [ebp + 0x14]
call esi
test eax, eax
je 0x438550
push dword [ebp - 0x1c]
mov ecx, 0x498a58
call fcn.00436c28
mov esi, eax
test esi, esi
je 0x438550
push 0x453
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov dword [esi + 0x4c], eax
jmp 0x438550
xor eax, eax
push eax
push eax
push eax
push eax
push 2
push 0xfa6
call fcn.004252ac
pop ecx
push eax
mov ecx, 0x4789e8
call fcn.004164ab
jmp 0x438550
push 0xa
xor esi, esi
pop ecx
xor eax, eax
push 4
lea edi, [ebp - 0x3c]
pop ebx
push esi
push esi
push 0x1042
push dword [ebp + 0x14]
rep stosd dword es:[edi], eax
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x3c], ebx
call edi
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push eax
push esi
push 0x1005
push dword [ebp + 0x14]
call edi
test eax, eax
je 0x438550
push dword [ebp - 0x1c]
mov ecx, 0x498a58
call fcn.00436c28
mov esi, eax
test esi, esi
je 0x438550
mov eax, dword [0x40a0f8]
mov dword [ebp + 0xc], eax
and dword [ebp - 4], 0
lea eax, [ebp - 0x54]
push eax
mov ecx, esi
call fcn.0043894c
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 1
call fcn.004149be
and byte [ebp - 4], 0
lea ecx, [ebp - 0x54]
call fcn.00412266
lea ecx, [ebp + 0xc]
call fcn.0041240b
push dword [ebp + 0xc]
mov edi, dword [sym.imp.USER32.dll_CharLowerA]
call edi
push 0x40bb90
lea ecx, [ebp + 0xc]
call fcn.0042c8d1
cmp eax, 0xffffffff
je 0x43847b
mov eax, dword [0x40a0f8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
mov ecx, esi
push eax
mov byte [ebp - 4], 2
call fcn.004388e1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call fcn.0041240b
push dword [ebp - 0x14]
call edi
cmp dword [esi + 0x24], 2
jne 0x438426
lea eax, [ebp - 0x50]
push ebx
push eax
lea ecx, [ebp - 0x14]
call fcn.0041a00b
mov eax, dword [eax]
push 0x40bb88
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
mov ebx, eax
pop ecx
neg ebx
pop ecx
sbb bl, bl
lea ecx, [ebp - 0x50]
inc bl
call fcn.00412266
test bl, bl
je 0x438426
push 1
push 0x40a37c
push 0xfa7
call fcn.004252ac
pop ecx
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxA]
test eax, eax
jne 0x438426
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.0043894c
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
push ecx
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00436001
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 5
call fcn.004149be
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 4
call fcn.00412266
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.00412266
push 0
push dword [ebp - 0x10]
call fcn.00427ec5
pop ecx
pop ecx
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2c]
mov eax, dword [ebp + 0xc]
lea ecx, [ebp + 0xc]
mov esi, dword [eax - 8]
call fcn.0041240b
mov eax, dword [ebp + 0xc]
and byte [esi + eax - 1], 0
push dword [ebp + 0xc]
call fcn.00437cea
test eax, eax
pop ecx
je 0x438463
push 0
push dword [ebp - 0x38]
push 0x1008
push dword [ebp + 0x14]
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00412266
and byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.00412266
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00412266
jmp 0x438550
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
xor esi, esi
push esi
push esi
push 0x1004
mov dword [ebp + 8], esi
push dword [ebp + 0x14]
call ebx
cmp eax, esi
mov dword [ebp + 0xc], eax
jle 0x438526
push 0xa
xor eax, eax
pop ecx
lea edi, [ebp - 0x3c]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 4
push eax
push 0
push 0x1005
mov dword [ebp - 0x38], esi
push dword [ebp + 0x14]
call ebx
test eax, eax
je 0x438520
push dword [ebp - 0x1c]
mov ecx, 0x498a58
call fcn.00436c28
push 0xf000
push esi
push 0x102c
mov edi, eax
push dword [ebp + 0x14]
call ebx
shr eax, 0xc
dec eax
cmp eax, dword [edi + 0x40]
je 0x438520
test eax, eax
mov dword [edi + 0x40], eax
je 0x438520
mov ecx, edi
call fcn.00436551
cmp eax, 2
je 0x438519
mov ecx, edi
call fcn.00436551
cmp eax, 3
jne 0x438520
mov dword [ebp + 8], 1
inc esi
cmp esi, dword [ebp + 0xc]
jl 0x4384aa
mov esi, 0x40ad48
push SysReAllocStringLen
push esi
call fcn.004244c1
cmp dword [ebp + 8], 0
pop ecx
pop ecx
je 0x438550
push 0
push 1
push 0x40bb74
push esi
call fcn.00424e36
add esp, 0x10
cmp word [ebp + 0x10], 1
je 0x438562
cmp word [ebp + 0x10], 2
jne 0x4388b3
xor esi, esi
mov ebx, 0x498a58
push esi
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00436b53
mov edi, eax
test edi, edi
jle 0x4388b3
push 0
push esi
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00436bb4
test eax, eax
je 0x4385a0
cmp word [ebp + 0x10], 1
mov edx, dword [eax]
mov ecx, eax
jne 0x43859d
call dword [edx + 0x28]
jmp 0x4385a0
call dword [edx + 0x24]
inc esi
cmp esi, edi
jl 0x43857d
jmp 0x4388b3
push 0x438
mov ecx, esi
push dword [ebp + 8]
call fcn.0042ccfa
push 0x452
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
xor edi, edi
push edi
mov ebx, eax
push edi
push 0x1037
push ebx
call esi
or al, 0x24
push eax
push edi
push 0x1036
push ebx
call esi
mov dword [ebp - 0x74], 0xc43
mov dword [ebp - 0x70], 0xc44
mov dword [ebp - 0x6c], 0xc45
mov dword [ebp - 0x68], 0xc46
mov dword [ebp - 0x64], 0x96
mov dword [ebp - 0x60], 0x6e
mov dword [ebp - 0x5c], 0x32
mov dword [ebp - 0x58], 0x64
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x30], edi
mov eax, dword [ebp + edi*4 - 0x64]
push dword [ebp + edi*4 - 0x74]
mov dword [ebp - 0x2c], eax
call fcn.004252ac
mov dword [ebp - 0x28], eax
pop ecx
lea eax, [ebp - 0x34]
push eax
push edi
push 0x101b
push ebx
call esi
inc edi
cmp edi, 4
jl 0x438629
push ebx
call fcn.00437a3d
pop ecx
push 1
pop eax
jmp 0x4388b5
mov eax, 0x452
cmp dword [ebp + 0x10], eax
jne 0x4388b3
mov ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x4388b3
cmp dword [ebx + 8], 0xffffff9b
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
jne 0x438830
push eax
push dword [ebp + 8]
call esi
push 0xa
mov edx, eax
pop ecx
xor eax, eax
lea edi, [ebp - 0x3c]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push eax
push 0
push 0x1005
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x438830
push dword [ebp - 0x1c]
mov ecx, 0x498a58
call fcn.00436c28
test eax, eax
mov dword [ebp + 0x10], eax
je 0x438830
mov edi, 0x453
push edi
push dword [ebp + 8]
call esi
mov ecx, dword [ebp + 0x10]
mov dword [ebp + 0x14], eax
call fcn.00436551
cmp eax, 2
jne 0x438718
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x44], 0
jne 0x438718
push 1
push dword [ebp + 0x14]
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x4c]
test eax, eax
setne cl
push ecx
jmp 0x438725
push 0
push dword [ebp + 0x14]
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push edi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0x3f8
push dword [ebp + 8]
call esi
mov ecx, dword [ebp + 0x10]
mov edi, eax
call fcn.00436551
cmp eax, 3
jne 0x43874c
push 0
jmp 0x43874e
push 1
push edi
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0043894c
push 0x40b99c
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 6
push eax
call fcn.00423d41
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 8
call fcn.00412266
mov eax, dword [0x40a0f8]
mov dword [ebp + 0xc], eax
push dword [ebp - 0x10]
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 9
push 0x103
push 0x104
call fcn.00414b44
push eax
push 0x460a68
push 0x40bb68
push 0x40b980
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0xffffffffffffffff
lea ecx, [ebp + 0xc]
call fcn.004123e3
mov edi, 0x40bb64
lea ecx, [ebp + 0xc]
push edi
push 0x40bb5c
call fcn.0041519d
push edi
push 0x40a9d8
lea ecx, [ebp + 0xc]
call fcn.0041519d
push dword [ebp + 0xc]
mov edi, dword [sym.imp.USER32.dll_SetDlgItemTextA]
push 0x454
push dword [ebp + 8]
call edi
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x44]
push eax
call fcn.00436563
push dword [eax]
push 0x455
push dword [ebp + 8]
call edi
lea ecx, [ebp - 0x44]
call fcn.00412266
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 8
call fcn.00412266
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.00412266
cmp dword [ebx + 8], 0xffffff9b
jne 0x4388b3
push 0x452
push dword [ebp + 8]
call esi
push 0xa
mov edx, eax
pop ecx
xor eax, eax
lea edi, [ebp - 0x9c]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x9c], 4
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x9c]
push eax
push 0
push 0x1005
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x4388b3
push dword [ebp - 0x7c]
mov ecx, 0x498a58
call fcn.00436c28
mov edi, eax
test edi, edi
je 0x4388b3
push 0x3f8
push dword [ebp + 8]
call esi
mov ecx, edi
mov esi, eax
call fcn.00436551
cmp eax, 3
jne 0x4388aa
push 0
jmp 0x4388ac
push 1
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x10