Function at 0x40c4e0
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 0x40c4fe
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 0x40c503
sub eax, edx
push ebx
mov ebx, eax
cmp ebx, esi
mov dword [esp + 0xc], ebx
jle 0x40d362
push ebp
jmp 0x40c522
mov ebx, dword [esp + 0x10]
mov al, byte [esi + edi]
cmp al, 0x20
jg 0x40c52f
inc esi
jmp 0x40d28f
cmp al, 0x2d
je 0x40c537
cmp al, 0x2f
jne 0x40c5a3
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x73
jne 0x40c5a3
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c55d
mov edi, edi
cmp esi, ebx
jge 0x40c55d
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c550
mov ebx, dword [esp + 0x28]
xor edx, edx
cmp ebx, 1
jle 0x40d28f
mov eax, 1
mov cl, byte [esi + edi]
cmp cl, 0x20
jle 0x40c58e
cmp esi, dword [esp + 0x10]
jge 0x40c58e
mov ebp, dword [esp + 0x24]
inc edx
mov byte [eax + ebp - 1], cl
inc eax
inc esi
cmp eax, ebx
jl 0x40c571
test edx, edx
jle 0x40d28f
mov eax, dword [esp + 0x24]
mov byte [edx + eax], 0
jmp 0x40d28f
cmp al, 0x2d
je 0x40c5ab
cmp al, 0x2f
jne 0x40c61a
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x70
jne 0x40c61a
mov ebx, dword [esp + 0x2c]
push ebx
add esi, 2
lea ebp, [esi + edi]
push 0x41e89c
push ebp
call fcn.00412065
add esp, 0xc
cmp eax, 1
je 0x40c5e0
mov dword [ebx], 0xffffffff
jmp 0x40d28f
cmp byte [ebp], 0x20
jg 0x40c5f5
cmp esi, dword [esp + 0x10]
jge 0x40c5f5
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c5e6
cmp byte [esi + edi], 0x20
jle 0x40d28f
mov eax, dword [esp + 0x10]
cmp esi, eax
jge 0x40d299
mov cl, byte [esi + edi + 1]
inc esi
cmp cl, 0x20
jg 0x40c603
jmp 0x40d28f
cmp al, 0x2d
je 0x40c622
cmp al, 0x2f
jne 0x40c697
mov dl, byte [esi + edi + 1]
or dl, 0x20
cmp dl, 0x63
jne 0x40c697
mov ebx, dword [esp + 0x30]
push ebx
add esi, 2
lea ebp, [esi + edi]
push 0x41e89c
push ebp
call fcn.00412065
add esp, 0xc
cmp eax, 1
je 0x40c657
mov dword [ebx], 0xffffffff
jmp 0x40d28f
cmp byte [ebp], 0x20
jg 0x40c66f
lea ecx, [ecx]
cmp esi, dword [esp + 0x10]
jge 0x40c66f
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c660
cmp byte [esi + edi], 0x20
jle 0x40d28f
mov eax, dword [esp + 0x10]
lea ecx, [ecx]
cmp esi, eax
jge 0x40d299
mov cl, byte [esi + edi + 1]
inc esi
cmp cl, 0x20
jg 0x40c680
jmp 0x40d28f
cmp al, 0x2d
je 0x40c69f
cmp al, 0x2f
jne 0x40c710
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x67
jne 0x40c710
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c6c3
cmp esi, ebx
jge 0x40c6c3
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c6b6
mov ecx, dword [esp + 0x38]
mov eax, 1
xor edx, edx
cmp ecx, eax
jle 0x40d28f
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x34]
mov edi, edi
mov cl, byte [esi + edi]
cmp cl, 0x20
jle 0x40c6fb
cmp esi, ebx
jge 0x40c6fb
inc edx
mov byte [eax + ebp - 1], cl
mov ecx, dword [esp + 0x38]
inc eax
inc esi
cmp eax, ecx
jl 0x40c6e0
test edx, edx
jle 0x40d28f
mov eax, dword [esp + 0x34]
mov byte [edx + eax], 0
jmp 0x40d28f
cmp al, 0x2d
je 0x40c718
cmp al, 0x2f
jne 0x40c788
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x6c
jne 0x40c788
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c73d
nop
cmp esi, ebx
jge 0x40c73d
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c730
mov ecx, dword [esp + 0x40]
mov eax, 1
xor edx, edx
cmp ecx, eax
jle 0x40d28f
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x3c]
mov cl, byte [esi + edi]
cmp cl, 0x20
jle 0x40c773
cmp esi, ebp
jge 0x40c773
inc edx
mov byte [eax + ebx - 1], cl
mov ecx, dword [esp + 0x40]
inc eax
inc esi
cmp eax, ecx
jl 0x40c758
test edx, edx
jle 0x40d28f
mov eax, dword [esp + 0x3c]
mov byte [edx + eax], 0
jmp 0x40d28f
cmp al, 0x2d
je 0x40c794
cmp al, 0x2f
jne 0x40c807
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x77
jne 0x40c807
mov ebx, dword [esp + 0x44]
push ebx
add esi, 2
lea ebp, [esi + edi]
push 0x41e89c
push ebp
call fcn.00412065
add esp, 0xc
cmp eax, 1
je 0x40c7c9
mov dword [ebx], 0x12c
jmp 0x40d28f
cmp byte [ebp], 0x20
jg 0x40c7df
nop
cmp esi, dword [esp + 0x10]
jge 0x40c7df
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c7d0
cmp byte [esi + edi], 0x20
jle 0x40d28f
mov eax, dword [esp + 0x10]
lea ecx, [ecx]
cmp esi, eax
jge 0x40d299
mov cl, byte [esi + edi + 1]
inc esi
cmp cl, 0x20
jg 0x40c7f0
jmp 0x40d28f
cmp al, 0x2d
je 0x40c80f
cmp al, 0x2f
jne 0x40c87a
mov dl, byte [esi + edi + 1]
or dl, 0x20
cmp dl, 0x69
jne 0x40c87a
mov eax, dword [esp + 0x48]
push eax
add esi, 2
lea ebp, [esi + edi]
push 0x41e89c
push ebp
call fcn.00412065
add esp, 0xc
cmp eax, 1
jne 0x40d28f
cmp byte [ebp], 0x20
jg 0x40c855
mov eax, dword [esp + 0x10]
cmp esi, eax
jge 0x40c855
mov cl, byte [esi + edi + 1]
inc esi
cmp cl, 0x20
jle 0x40c847
cmp byte [esi + edi], 0x20
jle 0x40d28f
mov eax, dword [esp + 0x10]
cmp esi, eax
jge 0x40d299
mov cl, byte [esi + edi + 1]
inc esi
cmp cl, 0x20
jg 0x40c863
jmp 0x40d28f
cmp al, 0x2d
je 0x40c882
cmp al, 0x2f
jne 0x40c89b
mov cl, byte [edi + esi + 1]
or cl, 0x20
cmp cl, 0x61
je 0x40d1be
cmp cl, 0x62
je 0x40d1c3
cmp al, 0x2d
je 0x40c8a7
cmp al, 0x2f
jne 0x40c95a
mov cl, byte [edi + esi + 1]
or cl, 0x20
cmp cl, 0x6f
jne 0x40c95a
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c8cf
cmp esi, ebx
jge 0x40c8cf
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c8c2
mov al, byte [esi + edi]
xor ebx, ebx
cmp al, 0x22
jne 0x40c8e0
mov edx, 1
inc esi
jmp 0x40c8e2
xor edx, edx
mov eax, dword [esp + 0x58]
mov ebp, 1
cmp eax, ebp
jle 0x40d28f
mov ecx, dword [esp + 0x54]
sub ebp, ecx
lea esp, [esp]
test edx, edx
jne 0x40c90a
cmp byte [esi + edi], 0x20
jle 0x40c945
cmp esi, dword [esp + 0x10]
jge 0x40c945
cmp byte [esi + edi], 0x5c
jne 0x40c91e
cmp byte [edi + esi + 1], 0x22
jne 0x40c91e
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40c939
cmp al, 0x22
jne 0x40c939
cmp byte [esi + edi - 1], 0x5c
je 0x40c939
xor edx, edx
mov byte [ecx], dl
jmp 0x40c93b
inc ebx
inc ecx
lea eax, [ecx + ebp]
inc esi
cmp eax, dword [esp + 0x58]
jl 0x40c900
test ebx, ebx
jle 0x40d28f
mov ecx, dword [esp + 0x54]
mov byte [ebx + ecx], 0
jmp 0x40d28f
cmp al, 0x2d
je 0x40c966
cmp al, 0x2f
jne 0x40ca37
mov dl, byte [edi + esi + 1]
or dl, 0x20
cmp dl, 0x78
jne 0x40ca37
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40c98e
cmp esi, ebx
jge 0x40c98e
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40c981
mov al, byte [esi + edi]
xor ebp, ebp
cmp al, 0x22
jne 0x40c99f
mov edx, 1
inc esi
jmp 0x40c9a1
xor edx, edx
cmp dword [esp + 0x60], 1
mov ebx, dword [esp + 0x5c]
jle 0x40ca15
mov eax, 1
sub eax, ebx
mov ecx, ebx
mov dword [esp + 0x1c], eax
lea ecx, [ecx]
test edx, edx
jne 0x40c9cf
mov al, byte [esi + edi]
cmp al, 0x2d
je 0x40ca0d
cmp al, 0x2f
je 0x40ca0d
cmp esi, dword [esp + 0x10]
jge 0x40ca0d
cmp byte [esi + edi], 0x5c
jne 0x40c9e3
cmp byte [edi + esi + 1], 0x22
jne 0x40c9e3
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40c9fe
cmp al, 0x22
jne 0x40c9fe
cmp byte [esi + edi - 1], 0x5c
je 0x40c9fe
xor edx, edx
mov byte [ecx], dl
jmp 0x40ca00
inc ebp
inc ecx
mov eax, dword [esp + 0x1c]
add eax, ecx
inc esi
cmp eax, dword [esp + 0x60]
jl 0x40c9c0
test ebp, ebp
jle 0x40ca15
mov byte [ebx + ebp], 0
dec ebp
js 0x40d28f
lea esp, [esp]
cmp byte [ebx + ebp], 0x20
jne 0x40d28f
dec ebp
mov byte [ebx + ebp + 1], 0
jns 0x40ca20
jmp 0x40d28f
cmp al, 0x2d
je 0x40ca43
cmp al, 0x2f
jne 0x40caf1
mov cl, byte [edi + esi + 1]
or cl, 0x20
cmp cl, 0x79
jne 0x40caf1
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40ca6d
mov edi, edi
cmp esi, ebx
jge 0x40ca6d
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40ca60
mov al, byte [esi + edi]
xor ebx, ebx
cmp al, 0x22
jne 0x40ca7e
mov edx, 1
inc esi
jmp 0x40ca80
xor edx, edx
mov eax, dword [esp + 0x68]
mov ebp, 1
cmp eax, ebp
jle 0x40d28f
mov ecx, dword [esp + 0x64]
sub ebp, ecx
test edx, edx
jne 0x40caa1
cmp byte [esi + edi], 0x20
jle 0x40cadc
cmp esi, dword [esp + 0x10]
jge 0x40cadc
cmp byte [esi + edi], 0x5c
jne 0x40cab5
cmp byte [edi + esi + 1], 0x22
jne 0x40cab5
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40cad0
cmp al, 0x22
jne 0x40cad0
cmp byte [esi + edi - 1], 0x5c
je 0x40cad0
xor edx, edx
mov byte [ecx], dl
jmp 0x40cad2
inc ebx
inc ecx
lea eax, [ecx + ebp]
inc esi
cmp eax, dword [esp + 0x68]
jl 0x40ca97
test ebx, ebx
jle 0x40d28f
mov ecx, dword [esp + 0x64]
mov byte [ebx + ecx], 0
jmp 0x40d28f
cmp al, 0x2d
je 0x40cafd
cmp al, 0x2f
jne 0x40cbba
mov dl, byte [edi + esi + 1]
or dl, 0x20
cmp dl, 0x7a
jne 0x40cbba
mov cl, byte [esi + edi + 2]
or cl, 0x20
cmp cl, 0x74
jne 0x40cbba
mov al, byte [esi + edi + 3]
add esi, 3
cmp al, 0x20
jg 0x40cb35
cmp esi, ebx
jge 0x40cb35
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40cb28
mov al, byte [esi + edi]
xor ebx, ebx
cmp al, 0x22
jne 0x40cb46
mov edx, 1
inc esi
jmp 0x40cb48
xor edx, edx
mov eax, dword [esp + 0x78]
mov ebp, 1
cmp eax, ebp
jle 0x40d28f
mov ecx, dword [esp + 0x74]
sub ebp, ecx
nop
test edx, edx
jne 0x40cb6a
cmp byte [esi + edi], 0x20
jle 0x40cba5
cmp esi, dword [esp + 0x10]
jge 0x40cba5
cmp byte [esi + edi], 0x5c
jne 0x40cb7e
cmp byte [edi + esi + 1], 0x22
jne 0x40cb7e
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40cb99
cmp al, 0x22
jne 0x40cb99
cmp byte [esi + edi - 1], 0x5c
je 0x40cb99
xor edx, edx
mov byte [ecx], dl
jmp 0x40cb9b
inc ebx
inc ecx
lea eax, [ecx + ebp]
inc esi
cmp eax, dword [esp + 0x78]
jl 0x40cb60
test ebx, ebx
jle 0x40d28f
mov ecx, dword [esp + 0x74]
mov byte [ebx + ecx], 0
jmp 0x40d28f
cmp al, 0x2d
je 0x40cbc6
cmp al, 0x2f
jne 0x40cc72
mov dl, byte [edi + esi + 1]
or dl, 0x20
cmp dl, 0x7a
jne 0x40cc72
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40cbee
cmp esi, ebx
jge 0x40cbee
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40cbe1
mov al, byte [esi + edi]
xor ebx, ebx
cmp al, 0x22
jne 0x40cbff
mov edx, 1
inc esi
jmp 0x40cc01
xor edx, edx
mov eax, dword [esp + 0x70]
mov ebp, 1
cmp eax, ebp
jle 0x40d28f
mov ecx, dword [esp + 0x6c]
sub ebp, ecx
test edx, edx
jne 0x40cc22
cmp byte [esi + edi], 0x20
jle 0x40cc5d
cmp esi, dword [esp + 0x10]
jge 0x40cc5d
cmp byte [esi + edi], 0x5c
jne 0x40cc36
cmp byte [edi + esi + 1], 0x22
jne 0x40cc36
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40cc51
cmp al, 0x22
jne 0x40cc51
cmp byte [esi + edi - 1], 0x5c
je 0x40cc51
xor edx, edx
mov byte [ecx], dl
jmp 0x40cc53
inc ebx
inc ecx
lea eax, [ecx + ebp]
inc esi
cmp eax, dword [esp + 0x70]
jl 0x40cc18
test ebx, ebx
jle 0x40d28f
mov ecx, dword [esp + 0x6c]
mov byte [ebx + ecx], 0
jmp 0x40d28f
cmp al, 0x2d
je 0x40cc7e
cmp al, 0x2f
jne 0x40cd09
mov dl, byte [esi + edi + 1]
or dl, 0x20
cmp dl, 0x6b
jne 0x40cd09
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40ccad
lea esp, [esp]
cmp esi, ebx
jge 0x40ccad
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40cca0
mov ebx, dword [esp + 0x80]
xor edx, edx
cmp ebx, 1
jle 0x40d28f
mov ecx, 1
mov al, byte [esi + edi]
cmp al, 0x30
jl 0x40cccf
cmp al, 0x39
jle 0x40ccdf
cmp al, 0x41
jl 0x40ccd7
cmp al, 0x46
jle 0x40ccdf
cmp al, 0x61
jl 0x40ccf4
cmp al, 0x66
jg 0x40ccf4
cmp esi, dword [esp + 0x10]
jge 0x40ccf4
mov ebp, dword [esp + 0x7c]
inc edx
mov byte [ecx + ebp - 1], al
inc ecx
inc esi
cmp ecx, ebx
jl 0x40ccc4
test edx, edx
jle 0x40d28f
mov eax, dword [esp + 0x7c]
mov byte [edx + eax], 0
jmp 0x40d28f
cmp al, 0x2d
je 0x40cd11
cmp al, 0x2f
jne 0x40cd3a
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x72
jne 0x40cd3a
mov edx, dword [esp + 0x8c]
add esi, 2
mov dword [edx], 1
mov dword [esp + 0x14], 1
jmp 0x40d28f
cmp al, 0x2d
je 0x40cd42
cmp al, 0x2f
jne 0x40cd63
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x65
jne 0x40cd63
mov edx, dword [esp + 0x98]
add esi, 2
mov dword [edx], 1
jmp 0x40d28f
cmp al, 0x2d
je 0x40cd6f
cmp al, 0x2f
jne 0x40ce6e
mov cl, byte [edi + esi + 1]
or cl, 0x20
cmp cl, 0x74
jne 0x40ce6e
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 0x40cdad
lea ebx, [ebx]
cmp esi, ebx
jge 0x40cdad
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40cda0
mov al, byte [esi + edi]
xor ebp, ebp
cmp al, 0x22
jne 0x40d28f
mov eax, dword [esp + 0xa4]
inc esi
cmp eax, edx
jle 0x40ce3f
mov ecx, dword [esp + 0xa0]
mov ebx, 1
sub ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x40cde2
mov ebx, dword [esp + 0x1c]
test edx, edx
jne 0x40cdf1
mov al, byte [esi + edi]
cmp al, 0x2d
je 0x40ce30
cmp al, 0x2f
je 0x40ce30
cmp esi, dword [esp + 0x10]
jge 0x40ce30
cmp byte [esi + edi], 0x5c
jne 0x40ce05
cmp byte [edi + esi + 1], 0x22
jne 0x40ce05
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40ce20
cmp al, 0x22
jne 0x40ce20
cmp byte [esi + edi - 1], 0x5c
je 0x40ce20
xor edx, edx
mov byte [ecx], dl
jmp 0x40ce22
inc ebp
inc ecx
mov eax, dword [esp + 0xa4]
add ebx, ecx
inc esi
cmp ebx, eax
jl 0x40cdde
test ebp, ebp
jle 0x40ce3f
mov ecx, dword [esp + 0xa0]
mov byte [ecx + ebp], 0
dec ebp
js 0x40d28f
mov eax, dword [esp + 0xa0]
lea ecx, [ecx]
cmp byte [eax + ebp], 0x20
jne 0x40d28f
dec ebp
mov eax, dword [esp + 0xa0]
mov byte [eax + ebp + 1], 0
jns 0x40ce50
jmp 0x40d28f
cmp al, 0x2d
je 0x40ce76
cmp al, 0x2f
jne 0x40ce97
mov dl, byte [esi + edi + 1]
or dl, 0x20
cmp dl, 0x66
jne 0x40ce97
mov eax, dword [esp + 0xa8]
add esi, 2
mov dword [eax], 1
jmp 0x40d28f
cmp al, 0x2d
je 0x40ce9f
cmp al, 0x2f
jne 0x40cecc
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x6d
jne 0x40cecc
mov dl, byte [esi + edi + 2]
or dl, 0x20
cmp dl, 0x77
jne 0x40cecc
mov eax, dword [esp + 0xac]
add esi, 3
mov dword [eax], 1
jmp 0x40d28f
cmp al, 0x2d
je 0x40ced8
cmp al, 0x2f
jne 0x40cfee
mov cl, byte [edi + esi + 1]
or cl, 0x20
cmp cl, 0x6d
jne 0x40cfee
mov dl, byte [esi + edi + 2]
or dl, 0x20
cmp dl, 0x6b
jne 0x40cfee
mov eax, dword [esp + 0xac]
add esi, 3
mov dword [eax], 2
cmp byte [esi + edi], 0x20
jg 0x40cf1d
mov edi, edi
cmp esi, ebx
jge 0x40cf1d
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40cf10
mov al, byte [esi + edi]
cmp al, 0x2d
je 0x40d28f
cmp al, 0x2f
je 0x40d28f
xor ebp, ebp
cmp al, 0x22
jne 0x40cf3e
mov edx, 1
inc esi
jmp 0x40cf40
xor edx, edx
cmp dword [esp + 0xb4], 1
jle 0x40cfbe
mov ecx, dword [esp + 0xb0]
mov ebx, 1
sub ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x40cf66
mov ebx, dword [esp + 0x1c]
test edx, edx
jne 0x40cf70
cmp byte [esi + edi], 0x20
jle 0x40cfaf
cmp esi, dword [esp + 0x10]
jge 0x40cfaf
cmp byte [esi + edi], 0x5c
jne 0x40cf84
cmp byte [edi + esi + 1], 0x22
jne 0x40cf84
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40cf9f
cmp al, 0x22
jne 0x40cf9f
cmp byte [esi + edi - 1], 0x5c
je 0x40cf9f
xor edx, edx
mov byte [ecx], dl
jmp 0x40cfa1
inc ebp
inc ecx
mov eax, dword [esp + 0xb4]
add ebx, ecx
inc esi
cmp ebx, eax
jl 0x40cf62
test ebp, ebp
jle 0x40cfbe
mov ecx, dword [esp + 0xb0]
mov byte [ecx + ebp], 0
dec ebp
js 0x40d28f
mov eax, dword [esp + 0xb0]
lea esp, [esp]
cmp byte [eax + ebp], 0x20
jne 0x40d28f
dec ebp
mov eax, dword [esp + 0xb0]
mov byte [eax + ebp + 1], 0
jns 0x40cfd0
jmp 0x40d28f
cmp al, 0x2d
je 0x40cffa
cmp al, 0x2f
jne 0x40d06c
mov dl, byte [esi + edi + 1]
or dl, 0x20
cmp dl, 0x64
jne 0x40d06c
mov ebx, dword [esp + 0xb8]
push ebx
add esi, 2
lea ebp, [esi + edi]
push 0x41e89c
push ebp
call fcn.00412065
add esp, 0xc
cmp eax, 1
je 0x40d032
mov dword [ebx], 0
jmp 0x40d28f
cmp byte [ebp], 0x20
jg 0x40d047
cmp esi, dword [esp + 0x10]
jge 0x40d047
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40d038
cmp byte [esi + edi], 0x20
jle 0x40d28f
mov eax, dword [esp + 0x10]
cmp esi, eax
jge 0x40d299
mov cl, byte [esi + edi + 1]
inc esi
cmp cl, 0x20
jg 0x40d055
jmp 0x40d28f
cmp al, 0x2d
je 0x40d074
cmp al, 0x2f
jne 0x40d095
mov cl, byte [esi + edi + 1]
or cl, 0x20
cmp cl, 0x6a
jne 0x40d095
mov edx, dword [esp + 0xbc]
add esi, 2
mov dword [edx], 1
jmp 0x40d28f
cmp al, 0x2d
je 0x40d0a1
cmp al, 0x2f
jne 0x40d160
mov cl, byte [edi + esi + 1]
or cl, 0x20
cmp cl, 0x75
jne 0x40d160
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40d0cd
lea esp, [esp]
cmp esi, ebx
jge 0x40d0cd
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40d0c0
mov al, byte [esi + edi]
xor ebx, ebx
cmp al, 0x22
jne 0x40d0de
mov edx, 1
inc esi
jmp 0x40d0e0
xor edx, edx
mov eax, dword [esp + 0x88]
mov ebp, 1
cmp eax, ebp
jle 0x40d28f
mov ecx, dword [esp + 0x84]
sub ebp, ecx
lea ecx, [ecx]
test edx, edx
jne 0x40d10a
cmp byte [esi + edi], 0x20
jle 0x40d148
cmp esi, dword [esp + 0x10]
jge 0x40d148
cmp byte [esi + edi], 0x5c
jne 0x40d11e
cmp byte [edi + esi + 1], 0x22
jne 0x40d11e
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40d139
cmp al, 0x22
jne 0x40d139
cmp byte [esi + edi - 1], 0x5c
je 0x40d139
xor edx, edx
mov byte [ecx], dl
jmp 0x40d13b
inc ebx
inc ecx
lea eax, [ecx + ebp]
inc esi
cmp eax, dword [esp + 0x88]
jl 0x40d100
test ebx, ebx
jle 0x40d28f
mov ecx, dword [esp + 0x84]
mov byte [ebx + ecx], 0
jmp 0x40d28f
cmp al, 0x2d
je 0x40d168
cmp al, 0x2f
jne 0x40d189
mov dl, byte [esi + edi + 1]
or dl, 0x20
cmp dl, 0x76
jne 0x40d189
mov eax, dword [esp + 0xc0]
add esi, 2
mov dword [eax], 1
jmp 0x40d28f
cmp al, 0x2d
je 0x40d191
cmp al, 0x2f
jne 0x40d1a3
mov al, byte [esi + edi + 1]
mov cl, al
or cl, 0x20
cmp cl, 0x68
je 0x40d1a9
cmp al, 0x3f
je 0x40d1a9
inc esi
jmp 0x40d28f
mov edx, dword [esp + 0xc4]
add esi, 2
mov dword [edx], 1
jmp 0x40d28f
cmp cl, 0x62
jne 0x40d1cb
mov dword [esp + 0x18], 1
mov al, byte [esi + edi + 2]
add esi, 2
cmp al, 0x20
jg 0x40d1e3
cmp esi, ebx
jge 0x40d1e3
mov al, byte [esi + edi + 1]
inc esi
cmp al, 0x20
jle 0x40d1d6
mov al, byte [esi + edi]
xor ebp, ebp
cmp al, 0x22
jne 0x40d1f4
mov edx, 1
inc esi
jmp 0x40d1f6
xor edx, edx
cmp dword [esp + 0x50], 1
mov ebx, dword [esp + 0x4c]
jle 0x40d267
mov eax, 1
sub eax, ebx
mov ecx, ebx
mov dword [esp + 0x1c], eax
test edx, edx
jne 0x40d221
mov al, byte [esi + edi]
cmp al, 0x2d
je 0x40d25f
cmp al, 0x2f
je 0x40d25f
cmp esi, dword [esp + 0x10]
jge 0x40d25f
cmp byte [esi + edi], 0x5c
jne 0x40d235
cmp byte [edi + esi + 1], 0x22
jne 0x40d235
inc esi
cmp edx, 1
mov al, byte [esi + edi]
mov byte [ecx], al
jne 0x40d250
cmp al, 0x22
jne 0x40d250
cmp byte [esi + edi - 1], 0x5c
je 0x40d250
xor edx, edx
mov byte [ecx], dl
jmp 0x40d252
inc ebp
inc ecx
mov eax, dword [esp + 0x1c]
add eax, ecx
inc esi
cmp eax, dword [esp + 0x50]
jl 0x40d212
test ebp, ebp
jle 0x40d267
mov byte [ebx + ebp], 0
dec ebp
js 0x40d27e
lea ebx, [ebx]
cmp byte [ebx + ebp], 0x20
jne 0x40d27e
dec ebp
mov byte [ebx + ebp + 1], 0
jns 0x40d270
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40d28f
push ebx
call fcn.00409450
add esp, 4
cmp esi, dword [esp + 0x10]
jl 0x40c51e
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40d361
mov ebx, dword [esp + 0x90]
test ebx, ebx
je 0x40d361
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 0x40d313
lea ecx, [ebp - 1]
cmp eax, ecx
jge 0x40d313
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40d2e0
sub eax, edx
cmp byte [eax + ebx - 1], 0x5c
je 0x40d361
dec ebx
mov edi, ebx
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40d2f7
mov dx, word [0x41e840]
pop ebp
pop ebx
mov word [edi], dx
pop edi
xor eax, eax
pop esi
add esp, 0x10
ret
push esi
push ebx
push 0x41eff0
call edi
test eax, eax
jle 0x40d35e
dec ebp
cmp eax, ebp
jge 0x40d35e
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40d330
sub eax, edx
cmp byte [eax + ebx - 1], 0x5c
je 0x40d361
dec ebx
mov edi, ebx
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40d343
mov ax, word [0x41e840]
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