Function at 0x418900
Capabilities:
Query environment variable
Read .ini file

Disassembly:
push dword [0x431195]
or byte [0x431195], 0x10
push dword [0x4310a4]
push dword [0x431050]
push dword [0x431054]
push dword [0x431058]
push dword [0x431064]
push dword [0x431060]
push eax
push dword [0x431048]
lodsb al, byte [esi]
cmp al, 0x7b
je 0x418966
or al, al
jne 0x416abb
mov dword [0x43104c], esi
add esi, 0x12
lodsb al, byte [esi]
or al, al
je 0x418945
cmp al, 0x7b
je 0x418966
cmp al, 0x3b
jne 0x416abb
call fcn.00418c44
jmp 0x418945
mov ecx, 0x80000000
mov dword [0x431050], esi
mov eax, dword [0x43104c]
mov dword [0x431054], eax
mov dword [0x431058], ecx
xor eax, eax
mov dword [0x4310a4], eax
cmp dword [0x4310a8], eax
je 0x418996
inc dword [0x4310a4]
lodsb al, byte [esi]
or al, al
je 0x418c77
cmp al, 0x7d
je 0x418c86
dec esi
mov dword [0x431048], edi
lea eax, [edi + 0x10]
cmp eax, dword [0x431004]
jae 0x416a37
mov eax, dword [esp + 4]
or eax, eax
je 0x4189d5
stosd dword es:[edi], eax
mov eax, ecx
stosd dword es:[edi], eax
mov eax, dword [esp]
stosd dword es:[edi], eax
mov eax, dword [0x43104c]
stosd dword es:[edi], eax
jmp 0x4189fe
mov eax, dword [esp]
add eax, 0x10
inc eax
cmp byte [eax - 1], 0x3b
je 0x4189f3
cmp byte [eax - 1], 0x1a
jne 0x4189db
push eax
movzx eax, byte [eax]
inc eax
add dword [esp], eax
pop eax
jmp 0x4189db
stosd dword es:[edi], eax
mov eax, ecx
stosd dword es:[edi], eax
mov eax, dword [0x43104c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
or byte [0x431195], 0x20
push ebx
push ecx
test byte [0x431195], 0xf
je 0x418a16
mov ax, 0x3b
stosw word es:[edi], ax
lea eax, [edi + 0x100]
cmp eax, dword [0x431004]
jae 0x416a37
lodsb al, byte [esi]
cmp al, 0x7d
je 0x418c66
or al, al
je 0x418c66
cmp al, 0x1a
je 0x418a5d
cmp al, 0x3b
je 0x418c61
and byte [0x431195], 0xdf
stosb byte es:[edi], al
cmp al, 0x22
jne 0x418a16
mov ecx, dword [esi]
add ecx, 4
call fcn.00417ff5
jmp 0x418a16
push esi
push edi
test byte [0x431195], 0x20
je 0x418a87
movzx ecx, byte [esi]
inc esi
mov edi, 0x42a6cf
call fcn.00417730
jae 0x418a7b
dec esi
jmp 0x418a87
mov edx, eax
pop edi
pop eax
mov byte [edi], 0
inc edi
pop ecx
pop ebx
jmp edx
and byte [0x431195], 0xdf
movzx ecx, byte [esi]
inc esi
mov eax, dword [0x4310a4]
call fcn.00418e5e
jae 0x418ad3
xor eax, eax
cmp dword [0x4310a4], eax
je 0x418af4
call fcn.00418e5e
jb 0x418bc4
pop edi
pop eax
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
or edx, edx
je 0x418b3d
and ecx, 0x7fffffff
xchg edx, esi
call fcn.00417ff5
mov esi, edx
jmp 0x418a16
xor eax, eax
cmp dword [0x4310a4], eax
je 0x418ab3
push esi
push edx
sub esi, ecx
call fcn.00418e5e
mov ebx, edx
pop edx
pop esi
jb 0x418ab3
cmp edx, ebx
ja 0x418ab3
mov edx, ebx
jmp 0x418ab3
inc eax
push eax
call fcn.00418e5e
pop eax
jb 0x418bc4
pop edi
push ecx
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
xchg edx, esi
btr ecx, 0x1f
jb 0x418b16
rep movsb byte es:[edi], byte [esi]
jmp 0x418b20
mov byte [edi], 0x3c
inc edi
rep movsb byte es:[edi], byte [esi]
mov byte [edi], 0x3e
inc edi
cmp eax, dword [0x4310a8]
je 0x418b34
mov byte [edi], 0x2c
inc edi
mov esi, edx
pop ecx
push edi
sub esi, ecx
jmp 0x418af4
pop ecx
pop eax
mov esi, edx
jmp 0x418a16
mov eax, dword [0x4310a4]
and eax, 0x7fffffff
je 0x418b56
add ecx, eax
dec ecx
call fcn.00418b78
jmp 0x418a16
mov edx, ecx
xor ecx, ecx
push ecx
push edx
add ecx, edx
call fcn.00418b78
pop edx
pop ecx
inc ecx
cmp ecx, dword [0x4310a8]
je 0x418a16
mov byte [edi], 0x2c
inc edi
jmp 0x418b5a
pop edi
pop esi
mov al, 0x1a
stosb byte es:[edi], al
mov al, byte [esi]
inc esi
stosb byte es:[edi], al
cmp byte [esi], 0x2e
jne 0x418bf1
mov ebx, dword [esp + 0x10]
or ebx, ebx
je 0x418bf1
cmp al, 1
je 0x418bfb
xchg ebx, esi
movzx ecx, byte [esi - 1]
add byte [edi - 1], cl
jb 0x416bfc
rep movsb byte es:[edi], byte [esi]
xchg ebx, esi
movzx ecx, al
rep movsb byte es:[edi], byte [esi]
jmp 0x418a16
inc esi
xchg ebx, esi
movzx ecx, byte [esi - 1]
mov byte [edi - 1], cl
rep movsb byte es:[edi], byte [esi]
xchg ebx, esi
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x3b
je 0x418a16
cmp byte [eax], 0x1a
jne 0x418c23
mov byte [eax], 0x3b
jmp 0x418a16
mov ebx, dword [esp + 0x10]
push esi
push edi
lea edi, [ebx - 3]
lea esi, [edi - 2]
lea ecx, [esi + 1]
sub ecx, eax
std
rep movsb byte es:[edi], byte [esi]
cld
mov word [eax], 0x3b
pop edi
pop esi
jmp 0x418a16
call fcn.00418c44
mov byte [edi], 0
inc edi
push eax
call fcn.00417780
pop eax
pop ecx
pop ebx
cmp al, 0x7d
je 0x418c86
inc ecx
mov dword [0x43104c], esi
add esi, 0x12
jmp 0x418996
call fcn.00418e0a
jb 0x418996
pop dword [0x431048]
add esp, 0xc
pop dword [0x431058]
pop dword [0x431054]
pop dword [0x431050]
pop dword [0x4310a4]
pop eax
and al, 0xf0
and byte [0x431195], 0xf
or byte [0x431195], al
ret