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

Disassembly:
push 0x42ff0a
jmp 0x41676d
push 0x42ff55
cmp dword [0x431020], 0
je 0x41676d
call fcn.00417157
jmp 0x41676d
push 0x42ffcc
jmp fcn.00416c5c
mov edi, 0x43119b
xor al, al
stosb byte es:[edi], al
inc al
jne 0x4171e4
mov esi, 0x4311fc
mov edi, 0x4311dc
mov ecx, 0x1a
rep movsb byte es:[edi], byte [esi]
mov edi, 0x43119b
mov esi, 0x42a646
movzx ecx, byte [esi - 1]
xor eax, eax
lodsb al, byte [esi]
mov byte [edi + eax], 0
loop 0x41720a
mov edi, 0x431074
mov ax, 0x3001
stosw word es:[edi], ax
mov edi, dword [section..bss]
mov dword [0x431028], edi
mov esi, 0x42a63d
call fcn.004165f3
xor al, al
stosb byte es:[edi], al
mov dword [section..bss], edi
mov eax, dword [0x431008]
mov dword [0x43102c], eax
mov eax, dword [0x43100c]
mov dword [0x431088], eax
xor eax, eax
mov dword [0x431030], eax
mov dword [0x4310b8], eax
mov dword [0x431094], eax
mov dword [0x4310b4], eax
mov byte [0x431195], al
mov dword [0x431048], eax
mov esi, dword [0x431014]
test esi, esi
je 0x4173d0
movzx ecx, byte [esi]
test ecx, ecx
je 0x4173d0
inc esi
lea eax, [esi + ecx]
push eax
mov ch, 2
call fcn.00417ace
pop esi
mov edi, dword [section..bss]
mov dword [edx + 8], edi
cmp edi, dword [0x431004]
jae 0x416a37
lodsb al, byte [esi]
or al, al
je 0x4173bf
cmp al, 0x20
je 0x41729e
mov ah, al
mov ebx, 0x43119b
xlatb
or al, al
je 0x4172fc
cmp ah, 0x27
je 0x417319
cmp ah, 0x22
je 0x417319
mov byte [edi], 0x1a
scasw ax, word es:[edi]
xchg ah, al
stosb byte es:[edi], al
mov ebx, 0x43119b
xor ecx, ecx
lodsb al, byte [esi]
stosb byte es:[edi], al
xlatb
or al, al
loopne 0x4172dc
neg ecx
cmp ecx, 0xff
ja 0x416a6d
mov ebx, edi
sub ebx, ecx
mov byte [ebx - 2], cl
dec edi
mov ah, byte [esi - 1]
xchg ah, al
or al, al
je 0x4173bf
cmp al, 0x20
je 0x41729e
cmp al, 0x3b
je 0x416a6d
cmp al, 0x5c
je 0x417340
stosb byte es:[edi], al
jmp 0x41729e
mov al, 0x22
stosb byte es:[edi], al
scasd eax, dword es:[edi]
mov ebx, edi
lodsb al, byte [esi]
stosb byte es:[edi], al
or al, al
je 0x416a6d
cmp al, ah
jne 0x41731f
lodsb al, byte [esi]
cmp al, ah
je 0x41731f
dec esi
dec edi
mov eax, edi
sub eax, ebx
mov dword [ebx - 4], eax
jmp 0x41729e
mov byte [edi], 0
lodsb al, byte [esi]
or al, al
je 0x416a6d
cmp al, 0x20
je 0x416a6d
cmp al, 0x3b
je 0x416a6d
mov al, 0x1a
stosb byte es:[edi], al
mov ecx, edi
mov ax, 0x5c01
stosw word es:[edi], ax
dec esi
lodsb al, byte [esi]
cmp al, 0x5c
jne 0x417372
stosb byte es:[edi], al
inc byte [ecx]
jmp 0x417368
cmp al, 0x20
je 0x416a6d
cmp al, 0x22
je 0x416a6d
cmp al, 0x27
je 0x416a6d
cmp al, 0x3b
je 0x416a6d
mov ah, al
mov ebx, 0x43119b
xlatb
or al, al
je 0x4173b5
mov al, ah
stosb byte es:[edi], al
xlatb
or al, al
je 0x4172f8
inc byte [ecx]
je 0x416a6d
lodsb al, byte [esi]
jmp 0x4173a0
mov al, ah
stosb byte es:[edi], al
inc byte [ecx]
jmp 0x41729e
mov dword [section..bss], edi
sub edi, dword [edx + 8]
mov dword [edx + 0xc], edi
jmp 0x41727d
mov esi, dword [0x431018]
mov edx, esi
call fcn.00416640
jb 0x416a4b
mov edi, dword [section..bss]
call fcn.00417468
cmp byte [0x431195], 0
je 0x417406
mov eax, dword [0x4310b0]
mov dword [0x431048], eax
jmp 0x416ab1
mov edx, 0x431094
mov ecx, 0x20
mov edx, dword [edx]
or edx, edx
loopne 0x417410
je 0x41744d
mov eax, dword [edx]
or eax, eax
je 0x41744d
push edx
mov ebx, edx
mov eax, dword [edx]
or eax, eax
je 0x41742d
mov ebx, edx
mov edx, eax
jmp 0x417421
mov dword [ebx], eax
call fcn.00417454
pop edx
cmp byte [0x431195], 0
je 0x417418
mov eax, dword [0x4310b0]
mov dword [0x431048], eax
jmp 0x416ab1
mov dword [0x431030], edi
ret