Function at 0x40bff0
Capabilities:
Query environment variable
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x10
push esi
xor esi, esi
push edi
mov edi, eax
cmp edi, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], esi
jne 0x40c00e
pop edi
or eax, 0xffffffff
pop esi
add esp, 0x10
ret
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40c013
sub eax, edx
push ebx
mov ebx, eax
cmp ebx, esi
mov dword [esp + 0xc], ebx
jle 0x40ce72
push ebp
jmp 0x40c032
mov ebx, dword [esp + 0x10]
mov al, byte [esi + edi]
cmp al, 0x20
jg 0x40c03f
inc esi
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c047
cmp al, 0x2f
jne 0x40c0b3
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x73
jne 0x40c0b3
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c06d
mov edi, edi
cmp esi, ebx
jge 0x40c06d
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c060
mov ebx, dword [esp + 0x28]
xor edx, edx
cmp ebx, 1
jle 0x40cd9f
mov eax, 1
mov cl, byte [esi + edi]
cmp cl, 0x20
jle 0x40c09e
cmp esi, dword [esp + 0x10]
jge 0x40c09e
mov ebp, dword [esp + 0x24]
inc edx
mov byte [eax + ebp - 1], cl
inc eax
inc esi
cmp eax, ebx
jl 0x40c081
test edx, edx
jle 0x40cd9f
mov eax, dword [esp + 0x24]
mov byte [edx + eax], 0
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c0bb
cmp al, 0x2f
jne 0x40c12a
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x70
jne 0x40c12a
mov ebx, dword [esp + 0x2c]
push ebx
add esi, 2
lea ebp, [esi + edi]
push 0x41d7e4
push ebp
call fcn.00411057
add esp, 0xc
cmp eax, 1
je 0x40c0f0
mov dword [ebx], 0xffffffff
jmp 0x40cd9f
cmp byte [ebp], 0x20
jg 0x40c105
cmp esi, dword [esp + 0x10]
jge 0x40c105
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c0f6
cmp byte [esi + edi], 0x20
jle 0x40cd9f
mov eax, dword [esp + 0x10]
cmp esi, eax
jge 0x40cda9
mov cl, byte [esi + edi + 1]
inc esi
cmp cl, 0x20
jg 0x40c113
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c132
cmp al, 0x2f
jne 0x40c1a7
mov dl, byte [esi + edi + 1]
or dl, 0x20
cmp dl, 0x63
jne 0x40c1a7
mov ebx, dword [esp + 0x30]
push ebx
add esi, 2
lea ebp, [esi + edi]
push 0x41d7e4
push ebp
call fcn.00411057
add esp, 0xc
cmp eax, 1
je 0x40c167
mov dword [ebx], 0xffffffff
jmp 0x40cd9f
cmp byte [ebp], 0x20
jg 0x40c17f
lea ecx, [ecx]
cmp esi, dword [esp + 0x10]
jge 0x40c17f
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c170
cmp byte [esi + edi], 0x20
jle 0x40cd9f
mov eax, dword [esp + 0x10]
lea ecx, [ecx]
cmp esi, eax
jge 0x40cda9
mov cl, byte [esi + edi + 1]
inc esi
cmp cl, 0x20
jg 0x40c190
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c1af
cmp al, 0x2f
jne 0x40c220
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x67
jne 0x40c220
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c1d3
cmp esi, ebx
jge 0x40c1d3
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c1c6
mov ecx, dword [esp + 0x38]
mov eax, 1
xor edx, edx
cmp ecx, eax
jle 0x40cd9f
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x34]
mov edi, edi
mov cl, byte [esi + edi]
cmp cl, 0x20
jle 0x40c20b
cmp esi, ebx
jge 0x40c20b
inc edx
mov byte [eax + ebp - 1], cl
mov ecx, dword [esp + 0x38]
inc eax
inc esi
cmp eax, ecx
jl 0x40c1f0
test edx, edx
jle 0x40cd9f
mov eax, dword [esp + 0x34]
mov byte [edx + eax], 0
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c228
cmp al, 0x2f
jne 0x40c298
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x6c
jne 0x40c298
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c24d
nop
cmp esi, ebx
jge 0x40c24d
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c240
mov ecx, dword [esp + 0x40]
mov eax, 1
xor edx, edx
cmp ecx, eax
jle 0x40cd9f
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x3c]
mov cl, byte [esi + edi]
cmp cl, 0x20
jle 0x40c283
cmp esi, ebp
jge 0x40c283
inc edx
mov byte [eax + ebx - 1], cl
mov ecx, dword [esp + 0x40]
inc eax
inc esi
cmp eax, ecx
jl 0x40c268
test edx, edx
jle 0x40cd9f
mov eax, dword [esp + 0x3c]
mov byte [edx + eax], 0
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c2a4
cmp al, 0x2f
jne 0x40c317
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x77
jne 0x40c317
mov ebx, dword [esp + 0x44]
push ebx
add esi, 2
lea ebp, [esi + edi]
push 0x41d7e4
push ebp
call fcn.00411057
add esp, 0xc
cmp eax, 1
je 0x40c2d9
mov dword [ebx], 0x12c
jmp 0x40cd9f
cmp byte [ebp], 0x20
jg 0x40c2ef
nop
cmp esi, dword [esp + 0x10]
jge 0x40c2ef
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c2e0
cmp byte [esi + edi], 0x20
jle 0x40cd9f
mov eax, dword [esp + 0x10]
lea ecx, [ecx]
cmp esi, eax
jge 0x40cda9
mov cl, byte [esi + edi + 1]
inc esi
cmp cl, 0x20
jg 0x40c300
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c31f
cmp al, 0x2f
jne 0x40c38a
mov dl, byte [esi + edi + 1]
or dl, 0x20
cmp dl, 0x69
jne 0x40c38a
mov eax, dword [esp + 0x48]
push eax
add esi, 2
lea ebp, [esi + edi]
push 0x41d7e4
push ebp
call fcn.00411057
add esp, 0xc
cmp eax, 1
jne 0x40cd9f
cmp byte [ebp], 0x20
jg 0x40c365
mov eax, dword [esp + 0x10]
cmp esi, eax
jge 0x40c365
mov cl, byte [esi + edi + 1]
inc esi
cmp cl, 0x20
jle 0x40c357
cmp byte [esi + edi], 0x20
jle 0x40cd9f
mov eax, dword [esp + 0x10]
cmp esi, eax
jge 0x40cda9
mov cl, byte [esi + edi + 1]
inc esi
cmp cl, 0x20
jg 0x40c373
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c392
cmp al, 0x2f
jne 0x40c3ab
mov cl, byte [edi + esi + 1]
or cl, 0x20
cmp cl, 0x61
je 0x40ccce
cmp cl, 0x62
je 0x40ccd3
cmp al, 0x2d
je 0x40c3b7
cmp al, 0x2f
jne 0x40c46a
mov cl, byte [edi + esi + 1]
or cl, 0x20
cmp cl, 0x6f
jne 0x40c46a
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c3df
cmp esi, ebx
jge 0x40c3df
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c3d2
mov al, byte [esi + edi]
xor ebx, ebx
cmp al, 0x22
jne 0x40c3f0
mov edx, 1
inc esi
jmp 0x40c3f2
xor edx, edx
mov eax, dword [esp + 0x58]
mov ebp, 1
cmp eax, ebp
jle 0x40cd9f
mov ecx, dword [esp + 0x54]
sub ebp, ecx
lea esp, [esp]
test edx, edx
jne 0x40c41a
cmp byte [esi + edi], 0x20
jle 0x40c455
cmp esi, dword [esp + 0x10]
jge 0x40c455
cmp byte [esi + edi], 0x5c
jne 0x40c42e
cmp byte [edi + esi + 1], 0x22
jne 0x40c42e
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40c449
cmp al, 0x22
jne 0x40c449
cmp byte [esi + edi - 1], 0x5c
je 0x40c449
xor edx, edx
mov byte [ecx], dl
jmp 0x40c44b
inc ebx
inc ecx
lea eax, [ecx + ebp]
inc esi
cmp eax, dword [esp + 0x58]
jl 0x40c410
test ebx, ebx
jle 0x40cd9f
mov ecx, dword [esp + 0x54]
mov byte [ebx + ecx], 0
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c476
cmp al, 0x2f
jne 0x40c547
mov dl, byte [edi + esi + 1]
or dl, 0x20
cmp dl, 0x78
jne 0x40c547
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c49e
cmp esi, ebx
jge 0x40c49e
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c491
mov al, byte [esi + edi]
xor ebp, ebp
cmp al, 0x22
jne 0x40c4af
mov edx, 1
inc esi
jmp 0x40c4b1
xor edx, edx
cmp dword [esp + 0x60], 1
mov ebx, dword [esp + 0x5c]
jle 0x40c525
mov eax, 1
sub eax, ebx
mov ecx, ebx
mov dword [esp + 0x1c], eax
lea ecx, [ecx]
test edx, edx
jne 0x40c4df
mov al, byte [esi + edi]
cmp al, 0x2d
je 0x40c51d
cmp al, 0x2f
je 0x40c51d
cmp esi, dword [esp + 0x10]
jge 0x40c51d
cmp byte [esi + edi], 0x5c
jne 0x40c4f3
cmp byte [edi + esi + 1], 0x22
jne 0x40c4f3
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40c50e
cmp al, 0x22
jne 0x40c50e
cmp byte [esi + edi - 1], 0x5c
je 0x40c50e
xor edx, edx
mov byte [ecx], dl
jmp 0x40c510
inc ebp
inc ecx
mov eax, dword [esp + 0x1c]
add eax, ecx
inc esi
cmp eax, dword [esp + 0x60]
jl 0x40c4d0
test ebp, ebp
jle 0x40c525
mov byte [ebx + ebp], 0
dec ebp
js 0x40cd9f
lea esp, [esp]
cmp byte [ebx + ebp], 0x20
jne 0x40cd9f
dec ebp
mov byte [ebx + ebp + 1], 0
jns 0x40c530
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c553
cmp al, 0x2f
jne 0x40c601
mov cl, byte [edi + esi + 1]
or cl, 0x20
cmp cl, 0x79
jne 0x40c601
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c57d
mov edi, edi
cmp esi, ebx
jge 0x40c57d
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c570
mov al, byte [esi + edi]
xor ebx, ebx
cmp al, 0x22
jne 0x40c58e
mov edx, 1
inc esi
jmp 0x40c590
xor edx, edx
mov eax, dword [esp + 0x68]
mov ebp, 1
cmp eax, ebp
jle 0x40cd9f
mov ecx, dword [esp + 0x64]
sub ebp, ecx
test edx, edx
jne 0x40c5b1
cmp byte [esi + edi], 0x20
jle 0x40c5ec
cmp esi, dword [esp + 0x10]
jge 0x40c5ec
cmp byte [esi + edi], 0x5c
jne 0x40c5c5
cmp byte [edi + esi + 1], 0x22
jne 0x40c5c5
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40c5e0
cmp al, 0x22
jne 0x40c5e0
cmp byte [esi + edi - 1], 0x5c
je 0x40c5e0
xor edx, edx
mov byte [ecx], dl
jmp 0x40c5e2
inc ebx
inc ecx
lea eax, [ecx + ebp]
inc esi
cmp eax, dword [esp + 0x68]
jl 0x40c5a7
test ebx, ebx
jle 0x40cd9f
mov ecx, dword [esp + 0x64]
mov byte [ebx + ecx], 0
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c60d
cmp al, 0x2f
jne 0x40c6ca
mov dl, byte [edi + esi + 1]
or dl, 0x20
cmp dl, 0x7a
jne 0x40c6ca
mov cl, byte [esi + edi + 2]
or cl, 0x20
cmp cl, 0x74
jne 0x40c6ca
mov al, byte [esi + edi + 3]
add esi, 3
cmp al, 0x20
jg 0x40c645
cmp esi, ebx
jge 0x40c645
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c638
mov al, byte [esi + edi]
xor ebx, ebx
cmp al, 0x22
jne 0x40c656
mov edx, 1
inc esi
jmp 0x40c658
xor edx, edx
mov eax, dword [esp + 0x78]
mov ebp, 1
cmp eax, ebp
jle 0x40cd9f
mov ecx, dword [esp + 0x74]
sub ebp, ecx
nop
test edx, edx
jne 0x40c67a
cmp byte [esi + edi], 0x20
jle 0x40c6b5
cmp esi, dword [esp + 0x10]
jge 0x40c6b5
cmp byte [esi + edi], 0x5c
jne 0x40c68e
cmp byte [edi + esi + 1], 0x22
jne 0x40c68e
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40c6a9
cmp al, 0x22
jne 0x40c6a9
cmp byte [esi + edi - 1], 0x5c
je 0x40c6a9
xor edx, edx
mov byte [ecx], dl
jmp 0x40c6ab
inc ebx
inc ecx
lea eax, [ecx + ebp]
inc esi
cmp eax, dword [esp + 0x78]
jl 0x40c670
test ebx, ebx
jle 0x40cd9f
mov ecx, dword [esp + 0x74]
mov byte [ebx + ecx], 0
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c6d6
cmp al, 0x2f
jne 0x40c782
mov dl, byte [edi + esi + 1]
or dl, 0x20
cmp dl, 0x7a
jne 0x40c782
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c6fe
cmp esi, ebx
jge 0x40c6fe
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c6f1
mov al, byte [esi + edi]
xor ebx, ebx
cmp al, 0x22
jne 0x40c70f
mov edx, 1
inc esi
jmp 0x40c711
xor edx, edx
mov eax, dword [esp + 0x70]
mov ebp, 1
cmp eax, ebp
jle 0x40cd9f
mov ecx, dword [esp + 0x6c]
sub ebp, ecx
test edx, edx
jne 0x40c732
cmp byte [esi + edi], 0x20
jle 0x40c76d
cmp esi, dword [esp + 0x10]
jge 0x40c76d
cmp byte [esi + edi], 0x5c
jne 0x40c746
cmp byte [edi + esi + 1], 0x22
jne 0x40c746
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40c761
cmp al, 0x22
jne 0x40c761
cmp byte [esi + edi - 1], 0x5c
je 0x40c761
xor edx, edx
mov byte [ecx], dl
jmp 0x40c763
inc ebx
inc ecx
lea eax, [ecx + ebp]
inc esi
cmp eax, dword [esp + 0x70]
jl 0x40c728
test ebx, ebx
jle 0x40cd9f
mov ecx, dword [esp + 0x6c]
mov byte [ebx + ecx], 0
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c78e
cmp al, 0x2f
jne 0x40c819
mov dl, byte [esi + edi + 1]
or dl, 0x20
cmp dl, 0x6b
jne 0x40c819
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c7bd
lea esp, [esp]
cmp esi, ebx
jge 0x40c7bd
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c7b0
mov ebx, dword [esp + 0x80]
xor edx, edx
cmp ebx, 1
jle 0x40cd9f
mov ecx, 1
mov al, byte [esi + edi]
cmp al, 0x30
jl 0x40c7df
cmp al, 0x39
jle 0x40c7ef
cmp al, 0x41
jl 0x40c7e7
cmp al, 0x46
jle 0x40c7ef
cmp al, 0x61
jl 0x40c804
cmp al, 0x66
jg 0x40c804
cmp esi, dword [esp + 0x10]
jge 0x40c804
mov ebp, dword [esp + 0x7c]
inc edx
mov byte [ecx + ebp - 1], al
inc ecx
inc esi
cmp ecx, ebx
jl 0x40c7d4
test edx, edx
jle 0x40cd9f
mov eax, dword [esp + 0x7c]
mov byte [edx + eax], 0
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c821
cmp al, 0x2f
jne 0x40c84a
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x72
jne 0x40c84a
mov edx, dword [esp + 0x8c]
add esi, 2
mov dword [edx], 1
mov dword [esp + 0x14], 1
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c852
cmp al, 0x2f
jne 0x40c873
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x65
jne 0x40c873
mov edx, dword [esp + 0x98]
add esi, 2
mov dword [edx], 1
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c87f
cmp al, 0x2f
jne 0x40c97e
mov cl, byte [edi + esi + 1]
or cl, 0x20
cmp cl, 0x74
jne 0x40c97e
mov eax, dword [esp + 0x9c]
mov edx, 1
add esi, 2
mov dword [eax], edx
cmp byte [esi + edi], 0x20
mov dword [esp + 0x14], edx
jg 0x40c8bd
lea ebx, [ebx]
cmp esi, ebx
jge 0x40c8bd
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c8b0
mov al, byte [esi + edi]
xor ebp, ebp
cmp al, 0x22
jne 0x40cd9f
mov eax, dword [esp + 0xa4]
inc esi
cmp eax, edx
jle 0x40c94f
mov ecx, dword [esp + 0xa0]
mov ebx, 1
sub ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x40c8f2
mov ebx, dword [esp + 0x1c]
test edx, edx
jne 0x40c901
mov al, byte [esi + edi]
cmp al, 0x2d
je 0x40c940
cmp al, 0x2f
je 0x40c940
cmp esi, dword [esp + 0x10]
jge 0x40c940
cmp byte [esi + edi], 0x5c
jne 0x40c915
cmp byte [edi + esi + 1], 0x22
jne 0x40c915
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40c930
cmp al, 0x22
jne 0x40c930
cmp byte [esi + edi - 1], 0x5c
je 0x40c930
xor edx, edx
mov byte [ecx], dl
jmp 0x40c932
inc ebp
inc ecx
mov eax, dword [esp + 0xa4]
add ebx, ecx
inc esi
cmp ebx, eax
jl 0x40c8ee
test ebp, ebp
jle 0x40c94f
mov ecx, dword [esp + 0xa0]
mov byte [ecx + ebp], 0
dec ebp
js 0x40cd9f
mov eax, dword [esp + 0xa0]
lea ecx, [ecx]
cmp byte [eax + ebp], 0x20
jne 0x40cd9f
dec ebp
mov eax, dword [esp + 0xa0]
mov byte [eax + ebp + 1], 0
jns 0x40c960
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c986
cmp al, 0x2f
jne 0x40c9a7
mov dl, byte [esi + edi + 1]
or dl, 0x20
cmp dl, 0x66
jne 0x40c9a7
mov eax, dword [esp + 0xa8]
add esi, 2
mov dword [eax], 1
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c9af
cmp al, 0x2f
jne 0x40c9dc
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x6d
jne 0x40c9dc
mov dl, byte [esi + edi + 2]
or dl, 0x20
cmp dl, 0x77
jne 0x40c9dc
mov eax, dword [esp + 0xac]
add esi, 3
mov dword [eax], 1
jmp 0x40cd9f
cmp al, 0x2d
je 0x40c9e8
cmp al, 0x2f
jne 0x40cafe
mov cl, byte [edi + esi + 1]
or cl, 0x20
cmp cl, 0x6d
jne 0x40cafe
mov dl, byte [esi + edi + 2]
or dl, 0x20
cmp dl, 0x6b
jne 0x40cafe
mov eax, dword [esp + 0xac]
add esi, 3
mov dword [eax], 2
cmp byte [esi + edi], 0x20
jg 0x40ca2d
mov edi, edi
cmp esi, ebx
jge 0x40ca2d
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40ca20
mov al, byte [esi + edi]
cmp al, 0x2d
je 0x40cd9f
cmp al, 0x2f
je 0x40cd9f
xor ebp, ebp
cmp al, 0x22
jne 0x40ca4e
mov edx, 1
inc esi
jmp 0x40ca50
xor edx, edx
cmp dword [esp + 0xb4], 1
jle 0x40cace
mov ecx, dword [esp + 0xb0]
mov ebx, 1
sub ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x40ca76
mov ebx, dword [esp + 0x1c]
test edx, edx
jne 0x40ca80
cmp byte [esi + edi], 0x20
jle 0x40cabf
cmp esi, dword [esp + 0x10]
jge 0x40cabf
cmp byte [esi + edi], 0x5c
jne 0x40ca94
cmp byte [edi + esi + 1], 0x22
jne 0x40ca94
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40caaf
cmp al, 0x22
jne 0x40caaf
cmp byte [esi + edi - 1], 0x5c
je 0x40caaf
xor edx, edx
mov byte [ecx], dl
jmp 0x40cab1
inc ebp
inc ecx
mov eax, dword [esp + 0xb4]
add ebx, ecx
inc esi
cmp ebx, eax
jl 0x40ca72
test ebp, ebp
jle 0x40cace
mov ecx, dword [esp + 0xb0]
mov byte [ecx + ebp], 0
dec ebp
js 0x40cd9f
mov eax, dword [esp + 0xb0]
lea esp, [esp]
cmp byte [eax + ebp], 0x20
jne 0x40cd9f
dec ebp
mov eax, dword [esp + 0xb0]
mov byte [eax + ebp + 1], 0
jns 0x40cae0
jmp 0x40cd9f
cmp al, 0x2d
je 0x40cb0a
cmp al, 0x2f
jne 0x40cb7c
mov dl, byte [esi + edi + 1]
or dl, 0x20
cmp dl, 0x64
jne 0x40cb7c
mov ebx, dword [esp + 0xb8]
push ebx
add esi, 2
lea ebp, [esi + edi]
push 0x41d7e4
push ebp
call fcn.00411057
add esp, 0xc
cmp eax, 1
je 0x40cb42
mov dword [ebx], 0
jmp 0x40cd9f
cmp byte [ebp], 0x20
jg 0x40cb57
cmp esi, dword [esp + 0x10]
jge 0x40cb57
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40cb48
cmp byte [esi + edi], 0x20
jle 0x40cd9f
mov eax, dword [esp + 0x10]
cmp esi, eax
jge 0x40cda9
mov cl, byte [esi + edi + 1]
inc esi
cmp cl, 0x20
jg 0x40cb65
jmp 0x40cd9f
cmp al, 0x2d
je 0x40cb84
cmp al, 0x2f
jne 0x40cba5
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x6a
jne 0x40cba5
mov edx, dword [esp + 0xbc]
add esi, 2
mov dword [edx], 1
jmp 0x40cd9f
cmp al, 0x2d
je 0x40cbb1
cmp al, 0x2f
jne 0x40cc70
mov cl, byte [edi + esi + 1]
or cl, 0x20
cmp cl, 0x75
jne 0x40cc70
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40cbdd
lea esp, [esp]
cmp esi, ebx
jge 0x40cbdd
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40cbd0
mov al, byte [esi + edi]
xor ebx, ebx
cmp al, 0x22
jne 0x40cbee
mov edx, 1
inc esi
jmp 0x40cbf0
xor edx, edx
mov eax, dword [esp + 0x88]
mov ebp, 1
cmp eax, ebp
jle 0x40cd9f
mov ecx, dword [esp + 0x84]
sub ebp, ecx
lea ecx, [ecx]
test edx, edx
jne 0x40cc1a
cmp byte [esi + edi], 0x20
jle 0x40cc58
cmp esi, dword [esp + 0x10]
jge 0x40cc58
cmp byte [esi + edi], 0x5c
jne 0x40cc2e
cmp byte [edi + esi + 1], 0x22
jne 0x40cc2e
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40cc49
cmp al, 0x22
jne 0x40cc49
cmp byte [esi + edi - 1], 0x5c
je 0x40cc49
xor edx, edx
mov byte [ecx], dl
jmp 0x40cc4b
inc ebx
inc ecx
lea eax, [ecx + ebp]
inc esi
cmp eax, dword [esp + 0x88]
jl 0x40cc10
test ebx, ebx
jle 0x40cd9f
mov ecx, dword [esp + 0x84]
mov byte [ebx + ecx], 0
jmp 0x40cd9f
cmp al, 0x2d
je 0x40cc78
cmp al, 0x2f
jne 0x40cc99
mov dl, byte [esi + edi + 1]
or dl, 0x20
cmp dl, 0x76
jne 0x40cc99
mov eax, dword [esp + 0xc0]
add esi, 2
mov dword [eax], 1
jmp 0x40cd9f
cmp al, 0x2d
je 0x40cca1
cmp al, 0x2f
jne 0x40ccb3
mov al, byte [esi + edi + 1]
mov cl, al
or cl, 0x20
cmp cl, 0x68
je 0x40ccb9
cmp al, 0x3f
je 0x40ccb9
inc esi
jmp 0x40cd9f
mov edx, dword [esp + 0xc4]
add esi, 2
mov dword [edx], 1
jmp 0x40cd9f
cmp cl, 0x62
jne 0x40ccdb
mov dword [esp + 0x18], 1
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40ccf3
cmp esi, ebx
jge 0x40ccf3
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40cce6
mov al, byte [esi + edi]
xor ebp, ebp
cmp al, 0x22
jne 0x40cd04
mov edx, 1
inc esi
jmp 0x40cd06
xor edx, edx
cmp dword [esp + 0x50], 1
mov ebx, dword [esp + 0x4c]
jle 0x40cd77
mov eax, 1
sub eax, ebx
mov ecx, ebx
mov dword [esp + 0x1c], eax
test edx, edx
jne 0x40cd31
mov al, byte [esi + edi]
cmp al, 0x2d
je 0x40cd6f
cmp al, 0x2f
je 0x40cd6f
cmp esi, dword [esp + 0x10]
jge 0x40cd6f
cmp byte [esi + edi], 0x5c
jne 0x40cd45
cmp byte [edi + esi + 1], 0x22
jne 0x40cd45
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40cd60
cmp al, 0x22
jne 0x40cd60
cmp byte [esi + edi - 1], 0x5c
je 0x40cd60
xor edx, edx
mov byte [ecx], dl
jmp 0x40cd62
inc ebp
inc ecx
mov eax, dword [esp + 0x1c]
add eax, ecx
inc esi
cmp eax, dword [esp + 0x50]
jl 0x40cd22
test ebp, ebp
jle 0x40cd77
mov byte [ebx + ebp], 0
dec ebp
js 0x40cd8e
lea ebx, [ebx]
cmp byte [ebx + ebp], 0x20
jne 0x40cd8e
dec ebp
mov byte [ebx + ebp + 1], 0
jns 0x40cd80
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40cd9f
push ebx
call fcn.004093e0
add esp, 4
cmp esi, dword [esp + 0x10]
jl 0x40c02e
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40ce71
mov ebx, dword [esp + 0x90]
test ebx, ebx
je 0x40ce71
mov ebp, dword [esp + 0x94]
mov edi, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea esi, [ebp - 1]
push esi
push ebx
push str.TEMP
call edi
test eax, eax
jle 0x40ce23
lea ecx, [ebp - 1]
cmp eax, ecx
jge 0x40ce23
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40cdf0
sub eax, edx
cmp byte [eax + ebx - 1], 0x5c
je 0x40ce71
dec ebx
mov edi, ebx
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40ce07
mov dx, word [0x41d788]
pop ebp
pop ebx
mov word [edi], dx
pop edi
xor eax, eax
pop esi
add esp, 0x10
ret
push esi
push ebx
push 0x41df3c
call edi
test eax, eax
jle 0x40ce6e
dec ebp
cmp eax, ebp
jge 0x40ce6e
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40ce40
sub eax, edx
cmp byte [eax + ebx - 1], 0x5c
je 0x40ce71
dec ebx
mov edi, ebx
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40ce53
mov ax, word [0x41d788]
pop ebp
pop ebx
mov word [edi], ax
pop edi
xor eax, eax
pop esi
add esp, 0x10
ret
mov byte [ebx], 0
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x10
ret