Function at 0x1004ac30
Capabilities:
Read .ini file

Disassembly:
push ebp
lea ebp, [esp - 0x178]
sub esp, 0x178
push 0xffffffffffffffff
push 0x100ec3f8
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
mov eax, dword [0x10120140]
xor eax, ebp
mov dword [ebp + 0x174], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x10147880]
lea eax, [ebp - 0xa0]
push eax
call fcn.1005e7a0
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.1004d320
push eax
sub esp, 0x18
mov ecx, esp
push 0x10149b28
call fcn.1004d5b0
lea eax, [ebp + 0x20]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, 0x10149b28
push eax
call fcn.1004d4b0
lea ecx, [ebp + 0x20]
call fcn.1004d4a0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
xor esi, esi
mov dword [ebp + 0x3c], esi
push 0x1010ecff
lea ecx, [ebp + 0x20]
call fcn.1004d550
mov dword [ebp - 4], 1
cmp esi, 0xb
ja case.0x1004acef.4
jmp dword [esi*4 + 0x1004ba68]
push dword [ebp + 0x38]
lea ecx, [ebp - 0x14]
push 0x1010f1a8
call fcn.10050850
mov ecx, eax
call fcn.1004bae0
jmp 0x1004ae2b
push dword [ebp + 0x38]
lea ecx, [ebp - 0x24]
push 0x1010f1ac
call fcn.10050880
mov ecx, eax
call fcn.1004bae0
jmp 0x1004ae2b
push dword [ebp + 0x38]
lea ecx, [ebp - 0x1c]
push 0x1010f1b0
call fcn.100508b0
mov ecx, eax
call fcn.1004bae0
jmp 0x1004ae2b
push dword [ebp + 0x38]
lea ecx, [ebp - 0xd8]
push 0x1010f1b4
call fcn.100508e0
mov ecx, eax
call fcn.1004bae0
jmp 0x1004ae2b
push dword [ebp + 0x38]
lea ecx, [ebp - 0xa8]
push 0x1010f1b8
call fcn.10050910
mov ecx, eax
call fcn.1004bae0
jmp 0x1004ae2b
push dword [ebp + 0x38]
lea ecx, [ebp - 0xd0]
push str.need_sw
call fcn.10050940
mov ecx, eax
call fcn.1004ab70
jmp 0x1004ae2b
push dword [ebp + 0x38]
lea ecx, [ebp - 0x60]
push str.need_buff
call fcn.100509a0
mov ecx, eax
call fcn.1004ab30
jmp 0x1004ae2b
push dword [ebp + 0x38]
lea ecx, [ebp - 0x88]
push str.need_ac
call fcn.10050a10
mov ecx, eax
call fcn.1004ab70
jmp 0x1004ae2b
push dword [ebp + 0x38]
lea ecx, [ebp - 0x7c]
push str.start_genie
call fcn.10050a70
mov ecx, eax
call fcn.10045e20
jmp 0x1004ae2b
push dword [ebp + 0x38]
lea ecx, [ebp - 0xc4]
push str.start_town
call fcn.10050af0
mov ecx, eax
call fcn.1004abb0
jmp 0x1004ae2b
push dword [ebp + 0x38]
lea ecx, [ebp - 0x98]
push str.start_supply
call fcn.10050b60
mov ecx, eax
call fcn.1004bb20
push eax
lea ecx, [ebp + 0x20]
call fcn.1004d460
mov ecx, 0x10149b28
call fcn.1004d320
lea ecx, [ebp + 0x20]
mov edi, eax
call fcn.1004d320
push esi
sub esp, 0x18
lea ecx, [ebp - 0xb4]
mov esi, esp
mov ebx, eax
push dword [ebp + 0x38]
push str.cMain__d
call fcn.10050c50
mov ecx, eax
call fcn.10045ce0
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x3c]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.1004d320
push dword [ebp + 0x38]
lea ecx, [ebp - 0x6c]
mov esi, eax
push str.Settings
call fcn.10050bf0
mov ecx, eax
call fcn.10045ce0
push eax
lea ecx, [ebp - 0x54]
call fcn.1004d550
mov ecx, eax
call fcn.1004d320
imul ecx, dword [ebp + 0x3c], 0xff
push edi
push 0xff
add ecx, 0x10147990
push ecx
push ebx
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x54]
call fcn.1004d4a0
lea ecx, [ebp - 0x3c]
call fcn.1004d4a0
lea ecx, [ebp + 0x20]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
mov esi, dword [ebp + 0x3c]
inc esi
mov dword [ebp + 0x3c], esi
cmp esi, 0xe
jl 0x1004acd2
xor ebx, ebx
cmp ebx, 0x12
je 0x1004af16
cmp ebx, 0x15
je 0x1004af16
mov dword [ebp - 0x1c], 0
cmp ebx, 0x19
jne 0x1004af1d
mov dword [ebp - 0x1c], 1
mov ecx, 0x10149b28
call fcn.1004d320
push ebx
sub esp, 0x18
lea ecx, [ebp - 0x6c]
mov esi, esp
mov edi, eax
push dword [ebp + 0x38]
push str.bMain__d
call fcn.10050d10
mov ecx, eax
call fcn.10045ce0
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x54]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
mov dword [ebp - 4], 3
call fcn.1004d320
push dword [ebp + 0x38]
lea ecx, [ebp - 0xb4]
mov esi, eax
push str.Settings
call fcn.10050cb0
mov ecx, eax
call fcn.10045ce0
push eax
lea ecx, [ebp - 0x3c]
call fcn.1004d550
mov ecx, eax
call fcn.1004d320
push edi
push dword [ebp - 0x1c]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
lea ecx, [ebp - 0x3c]
setne al
mov byte [ebx + 0x10147810], al
call fcn.1004d4a0
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
inc ebx
cmp ebx, 0x42
jl 0x1004af00
xor ebx, ebx
nop
lea eax, [ebx - 4]
mov dword [ebp + 0x3c], 0
cmp eax, 0xf
ja case.0x1004afe2.5
lea eax, [ebx - 4]
jmp dword [eax*4 + 0x1004ba98]
mov dword [ebp + 0x3c], 0x15
jmp case.0x1004afe2.5
mov dword [ebp + 0x3c], 1
jmp case.0x1004afe2.5
mov dword [ebp + 0x3c], 0xa
jmp case.0x1004afe2.5
mov dword [ebp + 0x3c], 0x5a
jmp case.0x1004afe2.5
mov dword [ebp + 0x3c], 5
jmp case.0x1004afe2.5
mov dword [ebp + 0x3c], 3
jmp case.0x1004afe2.5
mov dword [ebp + 0x3c], 0x64
mov ecx, 0x10149b28
call fcn.1004d320
push ebx
sub esp, 0x18
lea ecx, [ebp - 0x6c]
mov esi, esp
mov edi, eax
push dword [ebp + 0x38]
push str.nMain__d
call fcn.10050dd0
mov ecx, eax
call fcn.10045ce0
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x54]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
mov dword [ebp - 4], 4
call fcn.1004d320
push dword [ebp + 0x38]
lea ecx, [ebp - 0xb4]
mov esi, eax
push str.Settings
call fcn.10050d70
mov ecx, eax
call fcn.10045ce0
push eax
lea ecx, [ebp - 0x3c]
call fcn.1004d550
mov ecx, eax
call fcn.1004d320
push edi
push dword [ebp + 0x3c]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [ebp - 0x3c]
mov dword [ebx*4 + 0x101477b0], eax
call fcn.1004d4a0
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
inc ebx
cmp ebx, 0x17
jl 0x1004afd0
xor ebx, ebx
mov dword [0x10147878], 0
mov dword [0x1014787c], 0
mov dword [ebp + 0x3c], ebx
mov dword [ebp - 0x1c], 0x101583f8
nop dword [eax]
nop word [eax + eax]
mov ecx, 0x10149b28
mov dword [ebx*4 + 0x10147860], 0
call fcn.1004d320
push dword [ebp + 0x38]
lea ecx, [ebp - 0x60]
mov edi, eax
push str.DataCount
call fcn.10050e30
mov ecx, eax
call fcn.1004ab30
push ebx
sub esp, 0x18
mov esi, eax
mov ecx, esp
push str.vStrMain__d
call fcn.1004d550
lea eax, [ebp - 0x3c]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
call fcn.1004d320
push edi
push 0
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov esi, eax
lea ecx, [ebp - 0x3c]
mov dword [ebp + 0x38], esi
call fcn.1004d4a0
test esi, esi
jle 0x1004b285
xor esi, esi
mov dword [ebp - 0x24], esi
nop dword [eax + eax]
mov ecx, 0x10149b28
call fcn.1004d320
push esi
sub esp, 0x18
lea ecx, [ebp - 0x88]
mov esi, esp
mov ebx, eax
push dword [ebp - 0x13]
push str.Data__d
call fcn.10050f40
mov ecx, eax
call fcn.1004ab70
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x54]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
mov dword [ebp - 4], 5
call fcn.1004d320
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x7c]
mov edi, eax
sub esp, 0x18
mov esi, esp
push dword [ebp - 0x13]
push str.vStrMain__d
call fcn.10050ea0
mov ecx, eax
call fcn.10045e20
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x3c]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
call fcn.1004d320
push ebx
push 0xff
lea ecx, [ebp + 0x40]
push ecx
push 0x1010ecff
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x3c]
call fcn.1004d4a0
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
lea eax, [ebp + 0x40]
push eax
lea ecx, [ebp + 0x20]
call fcn.1004d550
lea ecx, [ebp + 0x20]
mov dword [ebp - 4], 6
call fcn.1004cea0
test eax, eax
je 0x1004b263
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp + 0x20]
push eax
call fcn.1004cca0
lea ecx, [ebp + 0x20]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
mov esi, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x24], esi
cmp esi, dword [ebp + 0x38]
jl 0x1004b180
mov ebx, dword [ebp + 0x3c]
add dword [ebp - 0x1c], 0xc
inc ebx
mov dword [ebp + 0x3c], ebx
cmp ebx, 4
jl 0x1004b100
mov ecx, 0x10149b28
mov dword [0x1014780c], 0
call fcn.1004d320
push dword [ebp - 0x13]
lea ecx, [ebp - 0x60]
mov ebx, eax
push str.DataCount
call fcn.10051020
mov ecx, eax
call fcn.1004ab30
push 0
sub esp, 0x18
lea ecx, [ebp - 0x7c]
mov esi, esp
mov edi, eax
push dword [ebp - 0x13]
push str.vIntMain__d
call fcn.10050fa0
mov ecx, eax
call fcn.10045e20
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x3c]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
call fcn.1004d320
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0
push edi
push eax
call ebx
mov esi, eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x1c], esi
call fcn.1004d4a0
test esi, esi
jle 0x1004b3f3
xor esi, esi
mov dword [ebp - 0x24], esi
mov ecx, 0x10149b28
call fcn.1004d320
push esi
sub esp, 0x18
lea ecx, [ebp - 0x88]
mov esi, esp
mov ebx, eax
push dword [ebp - 0x13]
push str.Data__d
call fcn.1004fb70
mov ecx, eax
call fcn.1004ab70
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x54]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
mov dword [ebp - 4], 7
call fcn.1004d320
push 0
sub esp, 0x18
lea ecx, [ebp - 0x7c]
mov esi, esp
mov edi, eax
push dword [ebp - 0x13]
push str.vIntMain__d
call fcn.10051090
mov ecx, eax
call fcn.10045e20
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x3c]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
call fcn.1004d320
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0
push edi
push eax
call ebx
lea ecx, [ebp - 0x3c]
mov dword [ebp + 0x38], eax
call fcn.1004d4a0
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
lea eax, [ebp + 0x38]
mov ecx, 0x101583b0
push eax
call fcn.1004cc70
mov esi, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x24], esi
cmp esi, dword [ebp - 0x1c]
jl 0x1004b325
mov ecx, 0x10149b28
call fcn.1004d320
push dword [ebp - 0x13]
lea ecx, [ebp - 0x60]
mov edi, eax
push str.DataCount
call fcn.100511b0
mov ecx, eax
call fcn.1004ab30
push dword [ebp - 0x13]
lea ecx, [ebp - 0x98]
mov esi, eax
push str.ChangeItemData
call fcn.10051110
mov ecx, eax
call fcn.10045da0
push eax
lea ecx, [ebp - 0x3c]
call fcn.1004d550
mov ecx, eax
call fcn.1004d320
push edi
push 0
push esi
push eax
call ebx
mov edi, eax
lea ecx, [ebp - 0x3c]
mov dword [ebp + 0x38], edi
call fcn.1004d4a0
xor esi, esi
mov dword [ebp - 0x1c], esi
test edi, edi
jle 0x1004b60f
mov ecx, 0x10149b28
call fcn.1004d320
push esi
sub esp, 0x18
lea ecx, [ebp - 0xc4]
mov esi, esp
mov edi, eax
push dword [ebp - 0x13]
push str.strName__d
call fcn.100512c0
mov ecx, eax
call fcn.1004abb0
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x54]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
mov dword [ebp - 4], 8
call fcn.1004d320
push dword [ebp - 0x13]
lea ecx, [ebp - 0x98]
mov esi, eax
push str.ChangeItemData
call fcn.10051220
mov ecx, eax
call fcn.10045da0
push eax
lea ecx, [ebp - 0x3c]
call fcn.1004d550
mov ecx, eax
call fcn.1004d320
push edi
push 0x32
lea ecx, [ebp + 0x140]
push ecx
push 0x1010ecff
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x3c]
call fcn.1004d4a0
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
mov ecx, 0x10149b28
call fcn.1004d320
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x60]
mov edi, eax
sub esp, 0x18
mov esi, esp
push dword [ebp - 0x13]
push str.itemid__d
call fcn.100513d0
mov ecx, eax
call fcn.1004ab30
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x54]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
mov dword [ebp - 4], 9
call fcn.1004d320
push dword [ebp - 0x13]
lea ecx, [ebp - 0x7c]
mov esi, eax
push str.ChangeItemData
call fcn.10051330
mov ecx, eax
call fcn.10045da0
push eax
lea ecx, [ebp - 0x3c]
call fcn.1004d550
mov ecx, eax
call fcn.1004d320
push edi
push 0
push esi
push eax
call ebx
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.1004d4a0
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
lea eax, [ebp + 0x140]
push eax
lea ecx, [ebp + 0x20]
call fcn.1004d550
lea ecx, [ebp + 0x20]
mov dword [ebp - 4], 0xa
call fcn.1004d2a0
test al, al
jne 0x1004b5f0
test esi, esi
je 0x1004b5f0
lea eax, [ebp + 0x20]
push eax
lea ecx, [ebp + 4]
call fcn.1004d5b0
mov dword [ebp + 0x1c], esi
lea eax, [ebp + 4]
mov byte [ebp - 4], 0xb
push eax
mov ecx, 0x10156f64
call fcn.1004c9f0
lea ecx, [ebp + 4]
call fcn.10047ad0
lea ecx, [ebp + 0x20]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
mov esi, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, dword [ebp + 0x38]
jl 0x1004b463
mov ecx, 0x10149b28
call fcn.1004d320
push dword [ebp - 0x13]
lea ecx, [ebp - 0x60]
mov edi, eax
push str.DataCount
call fcn.100514d0
mov ecx, eax
call fcn.1004ab30
push dword [ebp - 0x13]
lea ecx, [ebp - 0x98]
mov esi, eax
push str.SuppyItemData
call fcn.10051440
mov ecx, eax
call fcn.1004abf0
push eax
lea ecx, [ebp - 0x3c]
call fcn.1004d550
mov ecx, eax
call fcn.1004d320
push edi
push 0
push esi
push eax
call ebx
mov edi, eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x24], edi
call fcn.1004d4a0
xor esi, esi
mov dword [ebp + 0x3c], esi
test edi, edi
jle 0x1004b8cc
nop
mov ecx, 0x10149b28
call fcn.1004d320
push esi
sub esp, 0x18
lea ecx, [ebp - 0xc4]
mov esi, esp
mov edi, eax
push dword [ebp - 0x13]
push str.strName__d
call fcn.100515d0
mov ecx, eax
call fcn.1004abb0
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x54]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
mov dword [ebp - 4], 0xc
call fcn.1004d320
push dword [ebp - 0x13]
lea ecx, [ebp - 0x98]
mov esi, eax
push str.SuppyItemData
call fcn.10051540
mov ecx, eax
call fcn.1004abf0
push eax
lea ecx, [ebp - 0x3c]
call fcn.1004d550
mov ecx, eax
call fcn.1004d320
push edi
push 0x32
lea ecx, [ebp + 0x140]
push ecx
push 0x1010ecff
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x3c]
call fcn.1004d4a0
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
mov ecx, 0x10149b28
call fcn.1004d320
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x60]
mov edi, eax
sub esp, 0x18
mov esi, esp
push dword [ebp - 0x13]
push str.itemid__d
call fcn.100516d0
mov ecx, eax
call fcn.1004ab30
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x54]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
mov dword [ebp - 4], 0xd
call fcn.1004d320
push dword [ebp - 0x13]
lea ecx, [ebp - 0x7c]
mov esi, eax
push str.SuppyItemData
call fcn.10051640
mov ecx, eax
call fcn.1004abf0
push eax
lea ecx, [ebp - 0x3c]
call fcn.1004d550
mov ecx, eax
call fcn.1004d320
push edi
push 0
push esi
push eax
call ebx
lea ecx, [ebp - 0x3c]
mov dword [ebp + 0x38], eax
call fcn.1004d4a0
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
mov ecx, 0x10149b28
call fcn.1004d320
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x6c]
mov edi, eax
sub esp, 0x18
mov esi, esp
push dword [ebp - 0x13]
push str.count__d
call fcn.10051740
mov ecx, eax
call fcn.10045ce0
push eax
mov ecx, esi
call fcn.1004d550
lea eax, [ebp - 0x54]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, eax
mov dword [ebp - 4], 0xe
call fcn.1004d320
push dword [ebp - 0x13]
lea ecx, [ebp - 0xb8]
mov esi, eax
push str.SuppyItemData
call fcn.10051540
mov ecx, eax
call fcn.1004abf0
push eax
lea ecx, [ebp - 0x3c]
call fcn.1004d550
mov ecx, eax
call fcn.1004d320
push edi
push 0
push esi
push eax
call ebx
lea ecx, [ebp - 0x3c]
mov edi, eax
call fcn.1004d4a0
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
lea eax, [ebp + 0x140]
push eax
lea ecx, [ebp + 0x20]
call fcn.1004d550
lea ecx, [ebp + 0x20]
mov dword [ebp - 4], 0xf
call fcn.1004d2a0
test al, al
jne 0x1004b8ad
mov esi, dword [ebp + 0x38]
test esi, esi
je 0x1004b8ad
lea eax, [ebp + 0x20]
push eax
lea ecx, [ebp]
call fcn.1004d5b0
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x1c], edi
lea eax, [ebp]
mov byte [ebp - 4], 0x10
push eax
mov ecx, 0x10156f58
call fcn.1004c960
lea ecx, [ebp]
call fcn.10047ad0
lea ecx, [ebp + 0x20]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d4a0
mov esi, dword [ebp + 0x3c]
inc esi
mov dword [ebp + 0x3c], esi
cmp esi, dword [ebp - 0x24]
jl 0x1004b680
push 4
lea ecx, [ebp + 0x3c]
call fcn.100486f0
lea eax, [ebp + 0x3c]
mov ecx, 0x10150264
push eax
call fcn.1004cb10
lea eax, [ebp + 0x38]
mov ecx, 0x10150264
push eax
call fcn.1004caf0
push eax
lea ecx, [ebp + 0x3c]
call fcn.1004c8e0
test al, al
je 0x1004b9f2
lea ecx, [ebp + 0x3c]
call fcn.1004cae0
mov ecx, eax
call fcn.1004d320
push eax
sub esp, 0x18
mov ecx, esp
push 0x10149c18
call fcn.1004d5b0
lea eax, [ebp + 8]
push eax
call fcn.10045c00
add esp, 0x20
mov ecx, 0x10149b28
mov dword [ebp - 4], 0x11
call fcn.1004d320
push dword [ebp - 0x13]
lea ecx, [ebp - 0xd0]
mov edi, eax
push str.bSelect
call fcn.100517e0
mov ecx, eax
call fcn.1004ab70
push dword [ebp - 0x13]
lea ecx, [ebp - 0xa8]
mov esi, eax
push str.Route
call fcn.100517a0
mov ecx, eax
call fcn.1004bb60
push eax
lea ecx, [ebp - 0xf0]
call fcn.1004d550
mov ecx, eax
call fcn.1004d320
push edi
push 0
push esi
push eax
call ebx
lea ecx, [ebp - 0xf0]
movzx esi, ax
call fcn.1004d4a0
test si, si
lea ecx, [ebp + 0x3c]
setne bl
call fcn.1004cae0
lea ecx, [ebp + 8]
mov dword [ebp - 4], 0xffffffff
mov byte [eax + 0x3c], bl
call fcn.1004d4a0
push 0
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp + 0x3c]
call fcn.1004cac0
lea eax, [ebp + 0x38]
mov ecx, 0x10150264
push eax
call fcn.1004caf0
push eax
lea ecx, [ebp + 0x3c]
call fcn.1004c8e0
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test al, al
jne 0x1004b903
movd xmm0, dword [0x101477d4]
mov ecx, dword [0x10147880]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x24], xmm0
call fcn.1005e4e0
movss xmm0, dword [ebp - 0x24]
mov ecx, 0x850f
movss dword [eax + 0x43c], xmm0
mov eax, 0x840f
cmp byte [0x10147815], 0
cmovne eax, ecx
mov ecx, dword [0x101477a4]
mov word [0x6017c8], ax
test ecx, ecx
je 0x1004ba43
call fcn.100593d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x174]
xor ecx, ebp
call fcn.100c0cd4
lea esp, [ebp + 0x178]
pop ebp
ret