Function at 0x100465d
Capabilities:
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x430
mov eax, dword [0x100fb04]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
and dword [ebp - 0x42c], 0
push ebx
push esi
push edi
push 0x100fb74
mov dword [ebp - 0x430], eax
mov byte [ebp - 0x20c], 0
mov byte [ebp - 0x310], 0
call fcn.01001fa4
test eax, eax
jne 0x10046ab
mov edi, 0x45f
jmp 0x10050d4
mov esi, 0x1011a20
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x1001433
push 0x10015f4
push 0x100151c
call fcn.01002e76
test eax, eax
js 0x10050e7
mov ebx, dword [sym.imp.KERNEL32.dll_CompareStringA]
push 0xffffffffffffffff
push 0x10015fc
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
je 0x1004703
mov edi, 0x475
jmp 0x10050d4
push 0x100fb74
call fcn.01003550
test eax, eax
je 0x10050e7
cmp byte [0x1011b80], 0
je 0x1004753
cmp byte [0x1011a20], 0
je 0x1004753
push 0x1011b80
call fcn.01003550
test eax, eax
je 0x10050e7
push 0x1011b80
push 0x50
push 0x1010f20
mov eax, 0x1001484
push eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
push 0
push 0x10015e4
mov edi, 0x1001444
push edi
call fcn.010021fb
test eax, eax
je 0x1004776
mov dword [0x1011584], 0x865
jmp 0x10047e2
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x10015d8
push 0x10015bc
push edi
call fcn.01002e76
push 0xffffffffffffffff
push 0x10015d8
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
jne 0x10047b9
mov dword [0x1011584], 0x864
jmp 0x10047e2
push 0xffffffffffffffff
push 0x10015e4
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x7f
call ebx
sub eax, 2
neg eax
sbb eax, eax
neg eax
add eax, 0x865
mov dword [0x1011584], eax
push esi
push 0
push 0x10015a0
push edi
call fcn.010021fb
and dword [0x101158c], 0
mov dword [0x1011588], eax
mov dword [ebp - 0x418], 0x100f284
mov eax, dword [ebp - 0x418]
push esi
push 0
push dword [eax - 4]
push edi
call fcn.010021fb
test eax, eax
je 0x100482a
mov eax, dword [ebp - 0x418]
mov eax, dword [eax]
or dword [0x101158c], eax
add dword [ebp - 0x418], 8
cmp dword [ebp - 0x418], 0x100f2cc
jl 0x1004806
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x1001433
push 0x1001670
push edi
call fcn.01002e76
movsx eax, byte [ebp - 0x20c]
push eax
call dword [sym.imp.msvcrt.dll_toupper]
pop ecx
cmp eax, 0x42
je 0x100487c
cmp eax, 0x50
jne 0x1004886
or dword [0x101158c], 0x40
jmp 0x1004886
or dword [0x101158c], 0x80
test byte [0x101158c], 0xc0
je 0x100490a
lea eax, [ebp - 0x20c]
push 0x22
push eax
call dword [sym.imp.msvcrt.dll_strchr]
pop ecx
pop ecx
mov dword [ebp - 0x420], eax
test eax, eax
je 0x10050cf
inc dword [ebp - 0x420]
push 0x22
push dword [ebp - 0x420]
call dword [sym.imp.msvcrt.dll_strchr]
pop ecx
pop ecx
test eax, eax
je 0x10050cf
push dword [ebp - 0x420]
mov byte [eax], 0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push 0x40
mov dword [ebp - 0x41c], eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [0x1011574], eax
test eax, eax
je 0x1004ec8
push dword [ebp - 0x420]
push dword [ebp - 0x41c]
push eax
call fcn.01002653
push esi
push 0
push 0x1001590
push edi
call fcn.010021fb
test eax, eax
je 0x1004926
or dword [0x101158c], 0x10000
push esi
push 0x104
push 0x1010710
push 0x1001433
push 0x1001550
push edi
call fcn.01002e76
push esi
push 0x104
push 0x1011060
push 0x1001654
push 0x100153c
push edi
call fcn.01002e76
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x10012dc
push 0x100157c
push edi
call fcn.01002e76
push 0xffffffffffffffff
push dword [0x100f2cc]
lea eax, [ebp - 0x20c]
push 0xffffffffffffffff
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
jne 0x10049a0
or dword [0x101158c], 0x20000
jmp 0x10049ec
push 0xffffffffffffffff
push dword [0x100f2d0]
lea eax, [ebp - 0x20c]
push 0xffffffffffffffff
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
jne 0x10049c7
or dword [0x101158c], 0x40000
jmp 0x10049ec
push 0xffffffffffffffff
push dword [0x100f2d4]
lea eax, [ebp - 0x20c]
push 0xffffffffffffffff
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
jne 0x10049ec
or dword [0x101158c], 0x80000
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x1001433
push 0x1001644
push edi
call fcn.01002e76
cmp byte [ebp - 0x20c], 0
jne 0x1004a3c
push esi
mov ebx, 0x3e7
push ebx
push 0x100163c
push edi
call fcn.010021fb
mov dword [0x101157c], eax
cmp eax, ebx
je 0x1004aac
mov dword [0x1011578], 0x1001634
jmp 0x1004ac0
push 0xffffffffffffffff
push 0x1001630
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
jne 0x1004a62
mov dword [0x1011578], 0x1001630
jmp 0x1004ab6
push 0xffffffffffffffff
push 0x1001634
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
jne 0x1004a88
mov dword [0x1011578], 0x1001634
jmp 0x1004ab6
push 0xffffffffffffffff
push 0x1001628
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
mov dword [0x1011578], 0x1001628
je 0x1004ab6
mov dword [0x1011578], 0x1001620
mov dword [0x101157c], 7
and dword [0x1011594], 0
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x1001574
push 0x1001560
push edi
call fcn.01002e76
cmp byte [ebp - 0x20c], 0
je 0x1004b43
lea ebx, [ebp - 0x20c]
movsx eax, byte [ebx]
push eax
call dword [sym.imp.msvcrt.dll_toupper]
inc ebx
pop ecx
cmp eax, 0x41
je 0x1004b37
cmp eax, 0x49
je 0x1004b25
cmp eax, 0x4e
je 0x1004b1c
cmp eax, 0x53
jne 0x1004b3e
or dword [0x1011594], 4
jmp 0x1004b3e
and dword [0x1011594], 0xfffffffe
jmp 0x1004b3e
mov eax, dword [0x1011594]
and eax, 0xfffffffd
or eax, 1
mov dword [0x1011594], eax
jmp 0x1004b3e
or dword [0x1011594], 3
cmp byte [ebx], 0
jne 0x1004af3
push esi
push 0
push 0x1001608
push edi
call fcn.010021fb
mov dword [0x101159c], eax
mov ebx, 0x100f190
push dword [ebx + 4]
push dword [ebx]
push dword [ebx - 4]
push dword [ebx - 8]
push dword [ebx - 0xc]
push dword [ebx - 0x10]
call fcn.01002e76
test eax, eax
js 0x10050e7
mov eax, dword [ebx + 8]
test eax, eax
je 0x1004b8c
mov ecx, dword [ebx - 4]
xor edx, edx
cmp byte [ecx], dl
setne dl
mov dword [eax], edx
add ebx, 0x1c
cmp ebx, 0x100f28c
jl 0x1004b5b
cmp dword [0x1011584], 0x866
jne 0x1004bc5
push 0x104
push 0x101060c
push 0x100fffc
push dword [ebp - 0x430]
call fcn.0100bafd
test eax, eax
je 0x10050e7
push esi
push 0x50
push 0x1010fc0
push 0x1001433
push 0x10014b8
push edi
call fcn.01002e76
test eax, eax
jg 0x1004beb
mov edi, 0x476
jmp 0x10050d4
push 0x1011b80
call fcn.010021a2
push 0x100fb74
mov ebx, eax
call fcn.010021a2
cmp eax, ebx
jbe 0x1004c0c
push 0x100fb74
jmp 0x1004c11
push 0x1011b80
call fcn.010021a2
mov ebx, dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
push 0x40
mov dword [ebp - 0x428], eax
call ebx
push dword [ebp - 0x428]
mov dword [ebp - 0x418], eax
push 0x40
call ebx
mov ebx, eax
mov eax, dword [ebp - 0x418]
mov dword [ebp - 0x424], ebx
test eax, eax
je 0x1004ec8
test ebx, ebx
je 0x1004ec8
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 0x420], eax
mov eax, 0x1010fc0
push eax
shr ecx, 1
push ecx
push ebx
push 0x1001433
push 0
push eax
mov dword [ebp - 0x41c], ebx
call fcn.01002e76
cmp byte [ebx], 0
mov ebx, 0x104
je 0x1004d87
push dword [ebp - 0x424]
lea eax, [ebp - 0x20c]
push 0x208
push eax
call fcn.01002653
push dword [ebp - 0x424]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x424]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x424], eax
mov eax, 0x1010fc0
push eax
push ebx
lea ecx, [ebp - 0x310]
push ecx
push 0x1001433
lea ecx, [ebp - 0x20c]
push ecx
push eax
call fcn.01002e76
push 1
push dword [ebp - 0x428]
lea eax, [ebp - 0x20c]
push dword [ebp - 0x418]
push eax
call fcn.01004114
test eax, eax
je 0x1004ed2
js 0x1004ef2
push 0x1001433
push ebx
lea eax, [ebp - 0x310]
push eax
call fcn.0100d2b0
mov eax, dword [ebp - 0x418]
jmp 0x1004d67
push 0x208
push dword [ebp - 0x418]
lea eax, [ebp - 0x20c]
push eax
call fcn.01002d1e
lea eax, [ebp - 0x310]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.010039ae
push dword [ebp - 0x418]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x418]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x418], eax
cmp byte [eax], 0
jne 0x1004d21
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x424]
cmp byte [eax], 0
jne 0x1004c8c
push dword [ebp - 0x420]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x41c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [0x10115a0], 0
je 0x100500b
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x1001433
push 0x10014d8
push edi
call fcn.01002e76
test eax, eax
js 0x10050e7
push 0
push ebx
lea eax, [ebp - 0x310]
push eax
mov eax, dword [0x10115a0]
add eax, 4
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.010031bd
test eax, eax
je 0x10050e7
mov eax, dword [0x10115a0]
add eax, 0x38
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.01003664
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x1001433
push 0x10014c4
push edi
call fcn.01002e76
test eax, eax
js 0x10050e7
push 0
push ebx
lea eax, [ebp - 0x310]
push eax
mov eax, dword [0x10115a0]
add eax, 0x40
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.010031bd
test eax, eax
je 0x10050e7
mov eax, dword [0x10115a0]
add eax, 0x74
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.01003664
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x1001433
push 0x10014e8
push edi
call fcn.01002e76
test eax, eax
js 0x10050e7
cmp byte [ebp - 0x20c], 0
mov ecx, dword [0x10115a0]
je 0x1004ff6
mov eax, dword [ecx + 0x7c]
test eax, eax
je 0x1004ff6
lea ecx, [ebp - 0x41c]
push ecx
push 0x3c
pop ecx
mul ecx
push edx
push eax
call fcn.0100bfea
test eax, eax
jns 0x1004ef9
mov edi, 0x44c
jmp 0x10050d4
mov edi, 0x47d
push dword [ebp - 0x420]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
call esi
push dword [ebp - 0x41c]
call esi
jmp 0x10050d4
mov edi, 0x47c
jmp 0x1004ed7
push dword [ebp - 0x41c]
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
mov dword [ebp - 0x424], edi
test edi, edi
je 0x1004ec8
cmp byte [ebp - 0x20c], 0x40
jne 0x10050b7
push esi
push ebx
mov dword [ebp - 0x41c], eax
lea eax, [ebp - 0x310]
push eax
push 0x1001433
xor edi, edi
push edi
lea eax, [ebp - 0x20b]
push eax
call fcn.01002e76
cmp byte [ebp - 0x310], 0
je 0x1004fbb
lea eax, [ebp - 0x310]
mov dword [ebp - 0x428], eax
push esi
push ebx
lea eax, [ebp - 0x414]
push eax
push 0x1001433
push dword [ebp - 0x428]
lea eax, [ebp - 0x20b]
push eax
call fcn.01002e76
push dword [ebp - 0x41c]
lea eax, [ebp - 0x414]
push eax
call fcn.010036f9
test eax, eax
je 0x10050a4
push dword [ebp - 0x428]
add dword [ebp - 0x41c], 0x3c
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edi, [edi + eax + 1]
lea eax, [ebp + edi - 0x310]
cmp byte [eax], 0
mov dword [ebp - 0x428], eax
jne 0x1004f58
mov eax, dword [0x10115a0]
mov ecx, dword [eax + 0x7c]
imul ecx, ecx, 0x3c
push ecx
push dword [ebp - 0x424]
push ecx
mov ecx, dword [eax + 0x80]
lea eax, [ecx + eax + 0x84]
push eax
call sub.msvcrt.dll_memcpy_s
add esp, 0x10
push dword [ebp - 0x424]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [0x10115a0]
mov eax, dword [ecx + 0x7c]
mov edx, dword [ecx + 0x80]
imul eax, eax, 0x3c
lea eax, [eax + edx + 0x88]
mov dword [ecx], eax
push 0
push 0x100fffc
push 0
call fcn.01003d8b
push ebx
push 0x1010b18
mov esi, 0x1010e1c
push esi
call fcn.0100b967
push 0x200
push 0x1010918
mov edi, 0x1010c1c
push edi
call fcn.0100b967
push ebx
push 0x1011164
push 0x1011268
call fcn.0100b967
push ebx
push 0x101136c
mov ebx, 0x1011470
push ebx
call fcn.0100b967
cmp dword [0x1011584], 0x864
jne 0x1005098
push esi
call fcn.0100ba53
test eax, eax
je 0x10050e7
push edi
call fcn.0100ba53
test eax, eax
je 0x10050e7
push 0x1011268
call fcn.0100ba53
test eax, eax
je 0x10050e7
push ebx
call fcn.0100ba53
test eax, eax
je 0x10050e7
mov dword [ebp - 0x42c], 1
jmp 0x10050e7
push dword [ebp - 0x424]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edi, 0x481
jmp 0x10050d4
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.010036f9
test eax, eax
jne 0x1004fbb
push edi
jmp 0x10050aa
mov edi, 0x47f
xor eax, eax
push eax
push 0x10
push eax
push eax
push edi
push dword [ebp - 0x430]
call fcn.01002a45
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x42c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100cb7f
leave
ret 4