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

Disassembly:
push 0x431c7e
jmp fcn.004188fd
mov eax, esp
sub eax, dword [0x432010]
cmp eax, 0x100
jb 0x4186e2
push ecx
push esi
mov esi, dword [0x432048]
add esi, 0x10
cmp word [esi], 0x3b
jne 0x419448
add esi, 2
test byte [0x432195], 0xf0
jne 0x419492
cmp byte [esi], 0x1a
jne 0x41948b
movzx edx, byte [esi + 1]
lea edx, [esi + edx + 2]
cmp word [edx], 0x31a
jne 0x41948b
mov ebx, 0x43219b
movzx eax, byte [edx + 2]
xlatb
ror eax, 8
mov al, byte [edx + 3]
xlatb
ror eax, 8
mov al, byte [edx + 4]
xlatb
ror eax, 0x10
cmp eax, 0x786966
je 0x419868
call fcn.00419c0e
jmp 0x419497
call fcn.00419d8c
mov esi, dword [0x432048]
add esi, 0x10
mov al, byte [0x432195]
test al, 2
jne 0x419a45
test al, 1
jne 0x419a2a
mov dword [0x4320c4], esi
lodsb al, byte [esi]
movzx ecx, byte [esi]
inc esi
cmp al, 0x1a
jne 0x41968c
cmp cl, 3
jb 0x4194e1
push edi
mov edi, 0x42c302
call fcn.004193d1
pop edi
jb 0x4194e1
mov byte [edx - 2], 0x3b
jmp eax
xor ch, ch
call fcn.0041969a
jb 0x4194fd
mov byte [ebx - 2], 0x3b
mov dword [0x432060], 0
jmp 0x419f5b
mov dword [0x432060], esi
add esi, ecx
lodsb al, byte [esi]
cmp al, 0x3a
je 0x4195f6
cmp al, 0x1a
jne 0x41968c
lodsb al, byte [esi]
cmp al, 3
jne 0x419542
mov ebx, 0x43219b
movzx eax, byte [esi]
xlatb
ror eax, 8
mov al, byte [esi + 1]
xlatb
ror eax, 8
mov al, byte [esi + 2]
xlatb
ror eax, 0x10
cmp eax, 0x757165
je 0x419873
mov al, 3
mov ch, 1
mov cl, al
call fcn.0041969a
jb 0x41968c
push edx
push esi
mov esi, dword [0x432060]
mov dword [0x432064], esi
sub dword [0x432064], 2
mov cl, byte [esi - 1]
mov ch, 2
call fcn.0041969a
jb 0x4195cb
test edx, edx
je 0x4188ab
mov ecx, dword [edx + 0xc]
add ecx, 3
lea ebx, [edi + ecx]
mov ecx, edi
sub ecx, dword [0x432064]
lea esi, [edi - 1]
lea edi, [ebx - 1]
std
rep movsb byte es:[edi], byte [esi]
cld
mov edi, dword [0x432064]
mov esi, dword [edx + 8]
mov ecx, dword [edx + 0xc]
add dword [0x432060], ecx
add dword [0x432060], 3
call fcn.00419c96
mov al, 0x3a
stosb byte es:[edi], al
mov ax, 0x3b
stosw word es:[edi], ax
mov edi, ebx
pop esi
add esi, dword [edx + 0xc]
add esi, 3
pop edx
jmp 0x419f5b
mov edx, dword [0x432060]
movzx eax, byte [edx - 1]
add edx, eax
push edi
lea esi, [edi - 1]
mov ecx, edi
sub ecx, edx
std
rep movsb byte es:[edi], byte [esi]
cld
pop edi
inc edi
mov al, 0x3a
mov byte [edx], al
inc al
mov byte [edx + 1], al
pop esi
pop edx
inc esi
jmp 0x419f5b
dec esi
sub esi, ecx
lea ebp, [esi - 2]
mov ch, 2
call fcn.0041969a
jae 0x419618
lea esi, [esi + ecx + 1]
cmp byte [esi], 0x3a
jne 0x4194b5
inc esi
jmp 0x4194b5
test edx, edx
je 0x4188ab
mov ebx, dword [edx + 8]
mov ecx, dword [edx + 0xc]
add ecx, ebx
cmp ebx, ecx
je 0x41964b
cmp byte [ebx], 0x1a
jne 0x41964b
movzx eax, byte [ebx + 1]
lea ebx, [ebx + eax + 2]
cmp ebx, ecx
je 0x419652
cmp byte [ebx], 0x3a
jne 0x41964b
inc ebx
cmp byte [ebx], 0x3a
jne 0x419628
inc ebx
jmp 0x419628
call fcn.00419c5f
jmp 0x419697
mov ecx, edi
sub ecx, esi
mov edi, dword [edx + 0xc]
add edi, ebp
push edi
lea eax, [edi + ecx]
push eax
cmp esi, edi
je 0x419676
jb 0x41966a
rep movsb byte es:[edi], byte [esi]
jmp 0x419676
lea esi, [esi + ecx - 1]
lea edi, [edi + ecx - 1]
std
rep movsb byte es:[edi], byte [esi]
cld
mov ecx, dword [edx + 0xc]
mov edi, dword [esp + 4]
sub edi, ecx
mov esi, dword [edx + 8]
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
inc esi
jmp 0x4194b5
mov esi, dword [0x4320c4]
call fcn.00419c17
add edx, 5
add esi, 2
push edx
mov ch, 3
jmp 0x419884
add esi, 3
push esi
call fcn.00419c17
mov esi, dword [0x432060]
mov ch, 2
mov byte [esi - 2], 0x3b
mov cl, byte [esi - 1]
call fcn.0041976f
pop ebx
mov ecx, edi
dec ecx
sub ecx, ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ecx
jmp 0x419697
add esi, 2
lodsb al, byte [esi]
or al, al
je 0x419697
cmp al, 0x7b
jne 0x41875c
or byte [0x432195], 2
lodsb al, byte [esi]
cmp al, 0x1a
je 0x419aae
cmp al, 0x3b
je 0x419aae
cmp al, 0x22
je 0x419ab6
or al, al
je 0x419697
cmp al, 0x7d
jne 0x419a45
mov al, byte [0x432195]
and byte [0x432195], 0xf0
test al, 8
jne 0x41a0d0
cmp byte [esi], 0
je 0x419697
mov ecx, edi
sub ecx, esi
mov edx, esi
lea esi, [esi + ecx - 1]
lea edi, [edi + 0x11]
mov ebx, edi
dec edi
std
rep movsb byte es:[edi], byte [esi]
cld
mov edi, edx
xor al, al
stosb byte es:[edi], al
mov esi, dword [0x432048]
mov dword [0x432048], edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov edi, ebx
jmp 0x419497
movzx eax, byte [esi]
inc esi
add esi, eax
jmp 0x419a45
lodsd eax, dword [esi]
add esi, eax
jmp 0x419a45
push edi
push dword [0x432048]
push esi
mov eax, dword [0x4320b0]
mov dword [0x432048], eax
mov dword [0x43204c], eax
mov esi, dword [0x432068]
cmp byte [0x432177], 0x10
jae 0x41a40e
cmp byte [0x432177], 0
jne 0x41a23c
call fcn.0041a1ef
cmp eax, 0
jl 0x4187f2
push dword [0x43202c]
push dword [0x43205c]
mov dword [0x43205c], 0
push dword [0x4320a8]
mov dword [0x432060], 0
mov dword [0x4320a8], eax
lodsb al, byte [esi]
or al, al
je 0x41a194
cmp al, 0x7b
je 0x41a194
cmp al, 0x1a
jne 0x418748
lodsb al, byte [esi]
movzx ecx, al
xor eax, eax
call fcn.0041ab4c
add esi, ecx
xor eax, eax
mov dword [edx + 0xc], eax
inc eax
mov dword [edx + 8], eax
lodsb al, byte [esi]
cmp al, 0x3a
jne 0x41a185
push edx
call fcn.0041a1ef
mov edx, eax
add edx, dword [0x4320a8]
jo 0x4187f2
pop edx
mov dword [edx + 8], eax
lodsb al, byte [esi]
cmp al, 0x2c
jne 0x41a194
lodsb al, byte [esi]
cmp al, 0x1a
jne 0x418748
jmp 0x41a151
dec esi
cmp dword [0x4320a8], 0
je 0x41a1a5
xor eax, eax
call fcn.0041a5a1
pop dword [0x4320a8]
pop dword [0x43205c]
pop dword [0x43202c]
pop ebx
pop esi
pop edx
cmp byte [ebx], 0
je 0x419697
mov dword [0x432048], edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
test byte [0x432195], 0xf
je 0x41a1df
mov ax, 0x3b
stosw word es:[edi], ax
mov esi, ebx
sub edx, ebx
mov ecx, edx
call fcn.00419c96
jmp 0x419497
cmp byte [esi], 0x1a
jne 0x418748
movzx eax, byte [esi + 1]
lea esi, [esi + eax + 2]
lodsb al, byte [esi]
cmp byte [0x432177], 1
ja 0x41a288
cmp al, 0x3a
je 0x41a26e
cmp al, 0x3d
je 0x41a26e
cmp al, 0x2a
jne 0x41a264
lodsb al, byte [esi]
cmp al, 0x2c
jne 0x418748
jmp 0x41a2ab
xor ebp, ebp
or byte [0x432196], 0xff
call fcn.0041998c
cmp byte [esi], 0x2c
jne 0x418748
inc esi
jmp 0x41a2ab
cmp al, 0x2c
jne 0x418748
cmp byte [0x432177], 3
je 0x41a2ab
mov al, byte [esi]
or al, al
je 0x41a1b7
cmp al, 0x7b
je 0x41a1b7
xor eax, eax
push dword [0x43202c]
push dword [0x43205c]
mov dword [0x43205c], eax
push dword [0x4320a8]
mov dword [0x4320a8], eax
mov dword [0x432060], eax
cmp byte [0x432177], 3
je 0x41a36a
mov ebx, esi
cmp byte [0x432177], 2
je 0x41a316
mov edx, dword [0x43206c]
mov al, byte [edx]
push eax
mov byte [edx], 0
inc dword [0x4320a8]
mov esi, dword [0x432068]
inc esi
call fcn.00419ff3
cmp byte [ebx], 0x2c
jne 0x41a30c
inc ebx
jmp 0x41a2f2
mov esi, ebx
pop eax
mov byte [esi], al
jmp 0x41a19e
mov esi, dword [0x432068]
inc esi
lodsb al, byte [esi]
movzx ecx, al
inc dword [0x4320a8]
mov eax, dword [0x4320a8]
call fcn.0041ab4c
mov dword [edx + 0xc], ebx
cmp byte [ebx], 0x1a
je 0x41a34d
cmp byte [ebx], 0x22
je 0x41a345
mov eax, 1
jmp 0x41a354
mov eax, dword [ebx + 1]
add eax, 5
jmp 0x41a354
movzx eax, byte [ebx + 1]
add eax, 2
mov dword [edx + 8], eax
add ebx, eax
cmp byte [ebx], 0
je 0x41a363
cmp byte [ebx], 0x7b
jne 0x41a316
mov esi, ebx
jmp 0x41a19e
lodsb al, byte [esi]
cmp al, 0x1a
jne 0x418748
lodsb al, byte [esi]
mov ebp, esi
mov cl, al
mov ch, 2
call fcn.0041969a
jb 0x41a1a5
test edx, edx
je 0x418896
push edx
inc dword [0x4320a8]
mov dword [edx + 4], ebp
mov edx, dword [edx]
or edx, edx
je 0x41a3b3
mov eax, dword [edx + 4]
cmp eax, 1
jbe 0x41a397
mov esi, ebp
movzx ecx, byte [esi - 1]
xchg edi, eax
repe cmpsb byte [esi], byte es:[edi]
xchg edi, eax
je 0x41a38e
jmp 0x41a397
pop edx
push dword [0x4320a8]
push edx
mov esi, dword [0x432068]
inc esi
lodsb al, byte [esi]
movzx ecx, al
mov eax, dword [esp + 4]
call fcn.0041ab4c
mov ebx, edx
pop edx
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 8]
mov dword [ebx + 0xc], eax
mov dword [ebx + 8], ecx
mov edx, dword [edx]
or edx, edx
je 0x41a3ee
cmp ebp, dword [edx + 4]
jne 0x41a3de
dec dword [esp]
jne 0x41a3ba
pop eax
mov esi, ebp
movzx ecx, byte [esi - 1]
add esi, ecx
cmp byte [esi], 0
je 0x41a19e
cmp byte [esi], 0x7b
jne 0x418748
jmp 0x41a19e
mov ebx, esi
call fcn.00419b9a
call fcn.0041a4e1
mov edx, edi
mov al, byte [ebx]
cmp al, 0x1a
je 0x41a43b
cmp al, 0x2c
jne 0x41a1b7
cmp esi, dword [0x43206c]
je 0x41a54d
jmp 0x41a1b7
add edx, 0xc
cmp edx, dword [0x432004]
ja 0x4186d8
mov dword [edx - 0xc], ebx
mov dword [edx - 8], esi
call fcn.0041a4b7
jb 0x41a48d
mov dword [edx - 4], esi
movzx eax, byte [ebx + 1]
lea ebx, [ebx + eax + 2]
cmp byte [ebx], 0x1a
je 0x41a43b
call fcn.0041a4e1
cmp esi, dword [0x43206c]
je 0x41a544
cmp byte [ebx], 0x1a
je 0x41a43b
mov ebx, dword [edx - 0xc]
movzx eax, byte [ebx + 1]
lea ebx, [ebx + eax + 2]
mov esi, dword [edx - 4]
jmp 0x41a4ab
sub edx, 0xc
cmp edx, edi
je 0x41a1b7
mov ebx, dword [edx - 0xc]
movzx eax, byte [ebx + 1]
lea ebx, [ebx + eax + 2]
cmp byte [ebx], 0x1a
je 0x41a48d
mov esi, dword [edx - 4]
call fcn.0041a4b7
jb 0x41a48d
mov dword [edx - 4], esi
jmp 0x41a467
cmp byte [ebx], 0x2c
jne 0x41a1b7
xor eax, eax
push dword [0x43202c]
push dword [0x43205c]
mov dword [0x43205c], eax
push dword [0x4320a8]
mov dword [0x4320a8], eax
mov dword [0x432060], eax
push esi
push edi
push edx
cmp edi, dword [esp]
je 0x41a599
mov esi, dword [edi]
inc esi
lodsb al, byte [esi]
movzx ecx, al
xor eax, eax
call fcn.0041ab4c
mov eax, dword [edi + 4]
mov dword [edx + 0xc], eax
mov ecx, dword [edi + 8]
sub ecx, eax
mov dword [edx + 8], ecx
add edi, 0xc
jmp 0x41a573
pop edx
pop edi
pop esi
jmp 0x41a19e