Function at 0x419240
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x471ad2
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x48d000]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0xfffc
call fcn.0041d281
mov ecx, dword [ebp + 0xc]
mov edi, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add esp, 4
push eax
push 0x7ffe
push edi
push ecx
mov dword [ebp - 0x10], edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 4]
push eax
push ecx
lea edx, [ebp + 8]
push edx
push esi
call fcn.00407720
mov dword [ebp + 0xc], edi
jmp 0x4192b0
mov eax, dword [section..data]
mov edx, dword [eax + 0xc]
mov ecx, section..data
call edx
add eax, 0x10
mov dword [ebp + 8], eax
mov dword [ebp - 4], 0
test edi, edi
je 0x4192f1
test edi, 0xffff0000
jne 0x4192f5
movzx edi, di
call fcn.00401ab0
test eax, eax
je 0x41931b
push eax
mov eax, edi
lea edi, [ebp + 8]
call fcn.00401c60
jmp 0x41931b
xor eax, eax
jmp 0x41930f
mov eax, edi
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x419300
sub eax, edx
sar eax, 1
push edi
lea ecx, [ebp + 8]
push ecx
mov ebx, eax
call fcn.00401e80
mov ebx, 1
mov dword [ebp - 4], ebx
mov edi, dword [ebp + 8]
cmp dword [edi - 0xc], ebx
jl 0x4194f7
mov eax, dword [esi + 4]
lea edx, [ebp + 8]
cmp edx, eax
jae 0x4193e3
mov edx, dword [esi]
lea ecx, [ebp + 8]
cmp edx, ecx
ja 0x4193e3
mov edi, ecx
mov ecx, dword [esi + 8]
sub edi, edx
sar edi, 2
cmp eax, ecx
jne 0x419396
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x419528
sub ecx, edx
add eax, ebx
sar ecx, 2
cmp eax, ecx
jbe 0x419396
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x419386
xor ecx, ecx
jmp 0x419388
add ecx, edx
cmp ecx, eax
jae 0x41938e
mov ecx, eax
push ecx
mov ecx, esi
call fcn.00419560
mov edx, dword [esi]
mov esi, dword [esi + 4]
lea eax, [edx + edi*4]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 2
test esi, esi
je 0x41949e
mov edi, dword [eax]
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [edi - 4], 0
lea ecx, [edi - 4]
jl 0x419461
cmp eax, dword [edi - 0x10]
jne 0x419461
lea ebx, [edi - 0x10]
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x419499
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x41942a
mov edx, dword [esi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x419528
sub ecx, edx
add eax, ebx
sar ecx, 2
cmp eax, ecx
jbe 0x41942a
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x41941a
xor ecx, ecx
jmp 0x41941c
add ecx, edx
cmp ecx, eax
jae 0x419422
mov ecx, eax
push ecx
mov ecx, esi
call fcn.00419560
mov esi, dword [esi + 4]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 3
test esi, esi
je 0x4194a1
mov ecx, dword [edi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [edi - 4], 0
lea ecx, [edi - 4]
jl 0x419461
cmp eax, dword [edi - 0x10]
jne 0x419461
lea ebx, [edi - 0x10]
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x419499
mov ecx, dword [edi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x419532
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [edi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [ebx + 0x10]
push eax
call fcn.00454fea
add esp, 0x10
add ebx, 0x10
mov dword [esi], ebx
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
add dword [eax + 4], 4
mov eax, dword [edi - 0xc]
mov ecx, dword [ebp + 0xc]
lea edi, [ecx + eax*2 + 2]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
mov dword [ebp + 0xc], edi
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4194db
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
je 0x419537
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffc
cmp edi, ecx
jae 0x419537
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
jmp 0x4192b0
mov edx, dword [ebp - 0x10]
push edx
call fcn.00454f3d
lea eax, [edi - 0x10]
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x419543
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x419543
push str.vector_T__too_long
call fcn.0041d2ae
call fcn.0041b440
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00454f3d
add esp, 4
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc