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

Disassembly:
push edi
push esi
lodsb al, byte [esi]
cmp al, 0x2d
je 0x41c10a
cmp al, 0x2b
je 0x41c10a
cmp al, 0x1a
jne 0x41c152
lodsb al, byte [esi]
movzx ecx, al
cmp cl, 1
jbe 0x41c152
lea edx, [esi + 1]
xor ah, ah
lodsb al, byte [esi]
cmp al, 0x2e
je 0x41c144
cmp al, 0x45
je 0x41c160
cmp al, 0x65
je 0x41c160
cmp al, 0x46
je 0x41c156
cmp al, 0x66
je 0x41c156
cmp al, 0x30
jb 0x41c152
cmp al, 0x39
ja 0x41c152
jmp 0x41c187
cmp esi, edx
je 0x41c152
or ah, ah
jne 0x41c152
or ah, 1
lodsb al, byte [esi]
loop 0x41c13a
pop esi
pop edi
stc
ret
cmp cl, 1
jne 0x41c152
or ah, 4
jmp 0x41c187
cmp esi, edx
je 0x41c152
cmp ah, 1
ja 0x41c152
or ah, 2
cmp ecx, 1
jne 0x41c187
cmp byte [esi], 0x2b
je 0x41c17b
cmp byte [esi], 0x2d
jne 0x41c187
inc esi
cmp byte [esi], 0x1a
jne 0x41c152
inc esi
lodsb al, byte [esi]
movzx ecx, al
inc ecx
dec ecx
jne 0x41c125
or ah, ah
je 0x41c152
pop esi
mov byte [0x43218a], 0
lodsb al, byte [esi]
cmp al, 0x1a
je 0x41c1a8
cmp al, 0x2b
je 0x41c196
xor byte [0x43218a], 1
jmp 0x41c196
lodsb al, byte [esi]
movzx ecx, al
xor edx, edx
mov edi, 0x4320d0
mov dword [edi], edx
mov dword [edi + 4], edx
mov dword [edi + 0xc], edx
call fcn.0041c4c4
mov byte [0x43218b], 0
mov al, byte [esi]
lodsb al, byte [esi]
cmp al, 0x2e
je 0x41c229
cmp al, 0x45
je 0x41c2be
cmp al, 0x65
je 0x41c2be
cmp al, 0x46
je 0x41c329
cmp al, 0x66
je 0x41c329
sub al, 0x30
mov edi, 0x4320e0
xor edx, edx
mov dword [edi + 0xc], edx
mov dword [edi], edx
mov dword [edi + 4], edx
mov byte [edi + 7], al
mov dl, 7
mov dword [edi + 8], edx
call fcn.0041c4c4
mov edi, 0x4320d0
push ecx
mov ecx, 0xa
call fcn.0041c365
pop ecx
mov ebx, 0x4320e0
call fcn.0041c432
loop 0x41c1c9
mov edi, 0x4320e0
xor edx, edx
mov dword [edi], edx
mov dword [edi + 4], edx
mov byte [edi + 7], pe_nt_image_headers32
mov dword [edi + 8], edx
mov dword [edi + 0xc], edx
dec ecx
je 0x41c329
lodsb al, byte [esi]
cmp al, 0x45
je 0x41c2be
cmp al, 0x65
je 0x41c2be
cmp al, 0x46
je 0x41c329
cmp al, 0x66
je 0x41c329
inc byte [0x43218b]
cmp byte [0x43218b], 0x80
jne 0x41c275
mov byte [0x43218b], 0x7f
dec esi
mov edi, 0x4320e0
push ecx
mov ecx, 0xa
call fcn.0041c3bf
push dword [edi]
push dword [edi + 4]
push dword [edi + 8]
push dword [edi + 0xc]
lodsb al, byte [esi]
sub al, 0x30
movzx ecx, al
call fcn.0041c365
mov ebx, edi
mov edi, 0x4320d0
call fcn.0041c432
mov edi, 0x4320e0
pop dword [edi + 0xc]
pop dword [edi + 8]
pop dword [edi + 4]
pop dword [edi]
pop ecx
dec ecx
jne 0x41c246
jmp 0x41c329
or byte [0x43218b], 0x80
xor edx, edx
xor ebp, ebp
dec ecx
jne 0x41c2df
cmp byte [esi], 0x2b
je 0x41c2d8
cmp byte [esi], 0x2d
jne 0x41c329
not ebp
add esi, 2
lodsb al, byte [esi]
movzx ecx, al
movzx eax, byte [esi]
inc esi
sub al, 0x30
cmp al, 0xa
jae 0x41c2fc
imul edx, edx, 0xa
cmp edx, 0x8000
jae 0x4187f2
add edx, eax
loop 0x41c2df
mov edi, 0x4320d0
or edx, edx
je 0x41c329
mov ecx, edx
or ebp, ebp
jne 0x41c31b
push ecx
mov ecx, 0xa
call fcn.0041c365
pop ecx
loop 0x41c30b
jmp 0x41c329
push ecx
mov ecx, 0xa
call fcn.0041c3bf
pop ecx
loop 0x41c31b
mov edi, 0x4320d0
mov al, byte [0x43218b]
mov byte [edi + 0xa], al
mov al, byte [0x43218a]
mov byte [edi + 0xb], al
test byte [edi + 0xf], 0x80
je 0x41c362
add dword [edi], 1
adc dword [edi + 4], 0
jae 0x41c362
mov eax, dword [edi + 4]
shrd dword [edi], eax, 1
shr eax, 1
or eax, 0x80000000
mov dword [edi + 4], eax
inc word [edi + 8]
pop edi
clc
ret